On Wed, Jun 24, 2015 at 4:55 PM, Eduard Moraru <enygma2002(a)gmail.com> wrote:
Hi,
On Wed, Jun 24, 2015 at 9:28 AM, vincent(a)massol.net <vincent(a)massol.net>
wrote:
On 24 Jun 2015 at 07:45:20, vincent(a)massol.net (vincent(a)massol.net
(mailto:
vincent(a)massol.net)) wrote:
>
>
>
>
>
> On 23 Jun 2015 at 17:44:01, Ecaterina Moraru (Valica) (
valicac(a)gmail.com
(mailto:valicac@gmail.com)) wrote:
> Hi devs,
>
> So after discussing the topic of Nested in several mails, we need to
reach
> a conclusion in order to start
implementing.
>
> There are several open questions that I will summarize. Please cast
your
> votes in order to advance on some topics and
maybe discover what we
still
> > need to agree on.
> >
> > Q0. **Nested Spaces in model**
> >
> > No matter the UI decisions we still need to take, we are implementing
> > Nested Spaces for 7.2 roadmap. The future is still uncertain
regarding
>
changing the model to accommodate Nested Documents, since we can
simulate
> > ND using NS.
>
> Already decided, +1
>
> > Q1. **NS vs ND in the UI**
> >
> > Q1.1 The majority agreed that since the final purpose are ND, we
should
> > display ND in the UI, since it
simplifies the mental model of the
user.
This implies removing the Space concept from the UI.
Already decided, +1
Q1.1.1 A consequence is hiding the
'WebHome' name in the UI.
Already decided, +1
> Q1.2 Although the default should be ND, the question is if we want to
give
> the option to display NS in the UI. This
would be implemented as an
> advanced and technical option. The main problem is that we might need
to
> provide UI alternatives for several
components (menus, create step,
etc.)
-0 but would like to have Anca’s opinion on the related thread.
Q2. **Parent/Child**
Q2.1 Deprecate the notion of Parent/Child.
+1 because it’s too confusing to have both the NS and Parent/Child so
one has to
go away and since we’ve agreed on NS, it has to be
Parent/Child
going away.
>
> Note that deprecating doesn’t mean removing it! It just tells users
that
they need to move away from it over time as it’s
no longer the way to do
it.
> Q2.1.1 Provide a migration to transform the relation into NS/ND.
Problem:
> the old URLs[A] (bookmarks) are broken + the
user is stuck with long
> URLs[B] if he wants to keep the hierarchy. Additionally we might need
to
> provide an extension/configuration to
transform into short URLs [B ->
C].
+1, we need to help users migrate from Parent/Child to NS anyway since
we’ve
agreed about NS. However this is not au automated migration; it
would
be some scripts that users can run if they want
to.
> Q2.1.2 Don't migrate: the parent/child hierarchy will be lost but the
old
> > URLs[A] (bookmarks) will be kept. The user needs to use NS/ND to
create
> > hierarchies.
> >
> > Q2.2 Don't deprecate the notion of Parent/Child.
>
> -0 as I said it’s too confusing to have both at the same time and we
can
only have 1 breadcrumb at a time!
>
> > Q2.2.1 Provide a configuration in the Administration to switch the
> > breadcrumbs between displaying Parent/Child or NS/ND. We might need
to
> > provide UI alternatives for several
components (tree, breadcrumb
> > navigation, create, etc.)
>
> +1 to let users time to migrate.
>
> I don’t agree with the reasoning of “let’s keep parent/child and have
NS
at the same time”. It’s just too confusing and
we’ll need to fix this
before we can consider the feature finished anyway (like having a
breadcrumb based on NS).
The problem with having the breadcrumb based on parent/child is that when
you create a new document inside a nested space and you save you see an
empty breadcrumb and you have to set the parent explicitly thus
duplicating
the effort.
One idea to help with this could be to use NS in the breadcrumb when the
current doc doesn’t have any parent set. This would let users migrate
more
smoothly, although it could increase confusion.
To help, we could display
two different icons in the breadcrumb to show when it’s based on NS and
when it’s based on Parent/Child.
If I understood your intent correctly, this was one of the first ideas I
discussed with Caty as well. Basically, the highlights were:
1. Do not migrate
** => Preserves URLs
** => Preserves existing internal hierarchy/structure
2. Change the way breadcrumbs work by rebranding the "parent-child"
relationship to "parent override"
** By default, we show the NS path in the breadcrumbs, but still allow
setting a parent (in edit mode) to be able to override the breadcrumbs.
*** This allows existing (not migrated) documents to keep their breadcrumbs
that were created only with parent-child
*** New documents go with the default but, if the user really wants to, he
can short-circuit the displayed breadcrumbs by setting a parent override
*** The downside of this is that the work needed to display the breadcrumbs
will be a bit more costly, since we need to consider path overrides when
walking up the path hierarchy, for each element of the path, while also
avoiding possible cycles.
**** E.g: X > Y > B > C is computed by looking at C's parent. If it is not
set, walk up the path hierarchy to B (C's space in NS or C's parent
document in ND). For B, look at its parent. If it is set to (Y), display
it. Now look at Y's parent, which is not set so walk up Y's path hierarchy
and reach and display X. In this example, C's full path was A.B.C, meaning
that B's parent override (Y) has overridden the breadcrumbs of C from A>B>C
(based only on the path/NS) to X>Y>B>C (computed from path + parent
override).
*** The second downside of this is that, for an app, it becomes more
complicated to get the parent of a document. Which parent does it get, the
path parent or the user-percieved parent (which includes overrides and
which are costly to compute?).
From a user's POV, it`s quite a nice compromise, specially when considering
upgrades/migrations. It might also be interesting from a technical POV, but
I`ll let you be the judges of that.
So this idea solve some of the technical problems: like migrations and
keeps the parent/child data, but I think is too complex from the user point
of view.
It will be super magic ... and no one will know what partial path they need
to fix if there is a problem in the hierarchy. Hierarchies should use just
one type of relation in order to be correctly displayed. There might be
some wikis that have the parent/child data created by accident and without
value to the user and we might display it.
Anyway, our main problem is that we don't have enough parent/child relation
usage.
Thanks,
Caty
You can also see this as a breadcrumbs customization tool that has the
added benefit that it solves the migration issues. You can also see it as
an option (parent editing) that is disabled by default, but can be enabled
by admins that are migrating.
Just detailing it to better see the implications of this approach.
Thanks,
Eduard
Thanks
-Vincent
I’m fine to do it later in 7.2 but IMO it has to be done un 7.2 because
we don’t
want *new* users to start using parent/child relationship once
NS
is implemented.
We have to bite the bullet and better sooner than later.
Thanks
-Vincent
Please cast your votes / add comments.
Thank you,
Caty
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs