FROST-Server Documentation

Live documentation for the development version.

Plugin Configuration Options

The functionality of FROST-Server can be expanded using plugins. Which plugins are loaded is controlled by two parameters:

Besides these configuration options telling FROST which plugins exist, each plugin usually has a separate option that controls whether the plugin is active or not.

Data Model Plugins

These plugins implement the data models are provided with FROST-Server by default.

Actuation

The actuation plugin implements the standard OGC SensorThings API - Part 2: Actuation. It adds the entity types described in this specification. This plugin requires the CoreModel plugin.

CoreModel

The Core Model plugin implements the data model of the standard OGC SensorThings API - Part 1: Sensing. It adds the entity types described in this specification and their behaviour.

MultiDatastream

The MultiDatastream plugin implements the MultiDatastream extendion of the OGC SensorThings API standard. This plugin requires the CoreModel plugin.

ModelLoader

The ModelLoader plugin can load data models and security definitions from files. The models loaded by this plugin may require other data model plugins. Data model files and security definition files can be edited with the ModelEditor. Data model files can be initially generated from an existing database using the ModelExtractor.

Using Security Wrappers and Security Validators it is possible define in minute detail what a user is allowed to read, create, update and delete. The rules for this can take into account what the relations are that each Entity has with other Entities, as deep as required. Setting this up correctly is not trivial and a mistake in the authorisation may inadvertently open your data for reading or even editing. Therefore, we strongly recommend you contact us for support if your use case requires fine-grained authorisation.

Projects

The Projects plugin extends the standard data model with a Project class and User/Role classes that allow fine-grained access control. This plugin requires the CoreModel and ModelLoader plugins.

Settings for the UserRoleDecoder class UserRoleDecoderDflt

When auth.registerUserLocally is used in the KeyCloak Auth Provider, the class de.fraunhofer.iosb.ilt.frostserver.plugin.projects.ProjectRoleDecoder can be used to register users and user-roles in the relevant tables.

Response Format Plugins

These plugins enable various response formats.

DataArray

The DataArray plugin implements the SensorThings Data Array Extension as described in the SensorThings API standard.

CSV Result Format

The CSV plugin implements a CSV result formatter, enabling CSV output as described in: CSV-ResultFormat

GeoJSON Result Format

The GeoJSON plugin implements a GeoJSON result formatter, enabling GeoJSON output as described in: GeoJSON-ResultFormat

Other Plugins

These plugins enable various other behaviours.

BatchProcessing

The BatchProcessing plugin implements the Batch Requests extension as described in the SensorThings API standard.

OData

The OData plugin makes the data in your FROST-Server available as OData 4.0 and 4.01 API. The endpoint for these are on [service root URL]/ODATA_4.0/ and [service root URL]/ODATA_4.01/.

OpenAPI

The OpenAPI plugin makes an OpenAPI description of the SensorThings service available at the /v1.x/api path. This description is still experimental, and probably incomplete. If you use it and have experience with OpenAPI, we welcome feedback!