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

