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.

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

Reply via email to