It seems we can't fix it for 5.2 because of the
time window. Can't we
remove the "upgrade all wikis" option, for this release?
2013/9/19 Thomas Mortagne <thomas.mortagne(a)xwiki.com>
On Thu, Sep 19, 2013 at 9:56 AM, Marius Dumitru
Florea
<mariusdumitru.florea(a)xwiki.com> wrote:
On Thu, Sep 19, 2013 at 10:34 AM, Thomas
Mortagne
<thomas.mortagne(a)xwiki.com> wrote:
> On Thu, Sep 19, 2013 at 9:31 AM, Thomas Mortagne
> <thomas.mortagne(a)xwiki.com> wrote:
>> On Thu, Sep 19, 2013 at 9:10 AM, Marius Dumitru Florea
>> <mariusdumitru.florea(a)xwiki.com> wrote:
>>> On Wed, Sep 18, 2013 at 4:13 PM, Thomas Mortagne
>>> <thomas.mortagne(a)xwiki.com> wrote:
>>>> 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'?
>>>>
>>>
>>>> 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.
You mean iterating over getInstalledExtensions and checking if there
is one with type XAR?
Yep.
>
>>
>>>
>>> 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(a)xwiki.org
>>>>>>
http://lists.xwiki.org/mailman/listinfo/devs
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thomas Mortagne
>>>>> _______________________________________________
>>>>> devs mailing list
>>>>> devs(a)xwiki.org
>>>>>
http://lists.xwiki.org/mailman/listinfo/devs
>>>> _______________________________________________
>>>> devs mailing list
>>>> devs(a)xwiki.org
>>>>
http://lists.xwiki.org/mailman/listinfo/devs
>>>
>>>
>>>
>>> --
>>> Thomas Mortagne
>>> _______________________________________________
>>> devs mailing list
>>> devs(a)xwiki.org
>>>
http://lists.xwiki.org/mailman/listinfo/devs
>> _______________________________________________
>> devs mailing list
>> devs(a)xwiki.org
>>
http://lists.xwiki.org/mailman/listinfo/devs
>
>
>
> --
> Thomas Mortagne
--
Thomas Mortagne
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Thomas Mortagne
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs