The way I do this for another similar feature, using UIX objects, is to
add two new parameters, "enabled" and "order". When displaying the
extensions for a particular point, I request them ordered by the "order"
parameter, and then manually skip those for which the "enabled"
parameter is set to "false" -- if the parameter is missing, it's
considered enabled by default.
We can define that the order should have a value between 0 and 100, and
each extension can choose it's own relative number, as an expected
percentage, with the actual order depending on which other extensions
are installed and enabled, and their requested order.
As a more advanced feature, in PhenoTips we also have a wizard that
allows enabling/disabling and manually reordering extensions, by
modifying the extension parameters.
I didn't have time for this yet, but in the future I'd like to add
support for ordering and enable/disable flags in the core UIX module, so
that extensions are automatically filtered and ordered.
On 10/05/2016 05:37 AM, Vincent Massol wrote:
Hi devs,
With the recent introduction of the Applications Index (see
http://extensions.xwiki.org/xwiki/bin/view/Extension/Application+Index+Appl…) we
need to agree on a few things.
In the past we had:
* We wanted all new app that you installed to automatically be visible in the
Applications Panel
* This is why the Applications Panel config had a blacklist (and not a white list)
What we’ve done:
* We add the Applications Index
* We removed some apps from the Applications Panel. Namely: Invitation, Panels,
Scheduler, User Directory and Tour applications. this was done using hardcoded blacklist
xobjects in PanelsCode.ApplicationsPanelConfiguration.
The need:
* We need to remove this hack. It’s not normal for the Panels module to know all the apps
that shouldn’t be listed in it!
Proposal:
* Replace the blacklist configuration of the Applications Panel by a whitelist one
* When a new app is installed, list it in the Applications Index but don’t add it to the
Applications Panel
* If an admin wants to add this new for his users, he’ll need to add it in the Admin UI
for the Applications Panel.
WDYT?
Thanks
-Vincent
--
Sergiu Dumitriu
http://purl.org/net/sergiu