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