deegree 3 workspace configuration
deegree 3 is based on a unified configuration concept that's shared by all deegree 3-based applications (web services, web applications, desktop applications, command line tools). The different configuration aspects are built on the notion of a deegree workspace -- a configuration directory with a standardised layout.
Don't bother me with all these details.
The deegree 3 workspace configuration is built on the following paradigms:
All configuration files are XML-based. Files have a corresponding XML schema (see http://schemas.deegree.org), so syntactic errors can be detected during manual edits (when using an XML-schema aware editor such as Eclipse or Altova XMLSpy) and a context-sensitive editor can provide a list of applicable elements and attributes. Additionally, the configuration files have version attributes.
Separation of concerns:
- Each configuration file focuses on an isolated aspect of the system.
Each configuration file's file name is also its ConfigurationID. This ConfigurationID is to be used to reference e.g. database jdbc configuration within the datasource configuration (ConnectionPoolId), or a datasource configuration within a WMS layer configuration (e.g. FeatureStoreId), etc.
New aspects and component implementations (e.g. a new FeatureStore or a new ProcessProvider) can be added without touching the existing configuration layout or code.
1. Workspace location
The standard workspace location for a single deegree web application is the WEB-INF folder of this said webapp: WEB-INF/workspace.
(BTW: The name of a deegree 3 web application could be "ROOT" or "deegree-XXX-demo-3.0-SNAPSHOT" or any other valid name.)
deegree-webapp . |-- ... |-- ... `-- WEB-INF |-- ... |-- workspace | |-- ... | `-- ... |-- web.xml `-- workspace_name
1.1. Defining a workspace name
The default name of a deegree workspace is default.
Each workspace may be given an individual name by creating the text file WEB-INF/workspace_name (no file ending needed or allowed). This file should contain only one line with the wanted workspace name (only the name, without any extras like path or comments, or ...).
Naming the workspace is only necessary, if a specific workspace from the local deegree configuration folder should be used.
1.2. Local deegree configuration folder
The local deegree configuration folder is located at:
Depending on your Windows version %USERPROFILE% expands to something like "C:\Users\<username>" or "C:\Dokumente und Einstellungen\<username>".
If you want to use another root folder for the workspaces, you can set the environment variable DEEGREE_WORKSPACE_ROOT.
1.3. Determining the workspace location
The workspace location used for the configuration settings of deegree 3 applications is determined automatically at start-up of deegree 3 application in the following way:
If the local deegree configuration folder (./deegree) contains a folder of the same name as the workspace name (either "default", or the name specified in the file WEB-INF/workspace_name), then this folder is used as workspace.
If the local deegree cofiguration folder (./deegree) does not contain a folder of the workspace name (either "default", or the name specified in the file WEB-INF/workspace_name), then the configuration is read from
1.4. Finding the workspace location in use
Using the services console:
The services console can be used to check the current setting of the workspace.
- Start your deegree 3 application (check the relevant application documentation for details)
Go to http://localhost:8080 and click on "Workspace". This section provides both name and location of the referenced workspace folder.
Based on the concepts of determining the workspace location, you have to perform the following steps:
- Figure out the workspace name
- assume the wokspace name is "default" (true, if no other name is given)
Check if a file WEB-INF/workspace_name exists?
- YES: open the file and read the given name of the workspace (e.g. "the-name")
- NO: the workspace name is still "default".
Check, if a folder of that name (e.g. "default" or "the-name") exists in the local deegree configuration folder
- YES: This is your active deegree 3 workspace
NO: The workspace folder WEB-INF/workspace is your active deegree 3 workspace.
- Figure out the workspace name
1.5. Changing the workspace location
- Using the client interface:
- Work in progress...
- Simply add a text file "workspace_name" (no file ending needed) to the WEB-INF folder. The file needs to contain only one line with the new name of the workspace.
Create a folder of the same name within the local deegree configuration folder.
- Copy an existing workspace configuration to this folder
- Change the settings as required.
1.6. Reasons for changing the workspace location
- coming ...
2. Workspace directory layout
An example workspace directory may look like this:
. |-- crs | |-- main.xml |-- datasources | |-- coverage | | |-- coverage1.xml | | `-- coverage2.xml | |-- feature | | |-- feat1.xml | | |-- feat2.xml | | `-- feat3.xml | |-- metadata | | `-- iso19115.xml | |-- remoteows (since 3.1) | | `-- service1.xml | `-- observation | `-- obs1.xml |-- jdbc | |-- db1.xml | `-- db2.xml |-- services | |-- csw.xml | |-- csw_metadata.xml | |-- main.xml | |-- metadata.xml | |-- sos.xml | |-- sos_metadata.xml | |-- wcs.xml | |-- wcs_metadata.xml | |-- wfs.xml | |-- wfs_metadata.xml | |-- wms.xml | |-- wms_metadata.xml | |-- wps.xml | |-- wps_metadata.xml | |-- wpvs.xml | `-- wpvs_metadata.xml |-- styles | |-- style1.sld | `-- style2.sld `-- proxy.xml
The deegree workspace root directory may contain the following child directories:
datasources: Contains folders for the different types of datasource (coverage, feature, metadata, observation, remoteows).
jdbc: Defines JDBC connections (which may be used by any configuration requiring such a connection).
services: Contains the web service specific configuration.
styles: Contains SLD and SE files that define rendering styles.
proxy.xml: Proxy settings (used when deegree opens a network connection to a remote machine).
For a detailed explanation of these directories please refer to the configuration details.
In correspondance to the deegree workspace folder structure, the different parts of the workspace configuration are described on these dedicated pages:
3. Configuration details
Coordinate system parameters and identifiers. See /CRSConfiguration for details.
3.2. JDBC connections
Database connections that can be referenced in other parts of the configuration. See /JDBCConfiguration for details.
3.3. Coverage stores
Raster data sources. See /CoverageStoreConfiguration for details.
3.4. Feature stores
Vector data sources. See /FeatureStoreConfiguration for details.
3.5. Metadata stores
Metadata sources. See /MetadataStoreConfiguration for details
3.6. Remote OWS stores (since 3.1)
Data source for remote OGC services. See /RemoteOWSStore for details
3.7. Observation stores
Sensor data sources. See /ObservationStoreConfiguration for details.
Render styling. See /StylesConfiguration for details.
Web services. See /ServicesConfiguration for details.
Proxy configuration. See /ProxyConfiguration for details.
4. Overview example workspaces
4.1. basic WMS / WFS configuration (Utah demo)
For detailed description please see Utah workspace
4.2. WPS based PDF print output
For detailed description please see WPS PDF printer workspace