Introducing lsgraph 2.0: A robust API for learning applications

August 31, 2021

LearnerShape is pleased to announce a major update to our lsgraph open source learning infrastructure library. This is our first major update to lsgraph since it was released in November 2020, including new concepts, added data, and a cleaner, better documented interface. With this update, lsgraph has been redesigned to fully embrace our aim of building the world's best open source learning infrastructure.

Building a robust, multi-tenant API for learning

We had four major aims in designing lsgraph 2.0:

Clear, documented API

Originally, lsgraph was developed in tandem with our web platform. The structure of requests to library functions, the information expected, and information returned were all selected with the very specific needs of our web platform in mind. They could be used more generally but usually with a small disconnect in expectations. This update began by considering the common features needed to support diverse applications. We then documented the API using the openAPI standard. We have updated the example notebooks and added documentation of the entire API.

Self-contained

The development of lsgraph in tandem with our web platform also resulted in an imperfect division of responsibilities between them, with some functions that many users might expect residing in our web platform. This update to lsgraph includes a carefully-planned interface designed to support the needs of any learning application.

Multi-tenant

Because lsgraph is an open source project, most users will run it within their own organizations. Running a hosted service we must be able to support multiple organizations and decided to include this functionality in the open source project. Different organizations and skills graphs were already supported but had significant limitations in certain areas. We have improved the isolation between organizations while supporting the possibility of resources being shared. This provides one central place for us to update the learning resources we manage (e.g. courses, videos, podcasts, etc.), and enables resource providers to promote their resources on our platform.

Implement lessons learned

In using lsgraph and working with customers, we have found areas where lsgraph did not meet important needs of LearnerShape and our customers. We have added entirely new concepts and functions, and refined existing functions that did not address important requirements.

Detailed changes

This update touches every area of lsgraph. Some of the highlights include:

Skills

Resources

Groups

Collections

Together, these are big changes to lsgraph, and they are not backward compatible. But if you have an existing project using lsgraph, the previous version remains available on Github, and we will continue to address any major issues. If you have a new education or training project planned, we think you will like this lsgraph update.

If you have any questions, comments, or would like to partner with us to build a custom learning application, please get in touch.

Dr Jonathan Street, Head of Data Science, LearnerShape