Hi,
XWIKI-7568 <http://jira.xwiki.org/browse/XWIKI-7568> - Implement mechanism
to hide technical content
added some big changes for me in the way we organize things inside XWiki,
what we consider to be hidden or not and how we reach hidden applications.
As a first visible change, now the Spaces gadget found on Main.WebHome
doesn't display anymore spaces like 'AnnotationCode', 'ColorThemes',
'Invitation', 'Panels', 'Scheduler', 'Stats'.
My main concern is that if something is not visible and accessible it will
never be used and thus it doesn't exists.
That's why I've created:
XWIKI-7916 <http://jira.xwiki.org/browse/XWIKI-7916> - Integrate
ColorThemes functionality inside Administration
XWIKI-7920 <http://jira.xwiki.org/browse/XWIKI-7920> - Integrate Scheduler
functionality inside Administration
XWIKI-7919 <http://jira.xwiki.org/browse/XWIKI-7919> - Create an entry
point for Stats inside Administration
XWIKI-7918 <http://jira.xwiki.org/browse/XWIKI-7918> - Have an entry point
for the Invitation application
While some functionality may seem normal to be Admin only (also because
some of the hidden spaces were about configuration), some is arguable:
- 'ColorThemes' initially were supposed to be used also by normal users in
their profile but this didn't made it in final implementation;
- makes sense that maybe a normal user could create a 'Panel' but right now
this is not possible from Panels.WebHome;
- Invitation should be able to be used by both types of users, but without
the setting of the server mail, the users will always receive an error;
- Stats again could be used by both.
What I would like is that things that are about configuration should always
be integrated in the Administration. I am referring to the Scheduler
configuration, Stats configuration, Search Suggest configuration, etc. The
logic behind is that the Administration acts like an entry point for any
configuration related actions. As Admin I shouldn't go outside
Administration in order to achieve my configuration task (ex.
XWIKI-7917<http://jira.xwiki.org/browse/XWIKI-7917>
XWIKI-7921 <http://jira.xwiki.org/browse/XWIKI-7921> etc. ).
Now adding configuration inside Administration still doesn't solve the
problem on the entry point. As an administrator, after I've completed the
configuration step, where do I find the application? As a normal user is
the same question + how do I even know that applications exists?
For this issue I've created
XWIKI-7927 <http://jira.xwiki.org/browse/XWIKI-7927> - Create an entry
point for all available applications inside the wiki
This can be implemented as a gadget, as a panel or even as an Application
Index (as a livetable or as a grid).
Now another problem remaining is that of specifying if an application is
intended for Advanced, Simple users or both. Who should see Stats app? All
the users? Just advanced users?
As a first step, the hidden feature works because 'advanced' applications
will be considered 'hidden' for users. The problem is what we consider
'advanced' to mean. Is ColorThemes or Stats an advanced application? And is
especially problematic since by default the Administrator has an 'advanced'
+ 'hidden' configuration, meaning that he will not be able to see by
default ColorThemes or other configuration (but currently hidden)
application that might be useful for him (he needs to know that the
functionality exists somewhere). So he is an 'advanced' user that doesn't
have visibility to 'advanced' applications.
So IMO the hidden mechanism is great for hiding technical pages (pages like
*Sheet, *Template, Macros, internal pages, etc.) from users. It doesn't
matter if those pages exist (from an user's point of view) as long as there
is an UI that integrates them.
The bad part of the current status of the 4.1RC1 is that IMO we should not
consider entire applications to be hidden. Internal pages of the
'Invitation' app should be hidden, but the WebHome (that contains the
functionality and the UI) should be available/discoverable somewhere.
In order for 'advanced' applications to not be displayed for normal users
we should have another field that describes the application and this can be
'simple' or 'advanced' (and not rely just on the 'hidden').
XWIKI-7925 <http://jira.xwiki.org/browse/XWIKI-7925> - Have application
descriptors for Application spaces
So the only problem remaining (besides the actual implementation :) ) would
be to discuss what applications are advanced (or even admin only) and what
are not (thus available to the general population). Keep in mind that the
current separation is now simple/advanced but we might need a
user/developer/admin separation in order to better separate the task
functionality of our current applications scopes (ex. since we might want
to have admins only applications that should not be available to
developers, both being advanced users).
Thanks,
Caty