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.

Travis Integration

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.

Testing

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.

Improved Debugging

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.

Validation Languages

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.

Issue Guidelines

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.

Automated Docs

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.

Bug Fixes

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.

Please follow the new issue guidelines when reporting bugs in the future. There are still 20 issues and 2 pull requests that are open, hopefully we can address these over the next couple of weeks.

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.