For a long time I’ve wanted to have some sort of data store for edX learners. A small amount of information that we could access in a manner similar to HTML5 Local Storage, but that would be stored server-side and not tied to their browser. It was proposed (more than once) but never implemented, and I eventually gave up on it.
Last week I figured out how to do it.
I need to talk myself through it anyway, so I’m going to go through the development process here in the open for those who might be interested.
- Store data.
- Accessible via JS.
- Readable by other JS on the page.
- Data is tied to the learner, not to browser or session.
- It has to be a relatively small amount of data. You’ll see why. I’m aiming for 100k per course.
- My courses run on edx.org. I can’t get XBlocks into the edX codebase - Harvard does not have a secret “in” for this - so I can’t do this by enhancing the vertical XBlock as I might want to. It all has to be with existing tools.