On 5 Jun 2009, at 14:16, Vladimir Blagojevic wrote:
Hi,
I asked to work on "Document all configuration options available in
XML and the Configuration beans on the wiki" JIRA [1] thinking that
it would be a familiar task - something similar to what Bela and I
did in JGroups.
However, now, after learning a bit about how infinispan is
configured, how configuration is maintained, I would suggest we do a
bit more in a scope of this task, if possible. Being a newbie, it is
highly likely that I am overlooking some details. I would keep all
current configuration beans, that is all subclasses of
AbstractConfigurationBean but introduce annotation(s) for those
beans that would:
- have some form of configuration xpath element matching xml element
in conf file
- describe each configuration option in plain english
- ref to classes to process certain complex elements
Yes, this is what I had in mind, except that since there is to 1 to 1
mapping between config bean and XML element, I would annotate each
method (setter?) with a reference to the XML element in question (full
path to it - e.g., infinispan/namedCache/cluster/sync) as well as
default value, allowed values and a plain-English description.
and others as the need arise.
I would also:
- remove current hand maintained schema
+1
- create schema by automated tools given metadata in annotations
+1
- create all human readable documentation from these annotations ;
my original JIRA [1]
- read all configuration elements from xml using metadata in
annotations thus avoiding "by hand" reading we have now
+1.
Let me know what you think and especially you, Mircea (being most
familiar with conf), if you think this is feasible.
All sounds great, however I would break this up into a 2-step process
with 2 separate JIRAs. The current JIRA - just annotate the config
beans and generate documentation, and the 2nd JIRA to use this
metadata to generate XSD and parse XML.
Cheers
Manik
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org