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?