On Thu, Sep 19, 2013 at 9:34 AM, Thomas Mortagne <thomas.morta...@xwiki.com> wrote: > On Thu, Sep 19, 2013 at 9:31 AM, Thomas Mortagne > <thomas.morta...@xwiki.com> wrote: >> On Thu, Sep 19, 2013 at 9:10 AM, Marius Dumitru Florea >> <mariusdumitru.flo...@xwiki.com> wrote: >>> On Wed, Sep 18, 2013 at 4:13 PM, Thomas Mortagne >>> <thomas.morta...@xwiki.com> wrote: >>>> On Wed, Sep 18, 2013 at 3:08 PM, Marius Dumitru Florea >>>> <mariusdumitru.flo...@xwiki.com> wrote: >>>>> On Wed, Sep 18, 2013 at 12:26 PM, Thomas Mortagne >>>>> <thomas.morta...@xwiki.com> wrote: >>>>>> On Wed, Sep 18, 2013 at 11:09 AM, Guillaume "Louis-Marie" Delhumeau >>>>>> <gdelhum...@xwiki.com> 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.
(But the comment about looking at features is still valid for repair part) > >> >>> >>> 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 >>>>>>> devs@xwiki.org >>>>>>> http://lists.xwiki.org/mailman/listinfo/devs >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thomas Mortagne >>>>>> _______________________________________________ >>>>>> devs mailing list >>>>>> devs@xwiki.org >>>>>> http://lists.xwiki.org/mailman/listinfo/devs >>>>> _______________________________________________ >>>>> devs mailing list >>>>> devs@xwiki.org >>>>> http://lists.xwiki.org/mailman/listinfo/devs >>>> >>>> >>>> >>>> -- >>>> Thomas Mortagne >>>> _______________________________________________ >>>> devs mailing list >>>> devs@xwiki.org >>>> http://lists.xwiki.org/mailman/listinfo/devs >>> _______________________________________________ >>> devs mailing list >>> devs@xwiki.org >>> http://lists.xwiki.org/mailman/listinfo/devs >> >> >> >> -- >> Thomas Mortagne > > > > -- > Thomas Mortagne -- Thomas Mortagne _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs