> 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). > > 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?
At least the ability to uninstall an extension without uninstalling its dependencies should be a built in feature, do we agree with that? 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 >

