Open rtibbles opened 8 years ago
Updated the description!
This is a high-level task that needs some planning and design before it can be addressed with a PR. Migrating to: https://trello.com/c/iRzHX80d/690-core-api-versioning
re-opening - back from Trello
Help ensure that standalone plugins are built/used with the correct version of Kolibri.
Static JS assets are now built into separate bundles such that plugins can use different versions of NPM dependencies (right @rtibbles ?)
So, the remaining piece of the puzzle is to be able to specify the versions of the Kolibri core which a plugin is dependent on. This should be enforced at build time but possibly also feed into the
setup.py
metadata such that the plugin isn't installed with the wrong version of Kolibri.Finally, at Kolibri load-time, the plugin should fail to load if the wrong version of Kolibri is calling it.
We can find inspiration possibly by how Firefox and Thunderbird extensions depend on their host systems.
We should also ensure that all aspects of the core API are properly documented for each version, so it's clear when the API version needs to be updated. In particular, we currently use
apiSpec
to enumerate globally shared python modules. However this might not fully capture the API, including:display-inline
vsdisplay-block
)