Carsten Ziegeler wrote:
Reinhard Poetz wrote:
Do you want to solve this for our first release? If we add the "beta" postfix,
adding some solution in the future isn't a problem. If you agree, I would like
to postpone the discussion for the time after first beta release.
I personally would like to have this in the first beta release, so we
can see if this is the right solution and eventually change this in the
next beta :)
I would like to have a first beta release in May. If we're fast enough, I don't
have a problem. I just wanted to say that finding a solution isn't a must.
@ your question: You probably don't like my answer but OSGi already solves this
kind of problem for us. Considering this I would only go for a very simple
solution so that user _can_ provide their own configuration files which are used
_instead_ of a block's configuration. For the usual needs (forms, template,
mail, apples, pdf block) this should be enough. Don't know about the portal
which is probably the use case you're thinking of.
The portal is no problem as you have your own config file anyway. I'm
more thinking of core or some blocks were you just add your own
components or override some, like adding your own validator to cforms
(which is no problem) or overriding the default email validator with
your own one (which is a problem).
How does OSGi solve this?
Since OSGi4 declarative services are supported. Think of Spring dependency
injection but considering interface/implementation relations. You can use the
OSGi configuratonAdmin service to change an injected component or a component's
properties.
Additionally we have the possibility to redisgn e.g. forms and portal to use the
OSGi whiteboard pattern[1]. Using it makes extending them very simple as it
makes extensions very simple - you just have to provide a component that
implements a particular interface and it is automatically added as reference to
another component.
[1] http://www.osgi.org/documents/osgi_technology/whiteboard.pdf
--
Reinhard Pötz Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}
web(log): http://www.poetz.cc
--------------------------------------------------------------------
___________________________________________________________
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de