Closed ashay-maheshwari closed 7 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
This is a sample pseudo code for illustration purpose only.
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.
Feedback on the demo of Release 2 :
Adding this issue to milestone : Release 3
User/Learner/Students clicks are tracked as analytics. Visit -
Content being private is removed from github issue.