-
-
Notifications
You must be signed in to change notification settings - Fork 489
Proposal: Schema plugin improvement
Date | 2014-08-20 | Contacts | Francois |
Status | In progress | Release | 3.0 |
Resources | Available | Ticket # | |
Source code | |||
Funding | Wallonia region (metawal) |
Currently, schema plugin are deployed in a GeoNetwork instance by copying the folder in the schema_plugins directory. Therefore, some parts of the application expect to mainly deal with ISO19139 or ISO19139 profiles. Current schema plugin architecture cover viewing, editing, indexing, processing of metadata records but some other aspects need improvements.
The current proposal add a Java bean for each schema plugin which will take care of some actions on the metadata which are currently only working with ISO19139 and are not pluggable with the current mechanism. This covers:
- search for relation (https://github.com/geonetwork/core-geonetwork/blob/develop/services/src/main/java/org/fao/geonet/guiservices/metadata/GetRelated.java#L209)
- multilingual editing (https://github.com/geonetwork/core-geonetwork/blob/develop/services/src/main/java/org/fao/geonet/services/metadata/EditUtils.java#L290)
Those changes will be required to add the ISO19115-3 plugin (https://github.com/geonetwork/schema-plugins/tree/master/iso19115-3).
A new maven module named "schemas" is added. The following child modules are defined:
- schema-core (depending on common): Define SchemaPlugin abstract class
- one module for each schema plugin.
Each schema plugin are migrated to a maven module having the following structure:
The schema plugin bean is optional and needs to be defined only if the plugin support features like association of resources, multilingualism ...
When running the application using mvn jetty:run use the following to update schema to the running web application:
cd web
mvn process-resources
- Type:
- Module:
- Vote Proposed: TBA
- All
If you have some comments, start a discussion, raise an issue or use one of our other communication channels to talk to us.