wiki:GeoServer_integrationActivities

THIS TABLE MAY BE OBSOLETE.

Please read below.


List of Activities for GeoServer Integration

GN = GeoNetwork team
GS = GeoServer team

Who? Description Details
GN Changes to the GeoNetwork's editor. When editing an online recource, the 'upload' button present in the editor, will redirect to another page that will contain a form with the following contols:
- File : an upload file control
- Create service: a checkbox that, if checked, will instruct GN to create the service on GS. This checkbox, and the following controls, should be present only if the embedded GS is installed (the autodetect is carried out checking the web/geoserver folder).
- SRS: a combobox filled with data got from the GN's database
- Layer name : a textfield
- Mime type: a combobox with a few hardcoded mimetypes
- A button to upload the map
- A back button to return to the editor
GN Service deploy Use of the GS API of the communication layer to create a service. Input parameters will come from the web form and will be: SRS, layer name, mimetype, a link to allow GS to get the data file
GN Remove map service When an uploaded map is removed, GN should check if that map has a service created on GS. In this case, GN should delete that service from GS using the developed communication layer.
GS Provide a server side API to create and remove services. Creation: depending on the input mime type, GS will discriminate between a geotiff image and a zipped shape file and will create the service accordingly.
GN Unique Group names Make GN's group names unique and readonly in order to use them as GS's namespaces
GS Spatial Reference System (SRS) Provide a SRS text file with all SRS codes present in GS. Each line of this file will have this format (fields are comma separated, 1 srs per row): '<srs-id>', 'n', '<short label>', '<description with no CR/LF>' Here 'n' is an internal, fixed flag. It will indicate if the SRS must be displayed in the combobox.
GN SRS service Creation and filling of a database table with content of the SRS file from the task above. Service to retrieve information from that table.
GS Authentication Class to authenticate on GeoNetwork. This class will use the xml service xml.user.login to login inside GN.
GS Communication layer to GeoServer Create a tiny communication layer to communicate with GeoServer. This will be provided as a separate jar that will include a high level API to access GS's services. The API must include at least the operations needed for the integration (create service, remove service, ...).

Obsolete part ends here


Given the current GS implementation of layer publication, and the fact that many metadata required for publishing the layer are already included in the ISO standard, the use case may be different than the one described in the above table.

  1. A user edits a metadata, uploading the file as it is needed. Metadata also contains informations about layer type and SRS.
  2. An item in the metadata list provided by the metadata search will have the button publish (or unpublish) related to it, if the resource has a valid layer stored in GN, and the logged user has edit privileges on the metadata itself.
  3. When the publish button is pressed, GN will create the REST URLs needed by GS to publish the given layer. The REST URL will be different in case of raster layers or vect layers. We need at least a couple of URL in both cases:
    1. Raster layers:
      1. Creation of CoverageStore
      2. Creation of Coverage
    2. Shape layers:
      1. Creation of DataStore
      2. Creation of FeatureType

No layer name or other info will be asked to the user. We can make up this info in this way:

  • Layer name: the layer name is usually derived by GS from the file name. There may be problems of name uniqueness. They could be resolved by using GS' alias facility, but there seems to be problem in using aliases in REST configuration. At the moment this is an open problem.
  • SRS can be derived directly from ISO metadata. If such an info is not supplied (that field is optional in ISO), we will provide a predefined (hardcoded?) SRS.

ETJ Timestamp

Last modified 16 years ago Last modified on Jun 19, 2008, 4:49:55 PM
Note: See TracWiki for help on using the wiki.