On 27 Nov 2015 at 17:06:17, Guillaume Lerouge 
([email protected](mailto:[email protected])) wrote:

> Hi Vincent,
>  
> On Fri, Nov 27, 2015 at 4:53 PM, [email protected]  
> wrote:
>  
> >
> >
> >
> > On 27 Nov 2015 at 16:42:39, Guillaume Lerouge ([email protected](mailto:
> > [email protected])) wrote:
> >
> > > Hi,
> > >
> > > > Hi Marius,
> > > > >
> > > > > On Fri, Nov 27, 2015 at 12:40 PM, Marius Dumitru Florea <
> > > > > [email protected]> wrote:
> > > > >
> > > > > > On Thu, Nov 26, 2015 at 4:55 PM, Guillaume Lerouge
> > > > > > wrote:
> > > > > >
> > > > > > > Hi Devs,
> > > > > > >
> > > > > > > after trying XE 7.4 snapshot some more, I kept asking myself what
> > > > was the
> > > > > > > point of even allowing terminal pages to exists. I couldn't see a
> > > > good
> > > > > > > reason why any given page would *need* to be terminal, whereas it
> > > > poses
> > > > > > > some issues:
> > > > > > >
> > > > > > > - There is no visual distinction between terminal pages and
> > nested
> > > > > > pages
> > > > > > > in the interface (besides "WebHome" in the URL, which would be
> > > > cleaner
> > > > > > > to
> > > > > > > remove)
> > > > > > > - We're planning to make it possible to reference a nested page
> > in
> > > > > > wiki
> > > > > > > syntax without having to write "WebHome" in it
> > > > > > > - When creating a new page from a terminal page, you're creating
> > a
> > > > > > > sibling instead of a child page, which breaks the user
> > expectation
> > > > > > (and
> > > > > > > the
> > > > > > > breadcrumb)
> > > > > > >
> > > > > >
> > > > > >
> > > > > > > - For AWM applications, data/content pages are created as
> > terminal
> > > > > > > pages, which makes it impossible to add further content
> > underneath
> > > > > > them
> > > > > > > in
> > > > > > > the future (say, sub-tasks that would go as child pages of tasks)
> > > > > > > - To my knowledge, there is no easy way to transform a terminal
> > page
> > > > > > > into a nested page should the need arise later on
> > > > > > >
> > > > > >
> > > > > > See
> > http://lists.xwiki.org/pipermail/users/2015-November/031558.html
> > > > >
> > > > >
> > > > > Thanks. I understand it's fine to have terminal pages, but are they
> > > > really
> > > > > *needed*?
> > > > >
> > > > > My feeling is that keeping this concept generates complexity for no
> > > > obvious
> > > > > benefit.
> > > >
> > > >
> > > > What really generates complexity ATM is the difference between the UI
> > > > (Nested Pages) and the Model (Nested Spaces). I’d like to start a
> > design to
> > > > explore what options we have to remove the concept of Spaces in the
> > model
> > > > and only have pages. I have the feeling it’s going to be tough to not
> > break
> > > > everything but need to explore it to know our options.
> > > >
> > > > I feel that terminal pages are already well hidden in the UI so I’m not
> > > > sure why you think we should remove it completely from the UI. Why do
> > you
> > > > fear that it’s too advanced for advanced users?
> > > >
> > >
> > > 2 reasons:
> > >
> > > *1/ Practical reason:* as a simple user, if I go to a terminal page and
> > > create a page from there, I will create a sibling to the current page
> > > instead of a child to the current page. I will not know why it happened
> > > like this, nor will I have the ability to change it.
> >
> > Right now users can already create sibling pages when they click the Add
> > button on a page.
> >
> > It would be easy to add a small warning when you’re on a terminal page and
> > you click Add to mention that this is a terminal page that cannot have
> > children.
> >
>  
> Right, a warning to simple users that something different than what they
> expect is going to happen for a reason that they cannot fathom to begin
> with since they don't even know about terminal pages in the first place.
> It's a bit like telling them:
>  
> *- XWiki: You can't create a child page from here!*
> *- User: But, why?*
> *- XWiki: Because!*
> *- User: uh...*
>  
> It only compounds the problem.
>  
> > *2/ Philosophical reason:* why keep something useless if we could as well
> > > remove it? That would be an application of Ockham's razor principle if
> > you
> > > will.
> >
> > It’s not useless. As I mentioned this is still in the model and we still
> > support it. This means that we need a way for advanced users to be able to
> > create those pages (and using a script to do so is worse than having a nice
> > UI for it).
> >
>  
> I have the feeling we're running in circles here. Just because terminal
> pages still exist in the model doesn't tell me *why* they're still needed
> for the future.
>  
> Do you have specific use cases in mind where it's *better* for an user (or
> a script!) to create a terminal page rather than a nested page? Does it
> lead to performance improvements of some sort? Does it prevent backwards
> compatibility issues that would be caused by switching all pages to nested
> pages? Any other *benefits* from having terminal pages?

I could list use cases (like some cases where it doesn’t make sense to have 
nested pages - like WebPreferences for example - Actually check a filesystem, 
you can’t create a subfile inside a file after all, I think users understand 
that) but anyway it doesn’t matter. The simple fact that we have terminal pages 
in lots of extensions require that the user be able to create terminal pages.

Imagine that someone deletes a terminal page by error and you need to recreate 
it. You need a way to do that or your extension is not going to work.

Thanks
-Vincent

> Thanks,
>  
> Guillaume
>  
>  
> > Thanks
> > -Vincent
> >
> > > Thanks,
> > >
> > > Guillaume
> > >
> > >
> > > > Thanks
> > > > -Vincent
> > > >
> > > > > Guillaume
> > > > >
> > > > >
> > > > > > > - However, I don't see any problem from a page being a nested
> > page
> > > > > > > instead of being a terminal page
> > > > > > >
> > > > > > > In summary: why bother with terminal pages at all? I understand
> > > > they're
> > > > > > an
> > > > > > > artefact from our pre-nested-spaces model, but do they really
> > make
> > > > sense
> > > > > > > now? We could let existing terminal pages live on, but not
> > remove the
> > > > > > > ability to create new ones even for admins.
> > > > > > >
> > > > > > > Am I missing something obvious?
> > > > > > >
> > > > > > > Thanks,
> > > > > > >
> > > > > > > Guillaume
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to