= Proposal number : !GeoServer Integration = || '''Date''' || 2008/01/14 || || '''Contact(s)''' || Francois, Eric Lemoine, [http://wiki.osgeo.org/index.php/User:Ticheler Jeroen Ticheler] || || '''Last edited''' || [[Timestamp]] || || '''Status''' || draft || || '''Assigned to release''' || 2.5.0 ? || || '''Resources''' || || == Overview == 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. === User Interface === [[Image(geopublisher.png)]] Actions : * Select a node to publish the dataset in (See configuration for details on adding a node) * Check button: Try to get current dataset in selected node. * Publish button: Publish current dataset to remote node. If dataset is already publish in that node, it will be updated. * Unpublish button: Remove current dataset from remote node. * Add online source button: Add an onlinesource section to the current metadata record pointing to the WMS and layername. === Sequence diagram === [[Image(publish-wxs.png)]] === Proposal Type === * '''Type''': GUI Change and new geopublisher service * '''App''': !GeoNetwork * '''Module''': Metadata editor === Links === * '''Documents''': * '''Email discussions''': * '''Other wiki discussions''': * '''Patch''': #159 * Current status: * works with !GeoTiff and a zip containing one shapefile (zip and shapefile name MUST be the same) * 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 * Bug on !GeoServer 2.2 node - more test needed * Known limitations: GeoServer 1.7.7 does not found shapefile when using upper case letter in filename extension (ie. *.SHP). === Voting History === * Not yet proposed for voting ---- == Motivations == Integration of a map server allows users to quickly configure their data for interactive access without the need to go through the complexities of setting up and configuring a web map server. Web map server supported: * !GeoServer embedded with !GeoNetwork * Remote !GeoServer node (tested with 1.7.7) == Proposal == We provide an implementation for the following use case: 1. A user edits a metadata, uploading the file as it is needed. 2. In edit mode, online source section with a file for download attached, will provide the geopublisher panel. 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 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. !GeoNetwork configuration to register !GeoServer nodes (geoserver-nodes.xml): {{{ geoserver2 My preferred GeoServer node geonet http://geonetwork-opensource.org http://localhost:8081/geoserver/rest http://localhost:8081/geoserver/wms http://localhost:8081/geoserver/wfs admin geoserver }}} === Backwards Compatibility Issues === The functionality should not have any impact on other systems harvesting or connecting to the specific catalog that has this functionality implemented. == Risks == Due 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. == Participants == * Francois * Éric Lemoine * Emanuele Tajariol (!GeoNetwork) * Jeroen Ticheler (!GeoNetwork) * Andrea Aime (!GeoServer)