forked from 52North/SOS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE-NOTES
436 lines (337 loc) · 21.2 KB
/
RELEASE-NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
RELEASE NOTES
The Sensor Observation Service (SOS) aggregates readings from live sensors as well as
sensor archives. The service provides an interface to get the pure data (encoded
in Observation&Measurement), information about the sensor itself (encoded in a
SensorML instance document), and information about the sensor mounting platform
(SensorML as well).
Release 52n-sos-4.1.2
==================================
--- New features ---
--- Changes ---
--- Fixed bugs ---
* NullPointerException when Features Of Interest have no geometries
* https://github.com/52North/SOS/issues/149
Release 52n-sos-4.1.1
==================================
--- New features ---
--- Changes ---
--- Fixed bugs ---
* Issue with OpenGeo repository
* GetFeatureOfInterest request with featureOfInterest identifier and procedure/observableProperty identifier
ignores the featureOfInterest identifier
* Performance issue for first/latest GetObservation with series concept
Release 52n-sos-4.1
==================================
--- New features ---
* Binding selection by ContentType at /sos and /service
* Add columns to mapping files for an easier integration of the Timeseries API (only for Series concept)
* Added first/latest time (all) and value (only OM_Measurement) columns to series table and update
these columns during insertion process
* Add Microsoft SQL Server support
* https://github.com/52North/SOS/commit/e288e502fbc1f0b833bad1e90d60b36c491d0792
* Create JSON cache dump in admin interface
* https://github.com/52North/SOS/commit/9cef2ba00c862058e7ada1f7a2862ef98a3e3096
* GetObservation with multiple temporal filter and different valueReferences
* same valueReference: filter OR filter
* different valueReferences: (filterA1 OR filterA2) AND filterB
* Streaming response:
* can be activated via settings
* StreamWriter for SOAP envelope, O&M 2.0, and WaterML 2.0
* Allows bigger responses because the no XML DOM-Tree is created
* Streaming datasource (Hibernate) for GetObservation:
* can be activate via settings
* Query observation metadata and create template observations
* In the encoder the observation values are queried
* Two possibilities, configurable via settings:
* scroll: send query and get scrollable values
* chunk:
* send paging requests and process each chunk
* chunk size is configurable via settings
* reduced latency for GetObservation response
* Add datasource dependent DAO and ConnectionProvider loading
* This allows to include DAOs and ConnectionProvider for different datasources in the same SOS which
can be selected during the installation.
* Corresponding to the selected datasource, the required DAOs and ConnectionProvider are loaded during
the initialization.
* https://github.com/52North/SOS/commit/d906f74267e8efcc51e53703a391aafb29119178
* If featureOfInterest geometry is missing, create the geometry from existing samplingGeometries
* https://github.com/52North/SOS/commit/dc8ce1eb00de99b09e4a60574be96c34bf441eb2
--- Changes ---
* Show the observation identifiers only in capabilities if size is less than 100, TODO: make this configurable
* Adapt the GetDataAvailability request/response to the OGC Discussion Paper:
* OGC Sensor Observation Service 2.0 Hydrology Profile (https://portal.opengeospatial.org/files/?artifact_id=57327)
* XML schema: http://waterml2.org/schemas/gda/1.0/gda.xsd
* Remove support for raw SQL execution in the admin interface because of security constraints
* https://github.com/52North/SOS/commit/ff5f8dd86f97024337f51492009559f11492bd7d
* Update dependency versions:
* joda-time (2.3)
* json-schema-validator (2.2.3)
* json-schema-core (1.2.1)
* springframework (3.2.6)
* PostgreSQL JDBC (9.3-1101-jdbc4)
* PostGIS JDBC (2.1.3)
* Hibernate (4.3.5.Final)
* Reduced Maven build profiles
* https://github.com/52North/SOS/commit/279f815fd7372ab5cb3ac06add2995486f0c2402
* Switch to Java 7 as compiler/source/target version
* https://github.com/52North/SOS/commit/b1c172cd2b087b4a76eed8648e32952dee55c098
* Asynchronous cache serialization (see issue Cache serialization performance issue)
* https://github.com/52North/SOS/commit/09dcbdf8180bc0b7f260d435385254f58e50a78c
* Better SQL Exceptions: Create a composite exception and add all Throwable as a single exception.
* https://github.com/52North/SOS/commit/5b1ebe002aabc2d9108eaf196f8927605b77fc9b
* Name unique constraints in mapping files
* constraints are updated if you check 'Force updating existing tables' at the 'Datasource configuration'
installation page.
* https://github.com/52North/SOS/commit/8e005c7b21f4c51bd238a8eeafdd592d8953c750
* Move samplingGeometry from separate table (spatialfilteringprofile) to observation table
* Improved performance if samplingGeometries are set.
* Old concept with spatialfilteringprofile table is still supported. To use the old concept check
'!!! DEPRECATED !!! Old Spatial Filtering Profile' at the 'Datasource configuration' installation page.
* For each supported DBMS an update script is available (/misc/db/..) to add the new column, copy the
samplingGeometries and remove the spatialfilteringprofile table.
* https://github.com/52North/SOS/commit/65e8a4d7867f3e19c3c444438f79df5a3616fb8d
* Change offering fetch mode to lazy to reduce the number of subqueries when querying the observations.
* https://github.com/52North/SOS/commit/67475c6d3741641d02a4be4fb6c466526152c09f
--- Fixed bugs ---
* Check if JSON binding is supported before testing
* Show Spatial Filtering Profile key in the Profile section of the Capabilities.ServiceIdentification if
strict Spatial Filtering Profile is selected
* https://github.com/52North/SOS/commit/437fd75
* Fix TimeRange decoding
* https://github.com/52North/SOS/commit/4151647
* Fix TimeInstant constructor with parameter java.util.Date
* https://github.com/52North/SOS/commit/3dc6205
* Fix SOS 1.0 schemaLocation randomly missing after restarts (https://github.com/52North/SOS/issues/45)
* https://github.com/52North/SOS/commit/f849cc9
* Fix for Cache serialization performance issue
* After each InsertObservation the cache was directly serialized to the file. Thus, the insert requests were
getting slower the more data were available.
* https://github.com/52North/SOS/commit/b1c172cd2b087b4a76eed8648e32952dee55c098
* Fix problem with duplicated entries in generated SQL scripts.
* https://github.com/52North/SOS/commit/6e70d910e6f8f7140d79f65c83250cf5370b73fc
* Fix #74: Exception when executing SOS 1.0.0 DescribeSensor requests
* https://github.com/52North/SOS/commit/7e0e6a2ca8670e8f7ec632d899d9781391a04bbd
* Throw exception if the inserted sensor description has swe:DataArray sml:output element without a swe:DataRecord elementType element.
* https://github.com/52North/SOS/commit/5c55aeeb92a8ed60a12449c1171b757a38fc57bc
* Fix GetObservation invalid srs exception code.
* https://github.com/52North/SOS/commit/0b20dd424be7556a767170ba8392897b36cdd8c8
* Fix #79: File-based H2/GeoDB fails on sampling geometry index
* https://github.com/52North/SOS/commit/a5814ee539f25ada7eeedd75e63a37e68c6682cf
* Fix #81: GetDataAvailability returns invalid times and value counts
* https://github.com/52North/SOS/commit/49c004ff8a7255aed677bef05c913254070387e1
* Fix #83: Update GetInvolved link on client landing page
* https://github.com/52North/SOS/commit/c710a08dcdc05545d5515a24e643bc191bf71a94
* Fix #84: AbstractSettingsDefinition equals() returns true if all variables are the same except key, title and description
* https://github.com/52North/SOS/commit/c710a08dcdc05545d5515a24e643bc191bf71a94
* Fix used Hibernate mapping path constants
* https://github.com/52North/SOS/commit/8be9ad0d4bb6e388e9b8a5f9ed05ed6423b994d4
* Fix #87: Inform user about javascript requirement for the webapp
* https://github.com/52North/SOS/commit/5014f1fa00199e573b80ca931928fa53542602f7
* Fix #80: Resetting the SOS does not delete the cache file
* https://github.com/52North/SOS/commit/a43b945940963ec4152da7769de242213e219a70
* Fix #101: SOS 1.0.0 GetObservation SOAP request fails
* https://github.com/52North/SOS/commit/4972a4e0a13bc0e3e5cb951f4d322c064a22e8de
* Fix #106: Possible thread safety issue in HTTPUtils' GenericWritable
* https://github.com/52North/SOS/commit/835ce396cc9dda645a15bb2c538580943af7cfd5
* Fix #109: First position is missing in the featuerOfInterest geometry if generated from samplingGeometries
* https://github.com/52North/SOS/commit/6ccf283def95198c3ba8dd452ee10232a7a6251f
* Fix #116: Time fields in observation table are identical when executing InsertResult with om:resultTime
* https://github.com/52North/SOS/commit/286cd8d166e3bfd95b936aec4d9ad4d487aa800b
Release 52n-sos-4.0.1
==================================
--- New features ---
--- Changes ---
--- Fixed bugs ---
* Fix NcNameResolver.fixNcName and Show nested SQLExceptions in OwsExceptionReport
* Add missing setting of namedQuery parameter
Release 52n-sos-4.0.0
==================================
--- New features ---
* Series observation concept is now supported for transactional operations.
* This means that the observation table contains a seriesId column and references to the new series table.
* FeatureOfInterest, procedure and observableProperty moved from observation to series table
* Convert SQL scripts for PostgreSQL, MySQL and Oracle are available
* DaoFactory for Hibernate DAOs to get supported, old or series, observation DAO
* SQL scripts for PostgreSQL, MySQL and Oracle are available to:
* create database model (old and series concept)
* clear tables (old and series concept)
* drop database model (old and series concept)
* SOS Administrator extended
* Renaming of observed properties/phenomena
* Beta: Static Capabilities incl. online editor and validator
* Beta: Capabilities Extensions incl. online editor and validator
* Beta: Offering Extensions incl. online editor and validator
--- Changes ---
* Default database model is now the series observation concept, the old observation concept is still
supported and can be activated during the installation by checking "Old observation concept".
--- Fixed bugs ---
* [Bug 976] Schema location for SML uses prefix instead of namespace
* [Bug 977] Cannot add <swe:quality> elements in sml:output/swe:Quantity
* [Bug 980] envelope is missing definition attribute
* [Bug 981] CPU load issue after some days in operation
* [Bug 982] NullPointer Error Inserting a ProcessModel
* [Bug 983] InsertObservation fails because of root namespaces with "Invalid xsi:type qname: 'gml:MeasureType' in element..."
* [Bug 987] Series-Concept: GetObservation response contains deleted observations
* [Bug 990] Hibernate directories in datasource.properties should be able to be relative paths in classpath
* [Bug 993] Cache Update blocks all operations
* [Bug 996] Installer finishes smoothly when "PostgreSQL/PostGIS Core" datasource is selected but not tables exists
* [Bug 997] FeatureOfInterest JSON Encoding with wrong "name"
* [Bug 1001] Could not finish set-up using installer: Could not connect to the database: ERROR: relation "codespaceid_seq" already exists.
Command: create sequence public.codespaceId_seq
* [Bug 1005] Spatial Filtering Profile filtering does not work after refactoring the Hibernate GetObservation request processing (r22393)
Release 52n-sos-4.0.0-RC6
==================================
--- New features ---
* Update database model during installation process if needed (EXPERIMENTAL)
--- Changes ---
* Added description column to observation table: !!! UPDATE of database model is required !!!
- see file update_obs_add_description.sql in [SOS]\misc\db\[DBMS]
--- Fixed bugs ---
* [Bug 975] NPE in TimeInstant.compareTo() when time value is null
Release 52n-sos-4.0.0-RC5
==================================
--- New features ---
* SQLScriptGenerator-Tool supports schema definition
* Create/Clear/Drop SQL scripts for PostgreSQL and Oracle added
* Include defined schema when checking if the tables still exists
--- Changes ---
* GML-Encoder TimePosition: set "unknown" as IndeterminateValue if time and indeterminate value
are not set in SOS object instead of 0000-01-01... time stamp
* Move hibernate dialect to own project
--- Fixed bugs ---
* [Bug 951] JSON GetObservation with no temporal filters throws a NPE
Release 52n-sos-4.0.0-RC4
==================================
--- New features ---
* OGC FES 2.0 ComparisonOp and LogicOp filter encoding
--- Changes ---
--- Fixed bugs ---
* [Bug 943] Race condition between offering cache update task and GeometryHandler settings on startup
* [Bug 944] Intermittent cache update SQLite error (commit failed)
* [Bug 937] SOS returns not-well-formed response (since RC1)
* [Bug 953] Invalid xsi:type qname when inserting an SWEDataArray observation with SOAP binding
* [Bug 964] KVP requests should require the service parameter
* [Bug 965] KVP: The position after decimal point of spatial filter values are ignored
Release 52n-sos-4.0.0-RC3
==================================
--- New features ---
* Setting to enable response validation if debug mode is disabled.
--- Changes ---
--- Fixed bugs ---
* Double call of om:result element content creation
Release 52n-sos-4.0.0-RC2
==================================
--- New features ---
* Initial series support for custom database models with series (procedure, observableProperty, featureOfInterest):
* Supported operations are GetObservation and GetDataAvailability
--- Changes ---
* Update sensor description enrichment to comply with SensorML for Discovery Profile (OGC 09-163r2)
--- Fixed bugs ---
* [Bug 942] NPE when inserting external referenced feature
* NPE when a referenced featureOfInterest (no geometry) was inserted via InsertObservation and the feature does not exists in the SOS
Release 52n-sos-4.0.0-RC1
==================================
--- New features ---
* JSON-Binding for SOS 2.0 and O&M 2.0 (not yet supported: SensorML 1.0.1 (contained as XML string))
* Oracle database support
* Simple security solution: IP and token based
* SOS 2.0 Spatial Filtering Profile support
* Support for 'validTime' parameter in DescribeSensor requests
--- Changes ---
* Database model: divided into Core and Transactional model
* Example data insertion: use JSON encoded request
* Test Client modified
* all example queries are listed
* apply filter to reduce number of queries
* Rename column 'names' to 'name' in featureOfInterest table (update script)
--- Fixed bugs ---
* [Bug 860] - Dynamic generation of sensor description if descriptionURL and descriptionXml are not set
* [Bug 919] - InvalidRequest exception when send SOAP-InsertObservation request with OM_SWEArrayObservation type
* [Bug 920] - org.hibernate.LazyInitializationException: illegal access to loading collection in OfferingCacheUpdateTask's
getRelatedFeatureIdentifiersFrom(TOffering offering)
* [Bug 922] - Implement Related Feature Handling
* [Bug 929] - Reload Capabilities Cache fails if there is a deleted procedure in the database
* [Bug 930] - Extension "SplitDataArrayIntoObservations"
* [Bug 931] - Extension "MergeObservationsIntoDataArray"
* [Bug 932] - Child procedure is shown in parent procedure offering after InsertSensor.
* [Bug 933] - InsertSensor with not defined offering can be inserted multiple times without exceptions
* [Bug 934] - Flexible test data insertion with JSON files
* [Bug 935] - SOS 1.0.0 DescribeSensor request throws invalid outputFormat exception
* [Bug 941] - CapabilitiesCache setMaxResultTime() and setMinResultTime() changes global phenomenonTime
Release 52n-sos-4.0.0-Beta2
===================================
--- New features ---
* Related Feature Support in InsertSensor, InsertObservation, GetObservation, GetFeatureOfInterest (see #922 or Documentation->Features->Related Features for more details)
* Dynamic WSDL generation, query via http://[HOST]:[PORT]/[WEBAPP_NAME]/wsdl, e.g. http://localhost:8080/52n-sos-webapp-4.0.0-SNAPSHOT/wsdl
* InsertSensor:
* for more than one offering
* again for another offering
* again for the same offering if the procedure was deleted before, observations inserted before deletion are not provided
* Serialization of cache: serialize cache to file after updates and during shutdown, load cache from file during startup if exist (fast startup)
* Administrator:
* GUI to en-/disable single operations
* GUI to en-/disable single encodings
* GUI to en-/disable single bindings
* Clear database, insert test data, remove test data, reload cache
* Sort elements in GetCapabilities response by A-Z, 0-9,...
* Storing codespace of gml:identifier for featureOfInterest and observation in DB
* RESTful Binding
* POX Binding
* DeleteObservation operation
* SOS 1.0.0 support:
* GetCapabilities (KVP,POX,SOAP)
* DescribeSensor (KVP,POX,SOAP)
* GetObservation (KVP,POX,SOAP)
* GetFeatureOfInterest (POX,SOAP)
* WaterML 2.0 Encoding
* GetDataAvailability operation, de-/encoding
* Additional Supported filter (need more tests regarding correct behavior):
* temporal: After, Before, Begins, Ends, EndedBy, BegunBy, TContains, Overlaps, Meets, MetBy, OverlappedBy
--- Changes ---
* Database model has changed:
* observation are not inserted twice if they relate to a different offering but same procedure, observedProperty and featureOfInterest
* store procedure- and observableProperty-id in observation table
* Change coordinate order handling from de-/encoder to DAOs
* Exception and Response Code handling
* SosEventBus: fire and listen for events, currently used by cache updates after transactions
* Cache:
* switch from database updates to in memory updates
* update cache after transactional operation directly
* The settings are saved in a separate, independent database
* Database queries for Observation returning specialized types depending on stored value
--- Fixed bugs ---
* Insert an observation again without an error.
* [Bug 800] Missing operation metadata parameter for operation InsertResultTemplate and InsertResult
* [Bug 805] InsertSensor request is not parsed correct: InsertSensorRequest.getProcedureDescription().getOfferingIdentifiers() returns empty list
* [Bug 811] ClassCastException when inserting observation with TimePeriod phenomenonTime and referenced resultTime
* [Bug 834] Administrator: Reset using reset_admin.sql does not work
* [Bug 843] Check hasCode() implementations for resetting hash
* [Bug 847] Useless error message when sending POX to SOAP endpoint
* [Bug 883] When single observation with resultTime are merged, the returned resultTime is not the latest
Release 52n-sos-webapp-4.0.0-Beta1
===================================
--- New features ---
* Reference implementation of the OGS SOS 2.0 specification
* Supported operations and extensions:
* Core: GetCapabilities, DescribeSensor, GetObservation
* Enhanced Operations Extension: GetFeatureOfInterest, GetObservationById
* Transactional Extension: InsertSesnsor, InsertObservation, DeleteSensor
* ResultHandling Extension: InsertResultTemplate, InsertResult, GetResultTemplate, GetResult
* Further operations: UpdateSensorDescription
* Supported bindings: KVP and SOAP
* Supported filter:
* temporal: During, T_Equals
* spatial: BBOX
* Supported codings: O&M 2.0, SWES 2.0, SWECommon 2.0, SensorML 1.0.1, FES 2.0, Sampling 2.0, GML 3.2.1
* Supported feature types: SamplingPoint, SamplingCurve, SamplingSurface
* Supported observation types: OM_Measurement, OM_CountObservation, OM_CategoryObservation, OM_TruthObservation,
OM_TextObservation, OM_SWEArrayObservation
* new database model: use integer values as ids, necessary to map the SOS 2.0
* Hibernate + Hibernate Spatial for database connection,
* Easy integration of new bindings, encodings and operations without changing the core sources
* Simple installation of the 52North SOS: step by step installation
* Administration GUI: change setting, clear database, add example data, change log levels
* New TestClient
--- Changes ---
--- Fixed bugs ---
For more detailed information about the bugs look at https://github.com/52North/SOS/issues