-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extension Manager - Extension state #15
Comments
This is a RFC of the configuration with the information needed to the plugin configurator. This should be generated on/by the server OR as a mesh of response from the server and local configuration of plugin configurator. I suggest the first to simplify the work on the client. The configuration has this shape: {
"plugins": [
{
"name": "Map",
"mandatory": true, // <-- mandatory should not be shown in editor OR not movable and direcly added to the right list.
}, {
"name": "Notifications",
"mandatory": true, // <-- mandatory should not be shown in editor OR not movable and direcly added to the right list.
"hidden": true, // some plugins are only support, so maybe showing them in the UI is superfluous.
}, {
"name": "TOC",
"symbol": "layers",
"title": "plugins.TOC.title",
"description": "plugins.TOC.description",
"defaultConfig": {},
"children": ["TOCItemSettings", "FeatureEditor"]
}, {
"name": "FeatureEditor",
"defaultConfig": {}
}, {
"name": "TOCItemSettings",
"...": "..."
}, {
"name": "MyPlugin" // <-- this is typically an extension
}, {
"name": "Footer",
"children": ["MousePosition", "CRSSelector", "ScaleBox"]
}, {
"name": "Widgets",
"children": ["WidgetsBuilderPlugin", "WidgetsTrayPlugin"],
"dependencies": ["WidgetsBuilderPlugin"], // some plugins may be mandatory only if parent is added.
}, {
"name": "WidgetsTrayPlugin"
}, {
"name": "WidgetsBuilderPlugin",
"hidden": true // <-- This is a child. In this case it will be added automatically, without showing
if the parent is added
}]
} Properties of plugin entry:
This JSON should have also options to match with these changes to work with extensions. |
@offtherailz Unless children plugins can somehow be enabled while their parent is not, I don't think mandatoryChildren is needed and according to current mockup that is not the case. Otherwise looks fine to me. |
My comments:
|
@vlt1 I changed the name with "dependencies" and I suggested some of them. Typically dependencies will be hidden. I reported some examples. @mbarto I should not develop nothing only in georchestra, because context system should be used by MapStore too. (or at least, nothing that can not be quickly implemented on mapstore, with a JSON file or something similar). Let's quickly discuss details, that we are going to report them in this issue. |
Some ideas for extensions upload / registration in the system:
|
For this task we have this proposal |
The extensions need to be managed across three different states:
Current context should be saved like this:
NOTE:
active
is not present in the mock-up. We should add a checkbox in the UI, when the plugin is checked as user plugin.Original functionality in mapsfish allows to enable by default some of them before the user selects, so this have to be ported in mapstore
The text was updated successfully, but these errors were encountered: