I can't imagine how I would attempt to explain a terminal (but not meaning it's 
going to die soon)
page to someone who doesn't know the insides of the sausage factory.

Every page is like a file, and it's also like a folder because it can have 
pages inside of it,
except for the ones that can't...

So +1 that users should never see/create/edit these weird pages which cannot 
have children.

Thanks,
Caleb


On 27/11/15 17:10, [email protected] wrote:





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
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to