Diversity Agents

Scope of DiversityAgents within the Diversity Workbench

DiversityAgents is the module for the administration of agents within the Diversity Workbench. DiversityAgents provides information for other modules like DiversityCollection and DiversityTaxonNames. DiversityAgents keeps only data connected with the handling of agents. Data of other realms like e.g. projects or references are handled in separate modules. For an overview of the available modules see the image below. DiversityAgents might also be used as a stand-alone application.

Data managment sectors of the application

Sector Description
Agent A person, institution etc.
Contacts Contacts of an agent including address, phone number, e-mail etc.
Keyword Keywords characterizing the agent
Project The projects that a agent is a part of
Images Images related to the agent, e.g. a portrait
References The references related to the agent
Hierarchy Additional hierarchies of the agent, e.g. when an agent has contracts in several companies
Relations Relations of the agent, e.g. child of …
Descriptor Descriptors of the agent
Identifier IDs of the agents, e.g. ORCID
External sources Source where the data have been taken or relation to external soucres

Usage example

An agent with several contact addresses (office, private, mobile) is working for two institutions. This agent has been included in several projects and there are images of the agent. The agent has children working in one of the institution. The agent among other identifiers has an ORCID. The instituions where the agent is working for are described with predefined values.

Relations and connections between the various sectors

Main form of DiversityAgents

To start the application double click on DiversityAgents.exe.

The first time you start the application you have to configure the connection to the database (Connection, Server ... ) you want to work with. The header of your form allways shows you, with which database you are working, the version of the client, the database server and your login.

To see the descriptions for the fields of the database, simply move your mouse over it. A tooltip will appear with an explanation of the field.

Where you have to choose items from lists, type the beginning of the item name in the field and then click on the drop down button . This will start a query in the database and list the result in the combobox. If contents can be linked to an other module, click on the  button to start a query in this module.

Jan 24, 2025

Subsections of Agents

Diversity Agents

Download

Current version

4.2.4 (2024-07-30)

Download

  • Deleting selected agents
  • Removing selected agents from project

Updates in DWB Libraries

  • Import wizard with optional translation of \r\n in data into line break

Database updates

DiversityAgentsUpdate_020124_to_020125
  • New titles in AgentTitle_Enum
  • New gender diverse in AgentGender_Enum

Upcoming version

4.3.0

  • Controls for JsonCache removed
  • Fixing width of controls in detail section
  • Links for download and model fixed

Future updates

SQL Server 2016

For this version you need SQL Server 2016 or higher

  • New table JsonCache containing the data related to an agent 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 agent.

Database updates

DiversityAgentsUpdate_020125_to_020126
  • JsonCache
    • New table JsonCache
    • New views JsonCache_FullAccess and JsonCache_Public
    • New procedure procFillJsonCache
    • trgUpdAgent - including update for JsonCache

Previous versions

4.2.3 (2024-06-25)

Download

  • Query: Inclusion of datawithholding and agent gender in query
  • Export wizard included
  • In data menu option to delete selected agents
  • In data menu option to remove selected agents from selected project

4.2.2 (2023-01-08)

Download

  • Editing of enumerations included
  • Bugfix saving data
  • Update of linked data in DiversityCollection and DiversityProjects Video starten
  • Showing first image in header
  • Bugfix client format
  • Images for descriptor types Video starten

 

4.2.1 (2023-07-12)

  • Button to show resp. get URL for Identifier

  • Help provided by online manual

  • Bugfix removing links to external data

  • Visibility of button for removal of synonymy depending on presence of synonymy

  • Showing synonym in interface for linked modules

  • Bugfix missing WebView-Runtimes

  • Database updates

    • 02.01.24: ProjectUser: Adding ReadOnly for locking a project;

4.2

Download (2023-05-08)

  • Bugfixes in Workbench.dll

 

4.1.41 (2023-05-03)

  • Adding query columns ValidFrom and ValidUntil

Datebase updates

  • 02.01.23: AgentContactInformation_Public - avoiding loops; Missing relation between [SynonymToAgentID] and [AgentID] in [dbo].[Agent]; Agent_Core: Adding column ValidFrom and ValidUntil; Missing descriptions;

 

4.1.40 (2023-04-05)

  • Bugfix query for partial available dates

 

4.1.39 (2023-04-03)

  • Hierarchy: ensure visibilty of selected agent
  • Additional query display column Identifier
  • Additional query restrictions for Identifier
  • Setting default for optimizing and remembering of query with context menu
  • New form for setting defaults and loading of linked server connections with start
  • Documentation of database improved
  • Several bugfixes for many order columns

4.1.34

  • Hierarchy: ensure visibilty of selected agent

4.1.35

  • Login administration: Enable setting read only for projects

4.1.36

  • Hierarchy: Ensure result despite loop, prevent building of new loops
  • Enable locking of projects
  • Ensure read only for locked and read only datasets
  • Images display reorganized and bugfix access
  • Login administration: Filter for names
  • Projects
    • Read only
    • Locked
  • Menu:
    • Reconnect to database
    • Client update

4.1.37

  • Contacts: Hiding display order for cumulative address
  • Hierarchies: Explizit message for loops and removal of loops
  • Table editors: Other hierarchies, References, Identifier, Descriptor and Relation added
  • Startup window added
  • Restriction of agent refill when needed
  • Button for removal of synonymy relation in case of loops
  • Button for setting of content language including images for main languages
  • Display of loop in hierarchy
  • Display of loop in synonymy
  • Bugfix adding contact information
  • Bugfix enabling controls according to ReadOnly status

4.1.38

  • Bugfix query for missing dates
  • Query:
    • Multicolumns in result list enabled
    • Query for dates for birth and death included
    • Remember query settings enabled
    • Optimizing enabled
    • Display columns added (Type, City, Country)

 

Datebase updates

  • 02.01.20: ProjectUser: new column [ReadOnly]; New view PublicIdentifier showing public content of AgentIdentifier; Table AgentDescriptor - FK for DescriptorType if missing;
  • 02.01.21: ProjectList: Add ReadOnly; Ensure result despite of loops for functions AgentChildNodes, AgentTopID, AgentHierarchyAllSuperior, AgentAddress and AgentHierarchy; ProjectProxy: new columns [RowGUID], [LastChanges], [IsLocked]; New views AgentID_FullAccess, AgentID_Locked, AgentID_ReadOnly and AgentID_AvailableReadOnly;
  • 02.01.22: new table LanguageCode_Enum; Table Agent - new column Language including Agent_log, trgDelAgent and trgUpdAgent; procInsertAgentCopy - new column ContentLanguage; AgentChildNodes - new column ContentLanguage; AgentHierarchy - new column ContentLanguage; AgentSynonymTopID - ensure result despite of loops; AgentSynonymyChildNodes - Optimized, ensure result despite of loops and new column ContentLanguage; AgentSynonymy - ensure result despite of loops and new column ContentLanguage; AgentSuperiorList - new column ContentLanguage; AgentTopID: ensure result despite of loops; AgentSuperiorList: ensure result despite of loops and not IgnoreButKeepForReference; AgentHierarchyAllSuperior: ensure result despite of loops;
  • 02.01.23 Missing descriptions for tables, trigger, views;

 

Libraries - DiversityWorkbench

The chapters below describe features that are available in several modules of the Diversity Workbench resp. provided via a shared library like DiversityWorkbench.dll

DiversityWorkbench

Upcoming version

4.2.13

  • Export wizard
    • Bugfix searching for parent of start table
  • Query
    • Bugfix when QueryMainTableLocal is null

Current version

4.2.12

  • Import wizard
    • Bugfixes for duplicate check if no data are available
  • Export wizard
    • Bugfixes if no data are available in parent table
    • Showing generated SQL commands

Previous versions

4.2.11

  • Import wizard
    • Bugfixes for duplicate check for data containing ’ in values of checked column
    • Bugfixes for column pre- and postfix containing ’ in values
    • Option to prevent insert into column
    • Description for columns expanded and redesigned
  • Bugfixes setting linked servers
  • JsonCache: New interface for the modules containing a json summary for datasets

4.2.10

  • Webservice Catalogue of Life available
  • Several bugfixes

4.2.9

  • UserControlQueryList: Dropdownwidth for column selection set to 200 to ensure readablility

4.2.8 (2023-08-30)

  • UserControlQueryList - bugfix if for readonly no valid boolean expression is returned
  • Documentation
    • Bugfix - Listing objects
    • Bugfix - Setting title
    • Bugfix - Selecting schema
    • Bugfix init HUGO replacements

4.2.7 (2023-08-17)

  • Formfunctions
    • Bugfix missing command in function public bool initSqlAdapter(ref System.Data.SqlClient.SqlDataAdapter Adapter, string SQL, System.Data.DataTable Table)
    • Bugfix WorkbenchUnit in function public static string getDatabaseNameFromURI(string URI)
    • Bugfix Project.cs - using ViewBaseURL instead of function or linked server
  • Archive
    • Optional inclusion of log tables
    • Bugfixes resetting database
    • Several bugfixes getting data
    • Several bugfixes restoring archive
    • Progress bars included
    • Extension for setting specific query to get IDs for temp table

4.2.6 (2023-08-01)

  • Documentation
    • Bugfix listing objects
    • HUGO
      • Export of enumeration table content
  • Updating depending datasets Video starten.
    • Context menu:
      • Adding current dataset.
      • Adding all datasets from the list.
      • Showing content of the list.
      • Clearing the list.
  • Bugfix setting backlinks for DiversityCollection linked to DiversityAgents
  • Bugfix setting SQL for backlink updates
  • Bugfix setting backlinks for DiversityProjects linked to DiversityAgents
  • Bugfix setting images in tree of FormEnumAdministration
  • FormFunctions: public static string IsoDate(string Text, bool SpaceAsSeparator = true, bool RestrictToDate = false) expanded with optional restriction to date

4.2.5 (2023-07-25)

  • TableEditor:
    • Bugfix in initForm
  • Enumeration administration:
    • Table editor included
  • Agent - Bugfix getting synonyms in unit values
  • Formfunctions - Autocompletion - Bugfix missing Alias for table
  • Documentation
    • HUGO
      • Export as markdown for HUGO included
      • Replacements and adaptions for HUGO included
  • Spreadsheet:
    • Optional inclusion of RowGUID for tables where PK should be edited Video starten
    • Hiding RowGUID by default

4.2.4 (2023-07-12)

  • FormFunctions:
    • public static string IsoDate(string Text, bool SpaceAsSeparator = true)
  • Documentation:
    • Default output set to HUGO
    • HUGO output
      • Index removed
      • Application objects removed
      • ER-diagram located underneath table header
      • Bugfix ER-diagram path
      • Bugfix Enum output
      • Include menu icon

WpfControls

Current version

1.0.1

  • Bugfix rescanning image if values for height and width are missing
  • Showing message for button ShowDetail if no detail is defined

Subsections of Download

Diversity Agents

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.

 

May 5, 2025

Diversity Agents

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 ConnectionDatabase … 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 ConnectionDatabase … 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 30, 2024

Diversity Agents

Menu

  • Connection
    • Database Create database Create a new module 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
    •  Reconnect to database Reconnect to the current database
    • Module connections Edit the connections to the other modules within the current module.
    •  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 Setting the timeouts.
      •  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
  • Query
    • Show query Show or hide the query list
  • 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
      • CSV (bcp) Export data of the whole database as csv files
      • Export wizard
    •  Import
      •  Wizard
        •  Agent Import data from a tab separated text file
    • Table Editors Edit the data in single tables
      •  Agent
      •  Contact
      • Reference
      • Other hierarchy
      •  Identifier
      •  Descriptor
      •  Relation
    • Scan modules Scan modules for links to the current dataset
      • DiveristyCollection
      • DiveristyProject
      • DiveristyReferences
      • DiveristySamplingPlots
      • DiveristyScientificTerms
    • Remove agents Deleting the agents selected in the query results
    • Remove from project Removing the agents selected in the query results from the project selected in the query list
  • View
    • Show images Display the images of the agent
    • Show projects Display the projects related to the agent
  • Administration
    • Agent display types Administration of the agent Agent display types
    • Descriptor types Administration of the descriptor types
    •  Identifier Administration of the identifier types
    •  Database Administration of the database
      • Documentation Documentation of the structure of the database.
      • Logins Administration of the logins of the server their permissions in the databases
    •  Rename the current database
    • Setting the address published for links by other modules
    • SQL Tools: tools for managing the Tools database (SQL)
    • Setting the default projects for Default Projects the users
    • Setting the default projects for Default Project the current user
    • Download of the projects from DiversityProjects
    • Administration of external datasources
    • Setting the directory for the resources directory
  • Help
    • Manual Opens the online manual
    • Info Show the version of the program and corresponding information
    •  Errorlog
    •  Websites Websites related to DiversityAgents
      •  Download applications Download DiversityAgents from the website of the Diveristy Workbench project
      •  Information model Inspect the information model on the website of the Diveristy Workbench project
  • Update
    • Update database Update the database to the current version
    • Client Download the current version of the client

 

 

 

 

Jan 21, 2025

Diversity Agents

Tutorial

Training database

For the first steps we provide a training installation on:

training.diversityworkbench.de,5432

Please turn to the development team for a 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 ConnectionDatabase … 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 ConnectionDatabase … 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.

Editing

The main forms of all modules have a design as shown below

Main form

Status

In the status area you find

  • The name of the module,
  • The name of the database if different fron the module
  • The version of the software

The menu contains the options provided by the module

Commands

The commands area contains buttons for e.g. handling the data:

  • - To connect to a database click on the button.
  • - To save the changes in a dataset click on the button.
  • - To propagate the changes in a dataset to linked modules click on the button.
  • - To undo the changes 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  new 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 the selected datasets click on the button.
  • - To options a dataset click on the button .
  • - To change the arrangement of the query click on the resp. button.
Jul 30, 2024

Diversity Agents

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 QueryShow 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

 

Jul 30, 2024

Editing in Diversity Agents

The main forms of all modules have a design as shown below

Main form

Status

In the status area you find

  • The name of the module,
  • The name of the database if different fron the module
  • The version of the software

The menu contains the options provided by the module

Commands

The commands area contains buttons for e.g. handling the data:

  • - To connect to a database click on the button.
  • - To save the changes in a dataset click on the button.
  • - To propagate the changes in a dataset to linked modules click on the button.
  • - To undo the changes 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  new 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 the selected datasets click on the button.
  • - To options a dataset click on the button .
  • - To change the arrangement of the query click on the resp. button.

Agent Panel

The basic data for agents are entered in the upper part of the form (see image below).

The header of the form shows automatically the combined name of the agent created by the database according to the data, the ID in the database, the version of the dataset and the revision level. The version is set by the database and will be increased with every change in the data.

The JSON button will open a window showing the cached JSON data and the link will open a window showing the data available via the module interface.

History

To see the history of the changes within a dataset, click on the history button (see the history part for further details).

Withholding data

By default an agent is not available for publication. This is indicated by the red stop sign . If an agent should be published, click on the stop sign and remove all text in the withholding reason field. Any text, even white spaces, in the withholding reason field will prevent the publication of thie agent. The sign will change to a gray stop sign indicating the agent is now available for publication.  

Language

To set the language of the content, click on the language button . The ISO-639-1-Code for the selected language will be shown and the icon will change to a flag sign of the selected language.  

Synonymy

DiversityAgents can manage several representations of the same name resp. person. To link these entries you can declare one name a synonym of the other. An overview of the synonymy is shown in the Synonymy part (see below). The accepted name resp. the entry not declared to be a synonym is shown as the top of the hierachy. To change to a name within the synonymy, just double-click on it. 

 

To set the synonymy, click on the synonym button to open a window where you can search for the entry, the current entry should become a synonym of. In the field [Syn.type] set the type of the synonymy. The service of DiversityAgents is used by other modules. Therefore it must be avoided to delete datasets. Instead of deleting an entry, set it a synonym of a valid entry and set the type of the synonymy to replaced with. If an agent was replaced or declared a synonym, the synonym button will change to a search button . Click on this button to get to the dataset that replaced the current dataset resp. its synonym. If a dataset was replaced by another entry, the form will change as shown below.

 

Data

In the area below the header, you can enter resp. edit the data related to an agent. The available fields depend on the type of the agent that differ between persons and other types. If you enter inconsistent values for the dates, you will get a message reminding you to enter valid values.

Storage

The data of the agent are stored in the table Agent.

Jan 14, 2025

Subsections of Editing

Creating Diversity Agents

Create new agent

To create a new agent, click on the new-button above the search result listbox. You will be asked, if you are sure.

Click OK and a form will be show where the basic entries “agent type”, “First name” and “Last name” need to be given. By pressing the OK button the new agent will be created.

Forwarding changes to linked data

After changes to a dataset, the button will get a pink background if any part related to linked datasets is concerned. This relates to all dataset in the databases select for an update as described in chapter connections. To add the current dataset independed of changes to changes, choose Insert current ID in backlink list from the context menu. To insert all items from the query in the backlink list, click on the button. To check the content of the current backlink list select in the context menu. To clear the backlink list, select in the context menu. Provided the permission to update the respective tables you can forward the changes to datasets in linked modules with a click on the button as described in the tutorial Video starten

For further information see the chapter Editing

Delete agents

Warning

The service of DiversityAgents is used by other modules. Therefore it must be avoided to delete referenced datasets. Instead of deleting an agend, consider to set it to a synonym of a valid entry and set the type of the synonymy to replaced with.

To remove an agent you have 2 options:

  • Select the agent in the result list of the query and click on the delete button
  • Choose all agents in the result list of the query with a click on the
    select all
    button and choose Data - Remove agents from the menu
Tip

If the agents should only be removed from a project choose in the menu Data - Remove from project. This option will fail for agents with only one project. Agents will not be removed from the last project.

Dec 24, 2024

Diversity Agents

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

 

Jul 30, 2024

Subsections of Tables

Diversity Agents

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. 

Jul 30, 2024

Diversity Agents

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.  

Jul 30, 2024

Diversity Agents

Contact

Every agent can have several contacts resp. addresses. These are listed in the contact section (see image below).

The address that is used by other modules is a cumulation of the addess data of the agent and all its superior agents (see below).

By default the contacts are not available for publication, indicated by the sign and a pink background (see below). To enable the publication of a contact, click on the button and remove the data withholding reason. The sign will change to and the contact will be available for publication.

To see the public available contact information, click on the button. The window that will open shows the public available contact information including those of parent data (see image below). The cumulative address will collect data of every first contact information of the superior agents in the main hierarchy provided these are public and valid. Video starten

The data of the agent contacts are stored in the table AgentContactInformation.

Jun 16, 2025

Diversity Agents

Descriptors

To add a new descriptor click on the add button. To delete a selected descriptor click on the  delete button. To administrate the descriptor types, click on the button or select Administration - Descriptor types... from the menu. A window as shown below will open.

 

To add a new descriptor type click on the add button. To delete a selected descriptor type click on the  button. Deleting is only possible as long as the type has not been used. Otherwise this option is blocked as shown below. You may link a type to a module of the DiversityWorkbench. If the data contain either a link to a module or a link to a resource, the setting of the module will be blocked as shown below.

The data of the agent descriptors are stored in the table AgentDescriptor.

Jun 17, 2025

Diversity Agents

External data

The list at the button of the form showns the original datasources of the dataset (see image above).

To edit the sources where data are linked to choose Administration - External sources... from the menu. A window as shown below will open where you can add, edit and remove external sources for datasets.

The data concerning external information are stored in the tables AgentExternalDatabase.

Jan 21, 2025

Diversity Agents

Hierarchy

Main hierarchy

The relation to other agents is shown in the hierarchy. For an introduction see a short video Video starten.

Every agent can have one main superior agent. To set this superior agent click on the button. To remove the superior agent click on the remove parent button. To change to another agent in the hierarchy, select it and click on the button.

The address of an agent e.g. used by other modules will be replenished with the addresses of all superior agents (for further details see topic Contact). If an entry in the main hierarchy is changed or removed you will be asked of this information should be transferred into to other hierarchies, so the information about e.g. previous employments is not lost.

If the hierarchy contains a loop, a corresponding message will be shown and the tree will contain the current dataset twice (see below). To remove the loop, click on the remove parent button in the dataset where the relation to the upper dataset should be removed.

 

Other hierarchies

For other hierarchies, e.g. previous employments, you can add entries in the Other hierarchy part as shown below.

Use the and buttons to add resp. delete other hierarchies. The  button will open a window where you can search within the database for the parent agent you want to select. After you selected the agent where the current agent should be included into the depending data, click OK to close the window. Select the new parent in the list to see the current agent within the main hierarchy of the parent agent. The items shown in the tree are restricted to the main hierarchy of the parent agent and the current agent and do not include other items of other hierarchies. A parent for the other hierarchies may be included several times, e.g. to document several employments but in will be shown in the tree only once for every parent (see image above).

The other hierarchies are NOT visible outside the current agent. So in the example above, the parent defined in the other hierarchy will NOT show this entry in the hierarchy of the parent (see image below).

Use the button to set a selected entry in the other hierarchies as the main hierarchical entry. If a parent for main hierarchy is defined, it will be transferred into the other hierarchies. The selected entry from the other hierarchies will be removed unless there are entries in the details, e.g. Notes.

Use the button to change to an agent selected in the tree. The hierachies will display entries from projects where you have no access as well. If you want to change to a dataset using the button where you have no access you will get the message You have not the proper rights to access this dataset.  

All hierarchies

A summary of all hierarchies is shown in the "All" section where the items shown in the tree are restricted to the current agent and superior data as shown below. Other hierarchies defined outside the current agent will NOT be shown here.

After changes in the main hierarchy or the other hierachies click on the button for an update of the tree. Use the button to change to an agent selected in the tree. If you want to change to a dataset using the button where you have no access you will get the message You have not the proper rights to access this dataset.

The data of the agent hierarchy are stored in the tables Agent

Jun 17, 2025

Diversity Agents

Identifier

The agent may be linked to several identifiers as shown below. Use the and buttons to add resp. remove identifiers for an agent.

To administrate the types of the identifier, choose Administration - Identifier types … from the menu. A window as shown below will open, where you can add, edit and remove types for the identifier.

The data of the agent identifier are stored in the table AgentIdentifier.

Jan 14, 2025

Diversity Agents

Images

Each agent may be documented with several images.

To enter a new image, click on the  new button. A window will open where you can enter the path and file name of the image. The selected image will be shown in the preview.

To delete an image, select it from the list and click on the  button. To see the image in a separate form, click on the button. The path of the image is shown under the image list. Click on it to open a browser with the image. you may as well click on the link below the image. By default a new image gets the entry "Withhold by default" as data withholding reason and is therefore blocked from publication. To change this, click on the button and either enter your own reason or remove the entry to enable the publication of the image. If an image should be published (with an empty datawithholding reason) the button will change to . To return to the unpublished state just click on the button and enter any text in the window that will open. The button will change to to indicate that the image will not be published. You may select a Type and specify a sequence e.g. to enable a selective publication of images. In the interface the images will be sorted accoring to their sequence.

Data are stored in the table AgentImage.

Jun 16, 2025

Diversity Agents

Keywords

To add a new keyword to the list click on the  Button. To delete an selected keyword from the list click on the  Button.

The data of the agent keywords are stored in the table AgentKeyword.

Jan 14, 2025

Diversity Agents

Module connections

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.

Jun 17, 2025

Subsections of Modules

Diversity Agents

Module Related Entry

The DiversityWorkbench is a set of components for building and managing biodiversity information. Each of which focuses on a particular domain and provides services for the other modules. For an introduction see a short tutorial Video starten.

To use the service of an external module you need access to the database of this module and optionally the module application placed in your application directory. Entries related to an external module have a standard interface in the main form.

Linking to a datasource or module

There are 4 options to link the content to a datasource (or module).

  • Local database
  • Remote database
  • Cache database
  • Webservice

There are two differnt approaches for providing content for the textbox. Either as a autocomplete list (, , ) or by searching values on base of the entered text in combination with a combobox ().

For the autocomplete lists just start to type and the corresponding entries will be listed where you can choose the entry you are looking for. To set the link including additional information provided by the original source (, ), you just have to leave the textbox. The program will then contact the database to which the entry corresponds and insert the additional information including the link to the source database.

The next paragaphs show how to uses this linking. The colours of the pins are automatically set when a datasource is set. The colour indicates if the current set datasource ist set to the local, remote or cache databse or to a webservice. To select one of the datasources, click on the  button and choose among the sources.

Local database

The values shown in the autocomplete list are taken from the entries in the local database.

This is the default. To refresh the content or slect the local databse as source, click on the pin button, choose the first empty entry of the list and click OK.

Remote database

To set the datasource on a remote database, choose a database from the list.

Either a database available via a linked server (e.g. [TNT.DIVERSITYWORKBENCH.DE,5432].DiversityTaxonNames_TaxaVaria see below) or a database on your local server, starting with e.g. DiversityTaxonNames for taxa in the identification

Next you will be asked to choose a project within the selected source. In case there are additional options you may be asked e.g. for taxa to restrict the content to a checklist provided by the datasource. The pin button and the textbox will change their color to orange to indicate the current source type. The autocomplete list is then generated based on the content in the remote database. When you leave the textbox the software will automatically add additional information from the selected source and set the link as shown below.

 

Cache database

To provide data via the cache database these data must be first imported as source as described in the link to cacheDB chapter.

This option provides faster access to remote data e.g. on linked servers . To choose a source from the cache database, click on the pin button and select the entry CacheDB from the list (see below) and click OK.

Next you will be asked to choose among the sources provided by the cache database. Choose your preferred source and click OK. The button and the textbox will change their color to to indicate the current source type. Now the values for the autocomplete list will be based on this datasource. Just start to type and the corresponding entries will be listed where you can choose the entry you are looking for. To set the link including additional information provided by the original source, you have to leave the textbox. The program will contact the database to which the entries in the cache database correspond and insert the additional information.

Webservice 

To set the datasource on a webservice, choose a webservice from the list as shown below. The pin button and the textbox will change their color to blue to indicate the current source type.

To get data from the webservice, you have to enter a search text in the textbox and click on the combobox button to search the webservice for matching entries. Choose among the provided results to fill the textfield and the set the link to the webservice.   

States and functions of the interface

There are several states and functions of this interface:

  • 1: the value is only set in the local database with no connection to the remote module. In this state you may either type the value or select it from the values which are already available in the database (see above).

  • 2: the value is related to the remote module.

If you wish to set a relation to the remote module you have 2 options:

Option 1

Click on the pin button to select a source as described above.

An overview for all settings can be found under Administration - Customize display - Settings.

Charts

After the source is set to a database of the DiversityWorkbench certain datasources provide also charts for the selection of taxa or terms. Click on the chart button to open a table where you can select one of the provided taxa resp. terms. Video starten

 

Option 2 Detailed linking with query option

Click on the amonite button. A window will open where you may select an entry from the foreign database. If the option for loading the connections is not set the connection to a database may not be established indicated by a button. Either requery all connections as described in chapter Connections or click on the button to open the database connections for the linked module. With this option you have the full range of query options as shown in the image below as well as access to additional webservices.

For DiversityScientificTerms you can use a hierarchy for the selection of the lists as shown below.

 

If the value has a relation to the remote module, the interface will appear as shown below with the content of textbox set to read only and a yellow background.

To release the connection to the remote module click on the button. If you require further information on the value, click on the DWB button. This will open a form showing an overview of the related value.

If the client application of the module is available, you may inspect the details of the entry. To start the client application of the remote module click on the DWB button. 

If the provided link does not correspond to a dataset in the source, you will get a message as shown below. Click Yes to remove the wrong link and replace it with a valid link. Video starten

 

Relation to a webservice

Some modules provide the possibility to link your data to an external webservice. For example, DiversityTaxonNames gives you access to the taxonomic names of IndexFungorum. To establish a connection to an external webservice click on the button. As with the link to modules within the DiversityWorkbench, a window will open where you are able to choose from either DiversityWorkbench modules or external Webservices. See chapter Webservice for further details

Jul 30, 2024

Diversity Agents

Projects

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

There are 4 states of accessibility for projects Video starten

  •     Full access: The user can edit the data
  •      Read only access: The user can only read the data
  •      Locked: The project is locked. Nobody can change the data
  •     No access: The user has no access via a project

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

Below is an example where the user has access via a project with access and a project with read only access. In addition the data are contained in a project where the user has no access.

 

Below is an example where the user has access via one read only project.

 

Below is an example where the dataset is contained in a project that is locked.

 

Data are stored in the table AgentProject.

Details upon the projects within the Diversity Workbench are stored in the database DiversityProjects. To open a project to see further information upon a project click on the   button. 

 

 

 

Jan 14, 2025

Subsections of Projects

Diversity Agents

Display types

The type in which an agents name will be displayed can be set within a project.

To edit the display types, choose Administration - Agent display types ... from the menu. A window as shown below will open, where you can set the type for every project.

 

Every user has a default project within DiversityAgents. As an administrator, you can set the default projects for every user. The display type for a user is set according to these projects. To edit the default projects, choose Administration - Default projects ... from the menu. A window as shown below will open, where you can set the default project for every user. If the projects are not specified here, the first project the user has access to will be used.

 

Every user can set his default project by choosing Administration - Default project ... from the menu. A window as shown below will open, where the user can set the default project.

 

The tables used for the storage of these parameters are shown below.

Description of the tables

Table ProjectProxy

The projects - refers to database DiversityProjects

Column Data type Description Nullable Relation
ProjectID int The ID of the project, Primary key NO -
Project nvarchar (50) The name of the project as stored in the module DiversityProjects NO -
ProjectURI varchar (255) The URI of the project, e.g. as provided by the module DiversityProjects. YES -
AgentNameDisplayType nvarchar (50) The display type of the name of the agent YES Refers to table AgentNameDisplayType_Enum
CreateArchive bit If an archive e.g. by a task schedule should be created YES -
ArchiveProtocol nvarchar (MAX) The protocol created during the last archive YES -
RowGUID uniqueidentifier -Default value: newsequentialid() NO -
LastChanges datetime The recent date when data within the project had been changed YES -
IsLocked bit If the data within the project should not be changeed and the access for all users is restricted to read only YES -

Depending on:

  • AgentNameDisplayType_Enum

Table ProjectUser

The projects to which users have access to

Column Data type Description Nullable Relation
LoginName nvarchar (50) The login name of the user NO Refers to table UserProxy
ProjectID int The ID of the default project of the user as stored in table ProjectProxy NO Refers to table ProjectProxy
ReadOnly bit If the user has only read access to data of this projectDefault value: (0) YES -

Depending on:

  • ProjectProxy
  • UserProxy

Table UserProxy

The user logins - refers to database DiversityUsers

Column Data type Description Nullable Relation
LoginName nvarchar (50) The login name of the user, Primary key NO -
CombinedNameCache nvarchar (50) A combined name of the user, created on the base of an entry in the module DiversityUsers YES -
UserURI varchar (255) Refers to UserInfo.UserID in database DiversityUsers YES -
ProjectID int The ID of the default project of the user as stored in table ProjectProxy YES Refers to table ProjectProxy
Queries xml (MAX) Queries created by the user YES -
AgentURI varchar (255) A link to a DiversityAgents module where further informations about the user is available. YES -
ID int ID of the user NO -
PrivacyConsent bit If the user consents the storage of his user name in the database YES -
PrivacyConsentDate datetime The time and date when the user consented or refused the storage of his user name in the database YES -

Depending on:

  • ProjectProxy
Jul 30, 2024

Diversity Agents

References

References containing informations about the agent are listed in the References tab. The enter a new reference click on the button, To remove a reference use the delete button. A link to the module DiversityReferences can be established with the DWB button.

The data of the agent references are stored in the table AgentReference.

Jun 17, 2025

Diversity Agents

Relations

The relations to other agents are shown in the Relations tab. To enter a new relation, click on the button, to remove a relation use the delete button. If the relations of an agent should not be published e.g. on the web, enter a reason in the Withholding section. Any text will prevent a publication. To change to an related agent, select it and click on the button.

The data of the agent relations are stored in the table AgentRelation.

Jun 16, 2025

Diversity Agents

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 need access to (see image below).

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).

 

Jul 30, 2024

Diversity Agents

Synonymy

The synonymy to other agents is shown in the Synonymy tab. Every agent can be a synonym to another agent. To make an agent to a synonym click on the button. For agents that are declared a synonym, you can specify the type of the synonymisation. If the type is "replaced by" than this agent will no longer be visible for external modules but will be replaced by the agent it is a synonym of. To change to a synonym of the agent just click on the button.

If the hierarchy for the synomyms contains a loop, a corresponding message will be shown and the tree will contain the current dataset twice (see below). To remove the loop, click on the delete button in the header for the dataset where the relation to the upper dataset should be removed.

 

Jun 17, 2025

Diversity Agents

Data withholding

If an agent should not be published e.g. on the web, enter a data withholding reason. Click on the   button to open a window where you can enter the reason why the data should not be published. Any entry will prevent the data from being published. For datasets with a data withholding reason the image will change to . To remove the restriction just click on the button and delete the reason. Besides whole datasets, the relations, adresses and images can be blocked from publication. See e.g. Relations for more details.

Jan 14, 2025

Diversity Agents

Import Export

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

An overview of some options for the im- and export in the module DiversityCollection is shown in the image below. The options Importwizard, Exportwizard, Archive and Replication are available in most of the modules.

Example for a data flow

The image below shows an expample for a data flow from the original source to the final GBIF-portal. As a first step the data are imported via the Import wizard are imported into the database. After the data are given free for publication, they are transferred into the cache database .  From there they are transferred into a Postgres database containing a package for conversion into ABCD. Finally the BioCASE tool for mapping the data is used to provide the data for GBIF.

Jan 14, 2025

Subsections of Im- & Export

Diversity Agents

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.

 

 

 

May 16, 2024

Diversity Agents

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.

 

May 16, 2024

Diversity Agents

Export

  • Archive
  • Export via Table editors as tab separated text file or SQLite database
  • Export as CSV file via bcp
  • Export via CacheDatabase in DiversityCollection and DiversityDescriptions
  • Create a backup Backup
May 16, 2024

Subsections of Export

Diversity Agents

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.

May 16, 2024

Diversity Agents

Export CSV

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

To export the tables of the database in a tabulator, comma or semicolon separated format, choose Data → Export → Export CSV... from the menu. A window as shown below will open where you can select the tables to be exported in sections Selection criteria and in the Tables for export.

A prerequisite for this export is that the bcp program is installed on your computer. This has either been installed together with the installation of SQL-Server or you have to install the Microsoft Command Line Utilities for SQL Server.

To start the export click on the Start export button. By default the data will be exported into a directory ...\Export\<database_name> below your application directory. Click on the open button to select a different target directory before starting export.

 

After export the tables are marked with green background, if table schema and data were exported successfully. If only the data were exported, this is marked with yellow background, if nothing was exported, the background is red. A detailed export report can be viewed by a click on the export result file name.  

May 16, 2024

Diversity Agents

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.

May 16, 2024

Subsections of Export Wizard

Diversity Agents

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. 

 

 

 

 

 

 

May 16, 2024

Diversity Agents

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.

May 16, 2024

Diversity Agents

Import

There are several import mechanisms available for most modules. Some modules like DiversityDescriptions have special import mechanisms.

Import wizard

for tab separated lists: Import data from foreign sources and attach further data to existing data sets in the database.

Replication

Replication with a local database.

Archive

Restoring an archiv.

May 16, 2024

Subsections of Import

Diversity Agents

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.

  • How to export the content of enum tables for inclusion in the manual for HUGO

    • see the video Ausgabe des Inhalts von Aufzählungstabellen Video starten: Auswahl der Aufzählungstabellen, Anwählen der Ausgabeoption, Auswahl der Spalten, Export und Ansicht im Formular und im Browser.
  • How to fix broken links for Hugo

    • see the video: Video starten
  • How to related reference links for Hugo

    • see the video: Video starten
  • Administration

    • How to set the access to projects
      • see chapter Zugriff auf Projekte
      • and the video Video starten: Einstellungen des Zugriffs auf Projekte, Zugriff auf Daten innerhalb von Projekten

    Editing

    • How to set the language of a dataset
      • see chapter Sprache
      • and the video Video starten: Festlegen der Sprache des Inhalts eines Datensatzes.
      • How are addresses retrieved from the hierarchy
        • see chapter Hierarchien
        • and the video Video starten: Haupthierarchie mit Ermittlung der Adresse und zusätzliche Hierarchien.
          • How to remove loops from a hierarchy
            • see chapter Schleifen entfernen
            • and the video Video starten: Entfernen von Schleifen in der Hierarchie anhand von Beispieldaten.
      • How to remove loops in the synonymy
      • How to see the public contanct infos
        • see chapter Öffentliche Kontaktdaten
        • and the video Video starten: Ermittlung der öffentlichen Kontaktdaten anhand zugänglichen Kontaktdaten des aktuellen Eintrags sowie der in der Haupthierarchie verfügbaren Kontaktdaten.
      • How to set the icons of descriptors
        • see chapter Descriptoren - Icons einstellen
        • and the video Video starten: 2 prinzipielle Typen von Deskriptor: Modul zugeordnet oder ohne Modul. 4 Möglichkeiten für die Einstellung der Icons - OHNE ICON: Modul zugeordnet: Default Icon des Moduls. ohne Modul: Default Icon für Deskriptor. MIT ICON: ohne Modul: Ausgabe des gesetzten Icons. Modul zugeordnet: Ausgabe des gesetzten Icons. Default Icon des Moduls wird ersetzt.
      • How to propagate changes to linked data
        • see chapter Änderungen verlinkter Datensätze weiterleiten
        • and the video Video starten: DiversityAgents als Modul in der DWB. Darstellung der Beispieldaten in DiversityCollection und DiversityAgents. Änderung in DiversityAgents, Eintrag des geänderten Datensatzes in Update Liste. Auswahl der zu aktualsierenden Datenbanken. Display types in DiversityAgents. Eintrag von aktuellem Datensatz, Eintrag aller Datensätze, Ansicht der Liste, Löschen der Liste. Aktualisieren des Datensatzes. Kontrolle der Änderungen in DiversityCollection.
      • Spreadsheet

    • How to include column RowGUID to enable changes in the PK of a table
      • see the video RowGUID einschliessen Video starten: Erläuterung der RowGUID. Beispieldaten im TableEditor. Laden der Daten im Spreadsheet. Versuch der Änderung einer Spalte die Teil des Primärschlüssels ist. Einschliessen der RowGUID. Versuch der Änderung mit eingeschlossener RowGUID. Ablehnung der Änderung bei Kollision mit Primärschlüssel. Änderung der Daten ohne Kollision. Ergebnis der Bearbeitung.

    Import

    • How to import data
      • see chapter Überblick
      • and the video Video starten: Import von Daten anhand des Beispiels im Tutorial.
      • How to check for duplicates
        • see chapter Duplikate
        • and the video Video starten: Prüfung auf in der Datenbank bereits vorhandene Duplikate während des Imports.
      • How to transform data during the import
        • see chapter Transformation
        • and the video Video starten. Transformation von Daten für den Import am Beispiel eines Datums.

    Archive

    • How to create an achive including the log tables
    • see chapter Archiv inclusive des Logs
    • and the video Video starten.
      (Aufbau von Logtabellen, Vorstellung der Beispieldaten, Erstellung eines Archivs: Einschliessen der Logtabellen, Suche nach Daten, Anlegen des Archivs. Wechsel in leere Datenbank. Einlesen der Archivdaten: Auswahl des Archivs, Log einschliessen, Einlesen der Daten, Archivdaten einspielen, Meldung zu vorhandenem Projekt. Anmeldebestätigung. Ansicht der Daten einschliesslich der Daten in den Logtabellen)
    • How to create an archive
    • see chapter Archiv erstellen
    • and the video Video starten.
      (Automatisierte Erstellung durch Server, Manuelle Erstellung, Suche nach Daten, Erstellung, Inhalt einer xml-Datei, Protokoll).

    Diversity Agents

    General

    May 5, 2025

    Subsections of General

    Diversity Agents

    Customize

    The main window can be customised in several parts. To change the visible parts in the main window select Administration - Customize... from the menu.

    Query

    The set the option for optimized queries and the option to remember the query settings as default, select the Optimized resp. Remeber option. The corresponding buttons in the query will be hidden providing more space. 

    Start

    Load linked datasources at start: If the datasources on linked servers should be loaded together with the start of the programm.

    May 5, 2025

    Diversity Agents

    Feedback

    If you have suggestions for improvement, need any changes in the programm or encouter an error you can give a feedback to the administrator. Click on the ALT and PRINT buttons to get a screen shot of your current form. After creating the screen shot choose Help - Feedback from the menu to open the feedback form as shown below.

     

    Click on the Insert image button to insert the screen shot and give a comment about your problem. In the field Topic enter the topic of your feedback (will appear in response e-mail). The Priority can either be empty or set to 3 levels:

    • urgent
    • as soon as possible
    • nice to have

    If necessary, enter a date in the field ToDo until when you would like to have the task described in you feedback be solved. Then click on the  Send feedback button to send your feedback to the administrator. If you would like to receive a message when the problem you described is solved, please enter you e-mail address in the field below the description.

    To inspect your former feedbacks choose Feedback history from the menu. A window will open where you can browse your past feedback together with the state of progress.

    May 5, 2025

    Diversity Agents

    Internals

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

    Jul 30, 2024

    Subsections of Internals

    Diversity Agents

    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 30, 2024

    Diversity Agents

    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 30, 2024

    Diversity Agents

    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.

       

    May 16, 2024

    Subsections of Access

    Diversity Agents

    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.

     

    May 16, 2024

    Diversity Agents

    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.

    May 16, 2024

    Diversity Agents

    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 .

         

    May 16, 2024

    Diversity Agents

    Database

      The database for DiversityAgents based on Microsoft SQL-Server 2014 or above.

    Organisation of the data

    The main data are kept in the table Agent. Contacts are listed in the table AgentContactInformation (see below). For further tables and details see the table descriptions.

    Jan 14, 2025

    Subsections of Database

    Installation

    Diversity Workbench modules use Microsoft SQL-Server 2014 or above as database engine. If you do not have a database server with DiversityAgents already available, you have to install the database engine first. Download the free version of Microsoft SQL Server Express 2016 or above from http://www.microsoft.com/downloads/.. Start the program and follow the instructions for the installation.

     

    Server configuration

    To configure your server for remote access, launch the SQL Server Configuration Manager (see image below).

    If the tool is not available via the app menu but you have SqlServerManagmentStudio and SqlServer installed type [Win] + r to open the Run dialog, type the command SQLServerManager16.msc and press [Enter] to start the tool.

    Then click on the "Protocols for SQLEXPRESS" node. Right click on "TCP/IP" in the list of Protocols and choose "enable" for TCP/IP.

    Right click on the TCP/IP node and select, "Properties" to open a window as shown below.

    In the part IPALL clear out the value for "TCP Dynamic Ports". Give a TCP-Port number to use when making remote connections, e.g. "4321" as shown above. You have to restart the SQL Server Express service before you can connect to your database. 

    If you use a database on a server, make sure that the firewall of the server allows access via the port you set for the connections (see below). 

    Start the Microsoft SQL Server Managment Studio and attach the database as shown below. Choose the node "databases" and right-click on it to open the context menu (see below). Then choose "attach" from the context menu. A window will open where you can choose the file DiversityAgents_Data.MDF from your database directory and attach it to the database engine.

     

    After the installation make shure to get the latest updates from http://windowsupdate.microsoft.com/.

     

    Database configuration

    To configure your Database, use the Client as described in

    Database configuration.

    Mar 26, 2024

    Diversity Agents

    Creation

    To configure your Database, choose Administration → Database → Rename database to change the name of the database according to your requirements. During this renaming all processes in the database will be terminated (you will get a warning if processes from other host are active).

    Afterwards you should adapt the address that is published by the database for access by other modules. Choose Administration → Database → Set published address from the menu. This will change the published address to the name of the server where your database is located and an identifier for you database, e.g. http://xy.diversityworkbench.de/Collection/

     

    May 16, 2024

    Diversity Agents

    Configuration

    To configure your Database, choose Administration → Database → Rename database to change the name of the database according to your requirements. During this renaming all processes in the database will be terminated (you will get a warning if processes from other host are active).

    Afterwards you should adapt the address that is published by the database for access by other modules. Choose Administration → Database → Set published address from the menu. This will change the published address to the name of the server where your database is located and an identifier for you database, e.g. http://xy.diversityworkbench.de/Collection/

     

    May 16, 2024

    DiversityAgents

    Model 2.1.24

    (10 October, 2024)
    Authors M. Weiss, A. Grunz, G. Hagedorn, D. Triebel, S. Seifert
    License CC BY-ND 3.0
    Suggested citation M. Weiss, A. Grunz, G. Hagedorn, D. Triebel & S. Seifert (2024). DiversityAgents information model (version 2.1.24). http://www.diversityworkbench.net/Portal/DiversityAgentsModel_2.1.24
    Notes The model is implemented on MS SQL Server and the data types are also MS SQL Server specific

    Introduction:

    DiversityAgents is the module for the administration of agents within the Diversity Workbench. Agents can be persons, organisations, institutions or departments and DiversityAgents allows the management of all sorts of information on those agents like details about names and addresses, allows the modelling of hierarchies in institutions or the relations between agents. It is manly used in Diversity Workbench for detailed information about collectors, editors or observers of specimens or collections but is also used in the access management in Diversity Workbench. But DiversityAgents keeps only data directly connected with the handling of agents and provides this information for other modules like DiversityCollection and DiversityTaxonNames. Data of other realms like e.g. projects or general references are handled in separate modules. DiversityAgents can be used as a stand-alone application.

    • Agent is the central entity, containing the information directly related to the agent.
    • AgentProject keeps the relation to the projects. Each agent may be included in several projects.
    • AgentImage keeps the images for an agent.
    • AgentContactInformation is the central entity, containing the contact informations for the Agent.
    • AgentRelation keeps the relations between the agents.
    • AgentReference keeps the references containing informations about the agent.

    Information model

    The following sections define the information model used in DiversityAgents. First the ER-diagram is presented to give an overview over the relations between the entities/tables and views. Then the structure is separately documented for each table with textual information which attributes are stored in which column.

    ER-Diagram

    Overview over all entities and relations used in the database model

    ER-Diagram

    TABLES

    Table Agent

    The main table with the data of the agent

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (= Primary key) NO -
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy YES Refers to table Agent
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in a user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle. Default value: '' NO -
    Version smallint The version of an agent record (revision number, internally filled by system). Default value: (1) NO -
    AgentTitle nvarchar (50) The title of the agent, e.g. Dr., Prof. YES Refers to table AgentTitle_Enum
    GivenName nvarchar (255) The first names of the agent (if a person) or the name of e.g. an institution YES -
    GivenNamePostfix nvarchar (50) Variable part of name, correctly placed at end of given names YES -
    InheritedNamePrefix nvarchar (50) Variable part of name, correctly placed at the beginning of the inherited names YES -
    InheritedName nvarchar (255) The last names of the agent (if a person) YES -
    InheritedNamePostfix nvarchar (50) Additions after inherited name, like generation (Jr., III.) or names of religious orders YES -
    Abbreviation nvarchar (50) Abbreviation of the agent YES -
    AgentType nvarchar (50) The type of the agent, e.g. person, company. Default value: N’person' YES Refers to table AgentType_Enum
    AgentRole nvarchar (255) The role of an agent esp. a person within an organization. e.g. “Database Administrator” or “Curator” YES -
    AgentGender nvarchar (50) The gender of the agent YES Refers to table AgentGender_Enum
    Description nvarchar (1000) A description of the agent YES -
    OriginalSpelling nvarchar (200) Name as originally written in e.g. chinese or cyrillic letters YES -
    Notes nvarchar (MAX) Notes about the agent YES -
    ValidFromDate datetime The date of the begin of the existence of the agent, e.g. the birthday of a person or the founding of an institution, calculated from ValidFromDay, - Month and -Year YES -
    ValidFromDay tinyint The day of the begin of the existence of the agent YES -
    ValidFromMonth tinyint The month of the begin of the existence of the agent YES -
    ValidFromYear smallint The year of the begin of the existence of the agent YES -
    ValidUntilDate datetime The date of the end of the exsistence of the agent, e.g. death of a person or closing of an institute, calculated from ValidUntilDay, - Month and -Year YES -
    ValidUntilDay tinyint The day of the end of the existence of the agent YES -
    ValidUntilMonth tinyint The month of the end of the existence of the agent YES -
    ValidUntilYear smallint The year of the end of the existence of the agent YES -
    ValidDateSupplement nvarchar (255) Verbal or additional date information, e.g. ’end of summer 1985’, ‘first quarter’. The time of the valid date if necessary. YES -
    PlaceOfBirth nvarchar (500) The place (e.g. a city) where a person was born or an institution was founded YES -
    PlaceOfDeath nvarchar (500) The place (e.g. a city) where the person died YES -
    SynonymToAgentID int The AgentID of the agent which was selected as a replacement for the current agent, e.g. if to equal datasets were imported from different sources YES Refers to table Agent
    SynonymisationType nvarchar (50) The type of the synonymisation like “replaced with”, “synonym to” YES Refers to table AgentSynonymisationType_Enum
    RevisionLevel nvarchar (50) The level of the revision of the agent, e.g. ‘unchecked’, ‘final revision’. Default value: N’unchecked’ YES Refers to table RevisionLevel_Enum
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null YES -
    IgnoreButKeepForReference bit If true, the record is ignored for all purposes of evaluation (because contradicted). It is kept only to maintain the cited reference. If no reference is given, it may be deleted instead. Default value: (0) YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. Default value: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -
    ContentLanguage nvarchar (50) The language of the content YES Refers to table LanguageCode_Enum

    Depending on:

    • AgentGender_Enum
    • AgentSynonymisationType_Enum
    • AgentTitle_Enum
    • AgentType_Enum
    • LanguageCode_Enum
    • RevisionLevel_Enum

    trgInsAgent

    Setting the value of column AgentName according to standard derived from content of given values in columns InheritedNamePrefix, Inheritedname, GivenName, GivenNamePostfix, InheritedNamePostfix and AgentTitle


    Table AgentContactInformation

    The contact information resp. addresses of the agents

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    DisplayOrder tinyint Display order of records in user interface. DisplayOrder 1 corresponds to the preferred address (= part of primary key) NO -
    AddressType nvarchar (50) Type of the adress, e.g. private YES Refers to table AddressType_Enum
    Country nvarchar (255) Country of the address YES -
    City nvarchar (255) City of the address YES -
    PostalCode nvarchar (50) ZIP or postcode of the address (usually output before or after the city) YES -
    Streetaddress nvarchar (255) Usually street name and number, but may also contain post office box YES -
    Address nvarchar (255) Free text postal address of the agent YES -
    Telephone nvarchar (50) Phone number, including area code YES -
    CellularPhone nvarchar (50) The number of a mobile telephone device of the agent YES -
    Telefax nvarchar (50) Fax number, including area code YES -
    Email nvarchar (255) E-mail address of the agent YES -
    URI nvarchar (255) URI pointing to a homepage containing further information YES -
    Notes nvarchar (MAX) Notes about this address YES -
    ValidFrom datetime The date when this address became valid as date according to ISO 8601 YES -
    ValidUntil datetime The date of the expiration of the validity of this address as date according to ISO 8601 YES -
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null. Default value: N’Withhold by default’ YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. Default value: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -

    Depending on:

    • AddressType_Enum
    • Agent

    trgInsAgentContactInformation


    Table AgentDescriptor

    The Descriptors for the agents

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (foreign key + part of primary key) NO Refers to table Agent
    DescriptorID int Unique ID for the descriptor, Part of PK NO -
    Descriptor nvarchar (200) The Descriptor. Default value: '’ NO -
    URL varchar (500) URL of the Descriptor. In case of a module related Descriptor, the link to the module entry resp. the related webservice. Default value: '' YES -
    DescriptorType nvarchar (50) Type of the Descriptor as described in table AgentDescriptorType_Enum. Default value: N’Descriptor' YES Refers to table AgentDescriptorType_Enum
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -
    RowGUID uniqueidentifier -. Default value: newsequentialid() NO -

    Depending on:

    • Agent
    • AgentDescriptorType_Enum

    Table AgentExternalDatabase

    The external databases from which data in the database may have been imported from

    Column Data type Description Nullable Relation
    ExternalDatabaseID int An ID to identify an external data collection of plant names (primary key, the ID has no meaning outside of the DiversityWorkbench system) NO -
    ExternalDatabaseName nvarchar (100) The name of the data collection that has been integrated or can be linked to for further analysis YES -
    ExternalDatabaseVersion nvarchar (255) The version of this data collection (either official version number, or dates when the collection was integrated) YES -
    Rights nvarchar (500) A description of copyright agreements or permission to use data from the external database YES -
    ExternalDatabaseAuthors nvarchar (200) The persons or institutions responsible for the external database YES -
    ExternalDatabaseURI nvarchar (300) The link to the database provider resp. the external database YES -
    ExternalDatabaseInstitution nvarchar (300) The institution responsible for the external database YES -
    InternalNotes nvarchar (1500) Additional notes concerning this data collection YES -
    ExternalAttribute_AgentID nvarchar (255) The table and field name in the external data collection to which PlantNameAnalysis.ExternalNameID refers YES -
    PreferredSequence tinyint For selection in e.g. picklists: of several equal names only the name from the source with the lowest preferred sequence will be provided. YES -
    Disabled bit If this source should be disabled for selection of names e.g. in picklists YES -
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. YES -
    LogInsertedWhen smalldatetime Date and time when the data were first entered (typed or imported) into this database. YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES -

    Table AgentExternalID

    The ID’s of data that were imported from foreign souces

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (foreign key + part of primary key) NO Refers to table Agent
    ExternalDatabaseID int The ID of an external taxonomic data collection as defined in AgentExternalDatabase (foreign key + part of primary key). Default value: '' NO Refers to table AgentExternalDatabase
    ExternalAgentURI varchar (255) The URI (e.g. LSID) of the external agent YES -
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -

    Depending on:

    • Agent
    • AgentExternalDatabase

    Table AgentHierarchyOther

    Other hierarchies of the agent

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    HierarchyID int Identifier of the hierarchy, part of PK NO -
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy NO Refers to table Agent
    ValidFrom datetime The start time of the hierarchy, e.g. when a person was employed in an institution YES -
    ValidUntil datetime The end of a hierarchy, e.g. when an employment ended YES -
    Notes nvarchar (MAX) Notes about the other hierarchy YES -
    LogCreatedWhen datetime Point in time when this data set was created. Default value: getdate() YES -
    LogCreatedBy nvarchar (50) Name of the creator of this data set. Default value: suser_sname() YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. Default value: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -
    RowGUID uniqueidentifier -. Default value: newsequentialid() NO -

    Depending on:

    • Agent

    Table AgentIdentifier

    Identifier for the agent

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    Identifier nvarchar (400) Identifier for the agent, part of PK NO -
    IdentifierURI varchar (500) URI of Identifier YES -
    Type nvarchar (50) Type of the identifier as defined in table AgentIdentifierType_Enum YES Refers to table AgentIdentifierType_Enum
    Notes nvarchar (MAX) Notes about the identifier YES -
    LogCreatedWhen datetime Point in time when this data set was created. Default value: getdate() YES -
    LogCreatedBy nvarchar (50) Name of the creator of this data set. Default value: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. Default value: suser_sname() YES -
    RowGUID uniqueidentifier -. Default value: newsequentialid() NO -

    Depending on:

    • Agent
    • AgentIdentifierType_Enum

    Table AgentImage

    The images of the agents

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (foreign key + part of primary key) NO Refers to table Agent
    URI varchar (255) The complete URI address of the image. This is only a cached value if ResourceID is available referring to the module DiversityResources NO -
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -
    Description nvarchar (MAX) Description of the resource YES -
    Type nvarchar (50) The type of the image YES Refers to table AgentImageType_Enum
    Sequence int The sequence of the image. Default value: (1) YES -
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null. Default value: N’Withhold by default' YES -

    Depending on:

    • Agent
    • AgentImageType_Enum

    trgInsAgentImage


    Table AgentKeyword

    The keywords for the agents

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (foreign key + part of primary key) NO Refers to table Agent
    Keyword nvarchar (200) The keyword NO -
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -

    Depending on:

    • Agent

    trgInsAgentKeyword


    Table AgentProject

    The projects of the agents

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (= Foreign key) NO Refers to table Agent
    ProjectID int The ID of the project. Default value: (0) NO Refers to table ProjectProxy
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -

    Depending on:

    • Agent
    • ProjectProxy

    Table AgentReference

    References containing informations about the agent

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    ReferenceTitle nvarchar (255) The title of the publication where information about the agent was published. Note this is only a cached value where ReferenceURI is present NO -
    ReferenceURI varchar (255) URI of reference where information about the agent, e.g. referring to the module DiversityReferences YES -
    ReferenceDetails nvarchar (50) Details within the reference, e.g. pages YES -
    ContainsImage tinyint If the reference contains an image of the agent YES -
    ContainsReferencelist tinyint If the reference contains a publication list of the agent YES -
    Notes nvarchar (255) Notes about the reference YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES -

    Depending on:

    • Agent

    trgInsAgentReference


    Table AgentRelation

    Relations of the agent to other agents

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    RelatedAgentID int The AgentID of the related agent NO -
    RelationType nvarchar (50) The type of the relation between the agents, e.g. “parent of”, “child of”, “married to” YES Refers to table AgentRelationType_Enum
    Notes nvarchar (255) Notes about the relation YES -
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES -

    Depending on:

    • Agent
    • AgentRelationType_Enum

    trgInsAgentRelation


    Enumeration tables

    Tabledesign

    Column Data type Description
    Code nvarchar (50) A text code that uniquely identifies each object in the enumeration (primary key). This value may not be changed, because the application may depend upon it.
    ParentCode nvarchar (50) The code of the superior entry, if a hierarchy within the entries is necessary
    ParentRelation nvarchar (50) Relation to parent entry, e.g. part of
    Description nvarchar (500) Description of enumerated object, displayed in the user interface
    DisplayText nvarchar (50) Short abbreviated description of the object, displayed in the user interface
    DisplayOrder smallint The order in which the entries are displayed. The order may be changed at any time, but all values must be unique.
    DisplayEnable bit Enumerated objects can be hidden from the user interface if this attribute is set to false (= unchecked check box)
    URL varchar (500) A link to further information about the enumerated object
    InternalNotes nvarchar (500) Internal development notes about usage, definition, etc. of an enumerated object
    Icon image A symbol representing this entry in the user interface
    ModuleName varchar (50) If the enumerated entry is related to a DiversityWorkbench module or a related webservice, the name of the DiversityWorkbench module, e.g. DiversityAgents
    RowGUID uniqueidentifier -. Default value: newsequentialid()

    Table AddressType_Enum

    Lookup table for the types of the addresses

    Dependent tables:

    • AgentContactInformation

    Content

    Code Description
    office office address
    private private address

    Table AgentDescriptorType_Enum

    The type of the Descriptors

    Dependent tables:

    • AgentDescriptor

    Table AgentGender_Enum

    Gender of the agent: female or male

    Dependent tables:

    • Agent

    Content

    Code Description
    female
    male

    Table AgentIdentifierType_Enum

    Types of the agent identifier, e.g. ISNI

    Dependent tables:

    • AgentIdentifier

    Content

    Code Description
    ISNI International Standard Name Identifier (ISO 27729)
    ORCID Open Researcher Contributor Identification
    ROR Research Organization Registry

    Table AgentImageType_Enum

    Types of images in table AgentImage, e.g. Logo

    Dependent tables:

    • AgentImage

    Content

    Code Description
    Logo Logo
    Portrait Portrait

    Table AgentNameDisplayType_Enum

    Display types of the names of the agents, defining e.g. the position of title, given and inherited part of the name and their abbreviation

    Dependent tables:

    • ProjectProxy

    Content

    Code Description
    Abbr The international defined standard arbbreviation; e.g. L. for Linne
    G. Ii Given name. Inherited name; e.g. H. Hertel
    Gg Ii Given name InheritedName; e.g. Hannes Hertel
    Ii, G. Inherited name, GivenName; e.g. Hertel, H.
    Ii, Gg Inherited name, GivenName; e.g. Hertel, Hannes
    Tt. G. Ii Titel Given name. Inherited name; e.g. Prof. H. Hertel
    Tt. Gg Ii Titel Given name Inherited name; e.g. Prof. Hannes Hertel

    Table AgentRelationType_Enum

    Relation types of agents, e.g. Child of

    Dependent tables:

    • AgentRelation

    Content

    Code Description
    Child of
    Married to
    Parent of

    Table AgentSynonymisationType_Enum

    Synonymisation types of agents, e.g. synonym to

    Dependent tables:

    • Agent

    Content

    Code Description
    replaced with if the agent was replaced by another entry
    synonym to if the agent is synonym to another agent

    Table AgentTitle_Enum

    Lookup table for the titles of the agents

    Dependent tables:

    • Agent

    Content

    Code Description
    Dr.
    Frater
    Pater
    Prof.
    Prof. Dr.

    Table AgentType_Enum

    Lookup table for the types of the agents

    Dependent tables:

    • Agent

    Content

    Code Description
    Collection
    Company
    Department
    Group
    Institution
    Person
    University

    Table LanguageCode_Enum

    The codes for the languages

    Dependent tables:

    • Agent

    Content

    Code Description
    af Afrikaans
    ar Arabisch
    az Aserbaidschanisch
    be Belarussisch
    bg Bulgarisch
    ca Katalanisch
    cs Tschechisch
    da Dänisch
    de Deutsch
    el Griechisch
    en Englisch
    es Spanisch
    et Estnisch
    eu Baskisch
    fa Farsi
    fi Finnisch
    fo Färingisch
    fr Französisch
    gl Galizisch
    gu Gujarati
    he Hebräisch
    hi Hindi
    hr Kroatisch
    hu Ungarisch
    hy Armenisch
    id Indonesisch
    is Isländisch
    it Italienisch
    ja Japanisch
    ka Georgisch
    kk Kasachisch
    kn Kannada
    ko Koreanisch
    ky Kirgisisch
    lt Litauisch
    lv Lettisch
    mk Mazedonisch
    mn Mongolisch
    mr Marathi
    ms Malaiisch
    nl Niederländisch
    no Norwegisch
    pa Punjabi
    pl Polnisch
    pt Portugiesisch
    ro Rumänisch
    ru Russisch
    sa Sanskrit
    sk Slowakisch
    sl Slowenisch
    sq Albanisch
    sv Schwedisch
    sw Swahili
    ta Tamil
    te Telugu
    th Thai
    tr Türkisch
    tt Tatarisch
    uk Ukrainisch
    ur Urdu
    uz Usbekisch
    vi Vietnamesisch
    zh Chinesisch

    Table RevisionLevel_Enum

    Lookup table for the revision level

    Dependent tables:

    • Agent

    Content

    Code Description
    checked checked
    final revision final revision
    review required review required
    to be deleted to be deleted
    unchecked unchecked
    Jul 9, 2025

    Diversity Agents

    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

    ER-Diagram


    Table Agent

    The main table with the data of the agent

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (= Primary key) NO -
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy YES Refers to table Agent
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitleDefault value: '' NO -
    Version smallint The version of a agent record (revision number, internally filled by system)Default value: (1) NO -
    AgentTitle nvarchar (50) The title of the agent, e.g. Dr., Prof. YES Refers to table AgentTitle_Enum
    GivenName nvarchar (255) The first names of the agent (if a person) or the name of e.g. an institution YES -
    GivenNamePostfix nvarchar (50) Variable part of name, correctly placed at end of given names YES -
    InheritedNamePrefix nvarchar (50) Variable part of name, correctly placed at the beginning of the inherited names YES -
    InheritedName nvarchar (255) The last names of the agent (if a person) YES -
    InheritedNamePostfix nvarchar (50) Additions after inherited name, like generation (Jr., III.) or names of religious orders YES -
    Abbreviation nvarchar (50) Abbreviation of the agent YES -
    AgentType nvarchar (50) The type of the agent, e.g. person, companyDefault value: N’person' YES Refers to table AgentType_Enum
    AgentRole nvarchar (255) The role of an agent esp. a person within an organization. e.g. “Database Administrator” or “Curator” YES -
    AgentGender nvarchar (50) The gender of the agent YES Refers to table AgentGender_Enum
    Description nvarchar (1000) A description of the agent YES -
    OriginalSpelling nvarchar (200) Name as originally written in e.g. chinese or cyrillic letters YES -
    Notes nvarchar (MAX) Notes about the agent YES -
    ValidFromDate datetime The date of the begin of the exsistence of the agent, e.g. the birthday of a person or the founding of an institution, calculated from ValidFromDay, - Month and -Year YES -
    ValidFromDay tinyint The day of the begin of the exsistence of the agent YES -
    ValidFromMonth tinyint The month of the begin of the exsistence of the agent YES -
    ValidFromYear smallint The year of the begin of the exsistence of the agent YES -
    ValidUntilDate datetime The date of the end of the exsistence of the agent, e.g. death of a person or closing of an institute, calculated from ValidUntilDay, - Month and -Year YES -
    ValidUntilDay tinyint The day of the end of the exsistence of the agent YES -
    ValidUntilMonth tinyint The month of the end of the exsistence of the agent YES -
    ValidUntilYear smallint The year of the end of the exsistence of the agent YES -
    ValidDateSupplement nvarchar (255) Verbal or additional date information, e.g. ’end of summer 1985’, ‘first quarter’. The time of the valid date if necessary. YES -
    PlaceOfBirth nvarchar (500) The place (e.g. a city) where a person was born or an institution was founded YES -
    PlaceOfDeath nvarchar (500) The place (e.g.a city) where the person died YES -
    SynonymToAgentID int The AgentID of the agent which was selected as a replacement for the current agent, e.g. if to equal datasets were imported from different sources YES Refers to table Agent
    SynonymisationType nvarchar (50) The type of the synonymisation like “replaced with”, “synonym to” YES Refers to table AgentSynonymisationType_Enum
    RevisionLevel nvarchar (50) The level of the revision of the agent, e.g. ‘unchecked’, ‘final revision’Default value: N’unchecked’ YES Refers to table RevisionLevel_Enum
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null YES -
    IgnoreButKeepForReference bit If true, the record is ignored for all purposes of evaluation (because contradicted). It is kept only to maintain the cited reference. If no reference is given, it may be deleted instead.Default value: (0) YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data.Default value: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -
    ContentLanguage nvarchar (50) The language of the content YES Refers to table LanguageCode_Enum

    Depending on:

    • AgentGender_Enum
    • AgentSynonymisationType_Enum
    • AgentTitle_Enum
    • AgentType_Enum
    • LanguageCode_Enum
    • RevisionLevel_Enum

    trgInsAgent

    Setting the value of column AgentName according to standard derived from content of given values in columns InheritedNamePrefix, Inheritedname, GivenName, GivenNamePostfix, InheritedNamePostfix and AgentTitle


    Table AgentContactInformation

    The contact information resp. addresses of the agents

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    DisplayOrder tinyint Display order of records in user interface. DisplayOrder 1 corresponds to the preferred address (= part of primary key) NO -
    AddressType nvarchar (50) Type of the adress, e.g. private YES Refers to table AddressType_Enum
    Country nvarchar (255) Country of the address YES -
    City nvarchar (255) City of the address YES -
    PostalCode nvarchar (50) ZIP or postcode of the address (usually output before or after the city) YES -
    Streetaddress nvarchar (255) Usually street name and number, but may also contain post office box YES -
    Address nvarchar (255) Free text postal address of the agent YES -
    Telephone nvarchar (50) Phone number, including area code YES -
    CellularPhone nvarchar (50) The number of a mobile telephone device of the agent YES -
    Telefax nvarchar (50) Fax number, including area code YES -
    Email nvarchar (255) E-mail address of the agent YES -
    URI nvarchar (255) URI pointing to a homepage containing further information YES -
    Notes nvarchar (MAX) Notes about this address YES -
    ValidFrom datetime The date when this address became valid as date according to ISO 8601 YES -
    ValidUntil datetime The date of the expiration of the validity of this address as date according to ISO 8601 YES -
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise nullDefault value: N’Withhold by default’ YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data.Default value: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -

    Depending on:

    • AddressType_Enum
    • Agent

    trgInsAgentContactInformation


    Table AgentDescriptor

    The Descriptors for the agents

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (foreign key + part of primary key) NO Refers to table Agent
    DescriptorID int Unique ID for the descriptor, Part of PK NO -
    Descriptor nvarchar (200) The DescriptorDefault value: '’ NO -
    URL varchar (500) URL of the Descriptor. In case of a module related Descriptor, the link to the module entry resp. the related webserviceDefault value: '' YES -
    DescriptorType nvarchar (50) Type of the Descriptor as described in table AgentDescriptorType_EnumDefault value: N’Descriptor' YES Refers to table AgentDescriptorType_Enum
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data.Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -
    RowGUID uniqueidentifier -Default value: newsequentialid() NO -

    Depending on:

    • Agent
    • AgentDescriptorType_Enum

    Table AgentExternalDatabase

    The external databases from which data in the database may have been imported from

    Column Data type Description Nullable Relation
    ExternalDatabaseID int An ID to identify an external data collection of plant names (primary key, the ID has no meaning outside of the DiversityWorkbench system) NO -
    ExternalDatabaseName nvarchar (100) The name of the data collection that has been integrated or can be linked to for further analysis YES -
    ExternalDatabaseVersion nvarchar (255) The version of this data collection (either official version number, or dates when the collection was integrated) YES -
    Rights nvarchar (500) A description of copyright agreements or permission to use data from the external database YES -
    ExternalDatabaseAuthors nvarchar (200) The persons or institutions responsible for the external database YES -
    ExternalDatabaseURI nvarchar (300) The link to the database provider resp. the external database YES -
    ExternalDatabaseInstitution nvarchar (300) The institution responsible for the external database YES -
    InternalNotes nvarchar (1500) Additional notes concerning this data collection YES -
    ExternalAttribute_AgentID nvarchar (255) The table and field name in the external data collection to which PlantNameAnalysis.ExternalNameID refers YES -
    PreferredSequence tinyint For selection in e.g. picklists: of several equal names only the name from the source with the lowest preferred sequence will be provided. YES -
    Disabled bit If this source should be disabled for selection of names e.g. in picklists YES -
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. YES -
    LogInsertedWhen smalldatetime Date and time when the data were first entered (typed or imported) into this database. YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES -

    Table AgentExternalID

    The ID’s of data that were imported from foreign souces

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (foreign key + part of primary key) NO Refers to table Agent
    ExternalDatabaseID int The ID of an external taxonomic data collection as defined in AgentExternalDatabase (foreign key + part of primary key)Default value: '' NO Refers to table AgentExternalDatabase
    ExternalAgentURI varchar (255) The URI (e.g. LSID) of the external agent YES -
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data.Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -

    Depending on:

    • Agent
    • AgentExternalDatabase

    Table AgentHierarchyOther

    Other hierarchies of the agent

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    HierarchyID int Identifier of the hierarchy, part of PK NO -
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy NO Refers to table Agent
    ValidFrom datetime The start time of the hierarchy, e.g. when a person was employed in an institution YES -
    ValidUntil datetime The end of a hierarchy, e.g. when an employment ended YES -
    Notes nvarchar (MAX) Notes about the other hierarchy 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: suser_sname() YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data.Default value: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -
    RowGUID uniqueidentifier -Default value: newsequentialid() NO -

    Depending on:

    • Agent

    Table AgentIdentifier

    Identifier for the agent

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    Identifier nvarchar (400) Identifier for the agent, part of PK NO -
    IdentifierURI varchar (500) URI of Identifier YES -
    Type nvarchar (50) Type of the identifier as defined in table AgentIdentifierType_Enum YES Refers to table AgentIdentifierType_Enum
    Notes nvarchar (MAX) Notes about the identifier 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data.Default value: suser_sname() YES -
    RowGUID uniqueidentifier -Default value: newsequentialid() NO -

    Depending on:

    • Agent
    • AgentIdentifierType_Enum

    Table AgentImage

    The images of the agents

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (foreign key + part of primary key) NO Refers to table Agent
    URI varchar (255) The complete URI address of the image. This is only a cached value if ResourceID is available referring to the module DiversityResources NO -
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data.Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -
    Description nvarchar (MAX) Description of the resource YES -
    Type nvarchar (50) The type of the image YES Refers to table AgentImageType_Enum
    Sequence int The sequence of the imageDefault value: (1) YES -
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise nullDefault value: N’Withhold by default' YES -

    Depending on:

    • Agent
    • AgentImageType_Enum

    trgInsAgentImage


    Table AgentKeyword

    The keywords for the agents

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (foreign key + part of primary key) NO Refers to table Agent
    Keyword nvarchar (200) The keyword NO -
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data.Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -

    Depending on:

    • Agent

    trgInsAgentKeyword


    Table AgentProject

    The projects of the agents

    Column Data type Description Nullable Relation
    AgentID int Unique ID for the Agent (= Foreign key) NO Refers to table Agent
    ProjectID int The ID of the projectDefault value: (0) NO Refers to table ProjectProxy
    LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data.Default value: suser_sname() YES -
    LogInsertedWhen 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: suser_sname() YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.Default value: getdate() YES -

    Depending on:

    • Agent
    • ProjectProxy

    Table AgentReference

    References containing informations about the agent

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    ReferenceTitle nvarchar (255) The title of the publication where information about the agent was published. Note this is only a cached value where ReferenceURI is present NO -
    ReferenceURI varchar (255) URI of reference where information about the agent, e.g. referring to the module DiversityReferences YES -
    ReferenceDetails nvarchar (50) Details within the reference, e.g. pages YES -
    ContainsImage tinyint If the reference contains an image of the agent YES -
    ContainsReferencelist tinyint If the reference contains a publication list of the agent YES -
    Notes nvarchar (255) Notes about the reference YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES -

    Depending on:

    • Agent

    trgInsAgentReference


    Table AgentRelation

    Relations of the agent to other agents

    Column Data type Description Nullable Relation
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) NO Refers to table Agent
    RelatedAgentID int The AgentID of the related agent NO -
    RelationType nvarchar (50) The type of the relation between the agents, e.g. “parent of”, “child of”, “married to” YES Refers to table AgentRelationType_Enum
    Notes nvarchar (255) Notes about the relation YES -
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null YES -
    LogUpdatedBy nvarchar (50) Name of user who last updated the data. YES -
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES -

    Depending on:

    • Agent
    • AgentRelationType_Enum

    trgInsAgentRelation


    VIEWS


    View Agent_Core

    Agents that are available for a user and are not ignored

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Primary key) NO
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy YES
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle NO
    DisplayText nvarchar (204) The name of the agent including indentation for synonyms NO
    Version smallint The version of a agent record (revision number, internally filled by system) NO
    AgentTitle nvarchar (50) The title of the agent, e.g. Dr., Prof. YES
    GivenName nvarchar (255) The first names of the agent (if a person) or the name of e.g. an institution YES
    GivenNamePostfix nvarchar (50) Variable part of name, correctly placed at end of given names YES
    InheritedNamePrefix nvarchar (50) Variable part of name, correctly placed at the beginning of the inherited names YES
    InheritedName nvarchar (255) The last names of the agent (if a person) YES
    InheritedNamePostfix nvarchar (50) Additions after inherited name, like generation (Jr., III.) or names of religious orders YES
    Abbreviation nvarchar (50) Abbreviation of the agent YES
    AgentType nvarchar (50) The type of the agent, e.g. person, company YES
    AgentRole nvarchar (255) The role of an agent esp. a person within an organization. e.g. “Database Administrator” or “Curator” YES
    AgentGender nvarchar (50) The gender of the agent YES
    Description nvarchar (1000) A description of the agent YES
    OriginalSpelling nvarchar (200) Name as originally written in e.g. chinese or cyrillic letters YES
    Notes nvarchar (MAX) Notes about the agent YES
    ValidFromDate datetime The date of the begin of the exsistence of the agent, e.g. the birthday of a person or the founding of an institution, calculated from ValidFromDay, - Month and -Year YES
    ValidFromDay tinyint The day of the begin of the exsistence of the agent YES
    ValidFromMonth tinyint The month of the begin of the exsistence of the agent YES
    ValidFromYear smallint The year of the begin of the exsistence of the agent YES
    ValidUntilDate datetime The date of the end of the exsistence of the agent, e.g. death of a person or closing of an institute, calculated from ValidUntilDay, - Month and -Year YES
    ValidUntilDay tinyint The day of the end of the exsistence of the agent YES
    ValidUntilMonth tinyint The month of the end of the exsistence of the agent YES
    ValidUntilYear smallint The year of the end of the exsistence of the agent YES
    ValidDateSupplement nvarchar (255) Verbal or additional date information, e.g. ’end of summer 1985’, ‘first quarter’. The time of the valid date if necessary. YES
    PlaceOfBirth nvarchar (500) The place (e.g. a city) where a person was born or an institution was founded YES
    PlaceOfDeath nvarchar (500) The place (e.g.a city) where the person died YES
    SynonymToAgentID int The AgentID of the agent which was selected as a replacement for the current agent, e.g. if to equal datasets were imported from different sources YES
    SynonymisationType nvarchar (50) The type of the synonymisation like “replaced with”, “synonym to” YES
    RevisionLevel nvarchar (50) The level of the revision of the agent, e.g. ‘unchecked’, ‘final revision’ YES
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null YES
    IgnoreButKeepForReference bit If true, the record is ignored for all purposes of evaluation (because contradicted). It is kept only to maintain the cited reference. If no reference is given, it may be deleted instead. YES
    ValidFrom varchar (92) - YES
    ValidUntil varchar (92) - YES

    Depending on:

    • Agent
    • AgentID_UserAvailable

    View AgentID_AvailableReadOnly

    Available AgentIDs that are ReadOnly or Locked

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Foreign key) NO

    Depending on:

    • AgentID_Locked
    • AgentProject
    • ProjectUser

    View AgentID_FullAccess

    ID of agents with full access (neither read only or locked)

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Foreign key) NO

    Depending on:

    • AgentProject
    • ProjectProxy
    • ProjectUser

    View AgentID_Locked

    AgentIDs that are locked due to locking of the project

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Foreign key) NO

    Depending on:

    • AgentProject
    • ProjectProxy

    View AgentID_ReadOnly

    AgentIDs that are ReadOnly for a User or are locked due to locking of the project

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Foreign key) NO

    Depending on:

    • AgentID_Locked
    • AgentProject
    • ProjectUser

    View AgentID_UserAvailable

    IDs of the agent available for a user

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Primary key) NO

    Depending on:

    • Agent
    • AgentProject
    • ProjectUser

    View ProjectList

    Projects available for a user

    Column Data type Description Nullable
    ProjectID int The ID of the project, Primary key NO
    Project nvarchar (50) The name of the project as stored in the module DiversityProjects NO
    ReadOnly int If the user has only read access to data of this project YES
    IsLocked bit If the data within the project should not be changeed and the access for all users is restricted to read only YES

    Depending on:

    • ProjectProxy
    • ProjectUser

    View PublicAgent

    Content of table Agent available for the public

    Column Data type Description Nullable
    DisplayText nvarchar (200) Corresponds to content of column AgentName NO
    URI varchar (285) Combines BaseURL of the database and AgentID to provide unique identifier of the dataset YES
    AgentID int Unique ID for the Agent (= Primary key) NO
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy YES
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle NO
    Version smallint The version of a agent record (revision number, internally filled by system) NO
    AgentTitle nvarchar (50) The title of the agent, e.g. Dr., Prof. YES
    GivenName nvarchar (255) The first names of the agent (if a person) or the name of e.g. an institution YES
    GivenNamePostfix nvarchar (50) Variable part of name, correctly placed at end of given names YES
    InheritedNamePrefix nvarchar (50) Variable part of name, correctly placed at the beginning of the inherited names YES
    InheritedName nvarchar (255) The last names of the agent (if a person) YES
    InheritedNamePostfix nvarchar (50) Additions after inherited name, like generation (Jr., III.) or names of religious orders YES
    Abbreviation nvarchar (50) Abbreviation of the agent YES
    AgentType nvarchar (50) The type of the agent, e.g. person, company YES
    AgentRole nvarchar (255) The role of an agent esp. a person within an organization. e.g. “Database Administrator” or “Curator” YES
    AgentGender nvarchar (50) The gender of the agent YES
    Description nvarchar (1000) A description of the agent YES
    OriginalSpelling nvarchar (200) Name as originally written in e.g. chinese or cyrillic letters YES
    Notes nvarchar (MAX) Notes about the agent YES
    ValidFromDate datetime The date of the begin of the exsistence of the agent, e.g. the birthday of a person or the founding of an institution, calculated from ValidFromDay, - Month and -Year YES
    ValidFromDay tinyint The day of the begin of the exsistence of the agent YES
    ValidFromMonth tinyint The month of the begin of the exsistence of the agent YES
    ValidFromYear smallint The year of the begin of the exsistence of the agent YES
    ValidUntilDate datetime The date of the end of the exsistence of the agent, e.g. death of a person or closing of an institute, calculated from ValidUntilDay, - Month and -Year YES
    ValidUntilDay tinyint The day of the end of the exsistence of the agent YES
    ValidUntilMonth tinyint The month of the end of the exsistence of the agent YES
    ValidUntilYear smallint The year of the end of the exsistence of the agent YES
    ValidDateSupplement nvarchar (255) Verbal or additional date information, e.g. ’end of summer 1985’, ‘first quarter’. The time of the valid date if necessary. YES
    PlaceOfBirth nvarchar (500) The place (e.g. a city) where a person was born or an institution was founded YES
    PlaceOfDeath nvarchar (500) The place (e.g.a city) where the person died YES
    SynonymToAgentID int The AgentID of the agent which was selected as a replacement for the current agent, e.g. if to equal datasets were imported from different sources YES
    SynonymisationType nvarchar (50) The type of the synonymisation like “replaced with”, “synonym to” YES
    RevisionLevel nvarchar (50) The level of the revision of the agent, e.g. ‘unchecked’, ‘final revision’ YES
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES

    Depending on:

    • Agent
    • AgentNames
    • BaseURL
    • DefaultAgentNameDisplayType

    View PublicContactInformation

    Accumulated public address of an agent within a hierarchy of up to 4 levels

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Primary key) NO
    DisplayOrder tinyint Display order of records in user interface. DisplayOrder 1 corresponds to the preferred address (= part of primary key) NO
    ParentName nvarchar (200) Name of the superior agent within the hierarchy YES
    AddressType nvarchar (50) Type of the adress, e.g. private YES
    Country nvarchar (255) Country of the address YES
    City nvarchar (255) City of the address YES
    PostalCode nvarchar (50) ZIP or postcode of the address (usually output before or after the city) YES
    Streetaddress nvarchar (255) Usually street name and number, but may also contain post office box YES
    Address nvarchar (255) Free text postal address of the agent YES
    Telephone nvarchar (50) Phone number, including area code YES
    CellularPhone nvarchar (50) The number of a mobile telephone device of the agent YES
    Telefax nvarchar (50) Fax number, including area code YES
    Email nvarchar (255) E-mail address of the agent YES
    URI nvarchar (255) URI pointing to a homepage containing further information YES
    Notes nvarchar (MAX) Notes about the agent YES
    ValidFrom datetime The date when this address became valid as date according to ISO 8601 YES
    ValidUntil datetime The date of the expiration of the validity of this address as date according to ISO 8601 YES
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES

    Depending on:

    • AgentContactInformation_Public

    View PublicIdentifier

    Content of table AgentIdentifier available for the public

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Primary key) NO
    Identifier nvarchar (400) Identifier for the agent, part of PK NO
    IdentifierURI varchar (500) URI of Identifier YES
    Type nvarchar (50) Type of the identifier as defined in table AgentIdentifierType_Enum YES
    Notes nvarchar (MAX) Notes about the agent YES
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES

    Depending on:

    • Agent
    • AgentIdentifier

    View PublicImage

    Content of table AgentImage available for the public

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Primary key) NO
    URI varchar (255) The complete URI address of the image. This is only a cached value if ResourceID is available referring to the module DiversityResources NO
    Description nvarchar (MAX) A description of the agent YES
    Type nvarchar (50) The type of the image YES
    Sequence int The sequence of the image YES
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES

    Depending on:

    • Agent
    • AgentImage

    View PublicReference

    Content of table AgentReference available for the public

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Primary key) NO
    ReferenceTitle nvarchar (255) The title of the publication where information about the agent was published. Note this is only a cached value where ReferenceURI is present NO
    ReferenceURI varchar (255) URI of reference where information about the agent, e.g. referring to the module DiversityReferences YES
    ReferenceDetails nvarchar (50) Details within the reference, e.g. pages YES
    ContainsImage tinyint If the reference contains an image of the agent YES
    ContainsReferencelist tinyint If the reference contains a publication list of the agent YES
    Notes nvarchar (255) Notes about the agent YES
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES

    Depending on:

    • Agent
    • AgentReference

    View PublicRelation

    Content of table AgentRelation available for the public

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Primary key) NO
    RelatedAgentID int The AgentID of the related agent NO
    RelationType nvarchar (50) The type of the relation between the agents, e.g. “parent of”, “child of”, “married to” YES
    Notes nvarchar (255) Notes about the agent YES
    LogUpdatedWhen smalldatetime Date and time when the data were last updated. YES

    Depending on:

    • Agent
    • AgentRelation

    View UserInfo

    Information about the user as stored in table UserProxy

    Column Data type Description Nullable
    LoginName nvarchar (50) The login name of the user, Primary key NO
    CombinedNameCache nvarchar (50) A combined name of the user, created on the base of an entry in the module DiversityUsers YES
    UserURI varchar (255) Refers to UserInfo.UserID in database DiversityUsers YES
    ProjectID int The ID of the default project of the user as stored in table ProjectProxy YES

    Depending on:

    • UserProxy

    View ViewAgentAddress

    Accumulated address of an agent within a hierarchy of up to 4 levels

    Column Data type Description Nullable
    AgentID int Refers to the ID of Agent (= Foreign key and part of primary key) YES
    DisplayOrder tinyint Display order of records in user interface. DisplayOrder 1 corresponds to the preferred address (= part of primary key) YES
    ParentName nvarchar (200) Name of the superior agent within the hierarchy YES
    AddressType nvarchar (50) Type of the adress, e.g. private YES
    Country nvarchar (255) Country of the address YES
    City nvarchar (255) City of the address YES
    PostalCode nvarchar (50) ZIP or postcode of the address (usually output before or after the city) YES
    Streetaddress nvarchar (255) Usually street name and number, but may also contain post office box YES
    Address nvarchar (255) Free text postal address of the agent YES
    Telephone nvarchar (50) Phone number, including area code YES
    CellularPhone nvarchar (50) The number of a mobile telephone device of the agent YES
    Telefax nvarchar (50) Fax number, including area code YES
    Email nvarchar (255) E-mail address of the agent YES
    URI nvarchar (255) URI pointing to a homepage containing further information YES
    Notes nvarchar (MAX) Notes about this address YES
    ValidFrom datetime The date when this address became valid as date according to ISO 8601 YES
    ValidUntil datetime The date of the expiration of the validity of this address as date according to ISO 8601 YES

    Depending on:

    • ViewAgentAddress0
    • ViewAgentAddress1
    • ViewAgentAddress2
    • ViewAgentAddress3
    • ViewAgentAddress4

    View ViewAgentNames

    The names of the agents as retrieved for the default display type with function AgentNames

    Column Data type Description Nullable
    AgentID int Unique ID for the Agent (= Primary key) NO
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle NO

    Depending on:

    • AgentNames
    • DefaultAgentNameDisplayType

    View ViewBaseURL

    Provides the basic address for accessing the database as defined in function BaseURL

    Column Data type Description Nullable
    BaseURL varchar (255) Basic address for accessing the database YES

    Depending on:

    • BaseURL

    View ViewDefaultAgentNameDisplayType

    The default display type as set for the default project as defined in function DefaultAgentNameDisplayType

    Column Data type Description Nullable
    DefaultAgentNameDisplayType nvarchar (50) The default display type YES

    Depending on:

    • DefaultAgentNameDisplayType

    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

    FUNCTIONS


    Function AgentAddress

    The address of the agent as collected from the hierarchy

    Parameter DataType Description
    @AgentID int The ID of the Agent
    Column DataType Description
    AgentID int Unique ID for the Agent (= Primary key)
    DisplayOrder tinyint Display order of records in user interface. DisplayOrder 1 corresponds to the preferred address (= part of primary key)
    ParentName nvarchar (4000) -
    AddressType nvarchar (50) Type of the adress, e.g. private
    Country nvarchar (255) Country of the address
    City nvarchar (255) City of the address
    PostalCode nvarchar (50) ZIP or postcode of the address (usually output before or after the city)
    Streetaddress nvarchar (255) Usually street name and number, but may also contain post office box
    Address nvarchar (255) Free text postal address of the agent
    Telephone nvarchar (50) Phone number, including area code
    CellularPhone nvarchar (50) The number of a mobile telephone device of the agent
    Telefax nvarchar (50) Fax number, including area code
    Email nvarchar (255) E-mail address of the agent
    URI nvarchar (255) URI pointing to a homepage containing further information
    Notes nvarchar (MAX) Notes about the agent
    ValidFrom datetime The date when this address became valid as date according to ISO 8601
    ValidUntil datetime The date of the expiration of the validity of this address as date according to ISO 8601

    Depending on:

    • Agent
    • AgentContactInformation

    Function AgentChildNodes

    Returns the list of agents within the hierarchy underneath the agent with the given ID (=AgentID)

    Parameter DataType Description
    @ID int The AgentID of the agent for which the hierarchy should be retrieved
    Column DataType Description
    AgentID int Unique ID for the Agent (= Primary key)
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle
    Version smallint The version of a agent record (revision number, internally filled by system)
    AgentTitle nvarchar (50) The title of the agent, e.g. Dr., Prof.
    GivenName nvarchar (255) The first names of the agent (if a person) or the name of e.g. an institution
    InheritedName nvarchar (255) The last names of the agent (if a person)
    Abbreviation nvarchar (50) Abbreviation of the agent
    AgentType nvarchar (50) The type of the agent, e.g. person, company
    AgentRole nvarchar (255) The role of an agent esp. a person within an organization. e.g. “Database Administrator” or “Curator”
    Description nvarchar (1000) A description of the agent
    Notes nvarchar (500) Notes about the agent
    ValidFromDate datetime The date of the begin of the exsistence of the agent, e.g. the birthday of a person or the founding of an institution, calculated from ValidFromDay, - Month and -Year
    ValidFromDay tinyint The day of the begin of the exsistence of the agent
    ValidFromMonth tinyint The month of the begin of the exsistence of the agent
    ValidFromYear smallint The year of the begin of the exsistence of the agent
    ValidUntilDate datetime The date of the end of the exsistence of the agent, e.g. death of a person or closing of an institute, calculated from ValidUntilDay, - Month and -Year
    ValidUntilDay tinyint The day of the end of the exsistence of the agent
    ValidUntilMonth tinyint The month of the end of the exsistence of the agent
    ValidUntilYear smallint The year of the end of the exsistence of the agent
    ValidDateSupplement nvarchar (255) Verbal or additional date information, e.g. ’end of summer 1985’, ‘first quarter’. The time of the valid date if necessary.
    SynonymToAgentID int The AgentID of the agent which was selected as a replacement for the current agent, e.g. if to equal datasets were imported from different sources
    SynonymisationType nvarchar (50) The type of the synonymisation like “replaced with”, “synonym to”
    RevisionLevel nvarchar (50) The level of the revision of the agent, e.g. ‘unchecked’, ‘final revision’
    PlaceOfBirth nvarchar (500) The place (e.g. a city) where a person was born or an institution was founded
    PlaceOfDeath nvarchar (500) The place (e.g.a city) where the person died
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null
    ContentLanguage nvarchar (50) The language of the content

    Depending on:

    • Agent

    Function AgentContactInformation_Public

    Provides the first contact information that is not withheld and valid including contact information of parent agents

    Column DataType Description
    AgentID int Unique ID for the Agent (= Primary key)
    DisplayOrder tinyint Display order of records in user interface. DisplayOrder 1 corresponds to the preferred address (= part of primary key)
    ParentName nvarchar (200) -
    AddressType nvarchar (50) Type of the adress, e.g. private
    Country nvarchar (255) Country of the address
    City nvarchar (255) City of the address
    PostalCode nvarchar (50) ZIP or postcode of the address (usually output before or after the city)
    Streetaddress nvarchar (255) Usually street name and number, but may also contain post office box
    Address nvarchar (255) Free text postal address of the agent
    Telephone nvarchar (50) Phone number, including area code
    CellularPhone nvarchar (50) The number of a mobile telephone device of the agent
    Telefax nvarchar (50) Fax number, including area code
    Email nvarchar (255) E-mail address of the agent
    URI nvarchar (255) URI pointing to a homepage containing further information
    Notes nvarchar (MAX) Notes about the agent
    ValidFrom datetime The date when this address became valid as date according to ISO 8601
    ValidUntil datetime The date of the expiration of the validity of this address as date according to ISO 8601
    LogUpdatedWhen smalldatetime Date and time when the data were last updated.

    Depending on:

    • Agent
    • AgentContactInformation

    Function AgentHierarchy

    Returns the list of agents within the hierarchy starting at the topmost agent related to the agent with the given AgentID

    Parameter DataType Description
    @AgentID int The AgentID of the agent for which the hierarchy should be retrieved
    Column DataType Description
    AgentID int Unique ID for the Agent (= Primary key)
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle
    Version smallint The version of a agent record (revision number, internally filled by system)
    AgentTitle nvarchar (50) The title of the agent, e.g. Dr., Prof.
    GivenName nvarchar (255) The first names of the agent (if a person) or the name of e.g. an institution
    InheritedName nvarchar (255) The last names of the agent (if a person)
    Abbreviation nvarchar (50) Abbreviation of the agent
    AgentType nvarchar (50) The type of the agent, e.g. person, company
    AgentRole nvarchar (255) The role of an agent esp. a person within an organization. e.g. “Database Administrator” or “Curator”
    Description nvarchar (1000) A description of the agent
    Notes nvarchar (500) Notes about the agent
    ValidFromDate datetime The date of the begin of the exsistence of the agent, e.g. the birthday of a person or the founding of an institution, calculated from ValidFromDay, - Month and -Year
    ValidFromDay tinyint The day of the begin of the exsistence of the agent
    ValidFromMonth tinyint The month of the begin of the exsistence of the agent
    ValidFromYear smallint The year of the begin of the exsistence of the agent
    ValidUntilDate datetime The date of the end of the exsistence of the agent, e.g. death of a person or closing of an institute, calculated from ValidUntilDay, - Month and -Year
    ValidUntilDay tinyint The day of the end of the exsistence of the agent
    ValidUntilMonth tinyint The month of the end of the exsistence of the agent
    ValidUntilYear smallint The year of the end of the exsistence of the agent
    ValidDateSupplement nvarchar (255) Verbal or additional date information, e.g. ’end of summer 1985’, ‘first quarter’. The time of the valid date if necessary.
    SynonymToAgentID int The AgentID of the agent which was selected as a replacement for the current agent, e.g. if to equal datasets were imported from different sources
    SynonymisationType nvarchar (50) The type of the synonymisation like “replaced with”, “synonym to”
    RevisionLevel nvarchar (50) The level of the revision of the agent, e.g. ‘unchecked’, ‘final revision’
    PlaceOfBirth nvarchar (500) The place (e.g. a city) where a person was born or an institution was founded
    PlaceOfDeath nvarchar (500) The place (e.g.a city) where the person died
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null
    ContentLanguage nvarchar (50) The language of the content

    Depending on:

    • Agent
    • AgentChildNodes
    • AgentTopID

    Function AgentHierarchyAllSuperior

    Returns the list of all superior agents within the hierarchy and other hierarchies related to the agent with the given AgentID

    Parameter DataType Description
    @AgentID int The ID of the Agent
    Column DataType Description
    AgentID int Unique ID for the Agent (= Primary key)
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle

    Depending on:

    • Agent
    • AgentHierarchyOther
    • AgentSuperiorList

    Function AgentNames

    Returns a table that lists all the agents with their names according to the selected display type

    Parameter DataType Description
    @DisplayType nvarchar (50) The type of the display as documented in the table dbo.AgentNameDisplayType_Enum
    Column DataType Description
    AgentID int Unique ID for the Agent (= Primary key)
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle

    Depending on:

    • Agent

    Function AgentSuperiorList

    Returns the list of superior agents as retrieved from the hierarchy

    Parameter DataType Description
    @AgentID int Unique ID for the Agent (= Primary key)
    Column DataType Description
    AgentID int Unique ID for the Agent (= Primary key)
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle
    Version smallint The version of a agent record (revision number, internally filled by system)
    AgentTitle nvarchar (50) The title of the agent, e.g. Dr., Prof.
    GivenName nvarchar (255) The first names of the agent (if a person) or the name of e.g. an institution
    InheritedName nvarchar (255) The last names of the agent (if a person)
    Abbreviation nvarchar (50) Abbreviation of the agent
    AgentType nvarchar (50) The type of the agent, e.g. person, company
    AgentRole nvarchar (255) The role of an agent esp. a person within an organization. e.g. “Database Administrator” or “Curator”
    Description nvarchar (1000) A description of the agent
    Notes nvarchar (500) Notes about the agent
    ValidFromDate datetime The date of the begin of the exsistence of the agent, e.g. the birthday of a person or the founding of an institution, calculated from ValidFromDay, - Month and -Year
    ValidFromDay tinyint The day of the begin of the exsistence of the agent
    ValidFromMonth tinyint The month of the begin of the exsistence of the agent
    ValidFromYear smallint The year of the begin of the exsistence of the agent
    ValidUntilDate datetime The date of the end of the exsistence of the agent, e.g. death of a person or closing of an institute, calculated from ValidUntilDay, - Month and -Year
    ValidUntilDay tinyint The day of the end of the exsistence of the agent
    ValidUntilMonth tinyint The month of the end of the exsistence of the agent
    ValidUntilYear smallint The year of the end of the exsistence of the agent
    ValidDateSupplement nvarchar (255) Verbal or additional date information, e.g. ’end of summer 1985’, ‘first quarter’. The time of the valid date if necessary.
    SynonymToAgentID int The AgentID of the agent which was selected as a replacement for the current agent, e.g. if to equal datasets were imported from different sources
    SynonymisationType nvarchar (50) The type of the synonymisation like “replaced with”, “synonym to”
    RevisionLevel nvarchar (50) The level of the revision of the agent, e.g. ‘unchecked’, ‘final revision’
    PlaceOfBirth nvarchar (500) The place (e.g. a city) where a person was born or an institution was founded
    PlaceOfDeath nvarchar (500) The place (e.g.a city) where the person died
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null
    ContentLanguage nvarchar (50) The language of the content
    DisplayOrder int Display order according to the hierarchy with 1 for the current dataset und increasing values for higher levels in the hierarchy

    Depending on:

    • Agent

    Function AgentSynonymTopID

    Returns the top AgentID within the synyonym hierarchy for a given AgentID

    DataType: int

    Parameter DataType Description
    @AgentID int Unique ID for the Agent (= Primary key)

    Depending on:

    • Agent

    Function AgentSynonymy

    Returns all agents within the synonymy of the given agent

    Parameter DataType Description
    @AgentID int Unique ID for the Agent (= Primary key)
    Column DataType Description
    AgentID int Unique ID for the Agent (= Primary key)
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle
    Version smallint The version of a agent record (revision number, internally filled by system)
    AgentTitle nvarchar (50) The title of the agent, e.g. Dr., Prof.
    GivenName nvarchar (255) The first names of the agent (if a person) or the name of e.g. an institution
    InheritedName nvarchar (255) The last names of the agent (if a person)
    Abbreviation nvarchar (50) Abbreviation of the agent
    AgentType nvarchar (50) The type of the agent, e.g. person, company
    AgentRole nvarchar (255) The role of an agent esp. a person within an organization. e.g. “Database Administrator” or “Curator”
    Description nvarchar (1000) A description of the agent
    Notes nvarchar (500) Notes about the agent
    ValidFromDate datetime The date of the begin of the exsistence of the agent, e.g. the birthday of a person or the founding of an institution, calculated from ValidFromDay, - Month and -Year
    ValidFromDay tinyint The day of the begin of the exsistence of the agent
    ValidFromMonth tinyint The month of the begin of the exsistence of the agent
    ValidFromYear smallint The year of the begin of the exsistence of the agent
    ValidUntilDate datetime The date of the end of the exsistence of the agent, e.g. death of a person or closing of an institute, calculated from ValidUntilDay, - Month and -Year
    ValidUntilDay tinyint The day of the end of the exsistence of the agent
    ValidUntilMonth tinyint The month of the end of the exsistence of the agent
    ValidUntilYear smallint The year of the end of the exsistence of the agent
    ValidDateSupplement nvarchar (255) Verbal or additional date information, e.g. ’end of summer 1985’, ‘first quarter’. The time of the valid date if necessary.
    SynonymToAgentID int The AgentID of the agent which was selected as a replacement for the current agent, e.g. if to equal datasets were imported from different sources
    SynonymisationType nvarchar (50) The type of the synonymisation like “replaced with”, “synonym to”
    RevisionLevel nvarchar (50) The level of the revision of the agent, e.g. ‘unchecked’, ‘final revision’
    PlaceOfBirth nvarchar (500) The place (e.g. a city) where a person was born or an institution was founded
    PlaceOfDeath nvarchar (500) The place (e.g.a city) where the person died
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null
    ContentLanguage nvarchar (50) The language of the content

    Depending on:

    • Agent
    • AgentSynonymTopID
    • AgentSynonymyChildNodes

    Function AgentSynonymyChildNodes

    The depending synonymys of a given agent

    Parameter DataType Description
    @ID int The AgentID of the agent for which the depending synonymys should be retrieved
    Column DataType Description
    AgentID int Unique ID for the Agent (= Primary key)
    AgentParentID int The AgentID of the superior agent if agents are organized within a hierarchy
    AgentName nvarchar (200) The whole name of the agent as shown e.g. for selection in an user interface. For persons this entry will be generated as follows: LastName, FirstNames, AgentTitle
    Version smallint The version of a agent record (revision number, internally filled by system)
    AgentTitle nvarchar (50) The title of the agent, e.g. Dr., Prof.
    GivenName nvarchar (255) The first names of the agent (if a person) or the name of e.g. an institution
    InheritedName nvarchar (255) The last names of the agent (if a person)
    Abbreviation nvarchar (50) Abbreviation of the agent
    AgentType nvarchar (50) The type of the agent, e.g. person, company
    AgentRole nvarchar (255) The role of an agent esp. a person within an organization. e.g. “Database Administrator” or “Curator”
    Description nvarchar (1000) A description of the agent
    Notes nvarchar (500) Notes about the agent
    ValidFromDate datetime The date of the begin of the exsistence of the agent, e.g. the birthday of a person or the founding of an institution, calculated from ValidFromDay, - Month and -Year
    ValidFromDay tinyint The day of the begin of the exsistence of the agent
    ValidFromMonth tinyint The month of the begin of the exsistence of the agent
    ValidFromYear smallint The year of the begin of the exsistence of the agent
    ValidUntilDate datetime The date of the end of the exsistence of the agent, e.g. death of a person or closing of an institute, calculated from ValidUntilDay, - Month and -Year
    ValidUntilDay tinyint The day of the end of the exsistence of the agent
    ValidUntilMonth tinyint The month of the end of the exsistence of the agent
    ValidUntilYear smallint The year of the end of the exsistence of the agent
    ValidDateSupplement nvarchar (255) Verbal or additional date information, e.g. ’end of summer 1985’, ‘first quarter’. The time of the valid date if necessary.
    SynonymToAgentID int The AgentID of the agent which was selected as a replacement for the current agent, e.g. if to equal datasets were imported from different sources
    SynonymisationType nvarchar (50) The type of the synonymisation like “replaced with”, “synonym to”
    RevisionLevel nvarchar (50) The level of the revision of the agent, e.g. ‘unchecked’, ‘final revision’
    PlaceOfBirth nvarchar (500) The place (e.g. a city) where a person was born or an institution was founded
    PlaceOfDeath nvarchar (500) The place (e.g.a city) where the person died
    DataWithholdingReason nvarchar (255) If the dataset is withhold, the reason for withholding the data, otherwise null
    ContentLanguage nvarchar (50) The language of the content

    Depending on:

    • Agent

    Function AgentTopID

    Returns the top ID within the hierarchy for a given AgentID from the table Agent.

    DataType: int

    Parameter DataType Description
    @AgentID int The AgentID of the agent for which the top ID should be retrieved

    Depending on:

    • Agent

    Function BaseURL

    Provides the basic address for accessing the database

    DataType: varchar (255)


    Function DefaultAgentNameDisplayType

    The default display type as set for the default project

    DataType: nvarchar (50)

    Depending on:

    • DefaultProjectID
    • ProjectProxy

    Function DefaultProjectID

    Returns the default ProjectID for a user as set in table UserProxy

    DataType: int

    Depending on:

    • ProjectUser
    • UserProxy

    Function DiversityWorkbenchModule

    The name of the DiversityWorkbench module

    DataType: nvarchar (50)


    Function UserID

    ID of the User as stored in table UserProxy

    DataType: int

    Depending on:

    • UserProxy

    Function Version

    The version of the database

    DataType: nvarchar (8)


    Function VersionClient

    Version of the client software compatible with the version of the database

    DataType: nvarchar (11)


    PROCEDURES


    Procedure procInsertAgentCopy

    Creates a copy of a given agent and returns the AgentID of the new agent

    Parameter DataType Description
    @AgentID int The AgentID of the created agent
    @CopyID int The AgentID of the agent that should be copied
    @AgentName nvarchar (200) A temporary display text for the created agent

    Depending on:

    • Agent
    • AgentContactInformation
    • AgentExternalID
    • AgentImage
    • AgentKeyword
    • AgentProject
    • AgentReference
    • AgentRelation

    Procedure procSetVersionAgent

    Setting the version of a dataset

    Parameter DataType Description
    @ID int The AgentID of the agent

    Depending on:

    • Agent

    Procedure SetUserProjects

    Create database user and assign training projects

    Parameter DataType Description
    @User varchar (50) LoginName of the User

    Depending on:

    • UserProxy

    ROLES

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

    Role DiversityWorkbenchAdministrator

    Role for the adminstration of the database

    Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
    AddressType_Enum Diversity Workbench User TABLE
    Agent Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor TABLE
    Agent_log Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentContactInformation Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentContactInformation_log Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentDescriptor Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentDescriptor_log Diversity Workbench User Diversity Workbench Editor TABLE
    AgentDescriptorType_Enum Diversity Workbench User TABLE
    AgentExternalDatabase Diversity Workbench User TABLE
    AgentExternalDatabase_log TABLE
    AgentExternalID Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentExternalID_log TABLE
    AgentGender_Enum Diversity Workbench User TABLE
    AgentHierarchyOther Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentHierarchyOther_log Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentIdentifier Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentIdentifier_log Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentIdentifierType_Enum Diversity Workbench User TABLE
    AgentImage Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentImage_log Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentImageType_Enum Diversity Workbench User TABLE
    AgentKeyword Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentKeyword_log Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentNameDisplayType_Enum Diversity Workbench User TABLE
    AgentProject Diversity Workbench User Diversity Workbench Editor TABLE
    AgentProject_log Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentReference Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentReference_log Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentRelation Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentRelation_log Diversity Workbench Editor Diversity Workbench Editor TABLE
    AgentRelationType_Enum Diversity Workbench User TABLE
    AgentSynonymisationType_Enum Diversity Workbench User TABLE
    AgentTitle_Enum Diversity Workbench User TABLE
    AgentType_Enum Diversity Workbench User TABLE
    LanguageCode_Enum Diversity Workbench User TABLE
    RevisionLevel_Enum Diversity Workbench User TABLE
    Agent_Core Diversity Workbench User VIEW
    AgentID_AvailableReadOnly Diversity Workbench User VIEW
    AgentID_FullAccess Diversity Workbench User VIEW
    AgentID_Locked Diversity Workbench User VIEW
    AgentID_ReadOnly Diversity Workbench User VIEW
    AgentID_UserAvailable Diversity Workbench User VIEW
    ProjectList Diversity Workbench User VIEW
    PublicAgent Diversity Workbench User VIEW
    PublicContactInformation Diversity Workbench User VIEW
    PublicIdentifier Diversity Workbench User VIEW
    PublicImage Diversity Workbench User VIEW
    PublicReference Diversity Workbench User VIEW
    PublicRelation Diversity Workbench User VIEW
    UserInfo Diversity Workbench Editor Diversity Workbench Editor VIEW
    ViewAgentAddress Diversity Workbench User VIEW
    ViewAgentNames Diversity Workbench User VIEW
    ViewBaseURL Diversity Workbench User VIEW
    ViewDefaultAgentNameDisplayType Diversity Workbench User VIEW
    ViewDiversityWorkbenchModule Diversity Workbench User VIEW
    AgentAddress Diversity Workbench User FUNCTION
    AgentChildNodes Diversity Workbench User FUNCTION
    AgentContactInformation_Public Diversity Workbench User FUNCTION
    AgentHierarchy Diversity Workbench User FUNCTION
    AgentHierarchyAllSuperior Diversity Workbench User FUNCTION
    AgentNames Diversity Workbench User FUNCTION
    AgentSuperiorList Diversity Workbench User FUNCTION
    AgentSynonymTopID Diversity Workbench User FUNCTION
    AgentSynonymy Diversity Workbench User FUNCTION
    AgentSynonymyChildNodes Diversity Workbench User FUNCTION
    AgentTopID Diversity Workbench User FUNCTION
    BaseURL Diversity Workbench User FUNCTION
    DefaultAgentNameDisplayType Diversity Workbench User FUNCTION
    DefaultProjectID Diversity Workbench User FUNCTION
    DiversityWorkbenchModule Diversity Workbench User FUNCTION
    UserID Diversity Workbench User FUNCTION
    Version Diversity Workbench User FUNCTION
    VersionClient Diversity Workbench User FUNCTION
    procInsertAgentCopy Diversity Workbench Editor PROCEDURE
    procSetVersionAgent Diversity Workbench Editor PROCEDURE
    SetUserProjects PROCEDURE
    Inheriting from roles:
    • DiversityWorkbenchEditor

    Role DiversityWorkbenchEditor

    Role with write access for the database

    Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
    AddressType_Enum Diversity Workbench User TABLE
    Agent Diversity Workbench User TABLE
    Agent_log TABLE
    AgentContactInformation Diversity Workbench User TABLE
    AgentContactInformation_log TABLE
    AgentDescriptor Diversity Workbench User TABLE
    AgentDescriptor_log Diversity Workbench User TABLE
    AgentDescriptorType_Enum Diversity Workbench User TABLE
    AgentExternalDatabase Diversity Workbench User TABLE
    AgentExternalDatabase_log TABLE
    AgentExternalID Diversity Workbench User TABLE
    AgentExternalID_log TABLE
    AgentGender_Enum Diversity Workbench User TABLE
    AgentHierarchyOther Diversity Workbench User TABLE
    AgentHierarchyOther_log TABLE
    AgentIdentifier Diversity Workbench User TABLE
    AgentIdentifier_log TABLE
    AgentIdentifierType_Enum Diversity Workbench User TABLE
    AgentImage Diversity Workbench User TABLE
    AgentImage_log TABLE
    AgentImageType_Enum Diversity Workbench User TABLE
    AgentKeyword Diversity Workbench User TABLE
    AgentKeyword_log TABLE
    AgentNameDisplayType_Enum Diversity Workbench User TABLE
    AgentProject Diversity Workbench User TABLE
    AgentProject_log TABLE
    AgentReference Diversity Workbench User TABLE
    AgentReference_log TABLE
    AgentRelation Diversity Workbench User TABLE
    AgentRelation_log TABLE
    AgentRelationType_Enum Diversity Workbench User TABLE
    AgentSynonymisationType_Enum Diversity Workbench User TABLE
    AgentTitle_Enum Diversity Workbench User TABLE
    AgentType_Enum Diversity Workbench User TABLE
    LanguageCode_Enum Diversity Workbench User TABLE
    RevisionLevel_Enum Diversity Workbench User TABLE
    Agent_Core Diversity Workbench User VIEW
    AgentID_AvailableReadOnly Diversity Workbench User VIEW
    AgentID_FullAccess Diversity Workbench User VIEW
    AgentID_Locked Diversity Workbench User VIEW
    AgentID_ReadOnly Diversity Workbench User VIEW
    AgentID_UserAvailable Diversity Workbench User VIEW
    ProjectList Diversity Workbench User VIEW
    PublicAgent Diversity Workbench User VIEW
    PublicContactInformation Diversity Workbench User VIEW
    PublicIdentifier Diversity Workbench User VIEW
    PublicImage Diversity Workbench User VIEW
    PublicReference Diversity Workbench User VIEW
    PublicRelation Diversity Workbench User VIEW
    UserInfo VIEW
    ViewAgentAddress Diversity Workbench User VIEW
    ViewAgentNames Diversity Workbench User VIEW
    ViewBaseURL Diversity Workbench User VIEW
    ViewDefaultAgentNameDisplayType Diversity Workbench User VIEW
    ViewDiversityWorkbenchModule Diversity Workbench User VIEW
    AgentAddress Diversity Workbench User FUNCTION
    AgentChildNodes Diversity Workbench User FUNCTION
    AgentContactInformation_Public Diversity Workbench User FUNCTION
    AgentHierarchy Diversity Workbench User FUNCTION
    AgentHierarchyAllSuperior Diversity Workbench User FUNCTION
    AgentNames Diversity Workbench User FUNCTION
    AgentSuperiorList Diversity Workbench User FUNCTION
    AgentSynonymTopID Diversity Workbench User FUNCTION
    AgentSynonymy Diversity Workbench User FUNCTION
    AgentSynonymyChildNodes Diversity Workbench User FUNCTION
    AgentTopID Diversity Workbench User FUNCTION
    BaseURL Diversity Workbench User FUNCTION
    DefaultAgentNameDisplayType Diversity Workbench User FUNCTION
    DefaultProjectID Diversity Workbench User FUNCTION
    DiversityWorkbenchModule Diversity Workbench User FUNCTION
    UserID Diversity Workbench User FUNCTION
    Version Diversity Workbench User FUNCTION
    VersionClient Diversity Workbench User FUNCTION
    procInsertAgentCopy PROCEDURE
    procSetVersionAgent PROCEDURE
    SetUserProjects PROCEDURE
    Inheriting from roles:
    • DiversityWorkbenchUser

    Role DiversityWorkbenchUser

    Role with read only access to the database

    Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
    AddressType_Enum TABLE
    Agent TABLE
    Agent_log TABLE
    AgentContactInformation TABLE
    AgentContactInformation_log TABLE
    AgentDescriptor TABLE
    AgentDescriptor_log TABLE
    AgentDescriptorType_Enum TABLE
    AgentExternalDatabase TABLE
    AgentExternalDatabase_log TABLE
    AgentExternalID TABLE
    AgentExternalID_log TABLE
    AgentGender_Enum TABLE
    AgentHierarchyOther TABLE
    AgentHierarchyOther_log TABLE
    AgentIdentifier TABLE
    AgentIdentifier_log TABLE
    AgentIdentifierType_Enum TABLE
    AgentImage TABLE
    AgentImage_log TABLE
    AgentImageType_Enum TABLE
    AgentKeyword TABLE
    AgentKeyword_log TABLE
    AgentNameDisplayType_Enum TABLE
    AgentProject TABLE
    AgentProject_log TABLE
    AgentReference TABLE
    AgentReference_log TABLE
    AgentRelation TABLE
    AgentRelation_log TABLE
    AgentRelationType_Enum TABLE
    AgentSynonymisationType_Enum TABLE
    AgentTitle_Enum TABLE
    AgentType_Enum TABLE
    LanguageCode_Enum TABLE
    RevisionLevel_Enum TABLE
    Agent_Core VIEW
    AgentID_AvailableReadOnly VIEW
    AgentID_FullAccess VIEW
    AgentID_Locked VIEW
    AgentID_ReadOnly VIEW
    AgentID_UserAvailable VIEW
    ProjectList VIEW
    PublicAgent VIEW
    PublicContactInformation VIEW
    PublicIdentifier VIEW
    PublicImage VIEW
    PublicReference VIEW
    PublicRelation VIEW
    UserInfo VIEW
    ViewAgentAddress VIEW
    ViewAgentNames VIEW
    ViewBaseURL VIEW
    ViewDefaultAgentNameDisplayType VIEW
    ViewDiversityWorkbenchModule VIEW
    AgentAddress FUNCTION
    AgentChildNodes FUNCTION
    AgentContactInformation_Public FUNCTION
    AgentHierarchy FUNCTION
    AgentHierarchyAllSuperior FUNCTION
    AgentNames FUNCTION
    AgentSuperiorList FUNCTION
    AgentSynonymTopID FUNCTION
    AgentSynonymy FUNCTION
    AgentSynonymyChildNodes FUNCTION
    AgentTopID FUNCTION
    BaseURL FUNCTION
    DefaultAgentNameDisplayType FUNCTION
    DefaultProjectID FUNCTION
    DiversityWorkbenchModule FUNCTION
    UserID FUNCTION
    Version FUNCTION
    VersionClient FUNCTION
    procInsertAgentCopy PROCEDURE
    procSetVersionAgent PROCEDURE
    SetUserProjects PROCEDURE
    Oct 16, 2024

    Diversity Agents

    Enumeration tables

    The following objects are not included:

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

    Table

    Column Data type Description
    Code nvarchar (50) A text code that uniquely identifies each object in the enumeration (primary key). This value may not be changed, because the application may depend upon it.
    ParentCode nvarchar (50) The code of the superior entry, if a hierarchy within the entries is necessary
    ParentRelation nvarchar (50) Relation to parent entry, e.g. part of
    Description nvarchar (500) Description of enumerated object, displayed in the user interface
    DisplayText nvarchar (50) Short abbreviated description of the object, displayed in the user interface
    DisplayOrder smallint The order in which the entries are displayed. The order may be changed at any time, but all values must be unique.
    DisplayEnable bit Enumerated objects can be hidden from the user interface if this attribute is set to false (= unchecked check box)
    URL varchar (500) A link to further information about the enumerated object
    InternalNotes nvarchar (500) Internal development notes about usage, definition, etc. of an enumerated object
    Icon image A symbol representing this entry in the user interface
    ModuleName varchar (50) If the enumerated entry is related to a DiversityWorkbench module or a related webservice, the name of the DiversityWorkbench module, e.g. DiversityAgents
    RowGUID uniqueidentifier -Default value: newsequentialid()

    Table AddressType_Enum

    Lookup table for the types of the addresses

    Dependent tables:

    • AgentContactInformation

    Content

    Code Description
    office office address
    private private address

    Table AgentDescriptorType_Enum

    The type of the Descriptors

    Dependent tables:

    • AgentDescriptor

    Table AgentGender_Enum

    Gender of the agent: female or male

    Dependent tables:

    • Agent

    Content

    Code Description
    female
    male

    Table AgentIdentifierType_Enum

    Types of the agent identifier, e.g. ISNI

    Dependent tables:

    • AgentIdentifier

    Content

    Code Description
    ISNI International Standard Name Identifier (ISO 27729)
    ORCID Open Researcher Contributor Identification
    ROR Research Organization Registry

    Table AgentImageType_Enum

    Types of images in table AgentImage, e.g. Logo

    Dependent tables:

    • AgentImage

    Content

    Code Description
    Logo Logo
    Portrait Portrait

    Table AgentNameDisplayType_Enum

    Display types of the names of the agents, defining e.g. the position of title, given and inherited part of the name and their abbreviation

    Dependent tables:

    • ProjectProxy

    Content

    Code Description
    Abbr The international defined standard arbbreviation; e.g. L. for Linne
    G. Ii Given name. Inherited name; e.g. H. Hertel
    Gg Ii Given name InheritedName; e.g. Hannes Hertel
    Ii, G. Inherited name, GivenName; e.g. Hertel, H.
    Ii, Gg Inherited name, GivenName; e.g. Hertel, Hannes
    Tt. G. Ii Titel Given name. Inherited name; e.g. Prof. H. Hertel
    Tt. Gg Ii Titel Given name Inherited name; e.g. Prof. Hannes Hertel

    Table AgentRelationType_Enum

    Relation types of agents, e.g. Child of

    Dependent tables:

    • AgentRelation

    Content

    Code Description
    Child of
    Married to
    Parent of

    Table AgentSynonymisationType_Enum

    Synonymisation types of agents, e.g. synonym to

    Dependent tables:

    • Agent

    Content

    Code Description
    replaced with if the agent was replaced by another entry
    synonym to if the agent is synonym to another agent

    Table AgentTitle_Enum

    Lookup table for the titles of the agents

    Dependent tables:

    • Agent

    Content

    Code Description
    Dr.
    Frater
    Pater
    Prof.
    Prof. Dr.

    Table AgentType_Enum

    Lookup table for the types of the agents

    Dependent tables:

    • Agent

    Content

    Code Description
    Collection
    Company
    Department
    Group
    Institution
    Person
    University

    Table LanguageCode_Enum

    The codes for the languages

    Dependent tables:

    • Agent

    Content

    Code Description
    af Afrikaans
    ar Arabisch
    az Aserbaidschanisch
    be Belarussisch
    bg Bulgarisch
    ca Katalanisch
    cs Tschechisch
    da Dänisch
    de Deutsch
    el Griechisch
    en Englisch
    es Spanisch
    et Estnisch
    eu Baskisch
    fa Farsi
    fi Finnisch
    fo Färingisch
    fr Französisch
    gl Galizisch
    gu Gujarati
    he Hebräisch
    hi Hindi
    hr Kroatisch
    hu Ungarisch
    hy Armenisch
    id Indonesisch
    is Isländisch
    it Italienisch
    ja Japanisch
    ka Georgisch
    kk Kasachisch
    kn Kannada
    ko Koreanisch
    ky Kirgisisch
    lt Litauisch
    lv Lettisch
    mk Mazedonisch
    mn Mongolisch
    mr Marathi
    ms Malaiisch
    nl Niederländisch
    no Norwegisch
    pa Punjabi
    pl Polnisch
    pt Portugiesisch
    ro Rumänisch
    ru Russisch
    sa Sanskrit
    sk Slowakisch
    sl Slowenisch
    sq Albanisch
    sv Schwedisch
    sw Swahili
    ta Tamil
    te Telugu
    th Thai
    tr Türkisch
    tt Tatarisch
    uk Ukrainisch
    ur Urdu
    uz Usbekisch
    vi Vietnamesisch
    zh Chinesisch

    Table RevisionLevel_Enum

    Lookup table for the revision level

    Dependent tables:

    • Agent

    Content

    Code Description
    checked checked
    final revision final revision
    review required review required
    to be deleted to be deleted
    unchecked unchecked
    Jun 28, 2024

    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 is shown in the header of the main.

    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 ).

    For analysis of the succession of changes the log tables contain additional columns:

    • Kind of change: This column is set by the trigger inserting data into the log table
      • current version: This is the current state of the data in the table
      • UPDATE: This is the state of the data before an update happened
      • DELETE: This is the state of the data when the data have been deleted
    • Date of change: The date and time of the changes. This column has the default value getdate() that means the current date an time is set when any data are inserted into the log table
    • Responsible: The user reponsible for the changes. This column has the default value suser_sname() that means the current user is set when any data are inserted into the log table
    • LogID: A unique ID of the logtable. This column is an identity that means it is set by the database when any data are inserted into the log table
    Mar 26, 2024

    Logging

    Changes within the database will be documented for each dataset with the time and the responsible user in the columns shown in the image below.

    All main tables have a corresponding logging table. If you change or delete a dataset the orignial dataset will be stored in this logging table together with informations about who has done the changes and when it happend. To see the data stored in the logging tables, click on the button to open the history of a dataset.

    Mar 26, 2024

    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.

     

    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 timespan (From - To) and the number of data sets where any activity of the current login has been found.

    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.

     

    Creation of login

    To create a new login click on the button. A window will open as shown below.

    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.

     

    Roles of a login in a database

    Use the > and < buttons to add or remove roles for the login in the database (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).

    There are 4 states of accessibility for projects

    •     Full access: The user can edit the data
    •      Read only access: The user can only read the data
    •      Locked: The project is locked. Nobody can change the data
    •     No access: The user has no access via a project

    Projects are related to the module DiversityProjects. To get additional information about a project select it in the the list and click on the button. 

    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.

     

     

    Overview for a login

    If you see an overview of all permissions and project for a login, click on the button. A window a 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 and roles 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.

    Mar 26, 2024

    Diversity Agents

    Linked server

    Databases not available on the local server may be accessible via a linked server. Provided the option for loading the connections is set, the program will automatically try to connect to these databases. Otherwise you can connect to these databases as described in chapter ModuleConnections. To administrate the linked servers, choose Administration - Linked servers ... from the menu. A form (see below) will open where you can add linked servers and inspect the content of the available databases.

    Use the  resp. buttons to add or remove a linked server. To add a linked server, you need the name of the server and the port, e.g. tnt.diversityworkbench.de, 5432, the login associated with the connection of the linked server e.g. TNT and the password for this login.

    Permissions

    Please keep in mind, that any user accessing databases via the established linked server will get the permissions of the login you set for the linked server. In most cases a login with read only access is an appropriate choise.

    The available databases will be listed as shown above. To inspect the content, select among the tables or views listed in the right part as shown above. Linked servers have certain restrictions for the availability of data, e.g. XML and geography data are not available via a linked server. For a table or view containing incompatible content you may encounter a corresponding error mentioning the reason for the incompatibility.

    An expample for a linked server as provided for central databases is shown below (using the management studio for SQL-Server) Linked servers

    Jul 30, 2024

    Diversity Agents

    Tools

    These are the tools to handle the basic parts of the database. These tools are only available for the owner of the database and should be handled with care as any changes in the database may disable the connection of your client to the database. Before changing any parts of the database it is recommended to backup the current state of the database. To use these tools, choose Administation → Database → Database tools ... from the menu. A window will open as shown below.

    Description

    The Description section (see above) shows the basic definitions of the objects in the database and enables you to enter a description for these objects including tables and their columns, functions and their parameter etc. With the buttons SQL for adding, update and both you can generate SQL statements for the creation of the descriptions in your database. Use the button both if you are not sure if a description is already present as it will generate a SQL statement working with existing and missing descriptions (see below).

    The button  Fill Cache  fills the table CacheDescription where all descriptions are collected for easy access.

     

    Log table and trigger

    In the Log table and trigger section (see below) click on the List tables button to see all tables within the database. The Table section shows the basic definitions of a selected table. If columns for logging the date and responsible user for inserting and updating the data are missing, you can use the Attach ... button to attach these columns to the table. Furthermore you may add a RowGUID to the table as e.g. a preparation for a replication.

    In the Log table section (see below) you can create a logging table for the selected table in a format as used within the Diversity Workbench. Click on the Show SQL ... button to show the SQL-statement that will create the logging table. If an old logging table should be kept, choose the Keep old log table option. If your table should support the version setting from a main table, choose the Add the column LogVersion option. To finally create the logging table click on the Create LogTable ... button.

    The triggers for insert, update and delete are created in the according sections (see below). If an old trigger exists, its definition will be shown in the upper part of the window. Click on the Show SQL button to see the definition of the trigger according to the current definition of the table in a format as used in the Diversity Workbench. If a trigger should set the version in a main table, which the current table is related to, choose the Add version setting to trigger option. To enable this option you must select the version table first. To finally create the trigger click on the Create trigger button. The update and delete triggers will transfer the original version of the data into the logging tables as defined above, where you can inspect the history of the data sets.

    If so far no procedure for setting the version in a main table is defined, you can create this procedure in the last section. Click on the Show SQL button to see the definition and on the Create Procedure button to create the procedure (see below).

     

    Preparation for replication

    If you want to use replication within you module, the tables need certain columns and a log table. These preparations can be performed by a script, generated in the section Replication (see below). Select the tables you want to include in the process and create the script. This script can than be included in an update of the database. Please ensure that these changes are only be done by expert staff.

     

    Clear logtables

    If for any reason you want to clear the log tables of the database, this can be done in the Clear log tab as shown below. Click on the List tables button to list the log tables. Then select those that should be cleared and click on the Clear log of selected tables button (see below). Please keep in mind that any restoration of data from the log is only possible as long as the data can be retrieved from the log.

     

    Data protection

    To implement the General Data Protection Regulation of the European Union several steps have to be performed in a database:

    • Generate a skript using this tool (see below) to convert all tables and insert objects according to the requirements:
      • Add columns ID, PrivacyConsent and PrivacyConsentDate in table UserProxy
      • Grant update to PrivacyConsent and PrivacyConsentDate in table UserProxy
      • Create update trigger for UserProxy setting the PrivacyConsentDate
      • Create the function providing the ID of the user from UserProxy
      • Create the function providing the name of the user from UserProxy
      • Create the function PrivacyConsentInfo providing common information
      • For every table:
        • Insert users from a table into UserProxy (if missing so far)
        • Insert users from the corresponding log table into UserProxy (if missing so far)
        • Change the constraints for the logging columns (User_Name() → UserID())
        • Replace user name with ID in logging columns
        • Replace user name with ID in logging columns of the log table
        • Adapt description of the logging columns
    • Include the skript in an update of the database
    • Check the database for update triggers, functions using e.g. CURRENT_USER, USER_NAME, SUSER_SNAME etc. where user names must be replaced with their IDs. Create a script performing these tasks and include it into an update for the database
    • Adapt the client to the now changed informations (e.g. query for responsible etc.)

    After these changes the only place where the name of a user is stored is the table UserProxy together with the ID. Removing the name (see below) will remove any information about the user leaving only a number linked to the information within depending data.

    To generate a script for the objects and changes needed to implement the General Data Protection Regulation use the Data protection tab as shown below. The generated script will handle the standard objects (logging columns) but not any additional circumstances within the database. For these you need to inspect the database in detail and create a script to handle them on your own.

    To set the website where detailed information about the handling of the General Data Protection Regulation within the DiversityWorkbench resp. the current database is provided, click on the button on the Info site tab. If unchanged, the default site for the DiversityWorkbench is set (see below).

    If for any reason a user wants his name to be removed from the database, select the users name from the list as shown below and click on the  button (see below).

    May 16, 2024

    Diversity Agents

    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 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 18, 2024

    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 19, 2024

    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 19, 2024

    Diversity Agents

    Documentation

    MediaWiki

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

    Oct 19, 2024

    Diversity Agents

    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 30, 2024

    Subsections of Update

    Diversity Agents

    Update

    Client software

    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 30, 2024

    Diversity Agents

    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 30, 2024

    Diversity Agents

    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.

    Jul 30, 2024

    Diversity Agents

    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 30, 2024

    Diversity Agents

    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.

    Jan 3, 2025

    Diversity Agents

    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