Implemented in 4.3
store is accessible via the AdminCentral
For 4.3 the goal is to to provide at least a listing of existing modules integrated into AdminCentral, with links for manual download. It may just be an iframe that loads a page from magnolia-cms.com. We may want to pass information about the installation that acesses the module store, e.g. installed modules and version info. A nice/cheap addon could be a page that lists currently installed modules (this one generated directly by Magnolia).
This is an idea of how it could look:
The first page will be a simple listing of modules, a cleaned up version of the matrix on the wiki.
For each module we will display:
- update date
- status (installed, not installed, upgradable)
- license (probably it's enough to display this in the detail page?)
Clicking on a module will bring to a detail page:
Here we should have a screenshot, long description, licensing/price info, link to download and to original website.
What we could skip for this first release (note that everything can be upgraded "server side" in the following months, but we just have to have a good status to include the menu and launcher soon in 4.3):
- user rating/commenting
- sorting? (do we sort alphabetically?)
- compatibiliy matrix/versions: since this will only we available for 4.3 we can just add only modules wich works with magnolia 4.3. Before the next release (if any, before 5.0) we will have to implement a compatibility matrix (see the atlassian plugin studio as an example)
The server-side part will obviously be implemented as a set of magnolia templates, for the first run the list of modules will have to be centrally managed, we could ask people who added their plugin to the wiki for details.
- do we lists only real *modules* or also other tools/libraries (for example the "Magnolia criteria query" lib)?
- do we lists enterprise modules too, with a link to the "purchase enterprise" instead than a download? It could really be useful to make more clear what users can get by upgrading to enterprise
Menu and pages configuration
A new magnolia module "modulestore", adding a menu item "Module store" in the magnolia admin interface.
The module provides two freemarker pages:
- all modules list: displays all available modules (loaded from a url set in module's configuration);
- installed modules list: displays only modules installed in the current application.
All modules page
Selecting the "Module store" menu item shows the all modules page; the module list is requested to the remote server (magnolia-cms.com):
Current application's data is posted as a json-encoded parameter:
All modules page layout
Clicking on a module shows a details page:
Installed modules page
Selecting the "Installed modules" sub-menu item shows the list of installed modules.
Module definitions are retrieved from the ModuleRegistry.
The details on available modules are maintained server-side, in the form of editorial content:
The "module-list" page aggregates module informations, and handles requests made by "All modules" page of the "Module store" menu.
Each subpage stores details on a single module:
The "Module details" button opens the dialog: