This is a prototype specification that we are using to drive a conversation forward around generating useful educational data for Learning Analytics. This repo builds off of an early post by George Kroner that proposed the idea - we are planning to push the idea and see how far we can go!
This data specification makes a number of explicit design choices about how data should be represented. To contribute you should follow these guidelines:
- Data of similar types should be grouped together wherever possible e.g. a discussion forum post will be treated the same as a comment on a video, or a tweet, or a slack message. This principle will enable LA tools to consume data from multiple sources and use it irrespective of where it came from.
- Details about events, contexts and sources should be included wherever possible e.g. if we are recording that a post occurred in a discussion forum (or a learner clicked on a link, or a mark was provided to an assessment) then we also need to store the details of the item on which that activity occurred. Note that these details should also group together wherever possible into common contexts and properties.
WE WILL BE ADDING TO THIS DURING THE WORKSHOP AT ALASI23
- SoLAR position paper on Generating Data for LA Ecosystems.
- The xAPI Profiles server and related documentation.
- The IMS Caliper specification and some detailed information about implementing their profiles
- The final report from the OLT funded Learning Analytics beyond the LMS project, along with the GitHub resources (which are fairly depreciated now).
- The JISC LA project and GitHub resources (which are fairly depreciated now).
Anyone is free to contribute! If you want to make a suggestion for new endpoints or data formats then you will need to do this via pull requests, as we will be performing reviews of suggestions, and trying to generate a community approach around this specication. If you would like to contribute then you should do something like the following:
- Copy the URL of the repo and then clone it to your local computer
git clone [COPIED URL OF THE REPO]
- Create a new branch for the repo with a helpful name that explains what you are adding and switch to that branch
git branch NEW_FEATURE_BRANCHNAME
git checkout NEW_FEATURE_BRANCHNAME
- Update the relevant code and/or pages while in your new branch using your favourite editor
- Commit the changes you have made to that branch along with a message that explains what you were doing
git add .
git commit -m "A MEANINGFUL COMMENT HERE EXPLAINING WHAT YOU DID"
- Push these changes back to origin
git push origin NEW_FEATURE_BRANCHNAME
- Create a pull request back into the main branch on the github site for this repo (i.e. go to the GitHub site for this repo and click on the pull request button that should now appear if you have done everything right!)
If you don't understand what this is all doing and want to find out more then you could look at this quick tutorial on GitHub flow which will give you a quick guide to using git for collaborating over shared repositories.