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?