Diversity Sampling Plots

Scope within the Workbench

DiversitySamplingPlots is part of the database framework Diversity Workbench. Within this framework the application DiversitySamplingPlots is confined to the display of sampling plots in geographic areas. Any module within the Diversity Workbench is focused on a specific data domain. DiversitySamplingPlots keeps only data regarding sampling plots. Data of other realms like e.g. taxonomy are handled in separate modules.

DiversitySamplingPlots is based on Microsoft SQL-Server 20016 or later and the .Net Framework, Version 4.8.

For licence and copyright see the licence section.

Diversity Workbench modules

Jan 23, 2025

Subsections of Sampling plots

Diversity Sampling Plots

Download

Current version

4.5.1 (2023-08-25)

Download

  • Inclusion of maintenance for links to DiversityScientificTerms Video starten
  • Inclusion of hierarchy of location properties
  • Show or hide query
  • Mainform shown as single dialog form

Upcoming version

4.6.0 (2026-10-??)

  • Bugfix for creating new databases
  • Internal improvements / Maintenance : Updated dependencies (nuget package updates), upgraded .NET framework

Previous versions

4.5 (2023-05-09)

  • Bugfixes in Workbench.dll
  • Bugfix for linked specimen and images from DiversityCollection

4.4.11 (2023-04-21)

  • Several bugfixes getting properties from databases
  • Improvements in error logging in WorkbenchUnit
  • Linked specimen and images from DiversityCollection Video starten
  • webBrowser replaced in:
    • UserControlGeography
    • UserControlGIS
  • Query
    • Many order columns enabled
    • Additional columns:
      • Plot type
      • Country
      • Property
      • Locality

Database updates

  • 01.00.37: ViewLocality for query; SamplingPlotListForCurrentProject - add columns PlotType and CountryCache; ViewSamplingPlotListForCurrentProject - adding missing columns PlotType and CountryCache; Missing View ViewDiversityWorkbenchModule for linked server; Missing Grants; Missing Descriptions;

4.4.9

  • Transfer of selected projects
  • Bugfix hierarchy query
  • Bugfix LookupTable.cs
  • Menue - Transfer to project added

4.4.10

  • Table editors for:
    • Plot
    • Localisation
    • Site
  • Spreadsheet for Plot

 

Subsections of Download

Diversity Sampling Plots

Installation

Resources

To run a module of the Diversity Workbench framework, you need access to a database and an installation of the respective client. The following instructions explain how to install the DiversityCollection client. All other modules are installed in the same way.

If you do not yet have an account for your institutional DWB platform, please contact your institution’s DWB administrator. If you wish to set up and use your own personal, institutional, domain-specific, or research-group-internal database environment, see Installation of a database for more information.

A German-language video demonstrates the installation using the DC client as an example. Please note that the initial steps in the video are outdated, as the downloads are now available via this manual, as described below. .

Download

All DiversityWorkbench modules can be downloaded free of charge. Within each module in the manual, you will find a Download menu item. There, you can download the latest version in the Current version section.

Installation of the client

The client is currently based on the .Net framework version 4.8 from Microsoft. If not already present, the software will prompt you to install it.

After downloading the client, unzip the .zip folder. The extracted setup folder contains two files: an .msi and a .bat file.

If you want to install the client on your computer, start the installation by double-clicking the .msi file.

If necessary, you can adjust the installation location in the next step.

Once the installation is complete, the software will be added to the program menu (see below) and a shortcut will be created on the desktop.

In the next chapter Database Login the login process is explained.

Troubleshooting

If you don’t have sufficient permissions on your computer to install anything, you can use the client by following the instructions Run the program without an installer. If you receive a warning from Windows that this computer is protected, follow the instructions Windows protection warning.

Run program without installer

There are several reasons why you might prefer to run DiversityCollection without installation. E.g. if you lack administrative permissions on your computer or if you want to use several different versions of DiversityCollection in parallel.

Therefore, the downloaded .zip file contains a .bat file. With this .bat file, a folder DiversityCollection_x_x_x is created on your desktop containing all relevant files to run the client DiversityCollection.

You have to unzip the downloaded .zip file to a local folder. The unzipped folder contains the .msi file and the .bat file. Within this unzipped! folder start the .bat file with a double-click. You might get a security warning, as shown in the section Windows protection warning.

The batch file unpacks the program files to a folder on your desktop named DiversityCollection_x_x_x, where "x_x_x" stands for the program version.

To start the DiversityCollection program, go to the folder and double-click on the file DiversityCollection.exe.

The login process is explained in the next chapter Database Login.

Technical notes and additional information

The software will be placed in the programs directory, as shown below.

Additionally, a folder is created in the user directory. This folder contains files and templates, for example, for label printing. It also contains hidden folders, such as Query. User input is saved there so that it can be loaded again the next time the program is started.

Windows protection warning

If you receive the following warning from Windows

please click on Weitere Informationen. A button Trotzdem ausführen will appear.

Please click on Trotzdem ausführen to install the software.

 

Jun 12, 2025

Diversity Sampling Plots

Database login

To use a module from the DiversityWorkbench framework, such as “DiversityCollection”, you need access to a database. If you do not yet have an account for your institutional DWB platform, please contact your institution’s DWB administrator. If you wish to set up and use your own personal, institutional, domain-specific, or research-group-internal database environment, you will find instructions here.

Connect to a database

  1. At the top left of the main window, go to Connection → Database … or click the Connect button . A dialog form “Connect to database” opens.

  2. In the “Server” section, add the server name or the IP address and the port number.

  3. In the “Login” section, choose an option:

    • Windows authentication: Using the Windows Login information.

    • SQL-Server authentication: User and password as defined in the database.

  4. Click on the Connect to server button.

  5. If the connection information is valid, you can Choose a database from the drop-down list at the bottom.

  6. Choose the database you want to work with and click OK.

  7. If you access a database for the first time, you will be asked to consent to the storage and processing of your personal data (see below) according to the General Data Protection Regulation. Without your consent the access is not possible.

Important The standard port number for SQL-Server is 1433 and is set as default. If the database server is configured to use a different port, you must change the port number in the port input field.

Previous connection

If you have been connected to a database in previous sessions, you can select one of these connections:

  1. At the top of the “Connect to database” dialog form, click on the Previous connections button .
  2. Select a connection from the drop-down list. This inserts the name or IP address and the port in the corresponding input fields in the server section.
  3. To log into a database, proceed as described above starting from step 3.

Testing a connection

To test the connection, you can send a ping by clicking the button .

As a first step the IP resp. Server will be tested. If the connection to the server is successful, the port will be tested as a second step.

Switch between databases

  1. At the top left, go to Connection → Database … or click on the Connect button .
  2. If you are already connected to a server, you can select a database from the drop-down list Choose database at the bottom of the dialog box.

Reset and Cancel

Reset: If you are connected to a server, there is a Reset button below the “Login” section of the “Connect to database” dialogue box. Click the Reset button to change your server or login settings.

Cancel: If you do not want to change anything, click on Cancel.

Encryption

By default, the connection to the databases is encrypted. The icon next to the Connect to server button indicates an encrypted connection. By clicking on the icon, you can switch to an unencrypted connection, indicated by the icon .

Videos

  • Login to a database: Video starten.

Diversity Sampling Plots

Menu

Overview of the menu in DiversitySamplingPlots:

  • Connection

    • Database    Database … Choose one of the databases available on the server. Only those databases will be listed to which the user has access
    •    Module connections … Edit the connections to the other modules within the Diversity Workbench.
    •     Transfer previous settings Transfer the settings for IP-Address and port of the server, name of the database, login etc. of a previous version of the client to the current version.
    •     Quit Quit the application and stop all processes started by the application
  • Data

    •   Backup database … Creating a backup of the currently connected database
    •   Import
      •   Wizard Import data from tab-separated text files
      •   Sampling plot … Import data into SamplingPlots database …
    •   Replication Synchronise the content of 2 databases
      •   Add publisher … Define a publishing database
      •   Database on Server List entry of an added publisher
      •   Download … Download data from the data provider and server respectively in your local database
      •   Merge … Merge data between the data provider and server respectively and your local database
      •   Upload … Upload data from your local database to the replication provider and server respectively
      •   Remove … Remove the replication publisher from the list
      •   Clean database … Clean your local database
  • Administration

    •   Projects … Administration of the projects
    •   Database … Administration of the database
      •   Logins … Administration of the users and their permissions in the database
      •   Rename database … Rename the currently connected database
      •   Set published DB address … Set the base URL address of the currently connected database
      •   Documentation … Documentation of the structure of the database
      •   Maintenance … Maintenance of the database
      •   Database tools … Database tools
  • Update (Only visible, if a new version is available)

    •   Update database … Update to a new available database version
    •   Update client … Update to a new available client version
  • Help

    • Manual  Manual Opens the online manual
    • Feedback  Feedback … Opens a window for sending feedback
    • Feedback history  Feedback history… Opens a window for browsing former feedback
    • Info Show the version of the program and corresponding information

 

 

 

 

 

Apr 15, 2025

Tutorial

Tutorial - first steps

This tutorial will guide you through the first basic steps in DiversitySamplingPlots. After the installation, make sure, you have access to the database. To start the programm, double click on the DiversitySamplingPlots.exe in the directory where you copied the files of DiversitySamplingPlots. The main window will open.

Start page 

If you open this window for the first time, you have to connect to the database. Click on the button or choose Connection → Database… from the menu to open a window where you can enter your account information and choose the database (see image below, for further informations see databaseaccess).

Connect page 

After connecting to the server and choosing a database click on the OK button to return to the main form. As indicated by the  symbol in the right upper corner, you are now connected to the database. The tooltip of the button will show your current login informations.

Apr 15, 2025

Subsections of Tutorial

Tutorial Edit Plots

Tutorial - create or change plots

To create a new sampling plot click at the New icon of the tool bar. A Window will pop up and ask you to enter the identifier of the new plot.

New plot dialog

The new plot will be created and shown on the screen.

New plot window

Now you may edit the parameters and either add a geography of any kind using the GIS-Editor window or a certain point with WGS84 coordinates using the Localisation control.

For the usage of the GIS-Editor please see the Description in the second part of the help file. You may select an appropriate map style, navigate to your region of interrest by shiftig and zooming the map and create it as a background map by clicking the Add button. Then select Point, Line or Area mode and draw your geography on the background map. Add one or more geographies using the Add button. The geographies may be changed later on using the Editmode of the GIS-Editor. Finally save the geography to the database by clicking on the Save button of the GIS-Edit window ( not that of the Query toolbar!). A WGS84 localisation will be created automatically.

Plot geography

Alternatively you may create a WGS84 localisation using the New button in the Localisation tab below the GIS-Edit window. A dialog will pop up.

Plot geography

Select “Coord. WGS84” from the drop down list and then press the OK butten. The new localisation will be shown in the list of the Localisation tab.

Plot geography

Select the localisation in the list and click at the MaltaCross button. The coordinates window as known from other DiversityWorkbench modules will be shown.

Plot geography

Shift the map using the mouse to localise a certain coordinate point with the static cross in the center. Then press the OK button and the coordinate point will be shown in the WGS84 localisation tab.

Plot geography

Additionally an Altitude and a Named area localisation will be created automatically by calling the Geonames web service. Press the Save button of the Query toolbar to save the new localisation.

Apr 3, 2025

Diversity Sampling Plots

Query

Once you are connected to your database, you can search across all data. A wide range of search options is available.

All functions related to querying can be found on the left-hand side of the main window.

The upper part of the query section contains the list of all results, titled “Query Results”.

Below this, you will find a section containing all the buttons relevant to the search.

Below the query buttons, you will find the “Query Conditions” section. This is where you can enter all available search criteria.

Perform a Query

Display the Entire Dataset

To display the entire dataset, start a search without specifying any criteria in the “Query conditions” section:

  1. In the middle of the query section on the left-hand side of the main window, click on the “Filter” button.

  2. A list of the results will be displayed in the “Query Results” section. The number of results is shown above the list, next to the “Query Results” label.

Below the query buttons, at the bottom of the query section, you will find the “Query Conditions”.

  1. Enter the filter criteria for your search. For example, you can select a project from the dropdown list.
  2. You can combine as many criteria as needed to narrow down your results.
  3. Start the query by clicking the “Filter” button .
  4. A list of results will be displayed in the “Query Results” section. The number of results is shown above the list, next to the “Query Results” label. If no results match the query, the list remains empty and the label “No match” is displayed.

Edit and Customise Query Conditions

You can choose which query conditions are displayed in the main window, and you can change this at any time.

  1. At the top left, above the query results list, click the “Checkbox” button .

  1. Select any query conditions you want to use for your searches by selecting the respective checkboxes in the treeview.

Customise the Interface

Hide/Show the Entire Query Section

In the main window, go to the menu item Query → Show Query.

Hide the “Query Conditions” Section

On the left side of the “Query Buttons”, in the middle of the query section, click the “Arrow” button .

Switch Between Vertical and Horizontal Arrangement

You can change the layout of the query elements from vertical to horizontal and vice versa. To do this, click the button located below the main menu bar:

Edit the Result List

Add Results to the Existing List

You can add new results, based on different query conditions, to your current result list.

  1. Enter the new filter criteria for your additional search.
  2. Start the query and add the results to the existing list by clicking the button .
  3. The new results will be appended to the existing list.

Remove Result Items from the List

You can remove entries from your current result list:

  1. Select the entries you want to remove.
  2. Click the button .

Important This does not delete the data from the database. It only affects the current display in the results list.

Many Result Columns

The option to display a result list with many columns is described in the chapter Many Columns.

Query Conditions

Remember the Last Query

By default, the values you entered for the previous query will be remembered. Your query criteria will be pre-filled when the programme starts. To change this behaviour, click the Pin button .

Query Annotation

The query for annotations differs from a standard query (see below). In addition, you can specify the type of annotation (Annotation , Problem , Reference ) and the linked table (see Annotation).

Duplicates

Certain query condition fields allow you to add up to three duplicates of the same condition. For adding a ‘duplicate’ search criteria, click the green “Plus” button . Remove a ‘duplicate’ search condition with a click on the red “Minus” button . The restrictions can be combined with AND + and OR |. To switch between these modes, click the resp. + or | icon.

Query Modules

In the “Query Conditions” section, some values may be linked to other modules. For example, within the “Identification” group, the fields “Taxa” and “Terms” are linked to the “DiversityTaxonNames” and “DiversityScientificTerms” modules, respectively. You can also add “linked” values to your query condition.

  1. Select the operator that determines how the entries are used in the search. An explanation of all available operators can be found in the table below.
  2. To connect to the linked module, click the “Ammonite” button located to the right of the relevant query field.

  1. A query window for the linked module will open.
  2. Search for values within the linked module and click “Ok” to confirm your section.
  3. If you want to view a list of the selected items, click the Magnifying Glass button .

Info: There is also a detailed Video available, which explains all possible operators and how to use them.

Operator Meaning Example
∈ Search for entries with a list Rosa | Rosa caninia \
∉ Search for entries not within a list Rosa | Rosa caninia | ...
+H search for entry including lower hierarchy Picea | Picea abies | ...
+S search for entry including synonyms Picea abies | Pinus abies | ...
+HS search for entry including lower hierarchy and synonyms Picea | Picea abies | Pinus abies | ...
Change filter mode between link and text http://tnt.diversityworkbench.de/TaxonNames_Plants/4269 <> Picea abies L.

Videos

  • Introduction on how to use the query conditions: Video starten
  • How to use special query conditions: Video starten
  • Tutorial on how to query modules: Video starten
  • Tutorial on how to save a query: .

Wildcards in SQL

There are 4 different possibilities for wildcards in SQL:

Operator Description Example Result
%   any string consisting of no, one or many characters Pinus % will find anything like Pinus, Pinus sylvestris, Pinus strobus etc.
*  same effect as % (see above)
_  a single character Pinus s_lvestris will find Pinus sylvestris and Pinus silvestris etc.
[…] any character out of a given range like [abcde] or [a-e] Pinus s[iy]lvestris will find Pinus sylvestris and Pinus silvestris
[^…]   any character not in a given range like [^abcde] or [^a-e] Pinus s[^i]lvestris will find Pinus sylvestris but not Pinus silvestris

Many colunns

The option to include several columns in the result list is only available for optimized queries . To display several columns in the result list, click on the button next to the order by column (see below). A window will open where you can select the next column for the sorting. Underneath the order by column the second column for the sorting will be added. To remove this sorting column you can click on the    button. By default the width for the columns is set to 10. You can change this according to content. To set the width to the maximal length of the current content, click on the button. To change the sorting of the added order column click on the button. The colums are separated via " | " as shown in the image below.

For an introduction see the videos:

  • Mehrspaltige Suche: Video starten
  • Sortierung: Video starten

 

Oct 26, 2026

Subsections of Query

Tutorial Query

Tutorial - query

To search for data in the database, use the query section in the left part of the window. To select the query conditions, click on the button in the top panel. A window as shown below will open.

 

With the Maximal number of results, you can limit the paket size that should be retrieved from the server. For a slow connection to the database server choose a low value (e.g. 100 as set by default).

Select the desired entries, e.g.:

 

Click OK to close the window. Your query conditions will look like the image below.

Within the query options you have several possibilities to specify your search restriction. Use the drop down button to change between the operators.

If the hierarchy operator Δ is selected, you may choose a desired hierarchy node by clicking at the drop down box on the right. Then a tree view of the current hierachy pops up, where you can select a given node with the mouse:

After all query conditions are set, click on the button to start the query. In the resultlist all plots will be displayed which matches your query and the selected maximal number of results.

Oct 26, 2026

Tutorial Query Results

Tutorial - query results

Pressing the Filter button will display all plots in the list box which matches the query conditions and the selected maximal number of results:

Query results

The kind of entries to be shown can be selected in the “order by” list box. They may be the plot identifiers, the plot descriptions or the plot hierarchy strings.

The data of the selected plot (identifier, description, ID, type, notes etc.) is displayed right of the query area. If a geography has been assigned, the place is shown on the map in the middle. The plot identifier is marked with yellow background, embedded in the hierarchy tree in the box below the map.

Query results

Oct 26, 2026

Diversity Sampling Plots

Editing the data

  • Backlinks

    Backlinks from other modules

  • Edit Plots

    Editing the data of a plot

  • Hierarchy

    Setting the hierarchie of the plots

  • Localisation

    Setting the localisation of the plots

  • Maps

    Working with maps

  • Projects

    Handling the projects

  • Properties

    Properties of the plots

  • Resources

    Resources linked to the plots

  • Tables

    Data in tables

    Besides of the main form, the Diversity Workbench provides 2 editors of the data in tabular form:

    • Table editors : Provide single table based access to the data of the query results in the main form
    • Spreadsheets : Provide predefined tabular access including the possibility to query and filter data and can be used as starting form

    See a short tutorial for an introduction Video starten with DiversityCollection as an example (Grids are only available in DiversityCollection).

For an introduction see the Tutorial

Oct 26, 2026

Subsections of Editing

Diversity Sampling Plots

Backlinks

Video starten

DiversityCollection

Message box To display dataset in the module DiversityCollection that are linked to the current plot, you can activate the query for these data in the menu Data - Scan modules - DiversityCollection (for the specimen) and Data - Scan modules - Images for the images. Please keep in mind that these backward query will increase the response time of the application.

 Specimen

Message box All specimen within the DiversityCollection databases as listed in the connections and linked to the current plot will be listed as shown below.

Message box

Images

To show the images within a certain DiversityCollection database, linked to a plot, in the Message box images tab use the Message box button to connect to the DiversityCollection database. Then all images will be listed as shown below.  

Message box

Use the link beneath the image to show the image in a separate window. The EXIF tab contains the corresponding information of the image.

Oct 26, 2026

Diversity Sampling Plots

Edit Plots

Create or change plots

To create a new sampling plot click at the New icon of the tool bar. A Window will pop up and ask you to enter the identifier of the new plot.

New plot dialog

The new plot will be created and shown on the screen.

New plot window

Now you may edit the parameters and either add a geography of any kind using the GIS-Editor window or a certain point with WGS84 coordinates using the Localisation control.

For the usage of the GIS-Editor please see the Description in the second part of the help file. You may select an appropriate map style, navigate to your region of interrest by shiftig and zooming the map and create it as a background map by clicking the Add button. Then select Point, Line or Area mode and draw your geography on the background map. Add one or more geographies using the Add button. The geographies may be changed later on using the Editmode of the GIS-Editor. Finally save the geography to the database by clicking on the Save button of the GIS-Edit window ( not that of the Query toolbar!). A WGS84 localisation will be created automatically.

Plot geography

Alternatively you may create a WGS84 localisation using the New button in the Localisation tab below the GIS-Edit window. A dialog will pop up.

Plot geography

Select “Coord. WGS84” from the drop down list and then press the OK butten. The new localisation will be shown in the list of the Localisation tab.

Plot geography

Select the localisation in the list and click at the MaltaCross button. The coordinates window as known from other DiversityWorkbench modules will be shown.

Plot geography

Shift the map using the mouse to localise a certain coordinate point with the static cross in the center. Then press the OK button and the coordinate point will be shown in the WGS84 localisation tab.

Plot geography

Additionally an Altitude and a Named area localisation will be created automatically by calling the Geonames web service. Press the Save button of the Query toolbar to save the new localisation.

Oct 26, 2026

Diversity Sampling Plots

Plot hierarchy

The plots may be hierarchical organised as a tree view. The location of the current plot within the hierarchy is displayed in the hierarchy window:

Message box

To add a new plot within the selected plot click on the Messagebox button.

To change to another plot within the hierarchy tree just select the plot in the tree view and click on the Message box button. The new plot will be displayed.

To set the superior plot for the current sampling plot click on the Message box button.

To remove the superior plot for the current sampling plot click on the Message box button.

Oct 26, 2026

Diversity Sampling Plots

Localisation

Different kinds of localisation may be assigned to the sampling plots:

Message box

To add a new localisation for the selected plot click at the Messagebox button. Select the desired kind of localisation from the drop down list and press the OK button.

Message box

Fill up the data fields in the right part of the window. Each kind of localisation can only be assigned once. The list will contain the remaining choices.

Some buttons are provided depending on the selected localisation:
Message box: Open a GoogleMaps window to select the coordinates.
Message box: Convert coordinates to another coordinate system.
Message box: Open an appropriate Diversity Workbench remote module.

To remove a localisation, select it and click at the Messagebox button. The localisation will disappear from the list.

Finally press the Message box item in the Query toolbar to store the localisation for the plot in the database.

Oct 26, 2026

Diversity Sampling Plots

Maps

The results list box displays the current set of plots found by the database query. To show a certain plot on the map, just click at the entry. Due to the coordinates of the place the map will be adjusted to this area and build up. There are 3 choices how to display the plot: Message box Browser, Message box GIS - View and Message box GIS - Edit:

Message box

Message box Browser uses a GoogleMaps window and pins to show the geography of the plot, if any. This is rather fast and interactive, but there is currently no support of areas or line strings and no possibility to display more than one plot.

Message box GIS - View uses the powerful GIS Editor tool of the Diversity Workbench, which can handle all kinds of geographies and display distribution maps of multiple plots. Depending on the internet connection and the map server it can take some seconds until the map tiles have been build. A message box will pop up to advice the user to wait, until the map is complete:

Message box

When all tiles of the background map are drawn, press OK to continue. Then the online map will be scanned and frozen and the plots should appear on the map:

Message box

Be aware that this mode is just a viewer of the GIS Editor’s geography objects. If multiple plots have been selected in the query list box, press the Message box reload button to display them. If you want a certain zoom level for the map, select the Use zoom level check box and adjust the desired level.

Message box GIS - Edit provides all controls and capabilities of the GIS Editor including editing the sample plot. Select a plot in the query list, then the map will be adjusted and a message box will pop up according to the GIS - View mode. Press OK to add the map and the plot to the sample list and display the geography:

Map with all places

Oct 26, 2026

Diversity Sampling Plots

properties

Some kinds of properties may be assigned to the selected sampling plot.

Message box

To add a new property for the selected plot click at the Messagebox button. Select the desired kind of property from the drop down list and press OK.

Message box

Press the Message box button to open an appropriate Diversity Workbench remote module for the property data.

To remove a property, select it and click at the Messagebox button. The property will disappear from the list.

Finally press the Message box item in the Query toolbar to store the properties for the plot in the database.

Oct 26, 2026

Diversity Sampling Plots

Resources

Resources (e.g. pictures) may be assigned to the selected sampling plot.

Message box

To add a new resource click at the Message box button. A browser will open where you can select and add the desired file.

Press the Message box button to open the DiversityAgents remote module, where you may select the responsible for the resource data. Annotations may be entered in the Notes field.

To remove a resource, select it and click at the Messagebox button. The resource will disappear from the list.

Finally press the Message box item in the Query toolbar to store the resource settings for the plot in the database.

Oct 26, 2026

Diversity Sampling Plots

Projects

Every plot can be assigned to any number of projects. To assign a plot to a project click on the  button. To remove it from a project, select the project from the list and click on the  button.

 

If there are projects, to which you have no access to, these will be listed in a separate list at the top as shown below.

 

Details upon the projects within the Diversity Workbench are stored in the database DiversityProjects. To edit the projects you need the application DiversityProjects.exe and access to the database DiversityProjects. If DiversityProjects is not available you can create a new project with the Administration -  Projects … button.

 

Oct 26, 2026

Diversity Sampling Plots

Data in tables

Besides of the main form, the Diversity Workbench provides 2 editors of the data in tabular form:

  • Table editors : Provide single table based access to the data of the query results in the main form
  • Spreadsheets : Provide predefined tabular access including the possibility to query and filter data and can be used as starting form

See a short tutorial for an introduction Video starten with DiversityCollection as an example (Grids are only available in DiversityCollection).

Comparison of tabular forms

Property Table editors Spreadsheets
Range One table Predefined selection of tables
Query Depending on main form Own query
Filter Restricted Direct query in database
Column sequence Fixed Fixed
Start form No Yes
Different versions No Yes
Read only projects No access Read only mode
Data in map No In TK25 sheet

 

Oct 27, 2026

Subsections of Tables

Diversity Sampling Plots

Spreadsheets

The spreadsheets similar to the grids provide a tabular access to the data. In addition you can search and filter data independent from the main form. For an introduction see two short tutorials Video starten (overview), Video starten (tables and columns). To open a spreadsheet, choose Grid - Spreadsheets - and then one of the provided versions, e.g. Organisms from the menu. A window as shown below will open where the data are marked and organized according to the database tables. If values in one of the tables are missing, this will be indicated with a grey background. The colors correspond to the overview for the database.

Start

To use any of the spreadsheets as a starting window, click on the  button. Now the application will directly open the spreadsheet with the same parameters when you close it. Video starten

 

Database

To change to another database, click on the button and choose the database as described here. Please keep in mind that the main form will connect to the new selected database. 

 

Project

If a user has read only projects available, a button will appear in front of the project. Click on this button to change to the list of projects with read only access. The window will change into the Read only mode (see below). To return to the list of projects with write access, just click no the button again. After changing the source for the project list, the project label will blink with red to remind you, to select a project from the list. Video starten

 

Getting the data

The data are always restricted to one project, selected in the corresponding field (see image above) and restricted to the first top lines as specified in the Max. res. field. To change to the next or previous block of data, use the resp. button. 

The program will organize the data in blocks indicated by the colors as shown above. In the example above the first block contains 2  Organisms all belonging to the block starting with  Hildesheim... for the Event and M-0014196 for the Specimen. The next block then starts with  Hildesheim... indicated by a change in the color containing 2 Organisms. For most of the spreadsheets, the presence of the Event in the data is a prerequisit. As long as you do not sort or filter the data (see below), these blocks will be consistent with the data. As soon as you filter or sort the data, these blocks may be split and may not correspond to the data blocks in the database any more. In the example below you see the effect of sorting by the column Taxon on breaking up the blocks. E.g. the block for the specimen M-0036950 is split into 2.

 

SQL

The query used for the retrieval of the data can be accessed with a click on the SQL button.

 

Filtering

To filter the content of a table you can apply a filter either on the whole table or on each of the columns of the table.

Table filter

This filter will apply on the whole table. Click in the black box next to the filter area and select one of the filter options as shown below.

  • ♦: Filled (all visible columns)
  • ◊: Empty (all visible columns)
  • •: Data in table do exist
  • Ø: Data in table do not exist

Tutorial:

Column filter

Tutorial: Video starten

This filter will apply on a single column of a table. To set a filter click in the field underneath the column name. A window as shown below will open. With a click on the add button you can enter a value from the current content of the column as filter.

Here you set the sorting (see below), enter the search string and choose among several ways of comparison with the contents in the database:

  • =: The content must be exactly like the given value
  • ≠: The content must be different to the given value
  • ~: The content must be similar to the given value, use wildcards % for any string or _ for a single character
  • ¬: The content must NOT be similar to the given value, use wildcards % for any string or _ for a single character
  • <: The content must be smaller than the given value
  • >: The content must be bigger than the given value
  • |: The content must be in a given list of values
  • ∉: The content must NOT be in a given list of values

For columns linked to modules of the DiversityWorkbench there may be additional options. E.g. for a column linked to DiversityTaxonNames you get 3 additional options:

  • +H: Include lower Hierarchy
  • +S: Include Synonyms
  • +H+S: Include lower Hierarchy and Synonyms

After selecting one of these options, you will be asked for the database and the project where the data should be taken from. In the next step the corresponding names as retrieved from the selected source will be listed (see below). To change the filter click on the button and on the delete button to remove it.

Sorting

↓↑ Tutorial: Video starten

The data can be sorted by each visible column. If you click into the field underneath the column name a window will open as described above. To change between the modes of sorting, just click on the current sorting. The modes are:

  • -: Not sorted
  • ↑: Sorted in ascending sequence
  • ↓: Sorted in descending sequence

After all parameters are set, the sort mode and filter settings will be shown in the field underneath the column name (see image below). The number indicates the sequence within the sorting columns.

 

Timeout

After all parameters are set, click on the button. If for any reason you get a timeout, meaning the query for the data takes too long, either simplify your query or adapt the time for the query after a click on the button. If you do not want to restrict the time for the queries, set the value to 0. The default value is 30 seconds. 

 

Read only mode

<> Tutorial: Video starten

The formatting of the sheet including the color indication of tables and data blocks is rather time consuming. If these are not needed, e.g. for exporting the data, you can switch to the Read only mode for higher performance. For projects with read only access (see above), the mode is automatically set to Read only. 

 

Editing

Video starten

To edit the data, just change them. If data are missing, type or select a value in the corresponding field. To remove data, click on the x field. This will remove all entries dependent on this entry that means all data right from the entry in the same line resp. block and any depending data. If there are any depending data, a window will open as shown below listing these data. Click OK if you want to remove the selected data including all depending data as shown in the window.

 

To change the content of several values in a column, either select the whole column with a click on the  button or select the fields manually. To avoid the pop-up of data-entry windows e.g. for columns with a lookup list, click no the button. Once you have selected the contents to change, select the mode of change:

  • Prepend: Insert the given value at the beginning of the content
  • Append: Append the given value at the end of the content
  • Overwrite: Remove current content and insert given value
  • Replace: Replace a string in the content with the given value
  • Clear: Remove the content

After selecting the change mode, enter the text in the field where necessary and click on the corresponding button to perform the changes.

With the context menu (mark area and right click) you can Remove data (for single data fields with a list behind), Tranfer or Copy the content into the clipboard and Insert the content of the clipboard into the selected cells. Tutorial: Video starten

Locked columns

Columns that can not be edited are indicated with a lighter background color of the header and a gray text of title and content. These columns contain e.g. database generated content or data from lookup tables.

Inclusion of RowGUID

By default the primary key can not be changed in the spreadsheet. In some cases you may want to change parts of the primary key. To do this, you must include the column RowGUID in the list of selected columns. The program will ensure that the changed data do not collide with existing data, that is having the same primary key. See an example in a short tutorial:

 

Fixed sources

Tutorial: Video starten

For columns that are linked to a remote module, you can fix the source for the query. If the source is fixed, the query will directly contact the source as shown in the image below. To set resp. change the source, click on the button. A window will open where you can select either a webservice or a source database together with a project within the database. To remove the source, click on the button (only visible if a source is present).

To see an overview for the fixed sources, click on the button. A window will open where all sources are listed with the source for the current column marked with a yellow background. 

 

A "right-click" on the button in the main form will show the settings as well and with a click on the button you can set the connection for the selected column. If a column depends on values from the data as for example the relations to the module DiversityTaxonNames with a dependence on the taxonomic group, the relation will change with the selected row, depending on the data retrieved from the selected row. If there is no connection to the related module defined, the button will appear gray and if the column has no relation to a module, the button will appear like

If the source is not fixed the query will start as described here.

Settings

- To change the data shown in the query results, either click on the header of the tables, e.g. Event for that table. A window as shown below will open where you can select or deselect columns, change their headers etc. Red columns need to be filled (either by the database, the program or the user). In the Alias field you can rename the columns to your preferences. The button will show a description of the columns. For columns linked to a module, the current settings for the link will be shown in addition to the description. To display a column in the sheet use the checkbox . If a column is needed, but should be hidden, select the checkbox. Displayed columns are indicated by a yellow background while hidden columns get a light yellow background. Certain columns are required (indicated by a purple color) and can not be removed e.g. if they are involved in a link to a remote module like in the example below the columns FamilyCache and OrderCache. Columns linked to a module are indicated by a blue color.

The button allows you to include one of the tables missing in the sheet (see image below). After selection of the table, select the column(s) you want to include in the sheet as shown in the image above.

To store resp. load settings, use the resp. button. If a setting file has been corrupted click on the delete button to remove it and restart with factory settings. The spreadsheet will always start with the previous settings. The location where the settings are stored are set under Administration - Resources directory ... . For an introduction see a short tutorial Video starten.

 

Column width

Tutorial: Video starten

The width of the columns can be set manually (in the filter area) or automatically with a click on the button. A window will open where you can choose and set the parameters for setting the column width.

 

Adding

Tutorial: Video starten

To add new data, use the area underneath the data table. You can enter preset values that will be used for the new data. If the new data should be added to existing entries, select the corresponding row. Then click on the + field of the datarange that should be inserted. If preset values are given, all corresponding tables will be filled together with the new inserted data. Defaults for the responsibles can be set under Administration - Customize Display. If a column is linked to a remote module, the corresponding columns will be filled together with the selection of the link, so e.g. if you select a link for a taxonomic name to a DiversityTaxonNames the columns for the taxon and if available the familiy etc. will be filled as well. To remove a linked value, select it a choose Remove from the context menu (right click).

Export

Tutorial: Video starten

To export the data as a tab separated text file (UTF8), click on the button. You will be asked if you want to include the hidden columns. These are the primary keys you may need for statistic evaluations etc.

Feedback

To send a feedback to the developer of the software, create a screenshot and click on the  button. 

Details

Tutorial: Video starten

To see all details of a dataset, select the dataset in the sheet and click on the DWB button. A window, corresponding to the main form will open, showing all data related to the selected specimen. 

 

Image

Tutorial: Video starten

If an image is present a preview will be shown in the right upper area of the window. Click on it to see the image in a separate form. The images are restricted to the first image of one source, so e.g. in the organisms sheet only the first image of the specimen linked with this organism will be shown while images of e.g. linked to none or another organism or the collection event will not be addressed. 

Oct 27, 2026

Diversity Sampling Plots

Table Editors

For the data selected in the main window the table editors offer a direct access to the tables of the database. The menu Data - Table editors provide an editor for selected tables within the database.

A window with the content of the table will open. Columns with a gray background can not be edited here. Columns with a light gray background are linked to the contents of lookup tables where you can change according to the contents of these tables.

Select Set timeout ... from the menu to increase the default timeout from 5 seconds to a higher value, e.g. for greater amounts of data.  

Editing

You can either edit the contents of the table directly or perform changes to any number of marked fields. To mark a whole column use the  button. Once you have selected the contents to change, select one of the modes of change that appear in the upper left corner. The modes of change are:

  • Insert: Insert the given value at the beginning of the content
  • Append: Append the given value at the end of the content
  • Replace: Replace a string in the content with the given value
  • Clear: Remove the content

After selecting the change mode, enter the text in the field where necessary and click on the corresponding button to perform the changes

Deleting

If you select whole lines, a delete button will appear. Click on it to remove the selected datasets from the database.

Filtering

To filter the content of the table, click in the column that should be used for filtering. Then choose the mode of comparision:

  • = : The content must be exactly like the given value
  • ~ : The content must contain the given value
  • ≠ : The content must be different to the given value

If you want the filtering to be case sensitive, choose the a<>A option. After all parameters are set, click on the filter button. To undo the filtering, click on the button. This will reset the data to the last saved version. If you want your changes to be saved, click the button before you reset the filtering. If you close the window all changes so far will be saved automatically. So if you do not want to save your changes, click on the button before closing the window.

Export

To export the data as a tab separated text file, click on the button. The file will be automatically saved in the client-folder.  

To export the data in a SQLite database click on the button. The data will be exported into the SQLite database DiversityAgentTables.sqlite in the folder Export in your application directory. If you want to save previous exports, please rename the SQLite database or copy it to a different directory.  

Log data

To see the log data of the table, you can click on the button. The content of the log table can not be changed, but is read only.  

Oct 27, 2026

Diversity Sampling Plots

Import Export

  • Export

    Export options of the software

  • Import

    Import options of the software

  • Replication

    Replication

    The chapter below refers to DiversityCollection but is valid for DiversityAgents as well.

    Replication

    If you wish to work with your data on a local database (called subscriber), e.g. on your laptop, not linked to a database on a central server (called publisher) and these data should be synchronized with the data in the database on the server, you may use the replication function of DiversityCollection. To install the database on your local computer see the installation section.

Oct 26, 2026

Subsections of Import Export

Diversity Sampling Plots

Replication

The chapter below refers to DiversityCollection but is valid for DiversityAgents as well.

Replication

If you wish to work with your data on a local database (called subscriber), e.g. on your laptop, not linked to a database on a central server (called publisher) and these data should be synchronized with the data in the database on the server, you may use the replication function of DiversityCollection. To install the database on your local computer see the installation section.

To use the replication function you require the roles Replicator or Administrator.

Add Publisher

To define a publishing database choose Data → Replication → Add Publisher from the menu. A window will open where you choose the publisher. After the publisher is set, you may transfer data between your local database (subscriber) and the publisher. This function is only available for administrators.

Remove Publisher

To remove a publisher from the list choose Data → Replication → [Publisher] → Remove from the menu (where [Publisher] is the name of the publishing database on the publishing server). This function is only available for administrators.

Clean database

Initially you may wish to remove all previous data from your local database (subscriber). Choose Data → Replication → Clean database … from the menu. A window will open as shown below where you may choose the ranges which should be cleared:

  • Definitions = the basic definitions within the database, e.g. the available taxonomic groups.
  • Descriptions = the descriptions and their translations of the tables and columns of the database.
  • Project, User = the available projects and users.
  • Basic data = basic data like the collection.
  • Data = the specimen, organisms etc.

Choose the data ranges you wish to clear and click on the button. All tables which contain data will be listed as shown below.

 

Choose the tables which should be cleared and click on the Clean database button. Please keep in mind that you can not delete data from a table as long as there is data in a related table depending on the data you wish to delete. The sequence of the tables is organized to avoid these problems.

Download

To download data from the publisher choose Data → Replication → [Publisher] → Download from the menu (where [Publisher] is the name of the publishing database on the publishing server). A form will open as shown below. Choose the project of the data and the data ranges (see above) which you wish to download. Click on the button to list the tables containing data. To start the download click on the Start download button. With the Force download, ignore conflicts option you can decide whether or not the data in your local database (= Subscriber) should be checked for changes before you download the data from the publisher.

If not all data should be included in the replication, you have the option to set a filter. Click on the button for the table where the data should be filtered to set this filter. A window as shown below will open.

All columns of the table will be listed and allow you to set the filter. To inspect the filtered data, click on the button. Click on the button to see the current filter. If a filter is set this will be indicated with a blue background .  

Merge

To merge data from your local subscriber database with the publisher you must first choose a project. Choose Data → Replication → [Publisher] → Merge** from the menu ([Publisher] is the name of the publishing database on the publishing server). As described for the download, choose the data ranges and click on the button. To start the upload click on the Start merge button.

 

Upload

To transfer data from your local subscriber database to the publisher you must first choose a project. Choose Data → Replication → [Publisher] → Upload from the menu ([Publisher] is the name of the publishing database on the publishing server). As described for the download, choose the data ranges and click on the

button. To start the upload click on the Start upload button. With the Force upload, ignore conflicts option you can decide whether or not the data in server (= Publisher) should be checked for changes before you upload the data from your local database (= Subscriber).

As described for the download, data may be filtered with a click on the button (see above).

 

Tools

To fix problems that may interfere with the replication you find some tools under the menu Data → Replication → [Publisher] → Tools… from the menu ([Publisher] is the name of the publishing database on the publishing server). A window will open as shown below.

You may synchronize the RowGUIDs between basic subscriber and publisher tables if for any reason these are differing, e.g. due to manual insert. Choose the table that should be synchronized. The tables will be compared for both publisher and subscriber. The datasets with identical key but different RowGUID will be listed (see above). Click on the Start update button to synchronize the RowGUIDs.  

Conflict

If the transfer of data was successful, the numbers of the transferred data will be shown as below.

During the download or upload a conflict may occur, if the data has been edited in both databases. This will be indicated as shown below.

Click on the button to open a window as shown below where you can choose between the two versions of the data as found in the publisher and the subscriber database.

The conflicting columns are marked red. For text values the program will create a combination of both values (see above) in a merged version of the data. Choose the preferred version of the data and click Solve conflict button. If you can not solve a conflict, use the Ignore conflict or Stop conflict resolution buttons respectively.

 

Report

At the end of each transfer a report will be created with a summary for every table which has been included.

 

Oct 27, 2026

Diversity Sampling Plots

Import

Oct 26, 2026

Subsections of Import

Diversity Sampling Plots

Import wizard

This tutorial demostrates the import of a small file into the database. The following data should be imported (the example file is included in the software):   At the end of this tutorial you will have imported several datasets and practiced most of the possibilities provided by the import wizard. The import is done in 2 steps to demonstrate the attachment functionallity of the wizard.

 Step1 - Import of the collection events

Choose Data → Import → Wizard Sampling plot … from the menu. A window as shown below will open. that will lead you through the import of the data. The window is separated in 3 areas. On the left side, you see a list of possible data related import steps according to the type of data you choosed for the import. On the right side you see the list of currently selected import steps. In the middle part the details of the selected import steps are shown.

 

Choosing the File

As a first step, choose the File from where the data should be imported. The currently supported format is tab-separated text. Than choose the Encoding of the file, e.g. Unicode. The Start line and End line will automatically be set according to your data. You may change these to restrict the data lines that should be imported. The not imported parts in the file are indicated as shown below with a gray background. If the First line contains the column definition this line will not be imported as well. If your data contains e.g. date information where notations differ between countries (e.g. 31.4.2013 - 4.31.2013), choose the Language / Country to ensure a correct interpretation of your data. Finally you can select a prepared Schema (see chapter Schema below) for the import.

 

Choosing the data ranges

In the selection list on the left side of the window (see below) all possible import steps for the data are listed according to the type of data you want to import.

Certain tables can be imported in parallel. To add parallels click on the add button (see below). To remove parallels, use the button. Only selected ranges will appear in the list of the steps on the right (see below).

To import informations of logging columns like who created and changed the data, click on button in the header line. This will include a additional substeps for every step containing the logging columns (see below). If you do not import these data, they will be automatically filled by default values like the current time and user.

 

Attaching data

You can either import your data as new data or Attach them to data in the database. Select the import step Attachment from the list. All tables that are selected and contain columns at which you can attach data are listed (see below). Either choose the first option Import as new data or one of the columns the attachment columns offered like SeriesCode in the table Series in the example below.

If you select a column for attachment, this column will be marked with a blue backgroud (see below and chapter Table data).

 

Merging data

You can either import your data as new data or Merge them wih data in the database. Select the import step Merge from the list. For every table you can choose between Insert, Merge, Update and Attach (see below).

The Insert option will import the data from the file independent of existing data in the database.

The Merge option will compare the data from the file with those in the database according to the Key columns (see below). If no matching data are found in the database, the data from the file will be imported, otherwise the data will be updated..

The Update option will compare the data from the file with those in the database according to the Key columns. Only matching data found in the database will be updated.

The Attach option will compare the data from the file with those in the database according to the Key columns. The found data will not be changed, but used as a reference data in depending tables. 

 

Table data

To set the source for the columns in the file, select the step of a table listed underneath the Merge step. All columns available for importing data will be listed in the central part of the window. In the example shown below, the first column is used to attach the new data to data in the database.

A reminder in the header line will show you what actions are still needed to import the data into the table:

  • Please select at least one column   = No column has been selected so far.
  • Please select at least one decisive column   = If data will be imported depends on the content of decisive colums, so at least one must be selected.
  • Please select the position in the file   = The position in the file must be given if the data for a column should be taken from the file.
  • Please select at least one column for comparision   = For all merge types other than insert columns for comparision with data in the database are needed.
  • From file or For all   = For every you have to decide whether the data are taken from the file or a value is entered for all
  • Please select a value from the list   = You have to select a value from the provided list
  • Please enter a value   = You have to enter a value used for all datasets

The handling of the columns in described in the chapter columns.

 

Testing

To test if all requirements for the import are met use the Testing step. You can use a certain line in the file for you test and than click on the Test data in line: button. If there are still unmet requirements, these will be listed in a window as shown below.

If finally all requirements are met, the testing function will try to write the data into the database and display you any errors that occurred as shown below. All datasets marked with a red backgroud, produced some error.  

To see the list of all errors, double click in the error list window in the header line (see below).

If finally no errors are left, your data are ready for import. The colors in the table nodes in the tree indicate the handling of the datasets: INSERT, MERGE, UPDATE, No difference. Attach, No data. The colors of the table colums indicate whether a colums is decisive , a key column or an attachment column.  

 

Import

With the last step you can finally start to import the data into the database. If you want to repeat the import with the same settings and data of the same structure, you can save a schema of the current settings (see below).

Schedule for import of tab-separated text files into DiversityCollection
Target within DiversityCollection: Specimen
Schedule version: 1 Database version: 02.05.41
Lines: 2 - 3215 First line contains column definition: ?
Encoding: Unicode Language: de

Tables

CollectionSpecimen (CollectionSpecimen)
Parent: CollectionEvent
Merge handling: Insert

Column in table ? Key Copy Pre Post File pos. Transformations Value Source Table
CollectionSpecimenID Database
AccessionNumber ? ? 0 File

IdentificationUnit_1 (IdentificationUnit)
Parent: CollectionSpecimen
Merge handling: Merge

Column in table ? Key Copy Pre Post File pos. Transformations Value Source Table
CollectionSpecimenID Database
IdentificationUnitID Database
LastIdentificationCache ? 2 File
+ 3 File
+ 4 File
+ 5 File
TaxonomicGroup ? fish Interface

IdentificationUnitAnalysis_1_1 (IdentificationUnitAnalysis)
Parent: IdentificationUnit_1
Merge handling: Update

Column in table ? Key Copy Pre Post File pos. Transformations Value Source Table
CollectionSpecimenID Database
IdentificationUnitID Database
AnalysisID 94 Interface
AnalysisNumber 1 Interface
AnalysisResult ? ? 39 File

 Lines that could not be imported will be marked with a red background while imported lines are marked green (see below).

If you want to save lines that produce errors during the import in a separate file, use the Save failed lines option. The protocol of the import will contain all settings acording to the used schema and an overview containing the number of inserted, updated, unchanged and failed lines (see below).

 

 

Oct 26, 2026

Diversity Sampling Plots

Export

  • Backup

    Backup

    The chapter below refers to the module DiversityCollection but is valid for DiversityAgents as well

    If you want to create a backup of your database, there are 2 options. You may either export the data as csv files to your local computer or you may create a backup on the server.

    Export data as csv

    To export your data as csv files to your local computer, choose Data → Export → CSV(bcp) ... from the menu. A window will open as shown below, where you can select the tables that should be exported. Click on the Start Export button to export your data. If you choose the option as shown below 2 files will be created for every table. The first file (*.csv) contains the data while the second file (*.xml) contains the structure of the table.

  • Export Wizard

    Export using the export wizard

Oct 27, 2026

Subsections of Export

Diversity Sampling Plots

Backup

The chapter below refers to the module DiversityCollection but is valid for DiversityAgents as well

If you want to create a backup of your database, there are 2 options. You may either export the data as csv files to your local computer or you may create a backup on the server.

Export data as csv

To export your data as csv files to your local computer, choose Data → Export → CSV(bcp) ... from the menu. A window will open as shown below, where you can select the tables that should be exported. Click on the Start Export button to export your data. If you choose the option as shown below 2 files will be created for every table. The first file (*.csv) contains the data while the second file (*.xml) contains the structure of the table.

Create backup on the server

To create a backup of your database on the server, choose Data → Backup database from the menu. This will create a SQL-Server backup on the server where the database is located. Ensure that there is enough space on the server.

Another option is to create a direct copy of the database files on the server. For this you have to use the functions provided by SQL-Server. However, you need administration rights for the database you want to create a backup of. Open the Enterprise Manager for SQL-Server, choose the database and detach it from the server as shown in the image below.

After detaching the database, you can save a copy of the ..._Data.MDF file to keep it as a backup.

After storing the backup you have to reattach the database.

A dialog will appear where you have to select the original database file in your directory.

Oct 27, 2026

Diversity Sampling Plots

Export Wizard

The export wizard provides a possibility to export the data selected in the main form. The data are exported as tab separated text file. The export may include transformations of the data as well as information provided by linked modules and webservices. Choose Data - Export - Export wizard from the menu and then select one of the export targets (Event, Specimen, ...). For a short introduction see the tutorial.  

Adding tables

There are the following ways to add tables:

  • One parallel table
  • Several parallel tables according to selected data
  • Dependent table

All options will include the depending tables as defined for the default table. The option for several tables will add as many tables as there are found in the data.

If you added parallel tables, you should set the sequence of the datasets within these tables: For the columns that should be used for sorting the data, set the ordering sequence to a value > 0 and choose if the ordering sequence should be ascending or descending .

Certain columns in the database may provide information linked to another table or a module resp. webservice . Click on the button to add a linked value.

Adding and editing file columns

To add columns to the exported file, use the buttons. In the textbox at the top of the file column, you can change the header for the column. To change the position of a file column use the resp. button. To fuse a column with the previous column, click in the gray bar on the left side of the column that will change to for fused columns. To remove a file column, use the delete button. Pre- and postfixes for the columns can directly be entered in the corresponding fields. To apply transformations on the data click on the button.  

Filter

To filter the exported data, use the filter function. Click on the button and enter the text for the filter. Only data matching the filter string will be exported. If a filter is set, the button will have a red background to remind you of the filter. The filter may be set for any number of columns you need for the restriction of the exported data.  

Rowfilter

This filter in contrast to the filter above strictly applies to the row according to the sequence of the data. For an explanation see a short tutorial Video starten.

 

Test

To test the export choose the Test tab, set the number of lines that should be included in the test and click on the Test export button. To inspect the result in a separate window, click on the button.

SQL

If you want to inspect the SQL commands created during the test check this option. To see the generated SQL click on the SQL button after the Test export. A window containing all commands including their corresponding tables will be shown.

 

Export

To export your data to a file, choose the Export tab. If you want to store the file in different place use the button to choose the directory and edit the name of the file if necessary. Check the include a schema option if you want to save a schema together with your export. To start the export, click on the Export data   button. To open the exported file, use the button.

 

Export to SQLite

To export your data into a SQLite database, choose the Export to SQLite tab. You may change the preset name of the database in order to keep previous exports. Otherwise you overwrite previous exports with the same filename. To start the export, click on the Export data   button. To view the exported data, use the button.

 

Schema

To handle the settings of your export, choose the Schema tab. To load a predefined schema, click on the open button. To reset the settings to the default, click on the undo button. To save the current schema click on the save button. With the button you can inspect the schema in a separate window.

Oct 27, 2026

Subsections of Export Wizard

Diversity Sampling Plots

Export Wizard Transformation

The exported data may be transformed e.g. to adapt them to a format demanded by the user. Click on the button to open a window as shown below. For an introduction see a short tutorial Video starten.

Here you can enter 6 types of transformation that should be applied to your data. Cut out parts,  Translate contents from the file, RegEx apply regular expressions or Replace text and apply Calculations Σ or Filters on the data from the file. All transformations will be applied in the sequence they had been entered. Finally, if a prefix and/or a postfix are defined, these will be added after the transformation. To remove a transformation, select it and click on the button.

 

Cut

With the cut transformation you can restrict the data taken from the file to a part of the text in the file. This is done by splitters and the position after splitting. In the example below, the month of a date should be extracted from the information. To achieve this, the splitter '.' is added and then the position set to 2. You can change the direction of the sequence with the button Seq starting at the first position and starting at the last position. Click on the button Test the transformation to see the result of your transformation.

With the Start at Pos. option the given splitters will be converted into space (' ') and the whole string starting with the given position will be used (see below).

 

Translate

The translate transformation translates values from the file into values entered by the user. In the example above, the values of the month should be translated from roman into numeric notation. To do this click on the button to add a translation transformation (see below). To list all different values present in the data, click on the button. A list as shown below will be created. You may as well use the and buttons to add or remove values from the list or the delete button to clear the list. Then enter the translations as shown below. Use the save button to save entries and the Test the transformation button to see the result. 

To load a predefined list for the transformation use the   button. A window as shown below will open. Choose the Encoding of the data in your translation source and indicate if the First line contains column definition. Click OK to use the values from the file for the translation.

 

Regular expression

The transformation RegEx using regular expressions will transform the values according to the entered Regular expression and Replace by values. For more details please see documentations about regular expressions.

 

Replacement

The replacement transformation replaces any text in the data by a text specified by the user. In the example shown below, the text "." is replaced by "-". 

 

Calculation 

The calculation transformation Σ performs a calculation on numeric value, dependent on an optional condition. In the example below, 2 calculations were applied to convert 2-digit values into 4 digit years.

 

Filter 

The filter transformation compares the values from the data with a value entered by the user. As a result you can either Export content into file or Export fixed value. To select another column that should be compared, click on the button and choose a column from the file in the window that will open. If the column that should be compared is not the column of the transformation, the number of the column will be shown instead of the symbol. To add further filter conditions use the add button. For the combination of the conditions you can choose among AND and OR. 

 

 

 

 

 

 

Oct 27, 2026

Diversity Sampling Plots

Export Wizard

Tutorial

This tutorial demonstrates the export of a small sample from the database. For an introduction see a short tutorial Video starten.

Choosing the data

In the main form, select the data that should be exported (only the data displayed in the query results are exported).

Exporting the data

Choose Data → Export → Wizard → Organism ... from the menu. A window as shown below will open where the available tables for export are listed in the upper left area. To show the data columns of a table, select this table in the list.

 

Adding additional tables

In this example, we want to add as many parallel identification tables as present in the data. To do this, click on the button of the Identification table. At the end of the list (depending on your data) the additional tables are added (see below).

 

Setting the sequence for the tables

To set the sequence of the Identifications, select the first table and for the column IdentificationSequence set sorting sequence to 1 and the direction for sorting to descending . 

 

Choosing data from linked modules

Some columns provide the possibility to add data from linked tables or modules. In this example we choose the column NameURI linking to the module DiversityTaxonNames (see below).

To provide linked values, click on the button. A window as shown below will open, where you can choose among the provided services.

After the service is selected, you will be asked for the value provided by the service (see below).

Now the selected link is added underneath the column as shown below. You can add as many links as you need for your export.

For some modules there are values that refer to other modules with a name like [Link to ...] as shown in the example below.

If you select one of theses values, you will be asked to select the service or database linked to this modul (see below)

... and then to select one of the provided columns (see below)

Within the form this linked values will be marked as shown below. If several results are retrieved these will be separated with by " | ".

 

Adding columns to the file

To add columns to the exported file, click on the buttons for the columns resp. linked values. In this example select all Family values and the TaxonomicName (see below).

 

Fusing columns

The families should appear as one column and as the sources can exist only once for each identification we can fuse these columns. To do so, click on the delimiters between these columns (see below).

 

Setting the headers

By default the headers for the exported data are set according to the names of the columns in the database. To change this, edit them as shown below where TaxonomicName has been changed to Taxon (see below). For fused columns only the header in the first column will be used.

 

Testing

To test the export, click on the Test export button. The result depends on the content in your data but should look similar as shown below.

 

Export

To finally export the data, choose the Export tab. By default the data will be exported into tab separated file in a directory in the application directory (see below). You can change the directory (click on the button). You can choose the Include schema option to create a schema that you may reuse in a later export.

Oct 27, 2026

Diversity Sampling Plots

Fequently Asked Questions

  • Common
    • How to link to data in DiversityCollection
      • see chapter Verknüpfte Datensätze und Bilder aus DiversityCollection and the video Video starten
        (Beispiel mit verknüpften Daten in DiversityCollection, Detaildarstellung von Datensatz, Bilder in DiversityCollection, Auswahl der Datenbank, mit Organismus verknüpfte Bilder zeigt zusätzlich Name des Taxon, Bild in separater Ansicht).
  • Wartung
    • How to link to site properties from DST
      • see chapter Standorteigenschaften verknüpfen
      • and the video Video starten
        (Vorstellung der Beispieldaten in DSP und DST. Bearbeitung nicht verknüpfter Daten. Erläuterung der Optionen. Suche nach Daten mit übereinstimmenden Werten. Ansicht eines Einzeldatensatzes zur Kontrolle. Aktualisierung der Daten mittels Update. Neuabruf der Daten. Kontrolle im Hauptformular. Änderung der Hierarchie mittels Maintenance. Aufruf bereits verknüpfter Daten. Update der Hierarchie und Kontrolle im Hauptformular).

 

Diversity Sampling Plots

General

May 8, 2025

Subsections of General

Diversity Sampling Plots

License

This manual is copyrighted work licensed under a Creative Commons License.

All material in this manual is the property of the contributing authors and fully copyrighted. By choosing this way of publication, the contributing authors have agreed to license the work under a Creative Commons License permitting reproduction, distribution, and derivative works, requiring attribution, notice, and share-alike, and prohibiting commercial use.

For information about the license of the client software choose Help → Info…

The client software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.

The client software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License (GPL) for more details.

Sep 5, 2025

Diversity Sampling Plots

Internals

For users that need more detailed information about the software including database design etc.

Apr 15, 2025

Subsections of Internals

Diversity Sampling Plots

Maintenance

To synchronize the entries with the module ScientificTerms choose Administration → Database → Maintenance from the menu. A window will open as shown below. On the tab page Synchonizing, you can synchronize the content in DiversitySamplingPlots with the linked resources or search for new links via text.

Linked data

To synchonize the content for linked data select the database, the project, the table and the target for which the entries should be synchronized. There are 2 targets for the synchronization: The term itself and the hierarchy. There is 1 table which may contain links to DiversityScientificTerms: 

Site properties Video starten

To synchronize linked data start the query click on the Search for differences button. Terms with differing content will be listed as shown below.

To include the hierarchy in the comparision, check the Compare hierarchy option as well if the hierarchy derived from [DiversityScientificTerms ]should be from the option Top → Detail or Detail → Top . As shown below 2 more columns will be included, containing the hierarchies in DiversityScientificTerms. 

To establish new connections for terms corresponding to terms in DiversityScientificTerms (see below) click on the Search for identical terms button. All matching terms will be listed. For comparision you may use the text (= default) or the external ID of the term.

As with the query for linked data, you may include the hierarchy. In addition there are two options to restrict the search: Restrict to terms like ... and Restrict to max. results ... .

In the result list you can select the data that should be included in the update in the first column (OK ) by de/selection of single lines or with the buttons Select all resp. Select none. To update the database click on the [Start update] button.

Oct 28, 2026

Diversity Sampling Plots

Database

The database for DiversitySamplingPlots is based on Microsoft SQL-Server 2014 or higher.

Organisation of the data

The central table of the database is SamplingPlot. The image below shows the main tables of the database.

Further details: tables, views, …

Jul 22, 2024

Subsections of Database

Diversity Sampling Plots

TABLES, VIEWS, FUNCTIONS, PROCEDURES, ROLES

The following objects are not included:

  • Logging tables
  • Enumeration tables
  • System objects
  • Objects marked as obsolete
  • Previous versions of objects

TABLES


Table LocalisationSystem

The geographic localisation systems, e.g. coordinates

Column Data type Description Nullable Relation
LocalisationSystemID int Unique ID for the localisation system (= Primary key) NO -
LocalisationSystemParentID int LocalisationSystemID of the superior LocalisationSystem YES Refers to table LocalisationSystem
LocalisationSystemName nvarchar (100) Name of the system used for the determination of the place of the collection, e. g. Gauss-Krüger, MTB, GIS NO -
DefaultAccuracyOfLocalisation nvarchar (50) The default for the accuracy of values that can be reached with this method YES -
DefaultMeasurementUnit nvarchar (50) The default measurement unit for the localisation system, e.g. m, geograpic coordinates YES -
ParsingMethodName nvarchar (50) Internal value, specifying a programming method used for parsing text in fields Location1/Location2 in table SamplingPlotLocalisation YES -
DisplayText nvarchar (50) Short abbreviated description of the localisation system as displayed in the user interface YES -
DisplayEnable bit Specifies if this item is enabled to be used within the database. LocalisationSystems can be disabled to avoid seeing them, but to keep the definition for the future. YES -
DisplayOrder smallint The order in which the entries are displayed. The order may be changed at any time, but all values must be unique. YES -
Description nvarchar (255) Description of the localisation method YES -
DisplayTextLocation1 nvarchar (50) Short abbreviated description of the attribute Location1 in the table CollectionGeography as displayed in the user interface YES -
DescriptionLocation1 nvarchar (255) Description of the attribute Location1 in the table CollectionGeography as displayed in the user interface YES -
DisplayTextLocation2 nvarchar (50) Short abbreviated description of the attribute Location2 in the table CollectionGeography as displayed in the user interface YES -
DescriptionLocation2 nvarchar (255) Description of the attribute Location2 in the table CollectionGeography as displayed in the user interface YES -
RowGUID uniqueidentifier -Default value: newsequentialid() NO -
LogCreatedBy nvarchar (50) Name of user who first entered (typed or imported) the data.Default value: user_name() YES -
LogCreatedWhen datetime Date and time when the data were first entered (typed or imported) into this database.Default value: getdate() YES -
LogUpdatedBy nvarchar (50) Name of user who last updated the data.Default value: user_name() YES -
LogUpdatedWhen datetime Date and time when the data were last updated.Default value: getdate() YES -

Table ProjectUser

The projects a user has access to

Column Data type Description Nullable Relation
LoginName nvarchar (50) The login of the user NO -
ProjectID int The ID of the project the user has access to NO -
RowGUID uniqueidentifier -Default value: newsequentialid() YES -

Table Property

Properties of the site of the sampling plot as stored in DiversityScientificTerms

Column Data type Description Nullable Relation
PropertyID int The ID of the sampling property, Primary key NO -
PropertyParentID int LocalisationSystemID of the superior LocalisationSystem YES Refers to table Property
PropertyName nvarchar (100) Name of the system used for the determination of the place of the collection, e. g. Gauss-Krüger, MTB, GIS NO -
DefaultAccuracyOfProperty nvarchar (50) The default for the accuracy of values that can be reached with this method YES -
DefaultMeasurementUnit nvarchar (50) The default measurement unit for measured properties YES -
ParsingMethodName nvarchar (50) Internal value, specifying a programming method used for parsing text in fields Location1/Location2 in table CollectionLocalisation NO -
DisplayText nvarchar (50) Short abbreviated description of the localisation system as displayed in the user interface YES -
DisplayEnabled bit Specifies if this item is enabled to be used within the database. LocalisationSystems can be disabled to avoid seeing them, but to keep the definition for the future. YES -
DisplayOrder smallint The order in which the entries are displayed. The order may be changed at any time, but all values must be unique. YES -
Description nvarchar (255) Description of the localisation method YES -
LogCreatedBy nvarchar (50) Name of user who first entered (typed or imported) the data.Default value: user_name() YES -
LogCreatedWhen smalldatetime Date and time when the data were first entered (typed or imported) into this database.Default value: getdate() YES -
LogUpdatedBy nvarchar (50) Name of user who last updated the data.Default value: user_name() YES -
LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -
RowGUID uniqueidentifier -Default value: newsequentialid() YES -
PropertyURI varchar (1000) The link to the entry in a DiversityScientificTerms database YES -

Table ReplicationPublisher

For data replication - the links to publishers

Column Data type Description Nullable Relation
DatabaseName varchar (255) The name of the publishing database NO -
Server varchar (255) The name or address of the server where the publishing database is located NO -
Port smallint The port used by the server YES -
LogCreatedWhen datetime Point in time when this data set was createdDefault value: getdate() YES -
LogCreatedBy nvarchar (50) Name of the creator of this data setDefault value: user_name() YES -
LogUpdatedWhen datetime Point in time when this data set was updated lastDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Name of the person to update this data set lastDefault value: user_name() YES -

Table SamplingPlot

A sampling plot with its geographical position and geometry

Column Data type Description Nullable Relation
PlotID int The ID of the sampling plot, Primary key NO -
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key YES Refers to table SamplingPlot
PlotIdentifier nvarchar (500) The identifier or name of the plot NO -
PlotGeography_Cache geography The cached geography of the plot as geographical entry, e.g. as a polygon derived from the geography in table SamplingPlotPoints YES -
PlotGeometry_Cache geometry (MAX) The cached geometry of a sampling plot, e.g. as a polygon derived from the geometry in table SamplingPlotPoints YES -
PlotDescription nvarchar (MAX) A short text, describing the sampling plot YES -
InternalNotes nvarchar (MAX) Internal notes regarding the sampling plot, not published on the web YES -
LogCreatedWhen datetime The time when this dataset was createdDefault value: getdate() YES -
LogCreatedBy nvarchar (50) Who created this datasetDefault value: user_name() YES -
LogUpdatedWhen datetime The last time when this dataset was updatedDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Who was the last to update this datasetDefault value: user_name() YES -
PlotType nvarchar (50) The type of the plot, e.g. trap YES -
CountryCache nvarchar (50) The country where the collection sampling plot is located. Cached value derived from an entry in SamplingPlotLocalisation YES -
RowGUID uniqueidentifier -Default value: newsequentialid() NO -

Table SamplingPlotLocalisation

The geographic localisation of a sampling plot

Column Data type Description Nullable Relation
PlotID int Refers to the ID of SamplingPlot (= Foreign key and part of primary key) NO Refers to table SamplingPlot
LocalisationSystemID int Refers to the ID of LocalisationSystem (= Foreign key and part of primary key) NO Refers to table LocalisationSystem
Location1 nvarchar (255) Either a named location selected from a thesaurus (e. g. ‘Germany, Bavaria, Kleindingharting’) or altitude range or other values (e. g. 100-200 m) YES -
Location2 nvarchar (255) Corresponding value to Location1 e.g. ID or URI of gazetteer or thesaurus YES -
LocationAccuracy nvarchar (50) The accuracy of the determination of this locality YES -
LocationNotes nvarchar (MAX) Notes on the location YES -
DeterminationDate smalldatetime Date of the determination of the geographical localisation YES -
DistanceToLocation varchar (50) Distance from the specified place to the real location of the sampling plot (m) YES -
DirectionToLocation varchar (50) Direction from the specified place to the real location of the sampling plot (Degrees rel. to north) YES -
ResponsibleName nvarchar (255) The name of the agent (person or organization) responsible for this entry. YES -
ResponsibleAgentURI varchar (255) URI of the person or organisation responsible for the data (see e.g. module DiversityAgents) YES -
Geography geography The geography of the localisation YES -
AverageAltitudeCache float Calculated altitude as parsed from the location fields YES -
AverageLatitudeCache float Calculated latitude as parsed from the location fields YES -
AverageLongitudeCache float Calculated longitude as parsed from the location fields YES -
LogCreatedWhen datetime The time when this dataset was createdDefault value: getdate() YES -
LogCreatedBy nvarchar (50) Who created this datasetDefault value: user_name() YES -
LogUpdatedWhen datetime The last time when this dataset was updatedDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Who was the last to update this datasetDefault value: user_name() YES -
RowGUID uniqueidentifier -Default value: newsequentialid() NO -

Depending on:

  • LocalisationSystem
  • SamplingPlot

trgInsSamplingPlotLocalisation


Table SamplingPlotProperty

Properties of the site of a sampling plot

Column Data type Description Nullable Relation
PlotID int The ID of the sampling plot, foreign key and part of primary key NO Refers to table SamplingPlot
PropertyID int ID of the property to which the sampling plot property belongs NO Refers to table Property
PropertyURI varchar (255) URI referring to an external datasource e.g. DiversityTerminology NO -
DisplayText nvarchar (255) The text for the property as shown e.g. in a user interface YES -
PropertyHierarchyCache nvarchar (MAX) A cached text of the complete name of the descriptor including superior categories if present YES -
PropertyValue nvarchar (255) The value of a captured feature e.g. temperature, pH, vegetation etc. If there is a range this is the lower or first value YES -
ResponsibleName nvarchar (255) The name of the agent (person or organization) responsible for this entry. YES -
ResponsibleAgentURI varchar (255) URI of the person or organisation responsible for the data (see e.g. module DiversityAgents) YES -
Notes nvarchar (MAX) Notes about the property of the colletion site. YES -
AverageValueCache float For numeric values - a cached average value according to the YES -
LogCreatedWhen datetime The time when this dataset was createdDefault value: getdate() YES -
LogCreatedBy nvarchar (50) Who created this datasetDefault value: user_name() YES -
LogUpdatedWhen datetime The last time when this dataset was updatedDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Who was the last to update this datasetDefault value: user_name() YES -
RowGUID uniqueidentifier -Default value: newsequentialid() YES -

Depending on:

  • Property
  • SamplingPlot

Table SamplingPlotResource

Resouces of the sampling plot, e.g. images

Column Data type Description Nullable Relation
PlotID int The ID of the sampling plot, foreign key and part of primary key NO Refers to table SamplingPlot
ResourceURI varchar (255) URI referring to the file or link of the resource NO -
ResponsibleName nvarchar (255) The name of the agent (person or organization) responsible for this entry. YES -
ResponsibleAgentURI varchar (255) URI of the person or organisation responsible for the data (see e.g. module DiversityAgents) YES -
Notes nvarchar (MAX) Notes about the resource. YES -
LogCreatedWhen datetime The time when this dataset was createdDefault value: getdate() YES -
LogCreatedBy nvarchar (50) Who created this datasetDefault value: user_name() YES -
LogUpdatedWhen datetime The last time when this dataset was updatedDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Who was the last to update this datasetDefault value: user_name() YES -
RowGUID uniqueidentifier -Default value: newsequentialid() YES -

Depending on:

  • SamplingPlot

Table SamplingProject

The projects to which a sampling plot is related

Column Data type Description Nullable Relation
PlotID int The ID of the sampling plot, foreign key and part of primary key NO Refers to table SamplingPlot
ProjectID int ID of the project to which the sampling plot belongs (Projects are defined in DiversityProjects) NO -
LogCreatedWhen datetime The time when this dataset was createdDefault value: getdate() YES -
LogCreatedBy nvarchar (50) Who created this datasetDefault value: user_name() YES -
LogUpdatedWhen datetime The last time when this dataset was updatedDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Who was the last to update this datasetDefault value: user_name() YES -
RowGUID uniqueidentifier -Default value: newsequentialid() NO -

Depending on:

  • SamplingPlot

VIEWS


View PlotID_UserAvailable

IDs of the plots a user has access to

Column Data type Description Nullable
PlotID int The ID of the sampling plot, Primary key NO

Depending on:

  • ProjectUser
  • SamplingPlot
  • SamplingProject

View ProjectList

The list of the projects a user has access to

Column Data type Description Nullable
Project nvarchar (50) The name or title of the project as shown in a user interface (Projects are defined in DiversityProjects) YES
ProjectID int ID of the project to which the specimen belongs (Projects are defined in DiversityProjects) NO

Depending on:

  • ProjectProxy
  • ProjectUser

View SamplingPlotGeoInfo

Geographical properties of a plot extracted from column PlotGeography_Cache including up to 4 hierarchy levels

Column Data type Description Nullable
Latitude float Latitude of the center of the plot YES
Longitude float Longitude of the center of the plot YES
Accuracy angle varchar (32) maximum angle between the center and the circumference as string YES
AccuracyAngle float maximum angle between the center and the circumference as numeric value YES
AreaM2 float Area in square meters YES
Area varchar (34) Area including unit YES
Geography nvarchar (MAX) Geography of the plot or a parent plot YES
CountryCache nvarchar (50) The country where the collection sampling plot is located. Cached value derived from an entry in SamplingPlotLocalisation YES
PlotID int The ID of the sampling plot, Primary key NO

Depending on:

  • SamplingPlot

View ViewBaseURL

Providing the BaseURL for linked servers

Column Data type Description Nullable
BaseURL varchar (255) Content of function BaseURL YES

Depending on:

  • BaseURL

View ViewDiversityWorkbenchModule

Provides the name of the DiversityWorkbench module as defined in function DiversityWorkbenchModule

Column Data type Description Nullable
DiversityWorkbenchModule nvarchar (50) The name of the DiversityWorkbench module YES

Depending on:

  • DiversityWorkbenchModule

View ViewLocality

Gazetteer data for query

Column Data type Description Nullable
PlotID int Refers to the ID of SamplingPlot (= Foreign key and part of primary key) NO
Locality nvarchar (255) Content of column Location1 YES

Depending on:

  • LocalisationSystem
  • SamplingPlotLocalisation

View ViewSamplingPlot

Providing the content of table SamplingPlot for linked servers with conversion of geography tables to text

Column Data type Description Nullable
PlotID int The ID of the sampling plot, Primary key NO
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key YES
PlotIdentifier nvarchar (500) The identifier or name of the plot NO
PlotGeography_Cache nvarchar (MAX) The cached geography of the plot as geographical entry, e.g. as a polygon derived from the geography in table SamplingPlotPoints YES
PlotGeometry_Cache nvarchar (MAX) The cached geometry of a sampling plot, e.g. as a polygon derived from the geometry in table SamplingPlotPoints YES
PlotDescription nvarchar (MAX) A short text, describing the sampling plot YES
InternalNotes nvarchar (MAX) Internal notes regarding the sampling plot, not published on the web YES
CountryCache nvarchar (50) The country where the collection sampling plot is located. Cached value derived from an entry in SamplingPlotLocalisation YES
PlotType nvarchar (50) The type of the plot, e.g. trap YES

Depending on:

  • SamplingPlot

View ViewSamplingPlotAllLocalisations

Providing the result of SamplingPlotAllLocalisations for linked servers

Column Data type Description Nullable
PlotID int The ID of the sampling plot, Primary key NO
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key YES
LocalisationSystemID int Unique ID for the localisation system (= Primary key) NO
Location1 nvarchar (255) Either a named location selected from a thesaurus (e. g. ‘Germany, Bavaria, Kleindingharting’) or altitude range or other values (e. g. 100-200 m) YES
Location2 nvarchar (255) Corresponding value to Location1 e.g. ID or URI of gazetteer or thesaurus YES
DisplayText nvarchar (255) Short abbreviated description of the localisation system as displayed in the user interface YES

Depending on:

  • SamplingPlotAllLocalisations

View ViewSamplingPlotGeoInfo

Providing the result of SamplingPlotGeoInfo for linked servers

Column Data type Description Nullable
Latitude float Latitude of the center of the plot YES
Longitude float Longitude of the center of the plot YES
Accuracy angle varchar (32) maximum angle between the center and the circumference as string YES
AccuracyAngle float maximum angle between the center and the circumference as numeric value YES
AreaM2 float Area in square meters YES
Area varchar (34) Area including unit YES
Geography nvarchar (MAX) Geography of the plot or a parent plot YES
CountryCache nvarchar (50) The country where the collection sampling plot is located. Cached value derived from an entry in SamplingPlotLocalisation YES
PlotID int The ID of the sampling plot, Primary key NO
URL varchar (285) URL as retrieved from BaseURL + PlotID YES

Depending on:

  • SamplingPlot
  • ViewBaseURL

View ViewSamplingPlotHierarchy5

Basic for for ViewSamplingPlotHierarchy

Column Data type Description Nullable
PlotID int The ID of the sampling plot, Primary key NO
DisplayText nvarchar (3015) - NO

Depending on:

  • SamplingPlot

View ViewSamplingPlotList

Providing the result of SamplingPlotList for linked servers

Column Data type Description Nullable
PlotID int The ID of the sampling plot, Primary key NO
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key YES
PlotIdentifier nvarchar (500) The identifier or name of the plot NO
PlotGeography_Cache nvarchar (MAX) The cached geography of the plot as geographical entry, e.g. as a polygon derived from the geography in table SamplingPlotPoints YES
PlotGeometry_Cache nvarchar (MAX) The cached geometry of a sampling plot, e.g. as a polygon derived from the geometry in table SamplingPlotPoints YES
PlotDescription nvarchar (MAX) A short text, describing the sampling plot YES
InternalNotes nvarchar (MAX) Internal notes regarding the sampling plot, not published on the web YES
DisplayText nvarchar (MAX) The combined Identifiers of the whole hierarchy related to a plot NO

Depending on:

  • SamplingPlotList

View ViewSamplingPlotListForCurrentProject

Providing the result of SamplingPlotListForCurrentProject for linked servers

Column Data type Description Nullable
PlotID int The ID of the sampling plot, Primary key NO
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key YES
PlotIdentifier nvarchar (500) The identifier or name of the plot NO
PlotGeography_Cache nvarchar (MAX) The cached geography of the plot as geographical entry, e.g. as a polygon derived from the geography in table SamplingPlotPoints YES
PlotGeometry_Cache nvarchar (MAX) The cached geometry of a sampling plot, e.g. as a polygon derived from the geometry in table SamplingPlotPoints YES
PlotDescription nvarchar (MAX) A short text, describing the sampling plot YES
InternalNotes nvarchar (MAX) Internal notes regarding the sampling plot, not published on the web YES
DisplayText nvarchar (MAX) The combined Identifiers of the whole hierarchy related to a plot NO
PlotType nvarchar (50) The type of the plot, e.g. trap YES
CountryCache nvarchar (50) The country where the collection sampling plot is located. Cached value derived from an entry in SamplingPlotLocalisation YES
ProjectID int The ID of the project the user has access to NO

Depending on:

  • SamplingPlotListForCurrentProject

View ViewTest

Column Data type Description Nullable
spid smallint - NO
ecid smallint - NO
status nchar (30) - NO
loginame nvarchar (128) - YES
hostname nchar (128) - NO
blk char (5) - YES
dbname nvarchar (128) - YES
cmd nchar (16) - NO
request_id int - NO

FUNCTIONS


Function BaseURL

Provides the basic address for accessing the database

DataType: varchar (255)


Function DefaultProjectID

The ID of the current project selected by a user or first project available

DataType: int

Depending on:

  • ProjectUser
  • UserProxy

Function DiversityWorkbenchModule

The name of the module within the DWB

DataType: nvarchar (50)


Function PrivacyConsentInfo

The website providing information concerning the privacy consent

DataType: varchar (900)


Function SamplingPlotAllLocalisations

Returns a table that lists all the localisations of a plot included those inherited from a parent plot

Column DataType Description
PlotID int The ID of the sampling plot, Primary key
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key
LocalisationSystemID int Unique ID for the localisation system (= Primary key)
Location1 nvarchar (255) Either a named location selected from a thesaurus (e. g. ‘Germany, Bavaria, Kleindingharting’) or altitude range or other values (e. g. 100-200 m)
Location2 nvarchar (255) Corresponding value to Location1 e.g. ID or URI of gazetteer or thesaurus
DisplayText nvarchar (255) Short abbreviated description of the localisation system as displayed in the user interface

Depending on:

  • LocalisationSystem
  • SamplingPlot
  • SamplingPlotLocalisation

Function SamplingPlotAllProperties

Returns a table that lists all the properties of a plot included those inherited from a parent plot

Column DataType Description
PropertyID int ID of the property to which the sampling plot property belongs
PlotID int The ID of the sampling plot, Primary key
PropertyURI varchar (255) URI referring to an external datasource e.g. DiversityTerminology
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key
DisplayText nvarchar (255) The text for the property as shown e.g. in a user interface
PropertyHierarchyCache nvarchar (MAX) A cached text of the complete name of the descriptor including superior categories if present

Depending on:

  • SamplingPlot
  • SamplingPlotProperty

Function SamplingPlotChildNodes

Returns a result set that lists all the items within a hierarchy starting at the topmost item related to the given item.

Parameter DataType Description
@ID int PlotID for which the children should be returned
Column DataType Description
PlotID int The ID of the sampling plot, Primary key
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key
PlotIdentifier nvarchar (500) The identifier or name of the plot

Depending on:

  • SamplingPlot

Function SamplingPlotGeography

Returns a table that lists all plots togeher with the geography possibly derived from the parent plot.

Parameter DataType Description
@PlotIDs varchar (8000) List of comma separated PlotIDs for which the geography should be returned
Column DataType Description
PlotID int The ID of the sampling plot, Primary key
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key
Geography geography (MAX) Content of column PlotGeography_Cache if available within the hierarchy

Depending on:

  • SamplingPlot

Function SamplingPlotHierarchy

Returns a table that lists all the plots related to the given plot

Parameter DataType Description
@PlotID int The ID of the sampling plot, Primary key
Column DataType Description
PlotID int The ID of the sampling plot, Primary key
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key
PlotIdentifier nvarchar (500) The identifier or name of the plot

Depending on:

  • SamplingPlot
  • SamplingPlotChildNodes

Function SamplingPlotList

Returns a table that lists all the SamplingPlot items related to the given SamplingPlot.

Column DataType Description
PlotID int The ID of the sampling plot, Primary key
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key
PlotIdentifier nvarchar (500) The identifier or name of the plot
PlotGeography_Cache geography (MAX) The cached geography of the plot as geographical entry, e.g. as a polygon derived from the geography in table SamplingPlotPoints
PlotGeometry_Cache geometry (MAX) The cached geometry of a sampling plot, e.g. as a polygon derived from the geometry in table SamplingPlotPoints
PlotDescription nvarchar (MAX) A short text, describing the sampling plot
InternalNotes nvarchar (MAX) Internal notes regarding the sampling plot, not published on the web
DisplayText nvarchar (MAX) The combined Identifiers of the whole hierarchy related to a plot

Depending on:

  • SamplingPlot

Function SamplingPlotListForCurrentProject

Returns a table that lists all the SamplingPlot items related to the given project.

Column DataType Description
PlotID int The ID of the sampling plot, Primary key
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key
PlotIdentifier nvarchar (500) The identifier or name of the plot
PlotGeography_Cache geography (MAX) The cached geography of the plot as geographical entry, e.g. as a polygon derived from the geography in table SamplingPlotPoints
PlotGeometry_Cache geometry (MAX) The cached geometry of a sampling plot, e.g. as a polygon derived from the geometry in table SamplingPlotPoints
PlotDescription nvarchar (MAX) A short text, describing the sampling plot
InternalNotes nvarchar (MAX) Internal notes regarding the sampling plot, not published on the web
DisplayText nvarchar (MAX) The combined Identifiers of the whole hierarchy related to a plot
PlotType nvarchar (50) The type of the plot, e.g. trap
CountryCache nvarchar (50) The country where the collection sampling plot is located. Cached value derived from an entry in SamplingPlotLocalisation
ProjectID int The ID of the project the user has access to

Depending on:

  • DefaultProjectID
  • ProjectList
  • SamplingPlot
  • SamplingProject

Function SamplingPlotSuperiorNodes

Returns a table that lists all the plots related to the given plot

Parameter DataType Description
@PlotID int The ID of the sampling plot, Primary key
Column DataType Description
PlotID int The ID of the sampling plot, Primary key
PartOfPlotID int The ID of the plot of which the current plot is a part of, Foreign key
PlotIdentifier nvarchar (500) The identifier or name of the plot
PlotHierarchyCache nvarchar (4000) The combined Identifiers of the whole hierarchy related to a plot

Depending on:

  • SamplingPlot

Function UserID

ID of the User as stored in table UserProxy

DataType: int

Depending on:

  • UserProxy

Function UserName

Name of the User as stored in table UserProxy

DataType: nvarchar (50)

Parameter DataType Description
@ID varchar (10) ID of the user

Depending on:

  • UserProxy

Function Version

The version of the database

DataType: nvarchar (8)


Function VersionClient

The version of the client compatible with the database

DataType: nvarchar (11)


PROCEDURES


Procedure procGetSiteProperties

Depending on:

  • SamplingPlot
  • SamplingPlotProperty

Procedure procInsertSamplingPlotCopy

Creation of a copy of a dataset in table SamplingProject including the content in depending tables

Parameter DataType Description
@PlotID int The ID of the sampling plot, Primary key
@OriginalPlotID int The ID of the original plot
@PlotIdentifier nvarchar (50) reserved for future, not used in current version

Depending on:

  • SamplingPlot
  • SamplingPlotLocalisation
  • SamplingPlotProperty
  • SamplingPlotResource
  • SamplingProject

Procedure ProcSamplingPlotLocalisationAll

Depending on:

  • LocalisationSystem
  • SamplingPlot
  • SamplingPlotLocalisation

Procedure SetUserProjects

Create database user and assign training projects

Parameter DataType Description
@User varchar (50) database user to assign training projects for

Depending on:

  • UserProxy

ROLES

Content of cell Permission
Not granted
Name of other role Inherited from other role
• Granted

Role DataManager

Permissions as Editor but with permission to delete data in table SamplingPlot

Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
LocalisationSystem Diversity Workbench User TABLE
LocalisationSystem_log TABLE
ProjectUser Diversity Workbench User TABLE
Property Diversity Workbench Editor TABLE
Property_log TABLE
ReplicationPublisher Diversity Workbench Editor TABLE
SamplingPlot Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor • TABLE
SamplingPlot_log TABLE
SamplingPlotLocalisation Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingPlotLocalisation_log Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingPlotProperty Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingPlotProperty_log Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingPlotResource Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingPlotResource_log TABLE
SamplingProject Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingProject_log Diversity Workbench Editor Diversity Workbench Editor TABLE
PlotID_UserAvailable Diversity Workbench User VIEW
ProjectList Diversity Workbench User VIEW
SamplingPlotGeoInfo Diversity Workbench User VIEW
ViewBaseURL Diversity Workbench User VIEW
ViewDiversityWorkbenchModule Diversity Workbench User VIEW
ViewLocality Diversity Workbench User VIEW
ViewSamplingPlot Diversity Workbench User VIEW
ViewSamplingPlotAllLocalisations Diversity Workbench User VIEW
ViewSamplingPlotGeoInfo Diversity Workbench User VIEW
ViewSamplingPlotHierarchy5 Diversity Workbench User VIEW
ViewSamplingPlotList Diversity Workbench User VIEW
ViewSamplingPlotListForCurrentProject Diversity Workbench User VIEW
ViewTest VIEW
BaseURL Diversity Workbench User FUNCTION
DefaultProjectID Diversity Workbench User FUNCTION
DiversityWorkbenchModule Diversity Workbench User FUNCTION
PrivacyConsentInfo Diversity Workbench User FUNCTION
SamplingPlotAllLocalisations Diversity Workbench User FUNCTION
SamplingPlotAllProperties Diversity Workbench Editor FUNCTION
SamplingPlotChildNodes Diversity Workbench User FUNCTION
SamplingPlotGeography Diversity Workbench User FUNCTION
SamplingPlotHierarchy Diversity Workbench User FUNCTION
SamplingPlotList Diversity Workbench User FUNCTION
SamplingPlotListForCurrentProject Diversity Workbench User FUNCTION
SamplingPlotSuperiorNodes Diversity Workbench User FUNCTION
UserID Diversity Workbench User FUNCTION
UserName Diversity Workbench User FUNCTION
Version Diversity Workbench User FUNCTION
VersionClient Diversity Workbench User FUNCTION
procGetSiteProperties PROCEDURE
procInsertSamplingPlotCopy Diversity Workbench Editor PROCEDURE
ProcSamplingPlotLocalisationAll PROCEDURE
SetUserProjects PROCEDURE
Inheriting from roles:
  • DiversityWorkbenchEditor

Role DiversityWorkbenchAdministrator

Role with full permission to the content

Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
LocalisationSystem Diversity Workbench User TABLE
LocalisationSystem_log • • TABLE
ProjectUser • • • TABLE
Property Diversity Workbench Editor • • • TABLE
Property_log • • TABLE
ReplicationPublisher • • • • TABLE
SamplingPlot Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor • TABLE
SamplingPlot_log TABLE
SamplingPlotLocalisation Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingPlotLocalisation_log Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingPlotProperty Diversity Workbench Editor • • • TABLE
SamplingPlotProperty_log Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingPlotResource Diversity Workbench Editor • • • TABLE
SamplingPlotResource_log TABLE
SamplingProject Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
SamplingProject_log Diversity Workbench Editor Diversity Workbench Editor TABLE
PlotID_UserAvailable Diversity Workbench User VIEW
ProjectList Diversity Workbench User VIEW
SamplingPlotGeoInfo Diversity Workbench User VIEW
ViewBaseURL Diversity Workbench User VIEW
ViewDiversityWorkbenchModule Diversity Workbench User VIEW
ViewLocality Diversity Workbench User VIEW
ViewSamplingPlot Diversity Workbench User VIEW
ViewSamplingPlotAllLocalisations Diversity Workbench User VIEW
ViewSamplingPlotGeoInfo Diversity Workbench User VIEW
ViewSamplingPlotHierarchy5 Diversity Workbench User VIEW
ViewSamplingPlotList Diversity Workbench User VIEW
ViewSamplingPlotListForCurrentProject Diversity Workbench User VIEW
ViewTest VIEW
BaseURL Diversity Workbench User FUNCTION
DefaultProjectID Diversity Workbench User FUNCTION
DiversityWorkbenchModule Diversity Workbench User FUNCTION
PrivacyConsentInfo Diversity Workbench User FUNCTION
SamplingPlotAllLocalisations Diversity Workbench User FUNCTION
SamplingPlotAllProperties Diversity Workbench Editor FUNCTION
SamplingPlotChildNodes Diversity Workbench User FUNCTION
SamplingPlotGeography Diversity Workbench User FUNCTION
SamplingPlotHierarchy Diversity Workbench User FUNCTION
SamplingPlotList Diversity Workbench User FUNCTION
SamplingPlotListForCurrentProject Diversity Workbench User FUNCTION
SamplingPlotSuperiorNodes Diversity Workbench User FUNCTION
UserID Diversity Workbench User FUNCTION
UserName Diversity Workbench User FUNCTION
Version Diversity Workbench User FUNCTION
VersionClient Diversity Workbench User FUNCTION
procGetSiteProperties PROCEDURE
procInsertSamplingPlotCopy Diversity Workbench Editor PROCEDURE
ProcSamplingPlotLocalisationAll PROCEDURE
SetUserProjects PROCEDURE
Inheriting from roles:
  • DiversityWorkbenchEditor

Role DiversityWorkbenchEditor

Role for editing the content

Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
LocalisationSystem Diversity Workbench User TABLE
LocalisationSystem_log TABLE
ProjectUser Diversity Workbench User TABLE
Property • TABLE
Property_log TABLE
ReplicationPublisher • TABLE
SamplingPlot • • • TABLE
SamplingPlot_log TABLE
SamplingPlotLocalisation Diversity Workbench User • • • TABLE
SamplingPlotLocalisation_log • • TABLE
SamplingPlotProperty • • • • TABLE
SamplingPlotProperty_log • • TABLE
SamplingPlotResource • • • • TABLE
SamplingPlotResource_log TABLE
SamplingProject Diversity Workbench User • • • TABLE
SamplingProject_log • • TABLE
PlotID_UserAvailable Diversity Workbench User VIEW
ProjectList Diversity Workbench User VIEW
SamplingPlotGeoInfo Diversity Workbench User VIEW
ViewBaseURL Diversity Workbench User VIEW
ViewDiversityWorkbenchModule Diversity Workbench User VIEW
ViewLocality Diversity Workbench User VIEW
ViewSamplingPlot Diversity Workbench User VIEW
ViewSamplingPlotAllLocalisations Diversity Workbench User VIEW
ViewSamplingPlotGeoInfo Diversity Workbench User VIEW
ViewSamplingPlotHierarchy5 Diversity Workbench User VIEW
ViewSamplingPlotList Diversity Workbench User VIEW
ViewSamplingPlotListForCurrentProject Diversity Workbench User VIEW
ViewTest VIEW
BaseURL Diversity Workbench User FUNCTION
DefaultProjectID Diversity Workbench User FUNCTION
DiversityWorkbenchModule Diversity Workbench User FUNCTION
PrivacyConsentInfo Diversity Workbench User FUNCTION
SamplingPlotAllLocalisations Diversity Workbench User FUNCTION
SamplingPlotAllProperties • FUNCTION
SamplingPlotChildNodes Diversity Workbench User FUNCTION
SamplingPlotGeography Diversity Workbench User FUNCTION
SamplingPlotHierarchy Diversity Workbench User FUNCTION
SamplingPlotList Diversity Workbench User FUNCTION
SamplingPlotListForCurrentProject Diversity Workbench User FUNCTION
SamplingPlotSuperiorNodes Diversity Workbench User FUNCTION
UserID Diversity Workbench User FUNCTION
UserName Diversity Workbench User FUNCTION
Version Diversity Workbench User FUNCTION
VersionClient Diversity Workbench User FUNCTION
procGetSiteProperties PROCEDURE
procInsertSamplingPlotCopy • PROCEDURE
ProcSamplingPlotLocalisationAll PROCEDURE
SetUserProjects PROCEDURE
Inheriting from roles:
  • DiversityWorkbenchUser

Role DiversityWorkbenchUser

Role with read only access

Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
LocalisationSystem • TABLE
LocalisationSystem_log TABLE
ProjectUser • TABLE
Property TABLE
Property_log TABLE
ReplicationPublisher TABLE
SamplingPlot • TABLE
SamplingPlot_log TABLE
SamplingPlotLocalisation • TABLE
SamplingPlotLocalisation_log TABLE
SamplingPlotProperty • TABLE
SamplingPlotProperty_log TABLE
SamplingPlotResource TABLE
SamplingPlotResource_log TABLE
SamplingProject • TABLE
SamplingProject_log TABLE
PlotID_UserAvailable • VIEW
ProjectList • VIEW
SamplingPlotGeoInfo • VIEW
ViewBaseURL • VIEW
ViewDiversityWorkbenchModule • VIEW
ViewLocality • VIEW
ViewSamplingPlot • VIEW
ViewSamplingPlotAllLocalisations • VIEW
ViewSamplingPlotGeoInfo • VIEW
ViewSamplingPlotHierarchy5 • VIEW
ViewSamplingPlotList • VIEW
ViewSamplingPlotListForCurrentProject • VIEW
ViewTest VIEW
BaseURL • FUNCTION
DefaultProjectID • FUNCTION
DiversityWorkbenchModule • FUNCTION
PrivacyConsentInfo • FUNCTION
SamplingPlotAllLocalisations • FUNCTION
SamplingPlotAllProperties • FUNCTION
SamplingPlotChildNodes • FUNCTION
SamplingPlotGeography • FUNCTION
SamplingPlotHierarchy • FUNCTION
SamplingPlotList • FUNCTION
SamplingPlotListForCurrentProject • FUNCTION
SamplingPlotSuperiorNodes • FUNCTION
UserID • FUNCTION
UserName • FUNCTION
Version • FUNCTION
VersionClient • FUNCTION
procGetSiteProperties PROCEDURE
procInsertSamplingPlotCopy PROCEDURE
ProcSamplingPlotLocalisationAll PROCEDURE
SetUserProjects PROCEDURE
Jan 30, 2025

Diversity Sampling Plots

No-SQL Interface

JSON Cache

Databases of the modules provid a No-SQL interface where the data of the main table and the depending tables are merged as JSON.

Table JsonCache

Content of table JsonCache restricted to public available data

Column Data type Description Nullable Relation
ID int Unique ID for the Dataset, Primary key NO ID of the source
URI varchar (500) The URL as combination of BaseURL and ID NO BaseURL and ID of the source
DisplayText nvarchar (500) Representation in the interface NO Main table of the source
LogUpdatedWhen datetime Date and time when the data were last updated NO -
Data json Data related to the current dataset NO -

procFillJsonCache is started by an update trigger trgUpd… of the main table in the database

Interface in clients

All modules provide data via a cache table. In the header of the clients you can inspect the content of the JsonCache with a click on the button. For modules with a difference between local and public data, you can inspect the content of the public data with a click of the right mouse button.

Update

Apart of the update via the Trigger (see below) you can update the JsonCache via the update button underneath the button.

To update the JsonCache for the whole database select Administration - JsonCache… from the menu. a window as shown below will open where you can update the JsonCache for single datasets or the whole database.

Summary

graph TD;
    TaxonName[Main table in database] 
    trgUpdTaxonName[trgUpd.. of main table in database]
    TaxonName --> |Update in table| trgUpdTaxonName
    proc[Procedure procFillJsonCache setting the content in table JsonCache]
    trgUpdTaxonName --> proc
graph TD;    
    Mainform[Main form]
    ButtonShow[Button show JsonCache of current dataset]
    Mainform --> ButtonShow
    Left[Show Data]
    ButtonShow --> |Left click| Left
graph TD;    
    Mainform[Main form]
    Admin[Administration menu]
    Mainform --> Admin
    Cache[JsonCache...]
    Admin --> Cache
    Adminform[Administration form]
    Cache --> Adminform
    AdminUpdateSingle[Update single dataset]
    Adminform --> AdminUpdateSingle
    AdminUpdateDB[Update for whole database] 
    Adminform --> AdminUpdateDB
Jul 16, 2024

Diversity Sampling Plots

Documentation

Tools for the database documentation

These are the tools to describe the parts of the database and create documentations of the structure. To use these tools, choose Administation - Database - Documentation… from the menu. A window will open as shown below.

Click on the List objects button to list the objects of the database. With the  button resp. button you can select resp. deselect the types in the type selection and the object in the list.

Select the objects that should be listed all button resp. none button you can select resp. deselect the types in the type selection and the object in the list.

Select the objects that should be included in the documentation:

  • Tables
    • Trigger
  • Views
  • Roles
  • Functions and procedures
  • Context

… and exclude the objects that should not be included in the documentation:

  • Logging tables
  • Enumeration tables
  • Old versions of objects
  • System objects
  • Deprecated objects

 

The button Set default seletion will select all items in the list without:

  • System objects
  • Older version of an object indicated by the number at the last position
  • Logging tables
  • Enumeration tables
  • Objects with a description starting with e.g. outdated, deprecated, obsolete etc.
  • HTML options:
    • include index for objects
    • include NULL / NOT NULL
    • include relations and dependencies
    • include Description
    • exclude standard trigger
    • exclude definition
    • include permissions for *_Enum etc.
    • exclude obsolete columns
    • exclude columns starting or ending with the given strings
    • include list of tables that are depending on a table

The buttons Add to seletion and  Remove from seletion  will use the given strings with * as wildcard to add resp. remove items from the selection.

With the Context  option you can show or hide the context area for the html and media wiki tab as shown above.

HTML, MediaWiki, JSP-Wiki

To create a documentation choose among the provided options and click on the button Create ... documentation to create the documentation in one of the available formats (HTML, MediaWiki, JSP-Wiki). 

Oct 28, 2026

Subsections of Documentation

Diversity Sampling Plots

Documentation

HUGO

In the HUGO / HTML tab you generate markdown files according to HUGO and the relearn theme.

The conversion and adaptions are explained in a short tutorial: Video starten

For enumeration tables the content can be exported as explained in a short tutorial: Video starten

In the tab you can fix links in markdown files according to HUGO shortcodes.

The fixes for broken links are explained in a short tutorial: Video starten

The adaptions for links for HUGO as related references are explained in a short tutorial: Video starten

To map the files in the original links to new files in the documentation follow the steps shown in a short tutorial: Video starten

Installation of HUGO

Update des Themes

um das Theme auf die letzte Version zu bringen kann man den Befehl git submodule update --remote --merge themes/relearn verwenden

Übersetzung des Bestands an html

  • Übersetzung der *.html Seiten mit pandoc in *.md
  • Aufbau einer Ordnerstruktur die dem Index der chm Datei entspricht
  • Das Basisdokument der Ordner wird in die Ordner verschoben und in _index.md umbenannt
    • Dort im Frontmatter steht der Titel der im Menü angezeigt wird, e.g.:
      --- 
      title: Installation 
      ---  

Überarbeitung der md Dateien

  • Korrektur der Bildverweise
    • Ordner mit den Bildern in den Ordner static kopieren
    • von e.g. ![](img/...) in ![](img/...)
    • ACHTUNG - Case sensitiv. Namen müssen stimmen
    • Icons gegebenenfalls freistellen für Darkmode
  • Entfernung aller störenden Formatierungsangaben
  • Entfernung der Kopfzeile (Überschrift wird von HUGO automatisch erzeugt)
  • Korrektur der internen Verweise
    • ändern von [![](img/VideoDE.svg?class=inlineimg)](http://media.snsb.info/Tutorials/dwb/Editing/OeffentlicheKontaktdaten.webm) zu [![Video starten](img/VideoDE.svg?class=inlineimg)](http://media.snsb.info/Tutorials/dwb/Editing/OeffentlicheKontaktdaten.webm)
      • ansonsten wird das Bild gezeigt statt das Video zu starten
    • ändern von
      [Contact](Contact.htm)
      zu e.g.
      [Contact](editingdata/contact)
    • Wenn als Basisadresse in hugo.toml etwas angegeben wurde, e.g. baseURL = "http://www.diversityworkbench.de" dann muss diese auch für Verweise innerhalb der Files verwendet werden.
      • e.g. Bildverweise ![](img/IcoFeedback.gif?class=inlineimg)
      • Dateiverweise [Anmelden](database)
      • HUGO relearn erzeugt für Überschriften Anker die man ansteuern kann, e.g. kann man ### Table **AgentResource** über die Adresse database/database/#table-agentresource erreichen. Ein Index Eintrag dafür wäre e.g. [AgentResource](database/database/#table-agentresource). ACHTUNG - Case sensitiv: ### Table **AgentResource** wird in #table-agentresource übersetzt
    • Kommentare starten mit # ohne folgendes Leerzeichen

Frontmatter

You can change the frontmatter to a default using the documentation tool

  • Steht am Anfang der Datei und ist bei yaml durch --- oben und unten abgegrenzt, e.g.
    ---
    title: Login administration
    linktitle: Logins
    weight: 5
    menuPre: img/Documentation.svg
    alwaysopen: false
    ---
  • Seiten die noch in Entwicklung sind kann man mit draft: true im Frontmatter markieren. Diese werden dann nicht in die Ausgabe übernommen
  • Der Titel wird mit title: Login administration angegeben. Dieser erscheint dann auch in der Seite als Überschrift
  • Der Text im Menü kann abweichend definiert werden mit linktitle: Logins. Ansonsten erscheit der Titel im Menü
  • Die Reihenfolge im Menü kann mit weight: 5 angegeben werden. Ansonsten wird alphabetisch sortiert
  • Ein Logo kann man mit `menuPre: img/LinkedServer.svg
  • Wenn das Untermenue erst beim Anwählen geöffnet werden soll: alwaysopen: false

Template files

Starting with a Dash: If the first line of your Markdown file starts with a dash (-), Hugo might misinterpret it as a YAML delimiter, leading to an error

Bilder

You can adapt the images to a default using the documentation tool

  • Icons die e.g. in den Text integriert werden sollen, müssen folgedermassen eingebaut werden:
    • ![](img/Database.svg?class=inlineimg)
  • Die Bilder am Anfang der Seite werde wie folgt eingebaut:
    • ![](img/LinkedServer.svg?class=headerimg)

mit px wird das Bild mitgezoomt, bei vw bleibt es gleich gross

  • noch nicht zu svg konvertierte Bilder die im Fliesstest erscheinen sollen werden wie folgt eingebunden:
    • ![](img/Delete.svg?class=inlineimg)
  • sonstige Bilder mit
    • ![](img/Delete.svg?class=inlineimg)

mit der Angabe ...lightbox=false wird verhindert, dass ein Bild beim Anklicken mit der Maus geöffnet wird. Dies sollte bei Bildern die nicht nach svg konvertiert wurden und nicht im Fliesstext erscheinen nicht verwendet werden, damit der User bei kleinen Bildern diese in Originalauflösung betrachten kann. Unten 2 Beispiele

![](img/Delete.svg?class=inlineimg)

![](img/Delete.svg?class=inlineimg)

Für Bilder die aus der Quelle fontawesome kommen kann man hier suchen: fontawesome. Es funktionieren nicht alle die dort bereitstehen. Daher bitte testen!

Für Links innerhalb des Manuals kann man shortcodes verwenden. Dafür entweder auf den Namen der Datei oder auf Links von Überschriften (ab ##) verwenden. Diese müssen innerhalb des Manuals eindeutig sein. Für Header als erstes Zeichen # dann Überschrift und alles lower case und Leerzeichen werden durch - ersetzt. Beispiel:

## Main form of diversityexsiccatae

wird zu sofern es sich in der gleichen Datei befindet: 2 x { und % relref "#main-form-of-diversityexsiccatae" % und 2 x }

Für Links ausserhalb der Datei werden Verweise unter Einschluss des Dateinamens verwendet:

Verweis auf ein Kapitel innerhalb einer Datei 2 x { und % relref "diversityexsiccatae#main-form-of-diversityexsiccatae" % und 2 x }

bzw. nur auf die Datei 2 x { und % relref "diversityexsiccatae" % und 2 x }

Leerzeichen zwischen 2 x { und % und % und 2 x } entfernen

Von ausserhalb kann e.g. eine Überschrift mit https://www.diversityworkbench.demodules/diversityexsiccatae/index.html#main-form-of-diversityexsiccatae aufgerufen werden. Diese können direkt aus dem Manual kopiert werden.

  • hierfür das Logo in den Ordner static kopieren
  • im Ordner layouts einen Ordner partials anlegen
  • dort eine Datei logo.html anlegen
    • in dieser auf das Logo verweisen e.g.:
      <h4><b>DiversityAgents</b></h4>
      <img src="/DA_4D.svg">
  • in static - layouts - partials die Datei menu-footer.html anlegen und anpassen

favicon

Im Ordner static den Ordner images anlegen Datei favicon.ico in der Ordner static/images kopieren

Einschliessen von Dateien

Das Verzeichnis templates enthält Dateien die in andere Dateien über eine shortcode eingeschlossen werden können, e.g.:  2 x { und % include file="templates/template_workbench.md" % und 2 x } Diese Dateien dürfen kein frontmatter enthalten. Shortcodes müssen überprüft werden, da diese in der Regel nicht ausgewertet werden.

ER-Diagramm

dieses kann als Mermaid eingebaut werden, e.g.

 
graph LR;
    A[Agent] --> B[AgentContact<br/>Kontaktdaten der Agents]
    A --> C[AgentReference]
    A --> D[AgentIdentifier]
    A --> E[AgentResource]
    A --> F[AgentExternalID]
    G[AgentExternalDatabase] --> F[AgentExternalID]

soll das Diagramm zoombar sein wird die Version 5.23 des Themes benoetigt. Ausserdem kann der Parameter nur für die Shortcode Version angegeben werden, nicht für die Codefences:

2 x { und % mermaid align="center" zoom="true" % und 2 x }
... 
(remove space between 2 x { und  and < resp > and  und 2 x } in header and footer for correct code)
...
2 x { und % /mermaid % und 2 x }

Anpassung des Themes

  • es werden 2 eigene Themes bereitgestellt

    • im Verzeichnes
      • themes
        • relearn
          • static
            • css:
            • theme-dwb-dark.css
            • theme-dwb.css

    diese an DWB Anforderungen anpassen

    • in \themes\relearn\static\css\theme.css
      #body img.inline {
          display: inline !important;
          margin: 0 !important;
          vertical-align: middle;
          /* vertical-align: bottom; */
      }
    • in \themes\relearn\static\css\theme-dwb.css
      /*--MENU-HEADER-BG-color: rgba( 28, 144, 243, 1 );*/ /* Background color of menu header */
      --MENU-HEADER-BG-color: rgba( 220, 220, 220, 1 ); /* Background color of menu header */
      --MENU-HEADER-BORDER-color: rgba( 51, 161, 255, 1 ); /*Color of menu header border */
      

      –MENU-SEARCH-color: rgba( 255, 255, 255, 1 ); /* Color of search field text / /–MENU-SEARCH-BG-color: rgba( 22, 122, 208, 1 );/ / Search field background color (by default borders + icons) / –MENU-SEARCH-BG-color: rgba( 90, 90, 90, 1 ); / Search field background color (by default borders + icons) / /–MENU-SEARCH-BORDER-color: rgba( 51, 161, 255, 1 );/ / Override search field border color / –MENU-SEARCH-BORDER-color: rgba( 0, 0, 0, 1 ); / Override search field border color */

Konfiguration - in hugo.toml:

```native
baseURL = "http://www.diversityworkbench.de"
languageCode = "en-us"
title = "DiversityAgents"
theme = "relearn"

[outputs] home = ["HTML", "RSS", "SEARCH", "SEARCHPAGE"] section = ["HTML", "RSS", "PRINT"] page = ["HTML", "RSS", "PRINT"]

[params] themeVariant = [ "auto", "dwb", "dwb-dark" ]

</code></pre>
<h2 id="start-des-testservers">Start des Testservers:</h2>
<ul>
<li>mit einem Terminal in das Verzeichnis des Projekts wechseln</li>
<li>dort <code>hugo server </code> eingeben.</li>
<li>bei Problem mit Sonderzeichen: den Inhalt der Datei config.toml in hugo.toml kopieren und config.toml löschen (beide sollten wenn vorhanden UTF8 sein - werden manchmal als UTF16 angelegt - dieses dann nach UTF8 ändern)
<ul>
<li>Error: &ldquo;&hellip;\diversityworkbench\hugo.toml:1:1&rdquo;: unmarshal failed: toml: invalid character at start of key: ÿ</li>
</ul>
</li>
<li>Im Browser an die angegebene Adresse navigieren, e.g. <code>localhost:1313</code></li>
<li>Wenn als Basisadresse in hugo.toml etwas angegeben wurde, e.g. <code>baseURL = &quot;http://www.diversityworkbench.de&quot;</code> dann muss die passende Adresse eingeben werden also e.g. <code>localhost:1313</code></li>
</ul>
Oct 28, 2026

Diversity Sampling Plots

Data Access

To get access to the data, you have to fulfill several requirements. In DiversitySamplingPlots, you must be a member of one of the user groups. You can only access data, which is listed in the projects you have access to.

Oct 28, 2026

Subsections of Access

Diversity Sampling Plots

Login Administration

To administrate the logins on the database server, their permissions and roles respectively as well as access to projects choose Administration - Database - Logins ... from the menu. A window will open as shown below.

To set the website where information about details concerning the General Data Protection Regulation are shown, click on the button.   

To see the current activity on the server click on the button. A window as shown below will open listing all user related processes on the server.

To administrate the  linked servers, click on the button.   

To send a feedback click on the feedback button.   

 

Statistics

To see the activity of a login click on the button. A window will open as shown below listing all databases and tables together with the time span (From - To) and the number of data sets where any activity of the current login has been found.

 

Creation of login

To create a new login click on the button. A window will open as shown below. A login that should be able to create new logins must to be a System administrator.

Here you can enter the name of the new login, the password and the information about the user which will be stored in a DiversityAgents database. You may either create a new entry in this database or select an existing one: Click on the DWB button to search for a name in the database (see below).

 

Copy a login

To copy a login including all permissions etc. into a new login, select the original login in the list and click on the button.

 

Edit a login

To edit the access for a login on the server select the login in the list. If a login should be disabled , uncheck the enabled checkbox (see below).

All databases on the server will be listed with the current database showing a yellow background. The databases where the login has [no access] will be listed in [gray] while the databases accessible for a login are black.

 

Access of a login to a database

To allow the access to a database select the database from the list and choose database as shown below.

The state and date of the privacy consent according to the General Data Protection Regulation is shown in dependence of the selected database.

Roles of a login in a database

Use the > and < buttons to add or remove roles for the login in the database (see below).

To see the detailed permissions of a role, select it in the list of [Available] roles and click on the button. A window as shown below will open listing all objects in the database the role has permissions for (see below).

As a database owner you can edit the permissions and role memberships with the and buttons. Please keep in mind that any change of the permissions may cause serious troubles and should only be used for testing and bug fixing. The final setting of the permissions should be performed by a proper update script of the database. For every action you will get the code that is to be included in an update script (see below).

 

Projects for a login in a database

Depending on the database you can edit the list of projects accessible for a login (see below). Projects are related to the module DiversityProjects. To get additional information about a project select it in the list and click on the button. 

Starting with database version 02.05.35 next to the projects with full access, a second list provides projects with [Read Only] access (see image below). Use the and buttons to move projects between Accessible and Read Only. If a project is set on [Read Only] a user can still add annotations. Starting with version 4.3.219 a project as a whole can be locked with the restriction of access to read only. For more details see chapter Project administration.

To load additional projects click on the Load projects button. A window will open as shown below. Projects already in the database will be listed in green, missing projects in red (see below). Check all projects you need in your database and click the Start download button.

To see an overview of the users within a project select one of the project in either list and click on the corresponding button . A window as shown below will open listing all users and their roles with access to the selected project.

To add or remove a role for a login, select the corresponding field and choose or from the context menu (see below).

 

Settings of a login in a database

Depending on the database you can edit the settings of a login as shown below.

If you wish to use settings already defined for another login, click on the Search template button. A window (see below) will open where you can choose among the settings defined for logins in the database.

 

Overview for a login

If you want to see an overview of all permissions and project for a login, click on the button. A window as shown below will open. It lists all modules and their databases, the roles, accessible projects and read only projects for a login. 

To copy the permissions and projects of the current login to another login, select the login where the settings should be copied to from the list at the base of the window and click on the button to copy the settings for all databases or the button to copy the settings of the selected database into this login. 

 

Overview for a database

If you see an overview of all user and roles in a database, click on the button. A window a shown below will open. It lists all user, roles and projects in the database. 

To remove a user, select it in the list and click on the button. 

 

Correction of logins

If you select one of the databases, at the base a button may appear. This indicates that there are windows logins listed where the name of the login does not match the logins of the server. This may happen if e.g. a database was moved from one server to another. To correct this, click on the button. A list of deviating logins will be shown, that can be corrected automatically.

If logins with the same name but different server are found, one of them has to be deleted to make the correction possible. You will get a list where you can select those that should be removed.

Select the duplicate logins that should be removed and click OK.

To find users within the database that have no valid login, click on the button. A window as shown below will open, listing the users without a login. Select those that should be removed and click OK. This will include a removal from the collection managers.

 

Oct 28, 2026

Diversity Sampling Plots

Security

A user may be in several groups with diverse rights in the database. Here certain higher groups have all rights of lower groups in addition to special rights for the higher group, e.g. the group User may only read data of certain tables while Typist has the rights of User and additionally may edit the data in certain tables - see overview below.

Summarized overview of some of the groups and their permissions as an example for the module DiversityCollection

Role Permissions in addition to lower role and user group respectively Included rights
Administrator Delete data, edit user permissions DataManager
CollectionManager Administration of collections, handling loans etc. StorageManager
DataManager Delete data, edit image descripton templates Editor
Editor Create new entries and delete details (not entire data sets) Typist
Requester Has the right to place requests for specimen
StorageManager Administration of stored parts, handling loans etc. User
Typist Edit data User
User See the data of the data tables, add annotations

To place a user in one of the groups, select Administration - Database - Logins... from the menu. In the window that will open select a login and a database. The roles available in the selected database will be listed as shown below. Use the > and < buttons to add or remove roles for the login in the database (see below).

To see the detailed permissions of a role, select it in the list of [Available] roles and click on the button. A window as shown below will open listing all objects in the database the role has permissions for (see below).

 

If you are an Administrator you may add a user to one of these groups.

Any user may have access to several projects.

Oct 28, 2026

Diversity Sampling Plots

Project access for user

The accessibility of projects for users can have 4 different states:

  • No access: The current user has no access to the project
  • Accessible: The current user has access to the project
  • [Read only]: The current user has read only access to the project
  • [Locked]: The project is locked. Any user can either none or read only access to the project

To allow the current user access projects use the [ > ] button for the selected project resp. the [ >> ] button for all projects. To revoke access for the current user use the [ < ]  button for the selected project resp. the [ << ] button for all projects. To change the access for a project to read only use the button and the button to remove a project from the read only list.

 

 

Locking of a project

To lock a selected project use the button. For all users the project will be removed from the accessible or read only list and transferred to the locked list. This is only allowed for a database owner (dbo). Please make sure that you really want to lock a project. Any dataset related to this project will be set to read only for all users. For an introduction, please see the a short tutorial Video starten.

To remove the locked state of a project, select the project in the No access list and click on the  button. The selected project will be moved from the locked list into the read only list for those users that had access to the project.

 

Retrieval of projects from DiversityProjects

Details of the projects within the DiversityWorkbench are stored in the database DiversityProjects. To access further information on a project click on the  button. To edit details in projects you require the application DiversityProjects.exe in your application directory and access to the database DiversityProjects. To synchronize the projects listed in DiversityProjects you may use the synchronize function in the user administration window as shown below. If DiversityProjects is not available, you may create a new project by clicking the project button. If DiversityProjects is available, use the synchronize function .

     

Oct 28, 2026

Diversity Sampling Plots

Settings

The settings for the software are stored in a directory created by the application, e.g. C:\Users\[LoginName]\AppData\Local\DiversityWorkbench\[DiversityWorkbenchModule].exe_Url_0he1anjeninqrrxpdywiwnwxaqvlezn3\4.4.13.0 where [LoginName] is the name of the user and [DiversityWorkbenchModule] the name of the Diversity Workbench module e.g. DiversityCollection. This directory contains the file user.config where all settings are stored in xml format. An example for the content in the module DiversityCollection is shown below:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings">
            <section name="DiversityWorkbench.WorkbenchSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <userSettings>
        <DiversityWorkbench.WorkbenchSettings>
            <setting name="ModuleName" serializeAs="String">
                <value>DiversityCollection</value>
            </setting>
            <setting name="GenerateTraceFile" serializeAs="String">
                <value>False</value>
            </setting>
            <setting name="DatabaseServer" serializeAs="String">
                <value>zsm.diversityworkbench.de</value>
            </setting>
            <setting name="IsTrustedConnection" serializeAs="String">
                <value>True</value>
            </setting>
            <setting name="DatabaseName" serializeAs="String">
                <value>DiversityCollection</value>
            </setting>
            <setting name="QueryMaxResults" serializeAs="String">
                <value>100</value>
            </setting>
            <setting name="DatabasePort" serializeAs="String">
                <value>5432</value>
            </setting>
            <setting name="DatabaseUser" serializeAs="String">
                <value>User</value>
            </setting>
            <setting name="ResourcesDirectory" serializeAs="String">
                <value>Home</value>
            </setting>
            <setting name="HowToCopyAppToUserDirectory" serializeAs="String">
                <value>Missing</value>
            </setting>
        </DiversityWorkbench.WorkbenchSettings>
        <DiversityCollection.Forms.FormCollectionSpecimenSettings>
            <setting name="SplitContainerData_SplitterDistance" serializeAs="String">
                <value>270</value>
            </setting>
            <setting name="QueryConditionVisibility" serializeAs="String">
                <value>10000100011000010000000000001000000001100000000000000000000000000001110000110110000000000000000000000000000000000000000000000000000000000000000000000000011100001000000000000000010000000000000000001000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000</value>
            </setting>
            <setting name="ImageDisplay" serializeAs="String">
                <value>Hidden</value>
            </setting>
            <setting name="AskOnExit" serializeAs="String">
                <value>True</value>
            </setting>
        </DiversityCollection.Forms.FormCollectionSpecimenSettings>
    </userSettings>
</configuration>
Aug 9, 2024