Diversity Projects

Scope of DiversityProjects within the Diversity Workbench

DiversityProjects is part of the DiversityWorkbench. Within this framework the application DiversityProject is the module in which the projects are managed. It manages a project’s metadata and access to the data associated with a project. It will also be included in the data publication.

All other modules,e.g. DiversityCollection, access DiversityProjects to retrieve the project metadata. DiversityProjects, in turn, accesses other modules such as DiversityAgents to store and link information about e.g. project participants.

Watch a short German video as an introduction: Video starten.

 

The modules communicate with each other to provide their services for the other modules.

Data managment sectors of the application

Sector Description
Project The project as main focus of the application
Agent A person, institution related to a project
Resource Resources used for the project
References The references related to the project
Identifier IDs of the project
Descriptor Descriptors of the project
License License related to the project
Archive Archives of the project

Usage example

A project is administrated or published by several agents using a list of resources. The project has been published as an archive.

Relations and connections between the various sectors

Jul 3, 2025

Subsections of Projects

Diversity projects

Download

Current version

4.3.0 (2026-10-15)

Download

  • Bugfix for creating a new database
  • Formatting of licence fixed
  • Insert of year restricted to valid values
  • Links to webresources fixed
  • Exception showing resource fixed
  • Transfer in table editor fixed
  • Avoiding loops in hierarchy
  • ReadOnly status fixed
  • Bug setting descriptor type fixed
  • Feedback
    • creation of additional mail fixed
    • Obsolete menu items removed

Upcoming version

4.3.1

  • Bug in optimized Query fixed
  • Links to manual included

Future updates

SQL Server 2016

For this version you need SQL Server 2016 or higher

  • New table JsonCache containing the data related to a project as JSON. In the menu accessible via Administration → Json cache … or in the header click on the Show JsonCache button to see the json cache for the current project.

  • Database updates

    • 02.01.26: Table JsonCache; Views JsonCache_FullAccess and JsonCache_Public; procFillJsonCache; setting Project in function ProjectParents to nvarchar(255); setting Project in function ProjectHierarchy to nvarchar(255); setting Project in function ProjectChildNodes to nvarchar(255);

Previous versions

4.2.1 (2023-05-28)

Download

  • Additional query column Hierarchy

  • Additional query options for presence of agent, license, reference, resource and descriptor

  • Archive: AgentRole included, Bugfix getting table data, several bugfixes restoring archive

  • Table editors: ProjectSettings included and bugfix for editing data

  • Database updates

    • 02.01.25: ProjectArchive etc.: Missing permissions; ProjectUser: Adding ReadOnly for locking a project; ProjectHierarchyAll for listing projects including hierarchy; View_ProjectHierarchyAll: Content of function ProjectHierarchyAll;

4.2 (2023-05-08)

  • Bugfixes in Workbench.dll

 

4.1.59 (2023-03-29)

  • Bugfix remote query
  • Bugfix adding new project
  • Webbrowser replaced with webview in GFBio form
  • Adaption of main form to new size of ProjectDescription
  • Adaption of dataset to new size of ProjectDescription
  • Several bugfixes when setting a project
  • Several bugfixes setting width in many order column query
  • Bugfix transfer previous settings

Database updates

  • 02.01.24: Disabling Regulation in ProjectType_Enum; setting Project.ProjectDescription to nvarchar(MAX); setting ProjectDescription in function ProjectParents to nvarchar(MAX); setting ProjectDescription in function ProjectHierarchy to nvarchar(MAX); setting ProjectDescription in function ProjectChildNodes to nvarchar(MAX);

4.1.58 (2023-03-06)

  • Button for removal of embargo date
  • Bugfix documentation index
  • Bugfix import wizard translation source table
  • Many column query enabled
  • Several new order columns

Database updates

  • 02.01.23: Missing Descriptions; View_ProjectDescriptor and View_ProjectSetting for query; Generic SetUserProjects; ProjectAgentRole_Enum - Data Owner and Source Institution if missing; new function ProjectDataLastChanges; Set types if missing;

4.1.57

  • Icons according to type

Subsections of Download

Diversity projects

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.

 

Jan 22, 2026

Diversity projects

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.
Jul 22, 2024

Diversity projects

Menu

Overview of the menu in DiversityProjects

Connection

  • DatabaseCreate database Create a new DiversityAgents database on the current server
  • Database Database Choose one of the databases available on the server. Only those databases will be listed to which the user has access permission
  • Module connections Edit the connections to the other modules within the Diversity Workbench.
  •  Transfer settings Transfer previous settings IP-Address and port of the server, name of the database, login etc. of a previous version of the client to the current version.
  •  Timeout for database Setting the timeout for queries in the database.
  •  Timeout web requests Setting the timeout for web requests.
  •  Current server activity
  •  Quit Quit the application and stop all processes started by the application

Data

  •  Archive
    •  Administrate archive Administrate the current archives
    •  Create archive Create a new archive
    •  Reset archive Reset the database resp. clear user tables
    •  Restore archive Restore an existing archive
    •  Create schema Create a schema of the database
  • Backup database Backup of the whole database
  • Export
    • Export wizard Export data of the whole database as csv files
    • CSV (bcp) Export data of the whole database as csv files
  •  Import
    •  GFBio Import data from a GFBio project
    •  Import Wizard Import of tab-separated text files
  • Table Editors Edit the data in single tables
    •  Project Edit data of the Project table
    •  Agent Edit data of the ProjectAgent table
    •  Descriptor Edit data of the ProjectDescriptor table
    •  IDs Edit data of the ProjectIdentifier table
    •  IPR Edit data of the ProjectLicense table
    • References Edit data of the ProjectReference table
    •  Resources Edit data of the ProjectResource table
  • Scan modules Scan modules for links to the current dataset
    • DiveristyAgents
    • DiveristyCollection
    • DiveristyReferences
    • DiveristySamplingPlots
    • DiveristyScientificTerms
    • DiveristyTaxonNames

Admininstration

  • OAIP formats opens a form for the administration of the formats used for OAIP
  • OAIP mime types opens a form for the administration of the mime types used for OAIP
  •  Database
    • Documentation Opens a window providing documentation tools for the database
    •   Logins…
    •  Rename database Rename the current database
    •  Set published address Setting the address published for links by other modules
    •  Database tools … Tools for handling the objects in the database (experts only!)
  • Descriptor types opens a form for the administration of the descriptor types
  • Identifier types opens a form for the administration of the identifier types
  • Settings opens a form for the administration of the settings
  • Resources opens a form for the administration resources path
  • Stable identifier opens a form for the administration of the stable identifier

Help

  • Manual Opens the online manual
  • Feedback … a preformatet E-mail for sending feedback
  •   Websites
    • Download applications opens a website where you can download the latest version of the application
    • Information model opens a website with the latest information model
  • Info opens a form with information about the current software and database
  • Errorlog handles the errorlog
  • Metadata opens a form showing the medadata of the current project as provided for other modules

Update

  • Update database … Update database to current version
  • Update client … Download latest version of client

 

 

 

 

 

Oct 19, 2026

Query

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

 

Mar 24, 2025

Diversity Projects

Editing

To save the changes in a dataset click on the button.

To undo the changes in a dataset click the undo button. This will recover the original data unless the changes had been saved or changes were done in certain tables or hierarchies were the data must be stored to display the hierarchy.

To create a new entry in the database, click on the  button below the search result listbox. This will create a entry with the specimen and show it in the list.

To copy a specimen, choose it from the list and click on the button .

To delete a dataset click on the button .

Jun 16, 2025

Subsections of Editing

Diversity Projects

Project

DiversityProjects - UI structure

Like all Diversity Workbench modules, the main window of DiversityProjects consists of a search area (left) and an editing area (right) (see the image below).

List all available projects

  1. To list all available projects, click on the button in the middle section of the search area.
  2. All available projects are listed in the Query results / Suchergebnisse list.
  3. To display the metadata of a project, select one in the results list by clicking on it.

 

Database information

Data about the project is stored in the table Project.

Mar 24, 2025

Diversity Projects

Agents

Institutions and editors of the project

You can manage the agents (editors and institutions) associated with a project in the Agents section. To edit, click the Agents tab at the bottom of the editing area (see the image below).

Add and remove an agent

  1. Use the button  to add an agent or the button to remove an agent.
  2. If you want to link an editor to DiversityAgents, click the button .
  3. If you want to remove the link to the module, click the button .
  4. Select the type, either Person or Institution.
  5. You can add one or more roles to an agent, e.g. Author, Data Curator etc.. Therefor click on the button below the Roles label and select a role from the list.
  6. To change the order in the list, use the buttons .

Database information

The data about the agents are stored in the table ProjectAgent.

Mar 24, 2025

Diversity Projects

Archive

Archives of the project

You can manage the archives of a project in the Archives section. To edit, click the OAIP tab at the bottom of the editing area (see the image below).

Add and remove an archive

  1. Use the button  to add an archive or the button to remove an archive.
  2. Archives can be organized in a hierarchy. To add an archive dependent on an existing archive, you have to select the parent archive before you click on the button to add the depending archive. You will be ask if you want to add a dependent project.

Database information

The data about the archives are stored in the table ProjectArchive.

Oct 15, 2026

Diversity Projects

Descriptor

For an introduction see the video Video starten. To add resp. remove descriptors of a project use the and buttons as shown in the image below.

The types Geographical name, Scientific name and Taxon name are linked to modules. As long as the entry is linked to the corresponding modules, the type can not be changed (see below).

To change the type you have to remove the link to the module (see below).

 

To administrate the types of descriptors, choose Administration - Descriptor types… from the menu. A window as shown below will open. The descriptor types provided by the system can not be changed (see below). The types Geographical name, Scientific name and Taxon name are linked to the corresponding modules DiversityGazetteer, DiversityScientificTerms and DiversityTaxonNames.

You can add, remove and edit your own types of the descriptors (see below). Use the add button, to add a new descriptor type, the delete button to remove the selected type and the resp. button to edit the hierarchy.

 

The data for the descriptors are stored in the tables ProjectDescriptor. and ProjectDescriptorElement.

Jun 17, 2025

Diversity Projects

Hierarchy

To hierarchy of the project is shown in the upper part of the form. Click on the button to set the superior project of the current project. To add and remove project related to the hierarchy, use the  and buttons. The current project will be highlighted with a yellow background.

Jun 21, 2024

Diversity Projects

Identifier

Identifier of the project

Identifier related to a project can be administated in the IDs part (see below).

To edit the types of the identifier open Administration - Identifier types… from the menu. A window as shown below will open where you can manage the types available in you database.

As an Administrator you can add and delete types using the and buttons.

Database information

The data for the references are stored in the table ProjectIdentifier.

Mar 24, 2025

Diversity Projects

Licenses

Add or remove licenses to a project

You can manage the licenses which are related to a project in the IPR & Licenses section. To edit, click the IPR&Licenses tab at the bottom of the editing area (see the image below).

Use the   and button to add or remove a license.

Database information

The data about the agents are stored in the table ProjectLicense .

Mar 24, 2025

Diversity Projects

References

Citations and references of the project

Citations and references used or related to a project can be managed in the Citations & References part (see below).

Watch a short German video as an introduction: Video starten.

Add or remove citations and references

As an editor you can add and delete citations and references.

  1. Add a citation using the button or remove a citation using the button .
  2. To convert a citation into a reference or vice versa you can use the resp. button.

Database information

The data for the references are stored in the table ProjectReference.

Mar 24, 2025

Diversity Projects

Resources

Resources like images or data files that are related directly to a project can be administated in the Resources part (see below). As an editor you can add and delete resources using the and buttons.

The data for the resources are stored in the table ProjectsResources.

Oct 19, 2026

Diversity Projects

Settings

Deprecated

The settings are deprecated. Please use Descriptors instead.

For an introduction see the video Video starten.The settings of the project are shown in the lower part of the form. To edit the template for the settings, select Administration - Settings from the menu. A window as shown below will open. Use the button to add a new setting. With the button you can define the superior setting for a selected setting. With the button you can remove the relation to a superior setting for the selected setting. To change the sequence of the settings within a group of settings (having the same superior setting) set the value of the display order (Ord.:) accordingly. With the button a selected setting may be removed again.

To add settings to a project, you choose among the settings defined as described above. To edit the definition of the settings either use the menu as described above or click on the button (see below). Use the and buttons to add or remove a setting. To copy all settings from another project use the button. To change the value of a setting, choose it in the tree and edit the text in the Value textbox above the tree (see below). According to the hierarchy of the projects, settings defined in any project above the current project will be inherited. This is indicated by a brown color of the setting and the [ name of the superior project ]. To overwrite an inherited value just add the same setting in the current project and enter the value that should be used instead of the inherited value, an empty value in case no value should be given.

Nov 19, 2024

Diversity Projects

History

To inspect the history of a dataset click on the history button. A form will open, showing all former states of the data in the tables with the current dataset at the top.

The version will be set automatically. If a dataset is changed the version will be increased if the last changes where done by a different user or the last change is more than 24 hours ago (for further details see topic Logging ).

Jun 16, 2025

Diversity Projects

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 e.g. for Project… and Agent…

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.  

For more details see chapter TableEditors

Jan 14, 2025

Diversity Projects

Import Export

Mar 24, 2025

Subsections of Import Export

Diversity Projects

Archive

Creating an archive

Valid for all modules

This chapter describes the archiving for the module DiversityAgents, but is valid correspondingly in other modules

The data related to a project can be exported into an archive. Choose Data - Archive - Create archive... from the menu. A window as shown below will open.

Select the project you want to create an archive of and click on the Find the data =\\\ button. The data related with the project will be imported into temporary tables to allow you to inspect them in advance of the creation of the archive (use the buttons to see the data). To create the archive, click on the Create the archive button. A directory will be created containing a XML file for every table. For a common introduction see the tutorial: Video starten.

You can include the log data by selecting the option as described in the tutorial: Video starten.

 

Resetting the database

Before you restore an archive, please make sure that the data from the archive do not interfere with the data in the database. In order to avoid problems you should clean the database from any user data. To clear the database from any user data, choose  Data - Archive - Reset database... from the menu. A window as shown below will open listing all tables and the number of data within these tables. Click on the Reset database  button to remove any of these data including any data in the log tables.

 

Restoring an archive

To restore an archive choose Data - - Archive - Restore archive... from the menu. A window as shown below will open listing the tables in the database. To restore an archive click on the Choose archive directory button and select the directory containing the archive files. Next click on the Read data button to import the data from the XML files into temporary tables.

With a click on the buttons you can inspect the content of the temporary tables. Finally click on the Restore from archiv button. If you select the option, the import will ask you for a stop in case of an error.

You can include the log data by selecting the option as described in the tutorial: Video starten.  

Planing

Plan schedule based archive creation

To administrate the schedule based creation of archives choose Data - Archive - Administrate archives... from the menu. A window as shown below will open listing the projects in the database. Select the project that should be included in the schedule based creation of archives. To create an archive for all selected projects, click on the Create archives button. The protocol of a previous archiving is shown as in the image below. Successful runs are indicated with a green color while failures have a red background (see below).

 

Creation of xsd schemata

Next to the data, the archive files contain a xsd description of the tables. To create xsd schemata independent of the content, select Data - Archive - Create schema from the menu. A windows as shown below will open with the list of all tables where the main tables of the database are preselected.

To change this selection you may use the  all and  none buttons resp. the Add to selection  and Remove from selection  options using * as a wildcard. Click on the Create schemata  button to create the schemata for the selected tables in the predefined directory. the  open button will open this directory containing the created files. The schemata contain the name of the DiversityWorkbench module and its version, the definition of the table, the primary key and the colums together with their datatype and description (see the example below).

Creation of archives as a backgroud process

To archive the data in a scheduler based background process, you can start the application with the following arguments:

  • Archive
  • Server of the SQL-server database
  • Port of SQL-server
  • Database with the source data
  • Optional: Directory where the archive directories should be created

C:\DiversityWorkbench\DiversityAgents> DiversityAgents.exe Archive snsb.diversityworkbench.de 5432 DiversityAgents C:\DiversityWorkbench\DiversityAgents\Archive

The application will create the archives, generate the protocols as described above and quit automatically after the job is done. The user starting the process needs a Windows authentication with access to the SQL-Server database and proper rights to archive the data. If the last argument is not given the default directory …\Application directory\Archive\ will be used.

 

 

 

Oct 8, 2026

Diversity Projects

Import

There are two options to import data:

Project

Mar 24, 2025

Subsections of Import

Diversity Projects

Import GFBio

Import data from GFBio online service

For a short introduction see Video starten.

In the menu choose Data - Import - GFBio to open a window as shown below. Enter the login data (User + Password) and the Key of the project. To retrieve the data click on the Connect button. The software will retrieve the data provided for the project as shown below. Information concerning agents will be taken from the selected DiversityAgents database and the project selected within this database. The GFBio portal does not enforce roles for all the agents enter. If you want to add a role for agents where no role has been given in the GFBio portal, you may choose a default.

If you get an error message about missing identifier types, please open Administration - Identifier types… and insert the missing types.

If all needed types are available click Start import to import the data either into an existing project or a new project that you may include in an existing parent project.

Oct 19, 2026

Diversity Projects

Import wizard

The import wizard is the general way to import data into a Diversity Workbench module database. It allows the import from tab separated text files (tsv) into the database tables. The key import steps, the definition of a mapping from tab seperated columns in the text file to the coresponding database table columns, is designed in the import wizard. As the mapping can be sometimes cumbersom to develop, the import wizard allows to save the mapping for repeated import of equaly structured tsv files.

The examples below are from the module DiversityAgents, but are valid for any other module as well.

With the current solution please ensure that there are no concurrent imports in the same database.

With this import routine, you can import data from text files (as tab-separated lists) into the database. A short introduction is provided in a video Video starten. Choose Data → Import → Wizard → Agent 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 choose 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 and Settings

  • File: As a first step, choose the File from where the data should be imported. The currently supported format is tab-separated text. Choosing a file will automatically set the default directory for the import files. To avoid setting this directory, deselect the option Adapt default directory in the context menu of the button to open the file.
  • Encoding: Choose the Encoding of the file, e.g. Unicode. The preferred encoding is UTF8.
    Encoding changed

    Starting with version 4.6 the default encoding changed to UTF8. Please use Windows for old ANSI encodings. The program will try to detect the encoding and warn you if it does not match the current encoding. The detection of the encoding depends on the presence of a BOM and does not work for every file, e.g. ANSI-encoding

  • Lines: 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: The option First line contains the column definition decides if this line will not be imported.
  • Duplicates: To avoid duplicate imports you can Use the default duplicate check - see a video Video starten for an explanation.
  • Language: 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.
  • Line break: With the option Translate \r\n to line break the character sequence \r\n in the data will be translated in a line break in the database.
  • SQL statements: To save all SQL statements that are generated during a test or import, you can check the option Record all SQL statements. Video starten
  • Schema: 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.

The import of certain tables can be paralleled. 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 information of logging columns like who created and changed the data, click on the include logging columns button in the header line. This will include 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 background (see below and chapter Table data).

Merging data

You can either import your data as new data or Merge them with 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. 

Empty content will be ignored e.g. for the Merge or Update option. To remove content you have to enter the value NULL. As long as the column will allow emty values, the content will be removed using the NULL value.

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 which 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 columns, 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 comparison   = For all merge types other than insert columns for comparison 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 your test and then 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 any errors that occurred as shown below. All datasets marked with a red background, 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 columns indicate whether a column is decisive , a key column or an attachment column .  

If you suspect, that the import file contains data already present in the database, you may test this and extract only the missing lines in a new file. Choose the attachment column (see chapter Attaching data) and click on the button Check for already present data. The data already present in the database will be marked red (see below). Click on the button Save missing data as text file to store the data not present in the database in a new file for the import. The import of agents contains the option Use default duplicate check for AgentName that is selected by default. To ensure the employment of this option the column AgentName must be filled according to the generation of the name by the insert trigger of the table Agent (InheritedNamePrefix + ' ' + Inheritedname + ', ' + GivenName  + ' ' + GivenNamePostfix + ', ' + InheritedNamePostfix + ', ' + AgentTitle - for details, see the documentation of the database).

If you happen to get a file with a content as shown below, you may have seleted the wrong encoding or the encoding is incompatible. Please try to save the original file as UTF8 and select this encoding for the import. 

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). You optionally can include a description of your schema and with the button you can generate a file containing only the description.


Schedule for import of tab-separated text files into DiversityAgents

  • Target within DiversityAgents: Agent
  • Database version: 02.01.13
  • Schedule version: 1
  • Use default duplicate check: ✔
  • Lines: 2 - 7
  • First line contains column definition: ✔
  • Encoding: UTF8
  • Language: US

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 according to the used schema and an overview containing the number of inserted, updated, unchanged and failed lines (see below).

Description

- A description of the schema may be included in the schema itself or with a click on the Import button generated as a separate file. This file will be located in a separate directory Description to avoid confusion with import schemas. An example for a description file is shown below, containing common settings, the treatment of the file columns and interface settings as defined in the schema.

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 Agents

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 16, 2026

Subsections of Documentation

Diversity Agents

Documentation

chm

With the chm tab you can generate index and keyword html files as well as markdown files for a website generated out of the hhc and hhk files of the HTML Help Workshop for the creation of chm manual as described in the video .

The button Generate keywords for HUGO creates a text file keywords.txt containing the keywords needed for the HUGO manual in a simple format. A pre- or postfix is set for every module to avoid conflicts. Use the Open button to open the file in a text editor.

Oct 16, 2026

Diversity Agents

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 16, 2026

Diversity Agents

Documentation

MediaWiki

With the MediaWiki tab you can generate markdown files according to MediaWiki.

Oct 16, 2026

Diversity projects

Version

For information about the version of the client application choose Help, Info…

The current version in the example above is 4.0.0 for the client and 2.1.13 for the database

 

 

Jul 22, 2024

Diversity projects

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.

Jul 22, 2024

Diversity projects

Data Access

Access to the data

To get access to the data, you have to fulfill several requirements. In DiversityCollection, 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. For external users data may be blocked by entries in the data withholding reasons or due to a data embargo.

   

Jul 22, 2024

Subsections of Access

Diversity projects

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.

 

Jul 22, 2024

Diversity projects

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.

Jul 22, 2024

Diversity projects

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 .

     

Jul 22, 2024

Diversity projects

Update

Update of database and client

If either the database or the client needs to be updated, the menu will show an additional entry: Update.

Database update

To update the database, choose Update → Update database … from the menu. See chapter Database update for details.

Client update

To update the client, choose Update → Update client … and download the lastest version of the client. ee chapter Update client for details.

Jul 22, 2024

Subsections of Update

Diversity projects

Update Client

Replace the files and folders of your installation of DiversityCollection with the files you received by e-mail or downloaded from the DiversityWorkbench portal. The database will not be influenced by this replacement. After starting the new software you need to transfer the settings of the previous version. When you start the program and connect to a database, the program will check if it is compatible with the database or if the database needs an update. In any of these cases an update entry in the menu will appear. If a new version of the client is available, this menu will contain an update client … entry. Click on it to open the webpage where you may download the client as shown below.

 

Jul 22, 2024

Diversity projects

Update Database

Update database to current version

If you are the owner of the database (Database role = dbo) and the database needs to be updated, the menu will contain an update database … entry. Select this entry to open a window as shown below to run the provided update scripts, delivered with the client software. These scripts need to run consecutively, so e.g. to update from version 2.5.1 to 2.5.4 you either have to run the script DiversityCollectionUpdate_020501_To_020504 or the scripts DiversityCollectionUpdate_020501_To_020502, DiversityCollectionUpdate_020502_To_020503 and DiversityCollectionUpdate_020503_To_020504. The program will guide you through these steps and check for the scripts. All you need to do is click the Start update button. 

Update of all databases on a server

If you are database owner and have a windows login to the database server (user=dbo), you have the option to update all DiversityCollection databases on this server by starting the application with command line parameters. Open a command line window, navigate to the program directory and start DiversityCollection with the keyword “UpdateDatebase”, the server name (or IP address) and the port number:

DiversityCollection.exe UpdateDatabase 127.0.0.1 5432

The program will connect to the server and update all available databases to the current version. If you want to exclude dedicated databases from update, create a text file named “ExcludeDb.txt” that contains the excluded database names - each name in a separate line - and locate it in the resources directory. The update will be done in the background without opening a program window. When the update processing is finished, an overview of the performed actions will be written into the protocol file “Updatereport.log” in directory resources/Updates.

Jul 22, 2024

Diversity projects

Errorlog

If any error messages show up while working with the application, you can find further details concerning the part of the application where the error occurred and the parameters involved in the file e.g. DiversityCollectionError.log in the Module DiversityCollection located in your resources directory.

To open the errorlog, choose Help - ErrorLog from the menu. A window will open showing the content of the errolog. By default the errorlog will be reset at program start. You can keep the errorlog if needed by chossing Help - Errorlog - Keep error log from the menu. A button will appear that allows you to clear the error log manually: Help - Clear ErrorLog.

Oct 16, 2026

Diversity projects

Module connections

Connections between the modules of the Diversity Workbench

The DiversityWorkbench is a set of components for building and managing biodiversity information, each of which focuses on a particular domain. DiversityAgents is referred by several modules. To scan for references from these modules on data in DiversityAgents choose Data - Scan modules - from the menu (see image below).

With these options the program will scan all sources of the selected module as listed in the connections for references to the current agent. After selecting an agent in the tree, the sources of the selected modules together with the linked data will be listed as shown below.

Select a link to see a summary of the linked data (see below).

To get further information about an item click on the button. If so far the path to the respective application has not been set, you will get a corresponding message (see below).

Click on the open button to set the path to the application (see below).

By default the path to the application is C:\Program Files (x86)\DiversityWorkbench\Diversity...\Diversity.…exe as shown.

Jul 22, 2024

Diversity projects

Resources

The resources directory is set via the menu (Administration - Resources).

There are 3 possibilities for the resources directory:

  • Select any directory you have read/write access (User defined)
  • Select the "Home" directory of the user
  • Select the "My Documents" directory of the user

The default is set to Home. This directory will contain all files the user needs access to (see image below as an example for the module DiversityAgents).

Certain directories are hidden (Query) and are handled by the software i.e. the content should not be changed by the user. The other folders are generated by the software if missing, e.g. Export for any exports (see below).

Optional copy

By default all files the software needs from the application directory will be copied into the selected resources directory of the user. You can change this behaviour to one of the options listed below:

  • Copy files at program start
  • Add missing files at program start
  • Do not copy

With the next start of the program the software will act according to the selected behaviour. If you change from the Do not copy option to one of the other options the software will act at once according to the new option and e.g. copy missing directories and files into the user directory.

Oct 19, 2026

Diversity projects

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