|
BundleA bundle is a JAVA specific archive used for internationalization. It demonstrates another use of the nodes repository: The repository can store settings used in a build. A virtual page is used to display the values in a user friendly form and there is an API to access this information via RMI or WEB-DAV, thus it can be used to create implementation artifacts in the build. For instance, if you are using maven for your build, you can create artifact specific plugins, that will query the repository to create the artifacts. That way, the specification and the implementation are connected and will not deviate from each other. Note, that this can be used to trace requirements and to generate a skeleton of your application always consistent with your specification. You can create references from the requirements stored in the repository to the build specifications of artifacts associated to the requirements and implicitly to the generated artifacts as well. Generation of artifacts will usually make sense, if there are multiple similar artifacts. But on the other hand such artifacts will most often form the skeleton of your application. So your nodes repository can build a bridge between the specification and the implementation and specify a skeleton of your application, that will be generated from the information in the repository, i.e. it will always be consitent with the specification. Think of schema specifications and associated access objects, internal service specifications of the application generating abstract service classes, validation specifications generating abstract validation classes and even generation of parts of the user interface, if the user interface is build up from multiple similar items. In the maven case, the repository can be accessed by a maven plugin
that uses
As an example, the application uses the
Schemanodes:bundle again inherits from nodes:shortId and nodes:versionable. A node may have properties
The node may have child nodes
As custom_nodestypes.xml: <nodeType hasOrderableChildNodes="true" isMixin="false" name="nodes:bundle" primaryItemName=""> <supertypes> <supertype>nt:base</supertype> <supertype>nodes:shortId</supertype> <supertype>nodes:versionable</supertype> </supertypes> <propertyDefinition autoCreated="false" mandatory="false" multiple="false" name="nodes:module" onParentVersion="VERSION" protected="false" requiredType="String"/> <propertyDefinition autoCreated="false" mandatory="false" multiple="false" name="nodes:packagePath" onParentVersion="VERSION" protected="false" requiredType="String"/> <childNodeDefinition autoCreated="false" defaultPrimaryType="nodes:bundleEntry" mandatory="false" name="*" onParentVersion="VERSION" protected="false" sameNameSiblings="true"> <requiredPrimaryTypes> <requiredPrimaryType>nodes:bundleEntry</requiredPrimaryType> </requiredPrimaryTypes> </childNodeDefinition> <childNodeDefinition autoCreated="false" defaultPrimaryType="nodes:htmlDiv" mandatory="false" name="nodes:description" onParentVersion="VERSION" protected="false" sameNameSiblings="false"> <requiredPrimaryTypes> <requiredPrimaryType>nodes:htmlDiv</requiredPrimaryType> </requiredPrimaryTypes> </childNodeDefinition> </nodeType>
TemplateThe template looks like
The priority and the risk as well as the type of the sub requirements will be displayed as icons. For that, in addition to configure the template columns as images
here, you have to add the icons. For instance for the enumerated
values of
nodes:priority you have to add image files with the
names HIGH, LOW and MEDIUM in folder
|