Can anyone provide a guide or documentation link on how to setup the lx-pathway-plugin ?


Hi @Gaurav_Vijayvergia,

May I ask what you’re trying to achieve? We can provide instructions on how to set it up, but it’s probably not going to be what you’re expecting - it only provides a very low-level REST API, and is not very useful on its own.

Short version:

  • Get blockstore running and integrated with Open edX - you should be able to use frontend-app-library-authoring or ramshackle to create and edit content in content libraries.
  • Install lx-pathway-plugin (via pip or put it into the requirements files)
  • In the lms.yml and studio.yml files, set LX_PATHWAY_PLUGIN_AUTHORIZED_USERNAMES to the username of a bot or developer user that you’ll use the API with
  • While authenticated as that user (using cookies or OAuth2), make requests to the lx-pathway-plugin API to create, read, update, and delete “pathways”. The API methods are listed in views.py, the data they accept/return is in these serializers and the URLs are:
    • /api/lx-pathways/v1/pathway/ - create a pathway
    • /api/lx-pathways/v1/pathway/:pathway_id/ - Get/edit/delete a specific pathway. You can use the “edit” API to add “items” to the pathway, where an item is any XBlock stored in a library in blockstore.
    • /api/lx-pathways/v1/pathway/:pathway_id/publish/ - publish or revert pending changes to a pathway
    • There is no “list pathways” API
    • You can use the new XBlock APIs to view XBlocks that are added to a pathway, same as you would for an XBlock in a blockstore library.

BTW we aren’t using this discussion board anymore - more conversations now take place at https://discuss.openedx.org/

Hi @Braden,

Thanks for your response . Yes will move the conversation to open edx discussion board. Basically i’m trying to achieve the similar behaviour like LabXchange Pathway. I thought it was built using the same xblock hence exploring it. Please correct my understanding since i’m new to OpenEdx and still exploring.

Thanks for your help.

Hi @Gaurav_Vijayvergia, Yes, lx-pathway-plugin is part of what’s used for LabXchange pathways, but there are lots of other pieces that are needed as well - and most of the important code is part of the LabXchange application itself, which is not currently open source. So you could theoretically build similar functionality and you could use lx-pathway-plugin to do so, but it would require a lot of work and a lot of new code before you could have similar functionality.