> On 10 Jul 2017, at 11:24, Thomas Mortagne <[email protected]> wrote:
> 
> On Mon, Jul 10, 2017 at 11:22 AM, Vincent Massol <[email protected]> wrote:
>> 
>>> On 10 Jul 2017, at 11:15, Thomas Mortagne <[email protected]> wrote:
>>> 
>>> On Mon, Jul 10, 2017 at 11:09 AM, Thomas Mortagne
>>> <[email protected]> wrote:
>>>> On Sun, Jul 9, 2017 at 2:00 PM, Vincent Massol <[email protected]> wrote:
>>>>> 
>>>>>> On 9 Jul 2017, at 13:55, Vincent Massol <[email protected]> wrote:
>>>>>> 
>>>>>> Note to be clear: I prefer having the feature in the Extension Tweak 
>>>>>> Extension that not having it at all ;) But I also prefer having it by 
>>>>>> default in EM as an advanced. The main use case/need I see is 
>>>>>> installing/uninstalling XAR applications and those are not really 
>>>>>> dangerous in general.
>>>>>> 
>>> 
>>>>>> I also agree with you that we need to try preserving the stability of 
>>>>>> XWiki as much as possible. We could even make some checks and only allow 
>>>>>> some use cases (the XAR ones).
>>> 
>>> There is no real reason for removing a XAR to be always safe. XAR
>>> could contain classes or tools you require, just think about what
>>> removing xwiki-platform-appwithinminutes-ui or
>>> xwiki-platform-livetable-ui would do to most of the applications.
>> 
>> Ok, indeed if we don’t allow uninstalling core extensions (and that’s a good 
>> thing :)) then it’s the same whether it’s jars or xars. And uninstalling 
>> those extensions can break your wiki behavior or wiki pages but they 
>> shouldn't break the wiki itself, which is good.
> 
> How are those core extension ? There is no technical difference
> between those and any other XAR extension from EM point of view right
> now.

For me, core extensions = the ones in WEB-INF/lib.

In EM UI, there’s a “Core Extensions” filter AFAIR.

Thanks
-Vincent

> 
>> Thanks
>> -Vincent
>> 
>>> 
>>>>>> 
>>>>>> Also there are some uses case for which I don’t understand why they’re 
>>>>>> dangerous. Why would it be dangerous for example to uninstall the Tour 
>>>>>> Application?
>>>>> 
>>>> 
>>>> Again you are mixing different things here. The Tour application
>>>> should be listed as optional in the default flavor so there is no need
>>>> to force anything.
>>>> 
>>>>> At least the ability to uninstall an extension without uninstalling its 
>>>>> dependencies should be a built in feature, do we agree with that?
>>>> 
>>>> Are you sure that's what you want to ask ? That's how it always worked.
>>>> 
>>>>> 
>>>>> Thanks
>>>>> -Vincent
>>>>> 
>>>>>> 
>>>>>> Thanks
>>>>>> -Vincent
>>>>>> 
>>>>>>> On 9 Jul 2017, at 13:47, Vincent Massol <[email protected]> wrote:
>>>>>>> 
>>>>>>> Hi Thomas/All,
>>>>>>> 
>>>>>>>> On 9 Jul 2017, at 13:28, Thomas Mortagne <[email protected]> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> On Fri, Jul 7, 2017 at 12:35 PM, Vincent Massol <[email protected]> 
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> On 7 Jul 2017, at 12:22, Denis Gervalle <[email protected]> wrote:
>>>>>>>>>> 
>>>>>>>>>> On Fri, Jul 7, 2017 at 12:16, Thomas Mortagne 
>>>>>>>>>> <[email protected]> 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 
>>>>>>>>>> <[email protected]> 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 
>>>>>>>>>>> <[email protected]>
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> On Wed, Jul 5, 2017 at 5:41 PM, Vincent Massol 
>>>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>>>>> Hi Thomas,
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On 5 Jul 2017, at 17:00, Thomas Mortagne 
>>>>>>>>>>>>>> <[email protected]>
>>>>>>>>>>>> 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
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Thomas Mortagne
>>> 
>>> 
>>> 
>>> --
>>> Thomas Mortagne
>> 
> 
> 
> 
> -- 
> Thomas Mortagne

Reply via email to