openedx-vlead / port-labs-to-openedx

3 stars 8 forks source link

Requirement 1 : Tracking the learner clicking on section to launch a virtual lab #36

Closed ashay-maheshwari closed 7 years ago

ashay-maheshwari commented 8 years ago

Content being private is removed from github issue.

priya100raman commented 8 years ago

Requirement and analysis in detail :

Requirement: Tracking the learner clicking on section to launch a virtual lab. A simple tracking. Learner logs in to Virtual Lab portal. Selects a course. Clicks on Experiment section. Virtual Lab is launched on the right side pane. We want to track such clicks.

Solution: There are couple of options - XBlocks, developing new UI pages using Moka templates, or track it on the client side with JavaScript.

We got a clue from an Qualtrics blog. I think we are also looking for a cleaner approach within the time that we have for demos, workshops. [http://sites.cognitivescience.co/qualtrics/linking-to-mturk/openedx]

Porting guidelines: All lab develops needs to follow very simple steps to add tracking code. It will be matured and will be simplified and automated. For now, there will some simple guidelines to follow.

1) Every experiment should have UUID 2) Porting team will use the UUID and add it to the Lab's

 Note: Need help from a good web developer to arrange the code cleanly.

4) Import the course into the OpenEdX

What is happening in the background? We developed a very simple web service that collects the data from the above tracking code. Currently, it is just printing on console and all the data collected can be pushed in to a DB.

What happens to Analytics? We need to run some separate programs for analysing the usage data.

What is further work? All we have done is a PoC. It will take around a week to develop this feature and add it to at least 10 experiments.

Where to show the usage analytics? Well, the same trick can be played to get the results from the usage collector service. We can use OpenEdX only for rendering .

Will it scale? As the number of students are increasing, the usage collector service can be deployed in large machines, use of load balance machines will be needed.

Is it not laborious to add tracking code? Well, it is manual now. We need to design a script to automate. This can be a good project for interns.

OK. Does this approach fit into the overall scheme of OpenEdX? Yes.. to our knowledge. The very architectural philosophy of OpenEdX is based on microservices, IDAs (Independently Deployable Application). The road map of the OpenEdX is making the core platform components into IDAs. So, we are not deviating from that and all we are doing is simplifying our development.

What are the risks or challenges? Yes... we need to test a lot. One risk is element ID collisions. An experienced web developer can suggest what is the best practice. And another challenge is getting all user parameters to log. Some experimentation is needed.

Can we extend this approach? Yes. That is the original ideal. It may not cover all possible cases, but helps in dealing with any similar requirements.

priya100raman commented 7 years ago

Feedback on the demo of Release 2 :

  1. The existing data from the analytics in vlabs.ac.in to be migrated to ELK.
  2. Display graphs finalization - What are we going to display on the Dashboard ?
  3. Vlabs logo on Kibana
  4. Demo scripts.
  5. Font size for presentation purposes.

Adding this issue to milestone : Release 3

ashay-maheshwari commented 7 years ago

User/Learner/Students clicks are tracked as analytics. Visit -

  1. https://github.com/openedx-vlead/elk-stack-for-analytics
  2. http://vlabs-analytics.vlabs.ac.in
  3. https://github.com/openedx-vlead/vlabs-analytics-api-server