Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Wish list for event tracking from microfrontends:
    • All events sent to Segment using (wrapped) Segment calls.  Gives additional benefits of resilient JS code (e.g. trackLink and trackForm).
      • Note: for Tracking Log events, both the front-end code is not resilient, and it relies on calling LMS which is not the most reliable option.
    • Ideally, all events sent to reliable Destination to not lose events (e.g. AWS Bucket). 
    • Processing could be handled async on server.
      • Could handle adding user_id given username (e.g. for Profile API).
    • Need a way to indicate stability of event.
      • Versioned? Other indicator? Available to GA as well?
      • Can/should solution be kept out of the name (e.g. "edx.bi"), or should the version be part of the name?
      • Using RAPID, who are all the I's for event design at this point, including potential for refactoring legacy events? 
    • Need a way to configure to where an event should be sent, including tracking logs and GA.
      • Simplified defaults and decision making around this?
    • Special considerations for GA?  Send from backend processor back to Segment and on to GA?  Different GA properties?
    • Front-end consistent naming needed.  Use Segment names?  Tracking log names?  Other?  See code comment.
    • Bill DeRusha (Deactivated) has additional thoughts that require a conversation.

QA for Events and Configuration

Note

It would be great to find ways to make this simpler. Here is an example testplan for the Profile microfrontend events.

  • Each new microfrontend requires a new Segment source, and likely a Segment destination for GA and S3.
    • GA testing should review real-time events in GA.  In Production, this probably needs a Category for the search in order to find the event.
    • S3 setup doesn't have a good process defined, since Data Engineering needs to both whitelist and verify.  There may need to be a ticketing system for this so one can know that it was properly completed. 
  • Events sent to the LMS Event API can be tested in one of two ways:
    • For whitelisted events that are sent to LMS Segment, you can use the Segment Debugger.
    • For events that are not sent to LMS Segment, only Data Engineering or Devops can test by reviewing splunk4tracking.  Other engineers are not allowed access.
  • One needs to test setup once per microfrontend in every environment to know if all is well (Segment Stage, Prod, possibly Edge).
  • For whitelisted events, one needs to test each event for each environment.
    • Note: it would be great if the defaults minimized this type of testing.