/mgnl-resources/js-classes would be aggregated into one big
SoftLocking, in particular, needs to add an extension like Vaadin's Refresher add-on which would poll the server periodically in order to get information about a page being edited (who is editing it, whether it's been saved while being edited concurrently etc.) in order to display it to users editing it concurrently. The extension also would need to know when the app is starting/stopping or switching to preview/edit mode in order to react appropriately.
- Custom apps can register extensions by declaring them in configuration as a sub-node of the page editor sub app, i.e.
/modules/pages/apps/pages/subApps/detail/extensions(extensions being the name of such special plug-ins in Vaadin 7).
- Extensions will need to implement a
Extensioninterface) making them aware of
PageEditorSubappmain events, i.e. start, stop, preview, edit
- Upon starting the sub-app extensions would be
- instantiated/loaded in the order they are declared in the configuration tree
- added to the page editor view via the
onStart(..)method would be called
- Upon stopping the sub-app
onStop()method would be called
- Upon switching to preview mode
onPreview()method would be called
- Upon switching to Edit mode
onEdit()method would be called
A spike was done and is available at the following branches