On Sep 23, 2013, at 12:05 PM, Marius Dumitru Florea <mariusdumitru.florea(a)xwiki.com>
wrote:
On Mon, Sep 23, 2013 at 11:33 AM, Vincent Massol
<vincent(a)massol.net> wrote:
On Sep 23, 2013, at 10:26 AM, "Guillaume \"Louis-Marie\" Delhumeau"
<gdelhumeau(a)xwiki.com> wrote:
Hi.
After some discussion on IRC:
http://dev.xwiki.org/xwiki/bin/view/IRC/xwikiArchive20130923
It seems the best is to disable the "Upgrade all wikis" feature for 5.2.
Thanks :)
So it means we can't really recommend 5.2 as a "good" version, this is
really a pity…
We need to fix this ASAP for 5.2.1 then, right?
Not being able to upgrade all wikis seems like some important regression to me.
How hard is it to fix? Do we need to delay the
5.2 final release?
After discussing with Thomas, we decided to add a new Distribution
Wizard step, that is going to be triggered only if you select "Upgrade
all wikis" in the Upgrade Mode step, and that will list all wikis with
their UI extension (XAR) allowing the user to upgrade them one by one.
We need to postpone the 5.2RC1 release (planed for today) for 1 day
(so tomorrow).
Seems good to me, +1
Thanks
-Vincent
Thanks,
Marius
>
> Thanks
> -Vincent
>
> PS: Sorry I didn't full follow this thread so maybe you already answered this...
>
>> Louis-Marie
>>
>>
>> 2013/9/19 Guillaume "Louis-Marie" Delhumeau
<gdelhumeau(a)xwiki.com>
>>
>>> I let you decide for next Monday. We should release the RC 1. I won't be
>>> there tomorow.
>>>
>>>
>>> 2013/9/19 Thomas Mortagne <thomas.mortagne(a)xwiki.com>
>>>
>>>> +1 to disable this mode until we have a proper UI for it that takes
>>>> into account the configured subwiki defaut UI
>>>>
>>>> On Thu, Sep 19, 2013 at 3:25 PM, Guillaume "Louis-Marie"
Delhumeau
>>>> <gdelhumeau(a)xwiki.com> wrote:
>>>>> 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,