We add 'courserun_key' (aka "course_id" though that's technically a
misnomer) as an optional parameter to the /event endpoint url. If it
is not present, it will still be parsed out of the url, if the url is
of the right format.
Additionally, Logger.log() in js adds this parameter to its /event
call, pulling it from the $$course_id global.
This provides opportunity for MFEs to (separately) provide the key
without concern about url parsing.
TNL-7752
We add 'courserun_key' (aka "course_id" though that's technically a
misnomer) as an optional parameter to the /event endpoint url. If it
is not present, it will still be parsed out of the url, if the url is
of the right format.
Additionally, Logger.log() in js adds this parameter to its /event
call, pulling it from the $$course_id global.
This provides opportunity for MFEs to (separately) provide the key
without concern about url parsing.
TNL-7752
We add 'courserun_key' (aka "course_id" though that's technically a
misnomer) as an optional parameter to the /event endpoint url. If it
is not present, it will still be parsed out of the url, if the url is
of the right format.
Additionally, Logger.log() in js adds this parameter to its /event
call, pulling it from the $$course_id global.
This provides opportunity for MFEs to (separately) provide the key
without concern about url parsing.
TNL-7752
Add the following monitoring custom attributes:
- segment_event_name
- segment_event_source
- segment_unexpected_context
- segment_unexpected_data
Also, this explicitly raises a validation error whenever context is a
string instead of throwing a vague TypeError.
Related to LEARNER-8034
* Generate common/djangoapps import shims for LMS
* Generate common/djangoapps import shims for Studio
* Stop appending project root to sys.path
* Stop appending common/djangoapps to sys.path
* Import from common.djangoapps.course_action_state instead of course_action_state
* Import from common.djangoapps.course_modes instead of course_modes
* Import from common.djangoapps.database_fixups instead of database_fixups
* Import from common.djangoapps.edxmako instead of edxmako
* Import from common.djangoapps.entitlements instead of entitlements
* Import from common.djangoapps.pipline_mako instead of pipeline_mako
* Import from common.djangoapps.static_replace instead of static_replace
* Import from common.djangoapps.student instead of student
* Import from common.djangoapps.terrain instead of terrain
* Import from common.djangoapps.third_party_auth instead of third_party_auth
* Import from common.djangoapps.track instead of track
* Import from common.djangoapps.util instead of util
* Import from common.djangoapps.xblock_django instead of xblock_django
* Add empty common/djangoapps/__init__.py to fix pytest collection
* Fix pylint formatting violations
* Exclude import_shims/ directory tree from linting
* Replace track calls with eventtracking in task_track and server_track
* Making events compatible with events emitted via track app
* Fixed broken tests and quality violation
* Removed useless changes in shim. using in to have and keys in event context
Co-authored-by: zia.fazal@arbisoft.com <zia.fazal@arbisoft.com>
In certain use cases, a caller may have the username and not the
user_id. In these cases, we add the user_id since events have
standardized on using the user_id as the unique id of a user.
ARCH-472
seq_next, seq_prev, and seq_goto events are all renamed, and maintain
legacy compatibility.
This PR also introduces new EventTransformer framework to shim events
based on name prefix.
MA-2221