This repository was archived by the owner on Oct 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 11
This repository was archived by the owner on Oct 11, 2024. It is now read-only.
Integrate with SOS by using Iceland #49
Copy link
Copy link
Open
Labels
Description
Things to consider/steps to be taken:
Switch to Iceland
- create a maintenance branch of OSS > tag https://github.com/52North/OpenSensorSearch/releases/tag/pre-iceland
- add new 52N parent pom
- create branch
oss-iceland- switch from Guice modules to iceland providers, might have to reorganize the source code so that functionality is more closely modelled after the interfaces and operations
- change license of OSS (back to) GPL (because of SOS dependencies)
- re-check licenses of depedencies
- switch to latest Solr and fix compile time errors
- move concrete logging dependencies and configurations to webapp module
- breakthroughs to be done by @nuest
- GetCapabilities works in standalone version of the OSS based on iceland
- GetCapabilities in bundle with the SOS, which contains the bundled SOS as harvested service (see http://52north.org/schema/sir/0.3.2/sirGetCapabilities.xsd) read from iceland configuration, maybe to the
webapp-bundle, see comment below by @autermann - OpenSearch works using the SOS DAOs (sensor count) and database model, i.e. reading from a database created by the SOS
- transactional operations from the SIR result in "not implemented" OWS Exception
- prioritized list of features (remove implementations of not required features, http://52north.org/communities/sensorweb/discovery/index.html); in the OSS becomes read-only
- SensorSearch operation of SIR (high), if SIR then also do DescribeSensor
- JSON binding (high)
- Autocomplete endpoint with document index database (high)
- UI (medium)
- Harvesting (medium)
- re-add document database (becomes relevant only with external harvested SOS, or with millions of sensors)
- concept of "internal" and "external" sensors to the document database (e.g. listen to SOS event bus and delete internal sensors on DeleteSensor@SOS)
- Validation endpoints (low)
- deactivate transactional interface of SIR (throw exceptions)
- deactivate status operations of SIR (throw exceptions)
- optional: JSON binding and autocomplete works with Angular UI
- switch from XMLBeans to JAXB
Notes about modules
-
arsearch> not needed anymore, remove common> only home dir config mechanism > replaced by iceland configuration, remove??it> fix first! remove JS-harvesting stuff, ignore testsmisc> keep, of course, will use SOS code so change the license to GPLservice> actual business logic, keep all classes but focus on OpenSearch + SOS DAOssir-common>sir-it> SIR integration testssir-json> keep as needed for JSON encoding-
sor-common> Sensor Observable Registry > drop it. -
sor> Sensor Observable Registry > drop it. website> keep as independent search client / landing page, remove some unneeded code (SOR, all the Java classes, JSPs, and login-related stuff, remove all "under development", ..), test update Angular- remove Swagger
Adjustments for SOS-integration
- extend data model to include "internal" and "external" sensor descriptions
- internal = in SOS database using SOS DAOs, need some internal harvesting for search DB
- external = in Solr using OSS DAOs, or just use Lucene internally without Solr?
- fromt the outside (to a client) there is no distinguishment between the
- check Esri Geoportal Server how they can automatically create a Solr instance at installation time - or do they just use Lucene?
- switch configuration to use iceland's Settings API
- add internal harvesting (e.g. add internal sensors to the search database)
- remove SOR
- What about the validation endpoints?
- And the conversion endpoints?
Reactions are currently unavailable