On 23 Oct 2015 at 13:13:20, Clemens Klein-Robbenhaar
(c.robbenhaar@espresto.com(mailto:c.robbenhaar@espresto.com)) wrote:
Hi everyone,
I wasn’t sure about current rule for hiding pages so I researched it and I’m listing
below what I believe is our current status. I’d like to document it on
dev.xwiki.org if
we’re ok with this status.
Current rules:
==============
* Technical documents must be hidden
* Technical apps must be hidden and not appear in the Document Tree. These are apps that
don’t generate content data. For example the following apps (not exhaustive list) have
their pages hidden (including WebHome):
** Stats app
** Active Installs app
** AWM app
** Color Themes app (it generates data but not content data)
** Dashboard app
** Scheduler app
* Apps that generate content pages (ie pages that should be appear in global search
results) must have their WebHome page not hidden (and the generated content pages must
also not be hidden). As a consequence these apps will appear in the Document Tree.
I have not been aware of that rule.
It’s not an official rule that was discussed/voted, which is the reason I’m sending this
email. However it’s what I see that we’ve done in practice when I analyzed existing apps.
So if you agree about it for now please let us know so that I can officially document it
as our current rules.
If this is indeed the case then it would decide the
issue which has triggered the discussion ;)
Future:
=======
It would also be nice to discuss if in the future we wish to separate more Apps from
Content and hide all Application pages (including Webhome), so that it is less confusing
for users who would:
* Use the App bar to navigate to applications
* Use the Document Tree to navigate to content pages
I personally would like this I think but the current problem is that generated content
pages won’t be found in global search results. Each app can provide a specialized search
ofc but it’s not good enough. Thus we’d need to find a way for the entries to appear in
the global search results even though they are hidden. One solution would be to have a way
to mark a space as an application space and exclude those from the DocumentTree (for
example).
Before we dive into the solutions in details, would you agree that it would be good to
better separate Apps from Content?
After thinking about it for a moment I tend to say "mostly yes, but it might
depend"
More specifically: yes for navigation, not so for search.
For the example of the mocca calendar (which triggered this discussion) or any calendar
app I feel it is likely that events should not show in the general
"navigation",
A navigation treating them as pages will most likely only be able to list then
alphabetically by name;
the special "navigation" in the calendar view does a much better job,
especially if you think about very old events which just happen to start with
'a'.
The same reasoning applies e.g. to the task manager (might have lots of resolved issues
in the navigation), and with somewhat lesser force to the blog.
Btw, I feel it a bit odd to currently have the "XWiki" Space in the navigation,
which can be expanded to show (mostly, but not exclusively) the users of the wiki.
Yep we need to do something at some point but it’s hard. We need to move all users to a
User space for example (and change all the code that hardcode users to be in the XWiki
space…).
I am not sure if the same apples for e.g. the
"Ideas" application, and I know some small "App within minutes"
application which have only a few pages and navigating them might make sense
(e.g. book inventory lists - not for a library, but "about these book shelves in
both of our rooms that have some" ;) ).
However about the search, most likely users want the application data in the search
result, and only filter them optionally
(especially true with blog entries, maybe less with Task Manager (think about old tasks)
or calendar events).
Depends on the app, I don’t think they should see Scheduler jobs for example.
It is maybe a bit too specific, and technically
non-trivial to implement efficiently, but what about a flag "hide my child pages from
navigation"? (Just a Friday afternoon idea)
Or maybe it is a property of the object on the page? E.g. calendar: show calendar pages
(there are only a few), but hide events (there are many);
for task manager: show project pages, but hide task pages; do not show user pages as
"navigation" (as there is the user directory which does a better job), etc
Or maybe we need two flags: "Hide from navigation" and "hide from
search".
(I know about users who tend to hide the "WebHome" of their content spaces, to
avoid it showing up in the navigation - and I know about these users because they call me
and complain that their WebHome-pages do not show up in search ;))
So yes I agree that in the end we should probably:
* Have an Application Descriptor xobject
* Have some xproperties of that descriptor that says whether the app generates content
data and another that says whether the generated content should be displayed in search
results
Now the issue with this would probably be performance of implementation. AFAIR this is why
we didn’t implement this with xobjects in the past and instead use a hidden field metadata
in XWikiDocument (Jean-Vincent coded this and we had lots of discussion at the time). Now
this could maybe be fixed with some Application Descriptor caching.
Thanks
-Vincent
mit freundlichen Grüßen
Clemens Klein-Robbenhaar
--
Clemens Klein-Robbenhaar
Software Development
EsPresto AG
Breite Str. 30-31
10178 Berlin/Germany
Tel: +49.(0)30.90 226.763
Fax: +49.(0)30.90 226.760
robbenhaar(a)espresto.com
www.espresto.de
HRB 77554 B - Berlin-Charlottenburg
Vorstand: Maya Biersack, Peter Biersack
Vorsitzender des Aufsichtsrats: Dipl.-Wirtsch.-Ing. Winfried Weber
Zertifiziert nach ISO 9001:2008
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs