Silva needs a user_root

Bug #100621 reported by Kit Blake
12
Affects Status Importance Assigned to Milestone
Silva
Won't Fix
Low
Unassigned

Bug Description

One thing I've noticed in the workshops recently is a problem in the navigation
when Author/Editors are logged in on a lower level than the Silva root. Both the
tabs and the breadcrumb trail contain links to places they can't go, higher in
the tree.

This goes against our policy of not showing interface elements that can't be
used (if there's nothing to delete, don't show the delete button).

We need to develop navigation that checks for accessibility. If an Author can't
go higher in the tree, we shouldn't provide links. It's very confusing, because
when an Author does (intentionally or inadvertently) click such a link, the
system presents a login prompt. The Author can't log in, eventually cancels, and
then looks at an error page and asks, "What do I do now?"

This will add some overhead, but it's very important. Maybe we can store it in
the session? (And, if the session expires, quietly restore the user_root). Or in
a dynamic template variable?

Revision history for this message
Marc Petitmermet (petitmermet) wrote :

This is what I ment with the setting the start point of the breadcrumb in issue
491. At least in a virtual host environment deep in the silva tree nothing
happens when a user clicks on links on highre levels. I guess fixing this issue
automatically fixes the above.

Revision history for this message
Martijn Faassen (faassen) wrote :

The goal of this would be that if a user has no viewer rights, there should
be no Silva UI for the user to actually go there.

As Kit described, this is expensive, but as Kit also suggests, we may
be able to cache this. What could be done is:

  * see if user has a particular user root stored in the SESSION

  * If not, walk up to the tree to the point where the user has no
    Viewer rights above anymore. This point is the user root, store
    it in the session.

  * In the Silva UI code, adjust breadcrumbs and tab up so that beyond
    'user root' things are either greyed out or inaccessible. I'd vote
    for greyed out in the case of the breadcrumb trail, as the user does
    need to have at least a vague notion of where he is in the tree for
    ease of communication with editors and other authors, plus for
    matching up with public pages.

Problem:

Sidebar will always go to the publication root. If the user gains
rights in the middle of a publication, the above strategy will still
introduce links the user can't go.

The sidebar issue is hard to solve, as it's cached. Doing a manual check
would cause massive slowdown and would make caching impossible.

Possible solution would be to actually make the side bar go to user root
too in this case, and cache this separately. This ought to be possible.

This is however a non-trivial change to the UI, and would need some significant
man-days of effort. Do we have this time for Silva 0.9.3?

Revision history for this message
Kit Blake (kitblake) wrote :

Doesn't sound realistic, so:

Revision history for this message
Martijn Faassen (faassen) wrote :

Review this at least, see what is possible in the 1.1 frame.

Revision history for this message
Martijn Faassen (faassen) wrote :

Not realistic for a 1.1 timeframe, moving on.

Revision history for this message
Sylvain Viollon (thefunny) wrote :

This the changes in Silva 3.0 this is no longer relevant.

Changed in silva:
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.