Changes between Version 13 and Version 14 of GeoServer_integration


Ignore:
Timestamp:
08/13/10 09:00:07 (14 years ago)
Author:
Fxp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GeoServer_integration

    v13 v14  
    1111== Overview ==
    1212
    13 The purpose of this integration is to allow users to upload a GeoTIFF file or a zipped Shapefile to a metadata and deploy that dataset as a map service on !GeoServer. After upload, the user will see a button that allows her/him to trigger this deployment. The metadata will be adjusted accordingly and the Capabilities document of !GeoServer will provide a link back to the !GeoNetwork metadata record.
    14 
    15 
    16 === User Interface ===
    17 [[Image(geopublisher.png)]]
    18 
    19 Actions :
    20  * Select a node to publish the dataset in (See configuration for details on adding a node)
    21  * Check button: Try to get current dataset in selected node.
    22  * Publish button: Publish current dataset to remote node. If dataset is already publish in that node, it will be updated.
    23  * Unpublish button: Remove current dataset from remote node.
    24  * Add online source button: Add an onlinesource section to the current metadata record pointing to the WMS and layername.
    25 
    26 === Sequence diagram ===
    27 [[Image(publish-wxs.png)]]
     13The purpose of this integration is to allow users to upload a GeoTIFF file or a zipped Shapefile to a metadata record and deploy that dataset as a Web Map Service on one or more !GeoServer node. After upload, the user will see a button that allows her/him to trigger this deployment. The metadata online source section is updated.
    2814
    2915=== Proposal Type ===
     
    3723 * '''Other wiki discussions''':
    3824 * '''Patch''': #159
    39   * Current status:
    40    * works with !GeoTiff and a zip containing one shapefile (zip and shapefile name MUST be the same)
    41    * On big shapefile (more than 100M), !OutOfMemoryError could be triggered on GeoNetwork side during file copy. Changing -Xmx and -XX:MaxPermSize parameters fixed the issue
    42    * Bug on !GeoServer 2.2 node for unpublish action - more test needed
    43   * Known limitations:
    44    * GeoServer 1.7.7 does not found shapefile when using upper case letter in filename extension (ie. *.SHP).
    45    * Does not support Proxy if one between !GeoNetwork and !GeoServer
    4625
    4726=== Voting History ===
     
    5433Web map server supported:
    5534 * !GeoServer embedded with !GeoNetwork
    56  * Remote !GeoServer node (tested with 1.7.7)
     35 * Remote !GeoServer node (tested with 2.0.x)
    5736
    5837
    5938== Proposal ==
    6039
    61 We provide an implementation for the following use case:
     40[[Image(geopub-tiff.png)]]
    6241
    63    1. A user edits a metadata, uploading the file as it is needed.
    64    2. In edit mode, online source section with a file for download attached, will provide the geopublisher panel.
    65    3. When the publish button is pressed, GN will create the REST URLs needed by GS to publish the given layer. The REST URL follow http://docs.geoserver.org/1.7.x/en/user/extensions/rest/rest-config-api.html
     42The following use case is covered by the proposal :
     43 * A user edits a metadata, uploading the file as it is needed.
     44 * In edit mode, online source section with a file for download attached, will provide the geopublisher panel:
     45  * Select a node to publish the dataset in (See configuration for details on adding a node)
     46  * GeoNetwork checks if:
     47   * the file provided is correct (eg. ZIP contains one Shapefile or a tiff)
     48   * the layer has already been published to that node. If yes, the layer is added to the map preview.
     49  * Publish button: Publish current dataset to remote node. If dataset is already publish in that node, it will be updated.
     50  * Unpublish button: Remove current dataset from remote node.
     51  * Add online source button: Add an onlinesource section to the current metadata record pointing to the WMS and layername in order to display the layer in the map viewer of the search interface.
     52  * Style button: Only available if the !GeoServer styler has been installed and declared in the configuration.
    6653
    67 No layer name or other info will be asked to the user. We can make up this info in this way:
    68  * 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.
     54No layer names are asked to the user. Layer name is compute from file name.
    6955
     56In case of ZIP compression, ZIP file base name must be equal to Shapefile or !GeoTiff base name.
     57 * One Datastore, !FeatureType, Layer and Style are created for a vector dataset (one to one relation).
     58 * One CoverageStore, Coverage, Layer are created for a raster dataset (one to one relation).
     59
     60=== Other screenshots ===
     61==== With GeoServer styler installed ====
     62[[Image(geopub-style.png)]]
     63
     64==== With PostGIS layers ====
     65[[Image(geopub-db.png)]]
     66
     67=== Configuration ===
     68When the publish button is pressed, !GeoNetwork create the REST URLs needed by !GeoServer to publish the given layer. The REST URL follow http://docs.geoserver.org/trunk/en/user/extensions/rest/rest-config-api.html
     69
     70An option is added to config-gui in order to turn on/off the feature. This feature is not available by default.
    7071
    7172!GeoNetwork configuration to register !GeoServer nodes (geoserver-nodes.xml):
     
    7677                be configure by GeoNetwork.
    7778               
     79                GeoServer 2.x or later are supported. The REST API must be installed in the GeoServer node.
     80                If you want to be able to publish in different workspaces, create as many nodes as
     81                workspaces.
     82               
    7883                @param name             Name of the GeoServer node, display to metadata editor
    7984                @param namespace        Namespace to use. If not set, GeoServer will link store to another namespace.
    80                 @param adminurl         GeoServer REST service config URL
    81                 @param wmsurl           GeoServer WMS service URL use to display map preview
    82                 @param wfsurl           GeoServer WFS service URL use to display map preview
    83                 @param user             GeoServer user login
     85                @param adminUrl         GeoServer REST service config URL
     86                @param wmsUrl           GeoServer WMS service URL use to display map preview
     87                @param wfsUrl           (Not used) GeoServer WFS service URL use to display map preview
     88                @param stylerUrl        (Optional) GeoServer WFS service URL use to display map preview
     89                @param user                     GeoServer user login
    8490                @param password         GeoServer user password
    8591        -->
    8692        <node>
    87                 <id>geoserver2</id>
    88                 <name>My preferred GeoServer node</name>
    89                 <namespacePrefix>geonet</namespacePrefix>
     93                <id>geoserverEmbedded</id>
     94                <name>GeoServer (workspace: gn)</name>
     95                <namespacePrefix>gn</namespacePrefix>
    9096                <namespaceUrl>http://geonetwork-opensource.org</namespaceUrl>
    91                 <adminurl>http://localhost:8081/geoserver/rest</adminurl>
    92                 <wmsurl>http://localhost:8081/geoserver/wms</wmsurl>
    93                 <wfsurl>http://localhost:8081/geoserver/wfs</wfsurl>
     97                <adminUrl>http://localhost:8080/geoserver/rest</adminUrl>
     98                <wmsUrl>http://localhost:8080/geoserver/wms</wmsUrl>
     99                <wfsUrl>http://localhost:8080/geoserver/wfs</wfsUrl>
     100                <stylerUrl>http://localhost:8080/geoserver/styler/index.html</stylerUrl>
    94101                <user>admin</user>
    95102                <password>geoserver</password>
    96103        </node>
     104</nodes>
    97105}}}
    98106
     107
     108=== Other improvements ===
     109Some use cases not covered by this proposal and related to the topic:
     110 * the Capabilities document of !GeoServer could provide a link back to the !GeoNetwork metadata record (REST API does not look to be able to define that part of the configuration)
     111 * be able to publish on ZIP file with many Shapefiles in it
     112 
    99113
    100114=== Backwards Compatibility Issues ===
     
    103117== Risks ==
    104118Due to the limited resources, complex scenario's will not be dealt with and not all data may be suitable for use. Both GeoTiff and Shapefiles require to be properly formatted before they are uploaded.
     119
     120For big files (more than 100M), !OutOfMemoryError could be triggered on GeoNetwork side during file copy. Changing -Xmx and -XX:MaxPermSize parameters fixed the issue.
     121
    105122
    106123== Participants ==