deIntroduction:
This wiki explains the design and implementation of resolving sunbird-content-plugins cache.
Background:
Currently, If any fix/feature goes to contributed plugins other than the core plugins, The developers are publishing the plugins without any version bump-up and sunbird-portal deployment.
Problem Statement:
Currently, When the contributed/dynamic plugins are published the end user fails to get the latest changes of the published plugin due to cache.
Solution 1 - Bundle plugins with editor's artifact
We need to bundle plugins along with editor artefact, Let's say if Diksha (or) Sunbird instance needs some X Amount of plugins out of Y then only bundle and load X amount of plugin rather than making all plugins to globally available. This
Plugins should follow the release deployment cycle similar to editor's.
Pros:
- Cache issue will resolve
- Intermediate fix and publish will not be available
Cons:
- Sunbird deployment is required
- Dynamic plugins loading features will not be available. Due to editor is bundled with specific X amount of plugins
Solution 2 - Plugin version bump-up for the contributed plugins
Present:
Proposal:
As soon as the plugin fix is done before plugin get publish the developer must update the version of the plugin, sunbird-player config update and plugin search index update.
The search API should return the latest version of the plugin.
Pros:
- Due to version maintains, Plugin cache will resolve.
- Avoids the multiple portal deployment.
Cons:
- Maintenance - As soon as version update, Admin as to update the sunbird player config through API .
- Content Update
Conclusion: