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

