- [ ] Implement the V2 data model - [x] Basic data model - [x] Add logic for Datastream <-> ObservedProperty linking - [ ] Add (optional) validation of `Observation/result` against `Datastream/resultType` and `Datastream/resultEncoding` - [ ] Validate the prototype against the spec - [ ] Add requirements classes - [ ] Implement prototype data model extensions - [x] Actuation - [x] Sampling - [ ] Observations & Measurements - [x] Relations - [ ] Implement the V2 API - [x] Implement Endpoint URL /v2.0 - [ ] Implement new Functions: https://hylkevds.github.io/23-019/23-019.html#query_functions - [ ] interval() - [ ] cast() - [x] any - [ ] Landing page - [x] Supported functions - [ ] MQTT bindings - [ ] HTTP bindings - [ ] MQTT Subscribe bindings - [ ] MQTT Request-Response bindings - [x] Upgrade Moquette to latest version for MQTT5 support - [ ] Create request processor - [ ] Per-client queue - [ ] Configurable per-client max parallel requests - [ ] Configurable total max parallel requests - [ ] Check Handling of maximum message size - [ ] Batch Processing extension - [x] Implement behaviour - [ ] Describe in [24-046](https://hylkevds.github.io/24-046/24-046.html) - [ ] Data Arrays - [ ] Consider new format for all EntityTypes ($format=compact) - [ ] Decide what to do with the old format - [ ] Implement new format - [ ] Describe in [24-046](https://hylkevds.github.io/24-046/24-046.html) - [ ] Conversion of v1.1 database to v2.0 - [ ] Create new tables in an empty schema (Using the normal procedure) - [ ] Copy data using a (background) script - [ ] Triggered from the database status page (or a new page?) - [ ] Show active processes on this page - [ ] Show progress log messages - [ ] If no lock, button for starting process - [ ] Allowing incremental updates when the v1.1 database is still live - [ ] Create a table for status messages and locking - [ ] Procedure: - [ ] Copy sequence values - [ ] Datastream sequence from DS + MDS - [ ] Allow +X value - [ ] Copy Things, Locations, Sensors, ObservedProperties - [ ] Copy Features - [ ] Copy Datastreams - [ ] If Obs all use the same Feature, link Feature to DS. - [ ] Generate resultType from observationType and ObservedProperty - [ ] Copy MultiDatastreams to Datastreams - [ ] Generate resultType from multiObservationTypes and ObservedProperties - [ ] Copy Observations in batches of 10k, per DS / MDS - [ ] If all Obs of a DS have the same Feature, don't link Feature - [ ] Expose a v1.1 end-point on a v2.0 database - [ ] Figure out how to translate Datastreams - [ ] Links to Feature - [ ] Generate observationType
Observation/resultagainstDatastream/resultTypeandDatastream/resultEncoding