Configuring degree CSW 2.x

Tags:
Document Information
Document ID: 
app2009-006

This is a list of our configuration changes too deegree-csw - specifically version 2.3-pre (Compile deegree from SVN) with an PostgreSQL backend.

Follow instructions in deegree's documentation

See deegree_csw_2.0.2_documentation_en.pdf. Make sure the document is in a version corresponding to your version of deegree-csw (in this case "deegree Web Catalogue Service v.2.2"). The latest documentation can be found in degree's SVN repository.

As a minimum, you will have to configure the database connection parameters in deegree-csw\WEB-INF\conf\csw\featuretypes\csw.xsd.
If you want any other computers besides localhost to access deegree-csw, you will have to replace it with an IP address or domain name in deegree-csw\WEB-INF\conf\csw\csw_capabilities.xml and wfs_capabilities.xml.

Set <gmd:title><gco:CharacterString> to greater than varchar(200)

By default, deegree limits the title element string value to 200 characters which is too short for many of our metadata records (especially for Maps).  The deegree folks encouraged us changing the length of the title field as well as other VARCHAR fields.  Following is the error deegree gives you on insert if your title is too long:

Error performing insert: ERROR: value too long for type character varying(200)

You can either change the string length in your DB creation scripts (create_database.sql and create_serachTables.sql?) or directly in the DB - public.ci_citation.title.  I chose an arbitrary size of varchar(400).

 Use all fields for anyText searches (PostgreSQL)

By default, deegree only uses the title field for anyText searches which is apparently an Oracle limitation. Go to deegree-csw\WEB-INF\conf\csw\xslt\iso19115_transaction.xsl and iso19119_transaction.xsl and search for "Oracle."

<app:anyText>
   <!-- this must be used if CSW in configured on Oracle as backend -->
   <xsl:value-ofselect="gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString"/>
   <xsl:value-ofselect="gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract/gco:CharacterString"/>
  <xsl:for-eachselect="$cqpKeywords">
      <xsl:value-ofselect="."/>
   </xsl:for-each>
   <!--xsl:value-of select="."/-->
</app:anyText>
 

Change above to the following:

<app:anyText>
   <!-- this must be used if CSW in configured on Oracle as backend -->
   <!--
   <xsl:value-of select="gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString"/>
   <xsl:value-of select="gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract/gco:CharacterString"/>
   <xsl:for-each select="$cqpKeywords">
      <xsl:value-of select="."/>
   </xsl:for-each>
   -->
   <xsl:value-ofselect="."/>
</app:anyText>
 
Application Documents Description Document ID Posted by Updatesort icon Rating
Compile deegree from SVN These are CSW-centric notes on compiling deegree — a Java-based spatial data services engine (http://www.deegree.org... app2009-005 wgrunberg 10/02/2009 - 8:14am
4
Related Community Groups
ETL Debug Blog | 12 Posts | Join
A group blog on implementing and debugging Extract-Transform-Load (ETL) efforts.