On Mon, Jul 10, 2017 at 11:44 AM, Vincent Massol <[email protected]> wrote: > >> On 10 Jul 2017, at 11:28, Thomas Mortagne <[email protected]> wrote: >> >> On Mon, Jul 10, 2017 at 11:26 AM, Vincent Massol <[email protected]> wrote: >>> >>>> 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. >> >> For me too. How do yo put a XAR in WEB-INF/lib ? I don't think you >> read properly what extensions I was talking about. > > Thomas, I was agreeing with you above… :)
You agreed that we should not uninstall core extensions but I was not talking about core extensions. > > -Vincent > >> >>> >>> 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 >>> >> >> >> >> -- >> Thomas Mortagne > -- Thomas Mortagne

