> On 10 Jul 2017, at 11:28, Thomas Mortagne <[email protected]> wrote:
> 
> On Mon, Jul 10, 2017 at 11:26 AM, Vincent Massol <[email protected]> wrote:
>> 
>>> 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.
> 
> For me too. How do yo put a XAR in WEB-INF/lib ? I don't think you
> read properly what extensions I was talking about.

Thomas, I was agreeing with you above… :)

-Vincent

> 
>> 
>> 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
>> 
> 
> 
> 
> -- 
> Thomas Mortagne

Reply via email to