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

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

Reply via email to