On Thu, May 3, 2018 at 1:44 PM, Vincent Massol <[email protected]> wrote:

>
>
> > On 3 May 2018, at 12:32, Marius Dumitru Florea <
> [email protected]> wrote:
> >
> > On Thu, May 3, 2018 at 11:58 AM, Ecaterina Moraru (Valica) <
> > [email protected]> wrote:
> >
> >> On Wed, May 2, 2018 at 7:02 PM, Marius Dumitru Florea <
> >> [email protected]> wrote:
> >>
> >>> Hi devs,
> >>>
> >>> Some users have complained that the navigation panel shows top level
> >> pages
> >>> that they don't need/want to navigate to, most importantly the XWiki
> >> page.
> >>>
> >>> There are multiple ways in which we can fix this.
> >>>
> >>> Solution 1: Content Page
> >>>
> >>> Create a top level "Content" page for user content and configure the
> >>> navigation panel to show the contents of this page.
> >>>
> >>> Pros:
> >>> * Namespace isolation (no conflicts between user pages and application
> >>> pages)
> >>>
> >>> Cons:
> >>> * The user may want to navigate to a top level application page
> (although
> >>> it's better to use the application panel for this instead)
> >>> * All the paths / references used to access the user content will start
> >>> with this "Content" page
> >>>
> >>>
> >>
> >
> >
> >> S1: This solution is good if users would work in isolation or in the
> >> evaluation period, but for team and multiple people sharing spaces, I
> don't
> >> see this as a valid solution.
> >>
> >
> > The Content space is for all users, shared. This is not about having a
> > separate space for each user.
> >
> >
> >> -0
> >>
> >>
> >>>
> >>> Solution 2: Blacklisting
> >>>
> >>> Add support for specifying a list of (top level) pages to exclude from
> >> the
> >>> navigation panel.
> >>>
> >>> Pros:
> >>> * The user (top level) pages created later on will be visible in the
> >>> navigation panel
> >>> * The blacklist could be used to filter not only top level pages but
> also
> >>> any nested page from the navigation panel.
> >>>
> >>> Cons:
> >>> * The blacklist depends on the installed apps. The administrator may
> have
> >>> to update the blacklist when new applications are installed
> >>> * The blacklist depends on whether you view hidden pages or not. If you
> >>> don't view hidden pages then the blacklist probably contains 4 pages:
> >> Help,
> >>> Menu, Sandbox, XWiki (there is an application panel entry for each of
> >> them
> >>> except XWiki), which is manageable. If you view hidden pages then you
> >> need
> >>> to black list 28+ pages which is hard to manage and maintain.
> >>> * The filtering needs to happen on the database (otherwise we break the
> >>> pagination) so the database queries will become a bit more complex,
> which
> >>> could led to some performance penalty, depending on how long the
> >> blacklist
> >>> is.
> >>>
> >>>
> >> S2: I see the blacklist solution more as a hack for things in XWiki that
> >> should be fixed (have users outside XWiki space, move Sandbox into Help
> >> space, hide Help pages and provide a dedicated Help entry in the User
> menu,
> >> etc.) but we don't have the time to do it.
> >> -0 in an ideal state
> >>
> >>
> >>>
> >>> Solution 3: Whitelisting
> >>>
> >>> Add support for controlling the list of top level pages that are
> >> displayed
> >>> in the navigation panel.
> >>>
> >>> Pros:
> >>> * the whitelist doesn't depend on the installed extensions or hidden
> >> pages
> >>> so it's easier to maintain.
> >>> * the whitelist can be used to order the top level pages visible in the
> >>> navigation panel.
> >>> * the whitelist can be used to show at the top level (for navigation
> >>> purpose) a page that is not really a top level page
> >>> * No performance penalty
> >>>
> >>> Cons:
> >>> * The user (top level) pages created later on will not be visible in
> the
> >>> navigation panel. The administrator will have to add them to the
> >> whitelist
> >>> if they are useful for the navigation. Although creating top level
> pages
> >>> should happen less often than creating nested pages under the existing
> >> top
> >>> level pages.
> >>> * the whitelist controls only the first level in the tree. The next
> >> levels
> >>> will be dynamic (database queries) and with the default order.
> >>>
> >>
> >> S3: I prefer this solution, but with the ability to also display some
> >> dynamic pattern, something like: display X, Y and all children of Z, or
> >> all pages starting with A, or all pages created by group N :) (they are
> >> just ideas, I know some are very hard to implement).
> >> +1
> >>
> >>
> >>>
> >>>
> >>> Solution 4: Exclude extension pages
> >>>
> >>> Exclude from the navigation panel the top level pages that belong to an
> >>> installed extension, allowing the administrator to make some exceptions
> >>> (e.g. keep the home page). The rationale is that if an installed
> >> extension
> >>> has a top level page then that page is most probably the application
> home
> >>> page which should be accessible from the application panel. This can be
> >>> implemented on top of solution 3 (the whitelist is basically dynamic:
> we
> >>> collect the top level pages that don't belong to an extension).
> >>>
> >>> Pros:
> >>> * It does a clear separation between applications (accessible from the
> >>> application panel) and content (accessible from the navigation panel).
> >> The
> >>> navigation panel is currently mixing application pages and (user)
> content
> >>> pages.
> >>> * The administrator doesn't need to update the navigation panel
> >>> configuration to exclude a top level application home page each time an
> >>> application is installed
> >>> * The hidden top level extension code pages are not shown even when
> "show
> >>> hidden pages" is set to true
> >>> * The user top level pages created later on appear in the tree
> >>> automatically
> >>>
> >>> Cons:
> >>> * The user won't be able to navigate easily to an application home
> page:
> >>> ** if the application panel is not shown
> >>> ** or if the application doesn't provide an application panel entry
> >>> ** or if the administrator has removed the entry from the application
> >> panel
> >>>
> >>>
> >>
> >
> >
> >> S4: I don't know if for our users this separation between apps and
> content
> >> is very clear.
> >
> >
> > I think our users (or their administrators at least) want to separate the
> > applications from the content. So I think it would be good to have
> > something dedicated to applications, the application panel, and something
> > dedicated to content, the navigation panel.
>
>

> I’m seeing this a bit as a “hack" since the separation would exist in the
> Nav panel but not elsewhere (AllDocs, other trees such as the Rename/Copy
> ones, etc).
>

I don't get it. The blacklist / whitelist would be applied *only* to the
navigation panel also so what you propose is not consistent either.


>
> I think if we want that separation we need to think about it more
> globally. AFAIR we had some discussions about this separation already and
> the proposed solution were different than the one proposed here. So if you
> want to go in this direction, we need to review the previous proposals and
> think more globally which IMO is going to take a lot of time.
>
>

> I’m still thinking that we should allow users to define a white list and a
> black list and that’s all. That will cover all use cases that a generic
> platform requires.
>

Did you read the cons? Having to manually update the blacklist whenever you
install an application is a pain. And what about the hidden pages? Don't
you find it hard to manage a blacklist of 28+ excludes? Solution 4 doesn't
require maintenance from an administrator. When you install an app it's top
level pages are excluded automatically. When you create a top level page,
it's shown automatically in the tree.


>
> Then we can work on optimizing this later on when we decide how we do the
> separation between Content and apps and it’ll depend a lot on how we do it.
>
> If we don’t fo this we risk rushing into a suboptimal solution.
>
> WDYT?
>
> Thanks
> -Vincent
>
> >
> >> Also they might create their own apps and they will want
> >> those to be part of the navigation.
> >
> >
> > They would want to have an entry in the application panel like the rest
> of
> > the apps I think.
> >
> >
> >> The ideal navigation should be able to
> >> state some important pages to be shown (static aspect), order that list
> in
> >> terms of priority, and later contain and navigate to pages created by
> the
> >> user or team (dynamic aspect). Adding metadatas to pages and creating
> apps
> >> on top of content is a major feature of XWiki and I don't want to remove
> >> these pages from the navigation.
> >> -0
> >>
> >> I prefer solution 3, but with the ability to sort and also to include
> some
> >> dynamic parts :) is this possible?
> >>
> >> Thanks,
> >> Caty
> >>
> >>
> >>>
> >>> I prefer solution 4.
> >>>
> >>> WDYT?
> >>>
> >>> Thanks,
> >>> Marius
>
>

Reply via email to