It seems we can't fix it for 5.2 because of the time window. Can't we
remove the "upgrade all wikis" option, for this release?


2013/9/19 Thomas Mortagne <[email protected]>

> On Thu, Sep 19, 2013 at 9:56 AM, Marius Dumitru Florea
> <[email protected]> wrote:
> > On Thu, Sep 19, 2013 at 10:34 AM, Thomas Mortagne
> > <[email protected]> wrote:
> >> On Thu, Sep 19, 2013 at 9:31 AM, Thomas Mortagne
> >> <[email protected]> wrote:
> >>> On Thu, Sep 19, 2013 at 9:10 AM, Marius Dumitru Florea
> >>> <[email protected]> wrote:
> >>>> On Wed, Sep 18, 2013 at 4:13 PM, Thomas Mortagne
> >>>> <[email protected]> wrote:
> >>>>> On Wed, Sep 18, 2013 at 3:08 PM, Marius Dumitru Florea
> >>>>> <[email protected]> wrote:
> >>>>>> On Wed, Sep 18, 2013 at 12:26 PM, Thomas Mortagne
> >>>>>> <[email protected]> wrote:
> >>>>>>> On Wed, Sep 18, 2013 at 11:09 AM, Guillaume "Louis-Marie" Delhumeau
> >>>>>>> <[email protected]> wrote:
> >>>>>>>> Hi devs.
> >>>>>>>> I am testing the migration from XEM 4.5.4 to XE 5.2 (local
> build). Sorin
> >>>>>>>> has already reported some problems in JIRA.
> >>>>>>>> For me, the problem occurs when I use the "upgrade all wikis"
> option.
> >>>>>>>>
> >>>>>>>> Let me explain it:
> >>>>>>>>
> >>>>>>>> = Prerequisites =
> >>>>>>>>
> >>>>>>>> 1. Install a new XEM 4.5.4.
> >>>>>>>> 2. Create a workspace with WorkspaceManager (called 'workspace1')
> >>>>>>>> 3. Create a new subwiki with WikiManager (called 'subwiki1') - I
> create it
> >>>>>>>> from a XAR template which is xwiki-enterprise-ui-all.
> >>>>>>>>
> >>>>>>>> = Upgrade, part 1 =
> >>>>>>>>
> >>>>>>>> 1. Replace the webapp with a 5.2.
> >>>>>>>> 2. Put your own maven directory as the extension repository. (in
> >>>>>>>> xwiki.properties:
> >>>>>>>>
> extension.repositories=local:maven:file://${sys:user.home}/.m2/repository)
> >>>>>>>> 3. Upgrade the main wiki
> >>>>>>>>
> >>>>>>>> It works:
> >>>>>>>> - For example Main.SpaceIndex is in version 2.1.
> >>>>>>>> - In the "installed extensions" menu, I can see all extensions
> correctly
> >>>>>>>> upgraded.
> >>>>>>>>
> >>>>>>>> = Upgrade, part 2 =
> >>>>>>>>
> >>>>>>>> == Scenario 1 ==
> >>>>>>>> 1. In the DW, choose "Upgrade all wikis. Choose this option if
> all wikis
> >>>>>>>> are administrated by the same entity.".
> >>>>>>>> It displays "All extensions are up to date. "
> >>>>>>>>
> >>>>>>>> But:
> >>>>>>>> 'workspace1' is not upgraded:
> >>>>>>>> - for example Panels.WorkspaceInformationPanel is still in
> version 1.1
> >>>>>>>> - In the "installed extensions" menu, I see 'XWiki Enterprise -
> UI All'. It
> >>>>>>>> has not been upgraded because there is no new version for it. It
> has been
> >>>>>>>> replaced by xwiki-enterprise-ui-wiki-all.
> >>>>>>>>
> >>>>>>>> 'subwiki1' is not upgraded:
> >>>>>>>> - for example Main.SpaceIndex is still in version 1.1
> >>>>>>>> - In the "installed extensions" menu, I see 'XWiki Enterprise -
> UI All '
> >>>>>>>> with the message 'Installed but not valid'. It has not been
> upgraded
> >>>>>>>> because there is no new version for it. It has been replaced by
> >>>>>>>> xwiki-enterprise-ui-common.
> >>>>>>>>
> >>>>>>>> == Scenario 2 ==
> >>>>>>>> 1. In the DW, choose "Upgrade only the current wiki. Choose this
> option if
> >>>>>>>> each wiki is administrated by a separate entity. In this case
> it's best if
> >>>>>>>> each wiki is upgraded by its owner. ".
> >>>>>>>> 2. Go to every subwiki, logged as Admin. You will see the DW.
> >>>>>>>
> >>>>>>>> 3. Select "Yes, this is an upgrade".
> >>>>>>>
> >>>>>>> I don't understand this part, it's not supposed to ask you if it's
> an
> >>>>>>> upgrade. You are supposed to get this question only for old
> previous
> >>>>>>> wikis where there was no extensions registered corresponding to the
> >>>>>>> installed pages.
> >>>>>>>
> >>>>>>
> >>>>>>> Marius ?
> >>>>>>
> >>>>>> I have this code:
> >>>>>>
> >>>>>> #macro (displayDefaultUIExtension $distributionUIId)
> >>>>>>   #set ($installedVersion =
> >>>>>> $services.extension.getInstalledExtension($distributionUIId.id,
> >>>>>> $extensionNamespace))
> >>>>>>   ...
> >>>>>>   #set ($discard = "#getExtensionJobStatus($distributionUIId.id
> >>>>>> $distributionUIId.version.value $distributionUIJobStatus)")
> >>>>>>   #if (!$installedVersion && (!$distributionUIJobStatus ||
> >>>>>> $distributionUIJobStatus.state == 'FINISHED'))
> >>>>>>     ## There is no previous version of the default UI installed on
> the
> >>>>>> current wiki and there is no job running for
> >>>>>>     ## the default UI either.
> >>>>>>     #set ($documentCount = $xwiki.countDocuments(''))
> >>>>>>     #if ($distributionState == 'NEW' && $documentCount > 30)
> >>>>>>       ## There are documents in the database but there is no info
> >>>>>> about the default UI that was previously installed.
> >>>>>>       #repairPreviousUI()
> >>>>>>     #elseif ($distributionState == 'DIFFERENT')
> >>>>>>       ## TODO: Display the previous distribution UI extension to let
> >>>>>> the user uninstall it.
> >>>>>>     #end
> >>>>>>   #end
> >>>>>>   ...
> >>>>>> #end
> >>>>>>
> >>>>>> So $distributionUIId is probably
> >>>>>> 'org.xwiki.enterprise:xwiki-enterprise-ui-wiki' and
> $installedVersion
> >>>>>> is null because EM doesn't think it's installed. The installed
> version
> >>>>>> is probably xwiki-enterprise-ui. The the upgrade question is
> displayed
> >>>>>> because the id of the default UI has changed. Is there are way to
> >>>>>> improve the condition on my side or should EM detect that
> >>>>>> 'xwiki-enterprise-ui' is a previous version of
> >>>>>> 'xwiki-enterprise-ui-wiki'?
> >>>>>
> >>>>
> >>>>> We talked about it already and the issue is that you are searching
> for
> >>>>> xwiki-enterprise-ui-wiki id that you will obviously don't find, you
> >>>>> need to test all features of xwiki-enterprise-ui-wiki. A some point
> >>>>> you worked around it by putting an hardcoded list somewhere of all
> the
> >>>>> previous ids of XE AFAIK so you could probably just update it but the
> >>>>> best really would be to to it properly by looking at features.
> >>>>
> >>>> The hard-coded list of XE/XEM XAR ids is still used but only when
> >>>> repairing the installed UI (when DW doesn't know which version is
> >>>> currently installed).
> >>>>
> >>>> I'll update the code to take into account all the features
> (recursively?).
> >>>
> >>> The last version is supposed to contains all previous names so no need
> >>> to do it recursively.
> >>
> >
> >> Hmm actually the best is maybe to simply don't ask anything if there
> >> is any XAR extension installed. If there is something whatever it is,
> >> it's an upgrade, done.
> >
> > You mean iterating over getInstalledExtensions and checking if there
> > is one with type XAR?
>
> Yep.
>
> >
> >>
> >>>
> >>>>
> >>>> Thanks,
> >>>> Marius
> >>>>
> >>>>>
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Marius
> >>>>>>
> >>>>>>>
> >>>>>>>> Note: if you upgrade a subwiki, the proposed UI will be XWiki
> Enterprise -
> >>>>>>>> UI - Common meanwhile if you upgrade a workspace, it will be XWiki
> >>>>>>>> Enterprise - UI - Wiki. It is normal.
> >>>>>>>> 4. You will see "Administration Application - 5.2-SNAPSHOT -
> Installed
> >>>>>>>> version 4.5.4 is not valid", and the same for several extensions.
> >>>>>>>> 5. Click on "continue", anyway.
> >>>>>>>>
> >>>>>>>> All is OK. In the "installed extensions" menu, I can see all
> extensions
> >>>>>>>> correctly upgraded.
> >>>>>>>>
> >>>>>>>> = Conclusion =
> >>>>>>>>
> >>>>>>>> - The scenario 1 don't work at all.
> >>>>>>>> - In the scenario 2, it displays "Installed version 4.5.4 is not
> valid"
> >>>>>>>> which is disturbing, because everything go right in the end.
> >>>>>>>>
> >>>>>>>> As Marius and Thomas explained me:
> >>>>>>>>
> >>>>>>>>> When you have an extension installed with version X, and then a
> new
> >>>>>>>>> version Y is released but with the id changed, extension manager
> is not
> >>>>>>>>> able to detect it. Ideally the EM should detect this and propose
> the user
> >>>>>>>>> to upgrade from version X to Y even if the extension id has
> changed between
> >>>>>>>>> version X and Y.
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> How can we solve these issues?
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>> Guillaume Louis-Marie Delhumeau
> >>>>>>>> _______________________________________________
> >>>>>>>> devs mailing list
> >>>>>>>> [email protected]
> >>>>>>>> http://lists.xwiki.org/mailman/listinfo/devs
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> Thomas Mortagne
> >>>>>>> _______________________________________________
> >>>>>>> devs mailing list
> >>>>>>> [email protected]
> >>>>>>> http://lists.xwiki.org/mailman/listinfo/devs
> >>>>>> _______________________________________________
> >>>>>> devs mailing list
> >>>>>> [email protected]
> >>>>>> http://lists.xwiki.org/mailman/listinfo/devs
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Thomas Mortagne
> >>>>> _______________________________________________
> >>>>> devs mailing list
> >>>>> [email protected]
> >>>>> http://lists.xwiki.org/mailman/listinfo/devs
> >>>> _______________________________________________
> >>>> devs mailing list
> >>>> [email protected]
> >>>> http://lists.xwiki.org/mailman/listinfo/devs
> >>>
> >>>
> >>>
> >>> --
> >>> Thomas Mortagne
> >>
> >>
> >>
> >> --
> >> Thomas Mortagne
> >> _______________________________________________
> >> devs mailing list
> >> [email protected]
> >> http://lists.xwiki.org/mailman/listinfo/devs
> > _______________________________________________
> > devs mailing list
> > [email protected]
> > http://lists.xwiki.org/mailman/listinfo/devs
>
>
>
> --
> Thomas Mortagne
> _______________________________________________
> 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