An entity provides a basic reference to an item that will be searchable and reportable within the system.
Functionally it does not provide much more that access control and a label for display to the user, it is up to other items in the configuration to reference the entity to provided added functionality.
For example for an entity to be "spatially enabled" rather than adding spatial information to the entity you create a separate spatial mapper item that references the entity.
Namespace
urn:com.cohga.server.entity#1.0
Tags
entity
Properties
Name | Type | Required | Description |
id | string | yes | unique identifier |
label | string | yes | User presented label for the entity |
acl | no | A reference to an ACL to attach to the entity |
Sub-tags
Name | Type | Cardinality |
acl | 0..1 |
Content
None
Notes
- An ACL can either be defined in-line or referenced indirectly, but only one should be used (the in-line version will take priority)
Examples
A simple entity with a label
<entity:entity id="suburb"> <label>Suburb</label> </entity:entity>
An entity that's only visible to users who are members of the 'public' ACL
<entity:entity id="road"> <label>Road</label> <acl>public</acl> </entity:entity>
A entity with an ACL defined in-line, rather than referenced like the previous example
<entity:entity id="property"> <label>Property</label> <acl:acl> <entry type="deny">anonymous</entry> <entry type="allow">*</entry> </acl:acl> </entity:entity>