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.

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

Reply via email to