Commit Graph

70 Commits

Author SHA1 Message Date
Piotr Mitros
cf719a40ba Add referer and accept_language to tracking logs
3 line patch, together with a world of pain due to buggy code, broken abstractions in tests, etc.
2015-02-11 13:35:27 -05:00
Nimisha Asthagiri
ad7a67da2b Update segment.io shim for mobile event syntax change. 2014-12-19 12:39:39 -05:00
Nimisha Asthagiri
a6003991a5 MA-157 Mobile analytics end-to-end.
Move app-generated context back into properties.
Ignore BI events through segment's webhook.
Ignore events without Data in Properties.
2014-12-09 18:44:06 -05:00
stv
4d30aedf4e Fix PEP8: E127 continuation line over-indented
for visual indent
2014-11-24 20:46:50 -05:00
Nimisha Asthagiri
07d50ba7a1 MA-90 Update Analytics Shim to match new mobile requirements. 2014-11-13 18:18:57 -05:00
stv
1164624fbc Fix PEP8: W291 trailing whitespace 2014-11-10 19:31:09 -08:00
Gabe Mulley
821c97fbb4 Implement shim for mobile video events.
This PR addresses the following issues:

1) All requests return a 200 OK unless there is an authorization failure. This is deliberate in case the secret key is compromised.
2) Push all of the nasty logic necessary to generate compatible video events into the LMS instead of trying to do that mapping on the mobile devices.
3) Stop using the deprecated "action" field in the segment.io event. According to their support team this field should not be used anymore and is just around for backwards compatibility reasons.

Fixes: AN-3818
2014-11-03 14:12:07 -05:00
Ben Patterson
3ef0653711 pylint cleanup. 2014-10-11 12:51:20 -04:00
Gabe Mulley
5643101ad1 Small changes to the segment.io event handler 2014-10-09 13:25:20 -04:00
Brian Wilson
0eb190fc61 Add _get_request_value to safely access request.REQUEST for browser events. 2014-10-03 11:45:08 -04:00
Gabe Mulley
7900e8d346 Add event tracking endpoint to be called by segment.io 2014-09-09 07:25:54 -04:00
Renzo Lucioni
79461722de Re-use GA cookie when sending server-side events to Segment.io 2014-08-21 10:47:35 -04:00
Gabe Mulley
f7eb7df5c5 Remove duplicated data from legacy events
When event-tracking was fully integrated into the platform, some data was replicated in the context in the middleware and then later extracted and moved the old location by event-tracking. The legacy code path was not updated to remove this transient shim data from the context resulting in duplication of the information. This patch ensures that the transient information is removed from the context before emitting the event.

Fixes: AN-2369
2014-07-25 12:49:55 -04:00
Mat Peterson
4f6088cbd1 Fixed some isinstance errors with opaque-keys 2014-07-11 15:40:08 -04:00
Adam Palay
b584c1a848 skip failing test 2014-06-27 13:24:23 -04:00
Adam Palay
bd2f3c75f5 Explicitly skip tests in common unless we know we're running the LMS unittest suite 2014-06-23 16:28:53 -04:00
brianhw
8801b3a12b Merge pull request #3954 from edx/brian/fix_session_id
Encrypt the session id before writing to tracking logs.
2014-06-09 14:01:29 -04:00
Brian Wilson
f9f4f1c57a Add additional tests for tracking of sessions. 2014-06-03 13:24:48 -04:00
Brian Wilson
119d7768bf Also use md5 for constructing key for hmac. 2014-06-02 12:31:44 -04:00
Brian Wilson
919b433847 Encrypt the session id before writing to tracking logs. 2014-06-02 11:03:41 -04:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Calen Pennington
155ffe37ca Merge remote-tracking branch 'edx/master' into opaque-keys-merge-master
Conflicts:
	cms/djangoapps/contentstore/views/item.py
	cms/djangoapps/contentstore/views/tests/test_container.py
	cms/djangoapps/contentstore/views/tests/test_tabs.py
	common/lib/xmodule/xmodule/modulestore/mongo/draft.py
	lms/djangoapps/certificates/management/commands/gen_cert_report.py
	lms/djangoapps/certificates/queue.py
	lms/djangoapps/certificates/views.py
	lms/djangoapps/courseware/module_render.py
	lms/djangoapps/courseware/tests/test_module_render.py
	lms/djangoapps/instructor/views/api.py
	lms/djangoapps/instructor/views/instructor_dashboard.py
	lms/djangoapps/instructor/views/legacy.py
	lms/djangoapps/shoppingcart/tests/test_models.py
	lms/djangoapps/verify_student/views.py
2014-05-09 15:29:32 -04:00
Calen Pennington
e2bfcf2a36 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit updates common/djangoapps.

These keys are now objects with a limited interface, and the particular
internal representation is managed by the data storage layer (the
modulestore).

For the LMS, there should be no outward-facing changes to the system.
The keys are, for now, a change to internal representation only. For
Studio, the new serialized form of the keys is used in urls, to allow
for further migration in the future.

Co-Author: Andy Armstrong <andya@edx.org>
Co-Author: Christina Roberts <christina@edx.org>
Co-Author: David Baumgold <db@edx.org>
Co-Author: Diana Huang <dkh@edx.org>
Co-Author: Don Mitchell <dmitchell@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
Co-Author: Sarina Canelake <sarina@edx.org>

[LMS-2370]
2014-05-07 12:54:49 -04:00
Gabe Mulley
36269bd5a8 Integrate event-tracking in to the LMS
Support incremental conversion of events from the old API to the new, in order to ensure the new system is working, enrollment events have been modified to make use of the new API.
2014-05-01 14:04:35 -04:00
David Baumgold
f25a7870a5 fix tests 2014-03-11 14:48:03 -04:00
David Baumgold
2f3d2ecac0 Fix undefined references to pytz 2014-03-10 16:19:10 -04:00
Sarina Canelake
e71bbeb1e2 Tests for embargo middleware feature 2014-02-27 09:33:17 -05:00
Calen Pennington
3a7b265c8a Add trailing commas to multiline lists, to prevent string concatenation bugs 2014-02-13 13:12:42 -05:00
Brian Wilson
21a4520b8c Remove output of management command options and args from tracking logs. 2014-01-06 12:53:56 -05:00
Brian Wilson
1aefe2f5bf Define TrackedCommand for use as base class for tracking management commands. Use in create_user command. 2014-01-06 12:43:04 -05:00
Brian Wilson
7e31c95c45 Modify server_track to handle being called without a request. 2014-01-05 22:58:10 -05:00
David Baumgold
f3f4af8087 settings.MITX_FEATURES => settings.FEATURES 2013-12-03 15:34:55 -05:00
David Baumgold
8eff442752 mitxmako => edxmako 2013-12-03 14:15:09 -05:00
Gabe Mulley
4b1974cdbc fix spammy log messages from course_id tracking in CMS 2013-11-18 08:47:54 -05:00
Gabe Mulley
3377cb66c9 emit enrollment event 2013-11-06 15:09:33 -05:00
Gabe Mulley
5aa19c08b5 Revert "emit enrollment event"
This reverts commit 5734cae1c3.
2013-11-06 14:35:28 -05:00
Gabe Mulley
5734cae1c3 emit enrollment event 2013-11-06 08:46:40 -05:00
Gabe Mulley
4f4e58b5f6 add user_id to tracking context
AN-213
2013-10-29 08:18:01 -04:00
Gabe Mulley
d2b03e28fb add course_id to event context 2013-10-17 17:44:01 -04:00
Carlos Andrés Rocha
e0fb94cc55 Cleanup mongodb authentication
Authenticate to the database before getting a reference to the
collection.
2013-10-08 11:26:29 -04:00
Gabe Mulley
761a4dcc97 Make URL patterns to exclude from tracking configurable
* Add unit test coverage for this "exclusion from tracking" logic
* Exclude based on regex match instead of raw string comparison
* Exclude heartbeat requests from tracking
2013-09-13 11:24:51 -04:00
Will Daly
2677598a53 Merge pull request #938 from rocha/mock-mongo-on-event-tracking-tests
Mock mongo event tracking backend during tests
2013-09-12 11:27:22 -07:00
Carlos Andrés Rocha
6a64b404a1 Mock mongo event tracking backend during tests 2013-09-12 13:36:49 -04:00
Carlos Andrés Rocha
979ec89f0e Fix error encoding datetime objects in the event track logger backend
The function json.dumps was being called with incorrect arguments,
causing an infinite recursion when serializing an event containing
datetime objects
2013-09-12 12:21:08 -04:00
Carlos Andrés Rocha
11db4e3773 Use datetime objects in time field in event tracking 2013-09-11 10:02:16 -04:00
Carlos Andrés Rocha
6de25bf5fe Monitor event tracking time by backend using statsd 2013-09-11 10:02:15 -04:00
Carlos Andrés Rocha
fbc243dbeb Add event tracking with configurable backends 2013-09-11 10:02:15 -04:00
Diana Huang
c867be7961 Limit the rate of logins. 2013-08-02 11:23:59 -04:00
Adam Palay
d056c8a8f2 replace test setting changes with test-specific mock.patch.dicts 2013-07-10 10:18:58 -04:00
Adam Palay
c692428fe5 fix pylint violations 2013-07-02 10:22:26 -04:00