> 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… :) -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

