Separate Webui and Android from Tutor core and move to dedicated plugins

I would like to take the opportunity of the upcoming Lilac release to extract all the code related to the Android app and the Webui and to move them to separate plugins. These features were added to the Tutor core at a time when there was no plugin system, yet. They introduce extra features that are not required by all Tutor users:

  • Android: build a development or production-ready Android Open edX app that points to the Tutor-deployed LMS.
  • Webui: run a Gotty web service to expose the Tutor CLI in a web interface, with basic authentication.

Documentation would be moved to the plugins’ README files. Packages would be pused to Pypi and become officially supported. The plugins would be installed and enabled as regular plugins:

tutor plugins install tutor-android
tutor plugins enable android
tutor config save
tutor android build debug
tutor plugins install tutor-webui
tutor plugins enable webui
tutor config save
tutor webui configure
tutor webui start

Removing the Android app from the core Tutor package would impact the tutor images build all command: the android image would no longer be built by default when the plugin is not installed, which would result in faster builds for users who do not rely on the app.

This TPE would be a breaking change for Tutor, which is why we’d like to implement it as part of the Lilac release; named Open edX releases are a good time to implement breaking changes, as this is typically the time when operators take a closer look at the changelog.

Please add your comments below :arrow_down: If you don’t have a strong opinion on this, simply add a :heart: to this topic.