On Mon, Jul 10, 2017 at 11:17 AM, Vincent Massol <[email protected]> wrote: > >> On 10 Jul 2017, at 11:09, 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). >>>> >>>> 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. > > I know, but I’m taking it as an example. I’m considering the case when a user > wants to uninstall an extension not marked as optional. > >> >>> 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. > > Are you sure that removing it won’t remove the flavor? AFAIR this was the > issue before for extensions bundled in the flavor.
Which is why I asked you to reconsider what you wote... Flavor is not a dependency, it's a backward dependency. > > Thanks > -Vincent > >> >>> >>> 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

