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.

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