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

