Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Introduction:

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:

  1. Cache issue will resolve
  2. Intermediate fix and publish will not be available


Cons: 

  1.  Sunbird deployment is required 
  2. 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:

  1. Due to version maintains, Plugin cache will resolve.
  2. Avoids the multiple portal deployment.


Cons:

  1. Maintenance - As soon as version update, Admin as to update the sunbird player config through API .
  2. Content Upgrade is required 



Solution 3 - Dynamic updating of param tag to plugins network request call



As soon as plugin fix is done, Developer as to update the param tag with some value using an api and sunbird as to read that param tag using api and append to plugins request network calls


Pros:

  1. Cache will resolve
  2. No need to portal or editor deployment
  3. No need to version update


Cons:

  1. Due to we are appending to plugins network request calls so it will append to all plugins request network calls then all plugins will load without cache.


Conclusion:




   





    




  • No labels