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 than access control and a label for display to the user, it is up to other items in the configuration to reference the entity to provide 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 |
publish (or published) | string | no | If set to "true" or not set at all the entity will be available for display entity to user, e.g. in the entity drop down list. If set to “false” the entity will not be visible to the user. The entity is still available on the client for Weave to work with, it’s just not visible as an entity for the user to select. |
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>