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