On Wed, Sep 18, 2013 at 3:08 PM, Marius Dumitru
Florea
<mariusdumitru.florea(a)xwiki.com> wrote:
On Wed, Sep 18, 2013 at 12:26 PM, Thomas
Mortagne
<thomas.mortagne(a)xwiki.com> wrote:
On Wed, Sep 18, 2013 at 11:09 AM, Guillaume
"Louis-Marie" Delhumeau
<gdelhumeau(a)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'?