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

Reply via email to