
hans@938: \section{Configuring the GNV-Server}
hans@938: 
hans@938: The configuration of the artifact- and mapserver is been done in the
hans@938: central configuration directory at {\tt artifact-server/conf/}. The
hans@938: central entry point is the file {\tt conf.xml}. All components of the
hans@938: configuration are linked from this document. 
hans@938: 
hans@938: {\bf Within the configuration the key 
hans@938: {\verb+${artifacts.config.dir}+} can be used to reference the central
hans@938: configuration directory of the artifact-server instance, e.g. 
hans@938: {\tt /opt/artifact-server}.}
hans@938: 
hans@938: The following structure gives an overview of the entire structure
hans@938: starting from {\tt conf/}:
hans@938: 
hans@938: %% tree /opt/artifact-server/
hans@938: \begin{lstlisting}
hans@938: conf/
hans@938: |-- arcsdeconnectionpool.properties # database connection
hans@938: |-- charttemplate.xml # general properties for chart generation
hans@938: |-- conf.xml # central configuration
hans@938: |-- ehcache.xml # configuration of caching system
hans@938: |-- log4j.properties # logging of server
hans@938: |-- maptemplates # style defintions for rendering maps
hans@938: |   `-- *.vm
hans@938: |-- meshwidth.xml # buffer-size for querying different FIS on
hans@938:                   # meshes
hans@938: |-- palette # styling for 2D charts
hans@938: |   `-- *.xml
hans@938: |-- products # configuration of steps in workflows
hans@938: |   |-- horizontalcrosssection
hans@938: |   |   `-- *.xml
hans@938: |   |-- horizontalprofile
hans@938: |   |   `-- *.xml
hans@938: |   |-- layer
hans@938: |   |   `-- *.xml
hans@938: |   |-- timeseries
hans@938: |   |   |-- *.xml
hans@945: |   |   `-- 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.
hans@938: |   |-- verticalcrosssection
hans@938: |   |   `-- *.xml
hans@938: |   `-- verticalprofile
hans@938: |       `-- *.xml
hans@938: `-- queries.properties # SQL configuration according to products
hans@938: \end{lstlisting}
hans@938: 
hans@938: 
hans@938: The central config-file {\tt conf/conf.xml} is XML-based and contains the
hans@938: following main elements:
hans@938: 
hans@938: \begin{lstlisting}
hans@938: artifact-database
hans@938: |-- geo-backend # pointing to database connection, SQL configuration
hans@938: |-- rest-server # port, listen addresses
hans@938: |-- database # internal database storing artifacts
hans@938: |-- ehcache # pointing to cache configuration
hans@938: |-- cleaner # time of cleanups FIXME
hans@938: |-- export-secret # signing project files
hans@938: |-- factories # list of expert information systems
hans@938: |-- artifacts # list of products
hans@938: |-- gnv # charts, palettes, interpolation parameters
hans@938: |-- mapserver # integration of mapserver
hans@938: `-- velocity # templating language used in maptemplates
hans@938: \end{lstlisting}
hans@938: 
hans@938: The documentation of the configuration will be split up in 4 sections
hans@938: addressing different tasks:
hans@938: \begin{enumerate}
hans@938:     \item "Configuring and Running Artifact-Server" covering the main elements {\tt
hans@938: geo-backend, rest-server, database, ehcache, cleaner, export-secret}
hans@938:     \item "Generating Charts -- Background and Configuration" covering
hans@938:     the main element {\tt gnv}
hans@938:     \item "Generating Maps -- Background and Configuration" covering the
hans@938:     main elements {\tt mapserver, velocity}
hans@938:     \item "Configuring FIS, Products, States, Transitions and
hans@938:     SQL-Statements" covering the main elements {\tt factories,
hans@938:     artifacts}
hans@938: \end{enumerate}
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
hans@938: 
tim@936: Some additional Configurations will be done using Systemproperties. This 
tim@936: Properties will be listed in the last Section of this chapter.
tim@936: 
tim@936: 
tim@936: \subsubsection{artifact-factories}
tim@937: 
tim@937: These Section configures the Factories for Artifacts which can be used.
tim@937: The meaning of artifact-factories are explained in Section TODO: LINK to Model of Transition
tim@937: 
tim@936: \subsubsection{artifacts}
tim@937: 
tim@937: These Section configures the Artifacts which could be reached using the Artifact-Server.
tim@937: The meaning of artifacts are explained in Section TODO: LINK to Model of Transition
tim@937: 
tim@936: \subsection{Configure ArtifactServer using Systemproperties}
tim@936: \begin{itemize}
tim@936:     \item artifact.database.dir The folder where the Configuration is located-
tim@937:     \item query.executor.factory: The absolute  Classname which QueryExecutorfactory should be used
tim@936:     \begin{itemize}
tim@936:         \item de.intevation.gnv.geobackend.base.query.QueryExecutorFactory :
tim@936:               Standardfactory without any Addons.
tim@936:         \item de.intevation.gnv.geobackend.base.query.CachingQueryExecutorFactory: 
tim@936:               Factory with Cache for SQL-Query-Results
tim@936:     \end{itemize}
tim@936:     \item caching.query.executor.config: The absolute Path to the Configurationfile 
tim@936:                                          for the Cache which stores the SQL-Query-
tim@936:                                          Results. This only take effect if the
tim@936:                                          query.executor.factory-Property is set
tim@936:                                          to de.intevation.gnv.geobackend.base.query.CachingQueryExecutorFactory.
tim@936:     \item caching.cleaner.interval: The Interval in seconds the Caches should be cleaned using the Cachecleaner
tim@936: \end{itemize}
tim@935: 




