Components
A Component is a modular part of an application. It can contain one or more elements and will function as a namespace for the elements within that component.
Components are located in the components directory.
project
├── conf
├── applications
├── components
. ├── space
. └── model
└── space.xml
- space.xml
- application1.xml
<component name="space">
<version>1.0.0</version>
</component>
<application name="Application1">
<components>
<component name="space"/>
</components>
</application>
Once you've created a Components, you can start adding elements.
Component Dependencies
Elements within a Component can refer to each other without limit. You can define LinkFields between DataElements within a Component or TaskElements on DataElements of the same Component.
However, by default, elements from one Component are invisible to elements from another Component. You can give access to the elements from another Component by adding a ComponentDependency.
<component name="component2">
<version>1.0.0</version>
<componentDependencies>
<componentDependency>
<dependsOn name="space"/>
</componentDependency>
</componentDependencies>
</component>
This will allow you to reference elements from that Component.
ComponentDependencies are unidirectional: one Component depends on another. The dependee does not know it is being depended on. In addition to this, you cannot have any cycles of dependencies between Components.