On 27 Nov 2015 at 17:06:17, Guillaume Lerouge (guillaume(a)xwiki.com
(mailto:guillaume@xwiki.com)) wrote:
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?
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
>>>>>>
>>>>> _______________________________________________