Hi All,

Since it's impossible to have both features (ie “base/config/component-load.xml” and <depends-on> present) and we don't reach a consensus I'll start a vote about it.

Thanks

Jacques

Le 08/12/2019 à 02:34, Mathieu Lirzin a écrit :
Hello,

We have in OFBiz two redundant ways to define the order in which
components are loaded.

* “component-load.xml” files stored in components directories meaning
   directories containing single components. They define a total order
   between every component inside that directory.

* <depends-on> XML elements inside “ofbiz-component.xml” files stating
   that a component ‘c’ requires a set of components ‘D’ to exist and to
   be loaded before trying to load ‘c’.  Globally this constructs a
   dependency graph which defines a partial order between available
   components.

Currently <depends-on> is used everywhere in the framework on ‘trunk’
because it is more declarative and open for extensibility due the
partial ordering capability.

The only exception is “base/config/component-load.xml” which is a
special components directory configuration defining the order of other
components directories meaning “framework”, “themes”, “applications” and
“plugins” in their respective dependency order.

This file allows integrators to add and reorder components
directories. This feature is not really useful nowadays considering that
our plugin mechanism provides sufficient extensibility capability when
combined with <depends-on> definitions.

In order to simplify things which helps the endeavour towards
transforming OFBiz in an extensible JVM based library, I would like to
remove such configuration point and hard-code the list of component
directories inside the code.

I guess this low-level technical proposition is not interesting for most
people but in case someone want to understand more or object before
things are actually removed. I am opening a discussion on this ML.

If nobody step-up in a week, I will go ahead.

Thanks.

Reply via email to