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.

>
>>
>> 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

Reply via email to