On 9 Jul 2017, at 13:47, Vincent Massol
<vincent(a)massol.net> wrote:
Hi Thomas/All,
> On 9 Jul 2017, at 13:28, Thomas Mortagne <thomas.mortagne(a)xwiki.com> wrote:
>
> On Fri, Jul 7, 2017 at 12:35 PM, Vincent Massol <vincent(a)massol.net> wrote:
>>
>>> On 7 Jul 2017, at 12:22, Denis Gervalle <dgl(a)softec.lu> wrote:
>>>
>>> On Fri, Jul 7, 2017 at 12:16, Thomas Mortagne
<thomas.mortagne(a)xwiki.com> wrote:
>>> I really don't understand how you end up with this reasoning.
>>>
>>> The only one that knows if a dependency is optional is the developer
>>> I agree.
>>> of the extension so what is a workaround here is the huge mess
>>> generator you are proposing.
>>>
>>> As I already said 99% of our dependencies are really not optional, in
>>> practice only a few flavor dependencies are and one or two other use
>>> cases.
>>>
>>> There is two different subjects that get mixed up here:
>>> * clearly state in an extension what is absolutely required to work
>>> and what is a nice to have, this is standard stuff and this is what we
>>> are talking about here
>>> * hack your way in the extension index to remove an extension without
>>> removing the extension claiming to require that, this is at best
>>> something for
http://extensions.xwiki.org/xwiki/bin/view/Extension/Extension+Tweak
>>> Or the UI of EM can provide a big red warning based dialog to allow admin to
overwrite the default behaviour with a message about the risk. Just best of both world
proposal :), but I don’t know how complex it could be. I am also fine with a Extension
Tweak solution.
>>
>> I agree and this is exactly what I was hinting at in my past reply with:
>>
>> " What if I want to uninstall an extension which is NOT marked as optional
(ie force uninstall at your own risks)?”
>>
>> I disagree that Extension Tweak is enough. This is quite technical and not
installed by default. I’d really prefer that this be a feature of EM (force install and
force uninstall).
>
> So you are saying that going against the recommendations expressed by
> an extension author is less technical than installing an extension
> dedicated to dangerous manipulations ?
When it’s needed the user will not find it (very low discoverability) and installing an
unsupported extension (by the xwiki core dev team) is also not a great idea for doing
anything that can be dangerous.
It would really be awkward to me that you’d need to install an extension for being
allowing to force install/uninstall an extension. That sounds too small and weird a use
case. This just looks like an Advanced Option that should be there by default in EM. And
here the user doesn’t care about all the other stuff that the Extension Tweak Extension
can do. Personally I dislike this Extension Tweak Extension and I see it as a temporary
bandaid till we get its features inside XWiki. I see it in a similar way as I see a *Util
class in Java (which is bad design); it means that the features are missing from the
default.
Another good example is the ability to reinstall a SNAPSHOT extension. Right now you have
to use the Extension Tweak extension (to clear the extension cache) in all wiki where you
want to do that and since you do that in dev mode and that in dev mode you keep having
different xwiki instances, it just doesn’t work and the extra work is too overwhelming. So
similarly we should allow force reinstall of an extension, even for snapshots, and not
need the Extension Tweak extension for that. At the very least, the ability to clear the
cache should be built in, in the Admin UI for EM.
I’m not saying that Extensions that are not useful in general, just that there are some
admin features that needs to be built in, to make life simpler. And what’s in Extension
Tweaks are good candidates.
Thanks
-Vincent
>
>>
>> Note that the "Force install” use case is for example for forcing to install
a XAR extension even if the version requirements are not honored.
>>
>> Thanks
>> -Vincent
>>
>>
>>
>>> Thanks,
>>> --
>>> Denis Gervalle
>>> SOFTEC sa - CEO
>>>
>>> On Fri, Jul 7, 2017 at 12:01 PM, Eduard Moraru <enygma2002(a)gmail.com>
wrote:
>>>> Hi,
>>>>
>>>> It`s very nice to hear we are progressing on this topic, but I`m not
very
>>>> fond of the current solution. Marking dependencies as optional still
puts
>>>> the responsibility on the developer to actually do that and makes the
admin
>>>> dependent on the developer's choice and discipline. Feels more like
a
>>>> workaround that we will end up having to support.
>>>>
>>>> Working for building whitelists is a tedious process and we will surely
>>>> miss things, and this is only about things that we control in the
standard
>>>> flavor. What about extensions and their dependencies?
>>>>
>>>> Sure, as Caty suggests, one option is to make everything optional by
>>>> default and only have to explicitly specify if a dependency is
mandatory.
>>>>
>>>> Hoping we can get to a point where all the power is to the admin running
>>>> XWiki, not the developer.
>>>>
>>>> Getting past the above "critique", it's still very nice to
hear that we
>>>> will now have one solution to this old problem.
>>>>
>>>> Thanks,
>>>> Eduard
>>>>
>>>> On Wed, Jul 5, 2017 at 6:43 PM, Thomas Mortagne
<thomas.mortagne(a)xwiki.com>
>>>> wrote:
>>>>
>>>>> On Wed, Jul 5, 2017 at 5:41 PM, Vincent Massol
<vincent(a)massol.net> wrote:
>>>>>> Hi Thomas,
>>>>>>
>>>>>>> On 5 Jul 2017, at 17:00, Thomas Mortagne
<thomas.mortagne(a)xwiki.com>
>>>>> wrote:
>>>>>>>
>>>>>>> Hi everyone,
>>>>>>>
>>>>>>> I just implemented
https://jira.xwiki.org/browse/XCOMMONS-1229 which
>>>>>>> allows to indicate that a dependency will be installed by
default but
>>>>>>> does not have a string dependency link with the extension,
meaning
>>>>>>> that uninstalling it won't impact the backward
dependencies (so they
>>>>>>> are not really backward dependencies in that case :)).
>>>>>>
>>>>>> This is very nice. What if I want to uninstall an extension which
is NOT
>>>>> marked as optional (ie force uninstall at your own risks)?
>>>>>
>>>>> If it's not optional then... it's not optional and require
to
>>>>> uninstall backward dependency.
>>>>>
>>>>>>
>>>>>>> Now we need to decide what exactly is optional in Standard
flavor.
>>>>>>>
>>>>>>> Here are some ideas:
>>>>>>>
>>>>>>> * application-help-center
>>>>>>
>>>>>>> * xwiki-platform-menu-ui
>>>>>>
>>>>>>> * xwiki-platform-wiki-ui-mainwiki
>>>>>>
>>>>>>> * xwiki-platform-office-ui
>>>>>>> * xwiki-platform-invitation-ui
>>>>>>> * xwiki-platform-appwithinminutes-ui
>>>>>>
>>>>>> I think it needs some refactoring first since the pages it
generates
>>>>> still need some pages from AWM.
>>>>>
>>>>> Actually I tough about that and IMO if an extension has AWM pages it
>>>>> should have a non optional dependency on AWM (i.e. it would be
>>>>> optional from flavor point of view but non optional from other
>>>>> extension point of view).
>>>>>
>>>>>>
>>>>>>> * xwiki-platform-linkchecker-ui
>>>>>>> * xwiki-platform-sandbox
>>>>>>
>>>>>>> * xwiki-platform-sharepage-ui
>>>>>>> * xwiki-platform-distribution-flavor-tour
>>>>>>> * application-templates-ui
>>>>>>
>>>>>>>
>>>>>>> I did not actually tried to uninstall those so it's
possible it's not
>>>>>>> a good idea to uninstall some of them right now (hardcoded
use
>>>>>>> somewhere maybe).
>>>>>>>
>>>>>>> WDYT ?
>>>>>>
>>>>>> The list sounds good to start with (we need to test remove them
first
>>>>> ofc).
>>>>>>
>>>>>> Thanks
>>>>>> -Vincent