Hi Vincent,
On Fri, Nov 27, 2015 at 4:53 PM, vincent(a)massol.net
wrote:
On 27 Nov 2015 at 16:42:39, Guillaume Lerouge (guillaume(a)xwiki.com(mailto:
guillaume(a)xwiki.com)) wrote:
Hi,
> Hi Marius,
> >
> > On Fri, Nov 27, 2015 at 12:40 PM, Marius Dumitru Florea <
> > mariusdumitru.florea(a)xwiki.com> 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?