Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
1fa1d357
Commit
1fa1d357
authored
Dec 22, 2014
by
Renzo Lucioni
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6326 from edx/renzo/split-verification-dashboard-analytics
Split verification dashboard analytics
parents
ccb5bfbc
aeeb45cf
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
78 additions
and
29 deletions
+78
-29
lms/static/js/dashboard/legacy.js
+40
-11
lms/static/js/verify_student/views/enrollment_confirmation_step_view.js
+6
-1
lms/static/js/verify_student/views/face_photo_step_view.js
+3
-0
lms/static/js/verify_student/views/id_photo_step_view.js
+3
-0
lms/static/js/verify_student/views/intro_step_view.js
+3
-0
lms/static/js/verify_student/views/make_payment_step_view.js
+4
-1
lms/static/js/verify_student/views/payment_confirmation_step_view.js
+10
-8
lms/static/js/verify_student/views/review_photos_step_view.js
+4
-1
lms/static/js/verify_student/views/step_view.js
+0
-3
lms/templates/dashboard/_dashboard_course_listing.html
+4
-4
lms/templates/widgets/segment-io.html
+1
-0
No files found.
lms/static/js/dashboard/legacy.js
View file @
1fa1d357
...
@@ -31,23 +31,51 @@
...
@@ -31,23 +31,51 @@
*/
*/
edx
.
dashboard
.
legacy
.
init
=
function
(
urls
)
{
edx
.
dashboard
.
legacy
.
init
=
function
(
urls
)
{
// On initialization, set focus to the first notification available
var
notifications
=
$
(
'.dashboard-notifications'
),
// for screen readers.
upgradeButtonLinks
=
$
(
'.action-upgrade'
),
var
notifications
=
$
(
'.dashboard-notifications'
);
verifyButtonLinks
=
$
(
'.verification-cta > .cta'
);
if
(
notifications
.
children
().
length
>
0
)
{
// On initialization, set focus to the first notification available for screen readers.
if
(
notifications
.
children
().
length
>
0
)
{
notifications
.
focus
();
notifications
.
focus
();
}
}
$
(
'.message.is-expandable .wrapper-tip'
).
bind
(
'click'
,
toggleExpandMessage
);
$
(
'.message.is-expandable .wrapper-tip'
).
bind
(
'click'
,
toggleExpandMessage
);
function
toggleExpandMessage
(
e
)
{
// Track clicks of the upgrade button. The `trackLink` method is a helper that makes
(
e
).
preventDefault
();
// a `track` call whenever a bound link is clicked. Usually the page would change before
// `track` had time to execute; `trackLink` inserts a small timeout to give the `track`
// call enough time to fire. The clicked link element is passed to `generateProperties`.
window
.
analytics
.
trackLink
(
upgradeButtonLinks
,
'edx.bi.dashboard.upgrade_button.clicked'
,
generateProperties
);
// Track clicks of the "verify now" button.
window
.
analytics
.
trackLink
(
verifyButtonLinks
,
'edx.bi.user.verification.resumed'
,
generateProperties
);
// Generate the properties object to be passed along with business intelligence events.
function
generateProperties
(
element
)
{
var
$el
=
$
(
element
),
properties
=
{};
if
(
$el
.
hasClass
(
'action-upgrade'
)
)
{
properties
.
category
=
'upgrade'
;
}
else
if
(
$el
.
hasClass
(
'cta'
)
)
{
properties
.
category
=
'verification'
;
}
properties
.
label
=
$el
.
data
(
'course-id'
);
return
properties
;
}
function
toggleExpandMessage
(
event
)
{
var
course
=
$
(
event
.
target
).
closest
(
'.message-upsell'
).
find
(
'.action-upgrade'
).
data
(
'course-id'
);
event
.
preventDefault
();
$
(
this
).
closest
(
'.message.is-expandable'
).
toggleClass
(
'is-expanded'
);
$
(
this
).
closest
(
'.message.is-expandable'
).
toggleClass
(
'is-expanded'
);
var
course
=
$
(
"#upgrade-to-verified"
).
data
(
"course-id"
);
window
.
analytics
.
track
(
'edx.bi.dashboard.upgrade_copy.expanded'
,
{
analytics
.
track
(
'edx.bi.dashboard.upsell_copy.clicked'
,
{
category
:
'upgrade'
,
category
:
'user-engagement'
,
label
:
course
label
:
course
});
});
}
}
...
@@ -61,8 +89,9 @@
...
@@ -61,8 +89,9 @@
});
});
$
(
"#upgrade-to-verified"
).
click
(
function
(
event
)
{
$
(
"#upgrade-to-verified"
).
click
(
function
(
event
)
{
var
user
=
$
(
event
.
target
).
data
(
"user"
);
var
user
=
$
(
event
.
target
).
closest
(
".action-upgrade"
).
data
(
"user"
),
var
course
=
$
(
event
.
target
).
data
(
"course-id"
);
course
=
$
(
event
.
target
).
closest
(
".action-upgrade"
).
data
(
"course-id"
);
Logger
.
log
(
'edx.course.enrollment.upgrade.clicked'
,
[
user
,
course
],
null
);
Logger
.
log
(
'edx.course.enrollment.upgrade.clicked'
,
[
user
,
course
],
null
);
});
});
...
...
lms/static/js/verify_student/views/enrollment_confirmation_step_view.js
View file @
1fa1d357
...
@@ -11,6 +11,11 @@ var edx = edx || {};
...
@@ -11,6 +11,11 @@ var edx = edx || {};
// Currently, this step does not need to install any event handlers,
// Currently, this step does not need to install any event handlers,
// since the displayed information is static.
// since the displayed information is static.
edx
.
verify_student
.
EnrollmentConfirmationStepView
=
edx
.
verify_student
.
StepView
.
extend
({});
edx
.
verify_student
.
EnrollmentConfirmationStepView
=
edx
.
verify_student
.
StepView
.
extend
({
postRender
:
function
()
{
// Track a virtual pageview, for easy funnel reconstruction.
window
.
analytics
.
page
(
'verification'
,
this
.
templateName
);
}
});
})(
jQuery
);
})(
jQuery
);
lms/static/js/verify_student/views/face_photo_step_view.js
View file @
1fa1d357
...
@@ -19,6 +19,9 @@ var edx = edx || {};
...
@@ -19,6 +19,9 @@ var edx = edx || {};
errorModel
:
this
.
errorModel
errorModel
:
this
.
errorModel
}).
render
();
}).
render
();
// Track a virtual pageview, for easy funnel reconstruction.
window
.
analytics
.
page
(
'verification'
,
this
.
templateName
);
this
.
listenTo
(
webcam
,
'imageCaptured'
,
function
()
{
this
.
listenTo
(
webcam
,
'imageCaptured'
,
function
()
{
// Track the user's successful image capture
// Track the user's successful image capture
window
.
analytics
.
track
(
'edx.bi.user.face_image.captured'
,
{
window
.
analytics
.
track
(
'edx.bi.user.face_image.captured'
,
{
...
...
lms/static/js/verify_student/views/id_photo_step_view.js
View file @
1fa1d357
...
@@ -19,6 +19,9 @@ var edx = edx || {};
...
@@ -19,6 +19,9 @@ var edx = edx || {};
errorModel
:
this
.
errorModel
errorModel
:
this
.
errorModel
}).
render
();
}).
render
();
// Track a virtual pageview, for easy funnel reconstruction.
window
.
analytics
.
page
(
'verification'
,
this
.
templateName
);
this
.
listenTo
(
webcam
,
'imageCaptured'
,
function
()
{
this
.
listenTo
(
webcam
,
'imageCaptured'
,
function
()
{
// Track the user's successful image capture
// Track the user's successful image capture
window
.
analytics
.
track
(
'edx.bi.user.identification_image.captured'
,
{
window
.
analytics
.
track
(
'edx.bi.user.identification_image.captured'
,
{
...
...
lms/static/js/verify_student/views/intro_step_view.js
View file @
1fa1d357
...
@@ -21,6 +21,9 @@ var edx = edx || {};
...
@@ -21,6 +21,9 @@ var edx = edx || {};
el
:
$
(
'.requirements-container'
,
this
.
el
),
el
:
$
(
'.requirements-container'
,
this
.
el
),
requirements
:
this
.
stepData
.
requirements
requirements
:
this
.
stepData
.
requirements
}).
render
();
}).
render
();
// Track a virtual pageview, for easy funnel reconstruction.
window
.
analytics
.
page
(
'verification'
,
this
.
templateName
);
}
}
});
});
...
...
lms/static/js/verify_student/views/make_payment_step_view.js
View file @
1fa1d357
...
@@ -17,6 +17,9 @@ var edx = edx || {};
...
@@ -17,6 +17,9 @@ var edx = edx || {};
requirements
:
this
.
stepData
.
requirements
requirements
:
this
.
stepData
.
requirements
}).
render
();
}).
render
();
// Track a virtual pageview, for easy funnel reconstruction.
window
.
analytics
.
page
(
'payment'
,
this
.
templateName
);
// Update the contribution amount with the amount the user
// Update the contribution amount with the amount the user
// selected in a previous screen.
// selected in a previous screen.
if
(
this
.
stepData
.
contributionAmount
)
{
if
(
this
.
stepData
.
contributionAmount
)
{
...
@@ -84,7 +87,7 @@ var edx = edx || {};
...
@@ -84,7 +87,7 @@ var edx = edx || {};
// Marketing needs a way to tell the difference between users
// Marketing needs a way to tell the difference between users
// leaving for the payment processor and users dropping off on
// leaving for the payment processor and users dropping off on
// this page. A virtual pageview can be used to do this.
// this page. A virtual pageview can be used to do this.
window
.
analytics
.
page
(
'
verification
'
,
'payment_processor_step'
);
window
.
analytics
.
page
(
'
payment
'
,
'payment_processor_step'
);
form
.
submit
();
form
.
submit
();
},
},
...
...
lms/static/js/verify_student/views/payment_confirmation_step_view.js
View file @
1fa1d357
...
@@ -71,18 +71,20 @@ var edx = edx || {};
...
@@ -71,18 +71,20 @@ var edx = edx || {};
* those used to track business intelligence events.
* those used to track business intelligence events.
*/
*/
postRender
:
function
()
{
postRender
:
function
()
{
var
$verifyNowButton
=
$
(
'#verify_now_button'
),
$verifyLaterButton
=
$
(
'#verify_later_button'
);
// Track a virtual pageview, for easy funnel reconstruction.
window
.
analytics
.
page
(
'payment'
,
this
.
templateName
);
// Track the user's decision to verify immediately
// Track the user's decision to verify immediately
$
(
'#verify_now_button'
).
on
(
'click'
,
function
()
{
window
.
analytics
.
trackLink
(
$verifyNowButton
,
'edx.bi.user.verification.immediate'
,
{
window
.
analytics
.
track
(
'edx.bi.user.verification.immediate'
,
{
category
:
'verification'
category
:
'verification'
});
});
});
// Track the user's decision to defer their verification
// Track the user's decision to defer their verification
$
(
'#verify_later_button'
).
on
(
'click'
,
function
()
{
window
.
analytics
.
trackLink
(
$verifyLaterButton
,
'edx.bi.user.verification.deferred'
,
{
window
.
analytics
.
track
(
'edx.bi.user.verification.deferred'
,
{
category
:
'verification'
category
:
'verification'
});
});
});
},
},
...
...
lms/static/js/verify_student/views/review_photos_step_view.js
View file @
1fa1d357
...
@@ -30,6 +30,9 @@ var edx = edx || {};
...
@@ -30,6 +30,9 @@ var edx = edx || {};
// When moving to the next step, submit photos for verification
// When moving to the next step, submit photos for verification
$
(
'#next_step_button'
).
on
(
'click'
,
_
.
bind
(
this
.
submitPhotos
,
this
)
);
$
(
'#next_step_button'
).
on
(
'click'
,
_
.
bind
(
this
.
submitPhotos
,
this
)
);
// Track a virtual pageview, for easy funnel reconstruction.
window
.
analytics
.
page
(
'verification'
,
this
.
templateName
);
},
},
toggleSubmitEnabled
:
function
()
{
toggleSubmitEnabled
:
function
()
{
...
@@ -38,7 +41,7 @@ var edx = edx || {};
...
@@ -38,7 +41,7 @@ var edx = edx || {};
retakePhotos
:
function
()
{
retakePhotos
:
function
()
{
// Track the user's intent to retake their photos
// Track the user's intent to retake their photos
window
.
analytics
.
track
(
'edx.bi.user.
verification_
images.retaken'
,
{
window
.
analytics
.
track
(
'edx.bi.user.images.retaken'
,
{
category
:
'verification'
category
:
'verification'
});
});
...
...
lms/static/js/verify_student/views/step_view.js
View file @
1fa1d357
...
@@ -47,9 +47,6 @@
...
@@ -47,9 +47,6 @@
this
.
postRender
();
this
.
postRender
();
}
}
).
fail
(
_
.
bind
(
this
.
handleError
,
this
)
);
).
fail
(
_
.
bind
(
this
.
handleError
,
this
)
);
// Track a virtual pageview, for easy funnel reconstruction.
window
.
analytics
.
page
(
'verification'
,
this
.
templateName
);
},
},
handleResponse
:
function
(
data
)
{
handleResponse
:
function
(
data
)
{
...
...
lms/templates/dashboard/_dashboard_course_listing.html
View file @
1fa1d357
...
@@ -141,7 +141,7 @@
...
@@ -141,7 +141,7 @@
% endif
% endif
</div>
</div>
<div
class=
"verification-cta"
>
<div
class=
"verification-cta"
>
<a
href=
"${reverse('verify_student_verify_later', kwargs={'course_id': unicode(course.id)})}"
class=
"cta"
>
${_('Verify Now')}
</a>
<a
href=
"${reverse('verify_student_verify_later', kwargs={'course_id': unicode(course.id)})}"
class=
"cta"
data-course-id=
"${course.id | h}"
>
${_('Verify Now')}
</a>
</div>
</div>
% elif verification_status['status'] == VERIFY_STATUS_SUBMITTED:
% elif verification_status['status'] == VERIFY_STATUS_SUBMITTED:
<h4
class=
"message-title"
>
${_('You have already verified your ID!')}
</h4>
<h4
class=
"message-title"
>
${_('You have already verified your ID!')}
</h4>
...
@@ -173,13 +173,13 @@
...
@@ -173,13 +173,13 @@
<ul
class=
"actions message-actions"
>
<ul
class=
"actions message-actions"
>
<li
class=
"action-item"
>
<li
class=
"action-item"
>
% if settings.FEATURES.get('SEPARATE_VERIFICATION_FROM_PAYMENT'):
% if settings.FEATURES.get('SEPARATE_VERIFICATION_FROM_PAYMENT'):
<a
class=
"action action-upgrade"
href=
"${reverse('verify_student_upgrade_and_verify', kwargs={'course_id': unicode(course.id)})}"
>
<a
class=
"action action-upgrade"
href=
"${reverse('verify_student_upgrade_and_verify', kwargs={'course_id': unicode(course.id)})}"
data-course-id=
"${course.id | h}"
data-user=
"${user.username | h}"
>
% else:
% else:
<a
class=
"action action-upgrade"
href=
"${reverse('course_modes_choose', kwargs={'course_id': unicode(course.id)})}?upgrade=True"
>
<a
class=
"action action-upgrade"
href=
"${reverse('course_modes_choose', kwargs={'course_id': unicode(course.id)})}?upgrade=True"
data-course-id=
"${course.id | h}"
data-user=
"${user.username | h}"
>
% endif
% endif
<img
class=
"deco-graphic"
src=
"${static.url('images/vcert-ribbon-s.png')}"
alt=
"ID Verified Ribbon/Badge"
>
<img
class=
"deco-graphic"
src=
"${static.url('images/vcert-ribbon-s.png')}"
alt=
"ID Verified Ribbon/Badge"
>
<span
class=
"wrapper-copy"
>
<span
class=
"wrapper-copy"
>
<span
class=
"copy"
id=
"upgrade-to-verified"
data-course-id=
"${course.id | h}"
data-user=
"${user.username | h}"
>
${_("Upgrade to Verified Track")}
</span>
<span
class=
"copy"
id=
"upgrade-to-verified"
>
${_("Upgrade to Verified Track")}
</span>
</span>
</span>
</a>
</a>
</li>
</li>
...
...
lms/templates/widgets/segment-io.html
View file @
1fa1d357
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
<script
type=
"text/javascript"
>
<script
type=
"text/javascript"
>
var
analytics
=
{
var
analytics
=
{
track
:
function
()
{
return
;
},
track
:
function
()
{
return
;
},
trackLink
:
function
()
{
return
;
},
pageview
:
function
()
{
return
;
},
pageview
:
function
()
{
return
;
},
page
:
function
()
{
return
;
}
page
:
function
()
{
return
;
}
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment