The local store holds the search data in a data store local to the process module.
This is not intended as a high volume/high performance store, but as a minimum functionality data store to demonstrate and exercise the UI, and for very non-demanding applications.
The local store has four folders - workers, documents, events and files - each of which contains entities of the appropriate type.
The worker, documents and events have Data set to their appropriate data JSON, as described in Worker data, Document data and Event data. Documents and events don't hold related worker information, but link to a worker node using their Worker link.
They also have a Search field, which contains the searchable fields in easy-to-digest form. Document and event nodes inherit the search fields from the associated worker. For text fields, the value or values for the fields are held in an array (even single values). Repeating links to worker connection are resolved to lists of connection names and connection paths. For dates, the dates are held as is. Here is an example event.
{
"process_type_name": [
"Process A"
],
"group_name": [
"Group One"
],
"group_path": [
"Group/one"
],
"connection_name": [
"Foo bar",
"Foo2 bar2"
],
"connection_path": [
"foo/bar",
"foo2/bar2"
],
"status_reference": [
"prepare"
],
"event_timestamp": "2022-11-07T18:41:37.123"
}The files are held as files, and the event attachments and document file contain the file info structures localised to these stored files.
The load processes for documents and events store the passed worker and any attachments or files, then create an appropriate document or event entry. Local references are built from the key values, and will be used to overwrite existing data:
- Worker - based on worker UUID
- Document - based on document UUID
- File - based on file UUID
- Event - based on worker UUID and event timestamp