On Mon, Aug 28, 2017 at 7:46 PM, Vincent Massol <vincent(a)massol.net> wrote:
Hi devs,
We've had several complaints from users about the Navigation Panel. The 3
big needs that I’ve heard are:
1) Semi-automated by having the ability to blacklist items
2) Better performance ("It’s slow to load and reloads every time you
navigate to a new page”)
3) Ability to sort entries
See for ex:
*
https://forum.xwiki.org/t/your-xwiki-usability-pain-points/440/11
*
https://jira.xwiki.org/browse/XWIKI-12895
Point 1
======
That Panel is critical since it’s what users see the most (without
navigating anywhere) and it’s important that users be able to customize it
(while keeping the automated aspect, e.g. adding a new page should add it
to the tree by default as it’s done now).
Marius mentioned that adding blacklisting doesn’t make sense because we
would then have different behaviors between the Navigation Panel and:
• the breadcrumb trees
• the page index tree
• the location picker tree used on create/copy/rename page
• the location picker tree used by the CKEditor link and image dialogs
• anywhere we use a tree in XWiki default user interface
However I don’t fully agree about this. If you check the Applications
Panel, it’s not listing all Apps that exist. It’s only listing Apps that
the admin want his/her users to see by default. To see all apps there’s the
App Index. Similarly the Navigation Panel on the left should be listing
what the admin wants his/her users to see, and going to the Page Index
should list all pages.
In short I really believe we need to allow customizing the panel with an
Admin UI that allows to blacklist some nodes).
It's important to decide on the strategy / purpose of this navigation panel
since users might have different expectations.
If we let them customize it, then some users might want to whitelist some
nodes. When you create a navigation menu for example, you select only some
entries. They might expect that panel to do the same: showcase the tree
just for some part of their website, etc.
We cannot make panels examples for all the use cases and unfortunately
users don't read the documentation, so even though they could customize it
themselves, we need to pick by default the version that would be useful for
the majority of users.
The difference between Breadcrumb, Index Tree and the Navigation Panel is
the visibility and discoverability.
Another approach is finding out what exactly they want to hide and figure
out if we can make it hidden by default or move it in another place.
Does anyone see a better idea to fulfill our user’s needs?
Point 2
======
The main answer I see is to implement the doc title cache so that we don’t
have to load documents.
Do you see anything else?
Point 3
======
I think this is kind of already implemented with “showDocumentTitle”,
right?
Again if people see it as a navigation entry, they might want to prioritize
items without taking into account the alphabetical titles or names. But
this kind of sorting is usually manually. If almost impossible to make it
dynamic, but still manual, but have some preferences.
So I agree that the needs exist, but the solution for each need might not
be solved just by the navigation tree/panel. Menu app gets somewhere in
this schema, but currently users don't know when to use one versus the
other, plus some is more easily customizable than the other.
Thanks,
Caty
Thanks
-Vincent