\section{Configuring the GNV-Server}

The configuration of the artifact- and mapserver is been done in the
central configuration directory at {\tt artifact-server/conf/}. The
central entry point is the file {\tt conf.xml}. All components of the
configuration are linked from this document. 

{\bf Within the configuration the key 
{\verb+${artifacts.config.dir}+} can be used to reference the central
configuration directory of the artifact-server instance, e.g. 
\texttt{/opt/artifact-server/conf}.}

The following structure gives an overview of the entire structure
starting from {\tt conf/}:

%% tree /opt/artifact-server/
\begin{lstlisting}
conf/
|-- arcsdeconnectionpool.properties # database connection
|-- charttemplate.xml # general properties for chart generation
|-- conf.xml # central configuration
|-- ehcache.xml # configuration of caching system
|-- log4j.properties # logging of server
|-- maptemplates # style defintions for rendering maps
|   `-- *.vm
|-- meshwidth.xml # buffer-size for querying different FIS on
                  # meshes
|-- palette # styling for 2D charts
|   `-- *.xml
|-- products # configuration of steps in workflows
|   |-- horizontalcrosssection
|   |   `-- *.xml
|   |-- horizontalprofile
|   |   `-- *.xml
|   |-- layer
|   |   `-- *.xml
|   |-- timeseries
|   |   |-- *.xml
|   |   `-- timegap_definition.xml # definition of a gaps as defines in MEDIAN Coded Value Domains section TSIntervalTypes. The meaning of the defined gaps are detailed  explained in the file itself.
|   |-- verticalcrosssection
|   |   `-- *.xml
|   `-- verticalprofile
|       `-- *.xml
`-- queries.properties # SQL configuration according to products
\end{lstlisting}


The central config-file {\tt conf/conf.xml} is XML-based and contains the
following main elements:

\begin{lstlisting}
artifact-database
|-- geo-backend # pointing to database connection, SQL configuration
|-- rest-server # port, listen addresses
|-- database # internal database storing artifacts
|-- ehcache # pointing to cache configuration
|-- cleaner # time of cleanups FIXME
|-- export-secret # signing project files
|-- factories # list of expert information systems
|-- artifacts # list of products
|-- gnv # charts, palettes, interpolation parameters
|-- mapserver # integration of mapserver
`-- velocity # templating language used in maptemplates
\end{lstlisting}

The documentation of the configuration will be split up in 4 sections
addressing different tasks:
\begin{enumerate}
    \item "Configuring and Running Artifact-Server" covering the main elements 
    \texttt{
geo-backend, rest-server, database, ehcache, cleaner, export-secret}
    \item "Generating Charts -- Background and Configuration" covering
    the main element {\tt gnv}
    \item "Generating Maps -- Background and Configuration" covering the
    main elements {\tt mapserver, velocity}
    \item "Configuring FIS, Products, States, Transitions and
    SQL-Statements" covering the main elements {\tt factories,
    artifacts}
\end{enumerate}
