It looks good from a parent/child perspective, especially for the URL
preserving and the redirect. Thanks Guillaume for your work.

Now I guess the migrator should also cover/test the rights (unfortunately
design.xwiki.org doesn't have anything special regarding Rights to you
might need another test case).

Thanks,
Caty

On Tue, Jan 19, 2016 at 7:34 PM, Guillaume "Louis-Marie" Delhumeau <
[email protected]> wrote:

> Hi.
>
> I have released a first alpha version of the application:
>
> http://extensions.xwiki.org/xwiki/bin/view/Extension/Nested+Pages+Migrator+Application
>
> This application allows to compute a plan of actions to do to perform a
> migration from terminal pages to nested pages. The current version does not
> propose to apply this plan so it is only available for testing purpose.
>
> Current limitations:
>
>    - The plan is not applied yet.
>    - The preferences and the configured rights are not converted yet.
>    - 2 pages can have the same target location.
>    - There is no real pagination
>
> You should test it on a wiki containing a lot of documents. You need to
> upgrade your wiki to a version handling Nested Pages before using the
> application.
>
> Sometimes, the parent/based relationship between pages is messy. For
> example, I have run this script before using my tool on a local copy of
> design.xwiki.org because a lot of pages had Main.WebHome as parent
> meanwhile it was not justified:
>
> {{velocity}}
> #set ($xwql = "where doc.space in ('Proposal', 'Design', 'Improvements')
> and doc.parent = 'Main.WebHome'")
> #foreach($r in $services.query.xwql($xwql).execute())
>   * $r
>   #set ($d = $xwiki.getDocument($r))
>   #set ($discard = $d.setParent('Proposal.WebHome'))
>   #set ($discard = $d.save())
> #end
> {{/velocity}}
>
> The UI is a single-page application that handles some options that I let
> you discover.
>
> I hope you will have some time to test it and that you will like the tool.
> Thanks for your feedbacks,
>
> Guillaume
>
>
>
> 2016-01-13 12:54 GMT+01:00 Ecaterina Moraru (Valica) <[email protected]>:
>
> > Hi Guillaume,
> >
> > Thanks for your answer.
> >
> > 9. Proposing to create a backup depends on how the user will start the
> > migration tool. If the migration is automatic, than we should create an
> > automated backup. If it's on demand, then we need to suggest to the user
> to
> > create one before.
> >
> > 12. The issue is for the migration process to not be stuck when
> > encountering problematic pages and at the end to provide a list of failed
> > pages in order for the Administrator to investigate and fix them.
> >
> > Thank you Guillaume,
> > Caty
> >
> >
> > On Wed, Jan 13, 2016 at 1:05 PM, Guillaume "Louis-Marie" Delhumeau <
> > [email protected]> wrote:
> >
> > > Hi Caty and thanks for your detailed answer. design.xwiki.org seems to
> > be
> > > a
> > > perfect sample to test and develop this migration tool.
> > >
> > > Now, let's see point by point.
> > >
> > > 1. The idea is to have breadcrumbs perfectly identical (ISO) after the
> > > migration. However, I was just considering moving the pages from a
> > location
> > > to an other, not completely renaming them. I think renaming using the
> > title
> > > (which could be velocity code in some places) is out of the scope and
> > could
> > > be covered by... an other refactoring tool!
> > >
> > > 2. Back-links (in the content) will be updated like it usually happens
> > when
> > > we rename a page from the UI. We should make sure the tool use the
> > existing
> > > mechanism. However, I'm quite sure it won't affect objects properties.
> > >
> > > 3. Bookmarks won't be broken if we add a redirection to the new page at
> > the
> > > old location. Fortunately, Marius have added this feature in 7.4:
> > > http://jira.xwiki.org/browse/XWIKI-3622
> > >
> > > 4. Yes, converting terminal pages to nested pages in the core principle
> > of
> > > this tool. It gives the ability to create children to any existing
> page.
> > Of
> > > course, this change should not be done on technical documents, and even
> > in
> > > data generated by applications. Otherwise, this application could be
> > > broken.
> > >
> > > 5. I need to see if image references are affected by the backlinks
> update
> > > feature we already have. Same for macro parameters.
> > >
> > > 6. URL will be long, yes. I don't think URL aliases are planned for 8.0
> > and
> > > it's sure that we won't have them in 7.4.x.
> > >
> > > 8. Your queries should continue to work, since I propose to update the
> > > "parent" field when the parent is renamed. Nested pages will still have
> > the
> > > same parent. However, it would be safer to use a query looking at the
> > > nested children similar to the one of the children viewer.
> > >
> > > 9. IMO, we could only propose to generate a full back-up XAR (with
> > history,
> > > author preserved, etc...) but it's not the scope of this tool to manage
> > > backups.
> > >
> > > 10. I think it's ok to not handle documents from the recycle bin.
> > Moreover,
> > > it will be still possible to run again the tool after some pages have
> > been
> > > restored so they eventually reach their ideal location.
> > >
> > > 11. Adding a white list of spaces to convert could be a great option.
> For
> > > technical documents, for need to create filters. For example: do not
> > > convert hidden pages, or pages having some objects of some classes.
> > >
> > > 12. Moving pages holding a lot of attachments is a problem. See:
> > > http://jira.xwiki.org/browse/XWIKI-8910
> > >
> > > This tool won't fix bugs that we have for ages. It means we should
> report
> > > any failures during the process in a list that we show to the user. I'm
> > > afraid the perfect tool cannot be made and users will still have manual
> > > things to do - but at least this tool will make them saving time.
> > >
> > > Is that OK for you?
> > >
> > > Any other opinion?
> > >
> > > Thanks,
> > > Guillaume
> > >
> > >
> > > 2016-01-12 18:30 GMT+01:00 Ecaterina Moraru (Valica) <
> [email protected]
> > >:
> > >
> > > > 12. When I moved the pages from incubator to design.xwiki.org I
> mostly
> > > > used
> > > > scripts. But I had some problems for pages that contain lots of
> > > > attachments, like
> > > >
> http://design.xwiki.org/xwiki/bin/view/Improvements/Skin4x#Attachments
> > > > Those pages I needed to import with Large import or something, and
> some
> > > > even recreated manually. To be honest I don't quite remember, but
> just
> > be
> > > > careful that the migrator needs to consider cases when pages cannot
> be
> > > > renamed / deleted / etc.
> > > >
> > > > Thanks,
> > > > Caty
> > > >
> > > > On Tue, Jan 12, 2016 at 7:26 PM, Ecaterina Moraru (Valica) <
> > > > [email protected]> wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > The following ideas are about the Parent/Children relation (UC1):
> > > > >
> > > > > For example a copy of design.xwiki.org could be used as a test
> > example
> > > > > for this kind of migration. design.xwiki.org is using a very basic
> > > > > application
> > > > >
> > > >
> > >
> >
> http://extensions.xwiki.org/xwiki/bin/view/Extension/Proposal+Application
> > > > > that at its core uses the Parent/Child relation in order to list
> in a
> > > > > livetable the children of a particular proposal.
> > > > >
> > > > > The hierarchy contains pages from 2 spaces: Improvements (from the
> > old
> > > > > application from incubator.myxwiki.org) and Proposal.
> > > > >
> > > > > Sometimes the hierarchy can go to more than 6 levels, examples:
> > > > >
> > > >
> > >
> >
> http://design.xwiki.org/xwiki/bin/view/Proposal/FlamingoAddMenuLocationIterations
> > > > > or http://design.xwiki.org/xwiki/bin/view/Proposal/XWiki+Icon+Set
> > > > >
> > > > > But sometimes the hierarchy mixes pages from the different spaces,
> > > > > example:
> > > > > http://design.xwiki.org/xwiki/bin/view/Proposal/PanelsImprovements
> > > > (where
> > > > > Flamingo comes from Improvements space, while the others are from
> > > > Proposal
> > > > > space).
> > > > >
> > > > > User expectations:
> > > > > 1. I would really like that after the migration the hierarchy to
> > remain
> > > > > the same a.k.a the breadcrumb to be unchanged. The breadcrumb
> > > navigation
> > > > > stays at the core of this application. I give more importance to
> the
> > > Page
> > > > > Title than the Page Name, so I would be ok for the new pages to be
> > > > copied /
> > > > > created using the title and discard the page name.
> > > > > 2. But I sometimes referenciate in the content of some proposals
> > other
> > > > > pages using the page name references. So what will happen to those
> > > links?
> > > > > Can we auto-update them inside the content with the new pages
> > > > (backlinks)?
> > > > > 3. in your UC7: Bookmarks should not be broken after the migration:
> > how
> > > > > can we achieve this? Are the page aliases a solution? Everywhere on
> > > jira
> > > > > there are references with links towards the design.xwiki.org
> > > proposals.
> > > > > For example, when I moved the app from incubator.myxwiki.org to
> > > > > design.xwiki.org I replaced the content of the page with a Moved
> > type
> > > > > message, example
> > > > > http://incubator.myxwiki.org/xwiki/bin/view/Improvements/XWikiOrg
> .
> > > This
> > > > > could be a solution if we don't provide page aliases or redirects,
> > > > although
> > > > > might not be very efficient.
> > > > > 4. In order to achieve the hierarchy this means that terminal pages
> > > need
> > > > > to be transformed into spaces?
> > > > > 5. In my proposals I use the {{gallery}} macro that uses references
> > > like
> > > > > "image:loginDesktopSnapshotAnnotations.png" or
> > > > > "image:[email protected]", etc. How will the
> > images
> > > > be
> > > > > affected?
> > > > > 6. Those long URL will look kind of ugly - so again page aliases
> > would
> > > be
> > > > > great. But not sure how we will manage them. Do we allow multiple
> > > aliases
> > > > > to be created and used, or just 1?
> > > > > 7. What is the complexity of the changes I need to add to the
> > Proposal
> > > > App
> > > > > in order to continue working as before? Do we provide such
> > > documentation
> > > > > for the users?
> > > > > 8. The livetable was using this in order to list the children
> > > > > #set ($discard = $options.put('extraParams', "&amp;
> > > > > parent=${doc.fullName}"))
> > > > > and
> > > > > #set ($importPages = $xwiki.queryManager.xwql("where
> > > > > doc.parent='$doc'").execute())
> > > > > 9. If the user might start and finish the migration but then he
> will
> > > > > discover that everything looks bad, what can he do? A best practice
> > > would
> > > > > be for him to make a backup before doing the migration, but can't
> we
> > > make
> > > > > one automatically?
> > > > > 10. After the migration what will happen if an user goes to the
> > > 'Recycle
> > > > > Bin' and restores a page from "Deleted Documents" or "Deleted
> > > > Attachments"?
> > > > > 11. Currently there are 1246 pages on the Design wiki. Improvements
> > > space
> > > > > contains 317 pages, while Proposal space contains 256 pages.
> > Apparently
> > > > > there are other spaces that contain user generated content like
> > Design,
> > > > > Tech, Standard, etc spaces. It would be great if the migrator could
> > > list
> > > > > user created pages when the migrator ask what pages needs to be
> > > migrated
> > > > > (UC3). But that list should eliminate default pages and
> applications
> > > > pages
> > > > > (technical). Also maybe the user wants to migrate the hierarchy
> just
> > > for
> > > > > some pages (just the spaces Proposal and Improvements).
> > > > >
> > > > > I know maybe the design.xwiki.org is not the best or the most
> > complex
> > > > > example, but as an user I am quite concerned with what will happen
> to
> > > the
> > > > > hierarchy we've created over the years and I'm sure every user
> thinks
> > > the
> > > > > same about their content.
> > > > >
> > > > > Thanks,
> > > > > Caty
> > > > >
> > > > >
> > > > >
> > > > > On Tue, Jan 12, 2016 at 6:37 PM, Guillaume "Louis-Marie" Delhumeau
> <
> > > > > [email protected]> wrote:
> > > > >
> > > > >> Hello everyone.
> > > > >>
> > > > >> I am working on a tool to help the user migrating from an XWiki
> > > instance
> > > > >> without the Nested Pages feature to a new version (7.4.x) handling
> > it.
> > > > >>
> > > > >> This tool would be an extension that the administrator can install
> > and
> > > > >> execute *after* the XWiki upgrade have been done. After its
> > execution,
> > > > >> users should be able to create children to every existing pages
> > (that
> > > > was
> > > > >> previously terminal, obviously). But the old hierarchy based on
> the
> > > > >> parent/child relationship, and all the preferences and rights,
> > should
> > > be
> > > > >> preserved. The URL should not be broken neither.
> > > > >>
> > > > >> I have started a design document with the use-cases I had in mind.
> > > I've
> > > > >> also suggested some implementations and drew some mock-ups. The
> > > results
> > > > is
> > > > >> here:
> > > > >>
> > http://design.xwiki.org/xwiki/bin/view/Proposal/UpgradeToNestedPages
> > > > >>
> > > > >> I've started this document before talking here in order to not
> come
> > > with
> > > > >> nothing, but feel free to add other use-cases, ideas, and
> edge-cases
> > > > that
> > > > >> I
> > > > >> haven't listed. We should also identify any blocking point from
> > XWiki
> > > > >> Enterprise that we could fix in a 7.4.x version.
> > > > >>
> > > > >> Do you have any question in mind that we should discuss here? Do
> you
> > > > have
> > > > >> an opinion on this?
> > > > >>
> > > > >> You help is warmly welcome,
> > > > >>
> > > > >> Thanks,
> > > > >> --
> > > > >> Guillaume Delhumeau ([email protected])
> > > > >> Research & Development Engineer at XWiki SAS
> > > > >> Committer on the XWiki.org project
> > > > >> _______________________________________________
> > > > >> devs mailing list
> > > > >> [email protected]
> > > > >> http://lists.xwiki.org/mailman/listinfo/devs
> > > > >>
> > > > >
> > > > >
> > > > _______________________________________________
> > > > devs mailing list
> > > > [email protected]
> > > > http://lists.xwiki.org/mailman/listinfo/devs
> > > >
> > >
> > >
> > >
> > > --
> > > Guillaume Delhumeau ([email protected])
> > > Research & Development Engineer at XWiki SAS
> > > Committer on the XWiki.org project
> > > _______________________________________________
> > > devs mailing list
> > > [email protected]
> > > http://lists.xwiki.org/mailman/listinfo/devs
> > >
> > _______________________________________________
> > devs mailing list
> > [email protected]
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
>
>
>
> --
> Guillaume Delhumeau ([email protected])
> Research & Development Engineer at XWiki SAS
> Committer on the XWiki.org project
> _______________________________________________
> 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