> On 10 Jul 2017, at 11:24, Thomas Mortagne <[email protected]> wrote: > > 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.
For me, core extensions = the ones in WEB-INF/lib. In EM UI, there’s a “Core Extensions” filter AFAIR. Thanks -Vincent > >> 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

