A workspace is a configuration of services, locales, layers and locations which are used in a deployment.
A service is a plugin which is accessible from the application root. e.g. The ability to locate a device position on the map.
Locations are defined by an InfoJ schema on the layer through which a location can be accessed.
Workspaces are served from memory. During startup a workspace will be loaded into memory from either a file or a PostgreSQL tables. A minimum configuration will be loaded into memory if no workspace is defined or if the backend is not able to parse a valid JSON document.
Workspaces will be checked before they are loaded into memory. Invalid keys or objects will be prefixed by __. These objects are ignored by the XYZ client. Layers will be checked for their connectivity. Layers which cannot be queried will be invalidated.
The workspace can be loaded through workspace admin views. The workspace admin views allow to upload workspace files and load the workspace into the instances memory.
A jsoneditor tree view which allows administrator to modify workspaces which are stored in a PostgreSQL table.
A jsoneditor code view which allows administrator to modify workspaces which are stored in a PostgreSQL table.