On Wed, Sep 18, 2013 at 11:30 AM, Thomas Mortagne
<thomas.mortagne(a)xwiki.com> wrote:
On Wed, Sep 18, 2013 at 11:26 AM, 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 ?
> 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.
For me the way scenario 1 works is wrong, it should upgrade the
default UI of all wikis in the first step instead of counting on the
last generic extension upgrade step which is obviously not looking at
configured subwiki UI.
> - In the scenario 2, it displays
"Installed version 4.5.4 is not valid"
> which is disturbing, because everything go right in the end.
See
http://jira.xwiki.org/browse/XWIKI-9115
>>
>> 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.
There is no real way to support that in a plain Maven repository
except by downloading an index of the whole repository and extract the
features from all the pom files. We could easily support matching
features as well as ids in XWiki Repository but this is an API change
from EM point of view (since you don't get an extension with the id
you asked) so it will probably require new APIs. In any case it's all
pretty expensive for 5.2 time left.