The focus of our recent developments has been on creating a more efficient contribution process so that fixes and features can be added with less friction. We are trying to do this by improving the quality and consistency of issues, and by automatically testing fixes and features.
We are now using Travis CI the “hosted continuous integration service” to run tests on all pull requests and pushes to the Learning Locker Github repository. This will allow us to merge pull requests and push commits with more confidence that we’re complying with the xAPI specification and not breaking parts of Learning Locker. Anything that we do break can be found via the tests and fixed far sooner.
Thanks to help from @andytruong we now have some unit testing. These tests have and will highlight some of Learning Locker’s irregularities in regards to the xAPI specification. We hope that the community will help us by contributing tests to make Learning Locker more robust and maintain compliance with the xAPI specification.
Having these unit tests means that you should no longer have to repeatedly run your own tests manually, instead you can run the provided unit tests to identify problems and gain better coverage.
We now send more errors to the Laravel log and if the debugging option is enabled in the configuration you can also receive stack traces in responses from Learning Locker. Some of you will be happy to know that the errors are now returned as formatted JSON from the xAPI REST requests!
It is hoped that this improved experience will improve the quality of issues (by allowing developers to provide stack traces) so that they can be resolved sooner.
You can now create new languages for error messages from the xAPI validator. Hopefully this enables more developers to benefit from the xAPI via Learning Locker since they can now provide users with error messages they’re more likely to understand.
The documentation now provides some guidelines for making issues and we’ve utilised Github’s support for contribution guidelines to provide a link to these guidelines before you create an issue or a pull request.
Hopefully people will follow these guidelines so that the quality and consistency of issues is improved to increase the speed at which problems can be reproduced and resolved.
Continuing with our Travis integration we now automatically generate the docs from the markdown files in the Github repository using Jekyll. This allows the docs to be updated far quicker, particularly in response to fixes and features.
As with most updates, there were of course some bug fixes, most of these bugs were issues with the xAPI validator. There were around 15 hotfixes in this update, thanks to everyone that reported those bugs and helped with the hotfixes via Github, it’s greatly appreciated.
Next Steps (and some thanks)
We now plan to gather feedback about these updates and test them with the hope of making a new release some time soon, so stay tuned! As always, you can give us feedback via Github and the Google Group.
We would also like to say thanks to everyone who helped over the past couple of months with bug reports/suggestions and feedback. Special mention goes to @fugu13 @gazzastone @garemoko @andytruong @RyanBrainerd.
Starting as a placement student in 2014, Ryan re-joined the Learning Locker team after graduating from Oxford Brookes University where he won the John Birch prize for the highest grade average in the University.
From his minimalist desk, Ryan leads the Learning Locker team and consults with people on all things xAPI to conscientiously craft products and services that sustain and evolve training and performance.
When he’s not swimming or injuring himself on the cricket field, Ryan enjoys playing funny (and usually inappropriate) games with his family.