<xbook> <name>xbook name</name> <description>the xbook description that will be published in the xbook directory service</description> <version>a version number</version> <date>if this is a subxbook, this is the date it was instantiated</date> <instances>number of sub-xbooks</instances> <subxbook>name of sub-xbook</subxbook> <results>name of output file</results> <parameter name="name of an xbook input parameter"> <value>user's value of the xbook parameters</value> </parameter> <mapfile> <dn>user dn</dn> ... <dn>userN dn</dn> </mapfile> </xbook>
The xbook client reads in this file to find out the xbook directory structure (i.e., how many subxbooks). The parameters are also replicated here (also stored in results) in case another entity wants easy access to them.
Archiving is done via jython libraries. This allows flexibility during development as archiving can be turned on and off by commenting out the archive function call. Also, some user requests will not needs archiving (e.g., a monitor job request).