Database Access

Database - access

The database engine for DiversityDescriptions is Microsoft SQL-Server 2012 or higher.

If you are connected to a database this is indicated by the icon of the connection button in left upper corner. If you are not connected this will be indicated by the icon . To access any database, you must specify the server where the database is located. For the configuration of this connection choose Connection → Database… from the menu or click on the button.

If you want to use a database on a local or remote SQL-server, start the program DiversityDescriptions.exe and in the main window click on the button or choose Connection → Database … from the menu. A window as shown below will open. Here set the connection parameters as described below.

 

Database name, IP-address and Port

A dialog will open, to specify the name or IP-address and port number of the server and to select the authentication mode. The SQL-Server may be addressed by its IP-address, e.g. 127.0.0.1 or by its name, e.g. localhost. You can either choose Windows authentication (see left image below) or SQL-Server authentication (see below - central middle image).

The standard port number for SQL-Server is 1433 and will be set as a default. If the database server is configured using a port different from that port, you must give the port number in the field Port. Click on the button to connect to the server. If the connection informations are valid, you can choose a database from the server from the combobox at the base of the window (see right image above). To restart the connecting process click on the button. In menu you find a list of the latest login data (server and port) used.

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 ProtectionRegulation. Without your consent the access is not possible.

 

Password

If you are logged in with a SQL-Server account and are not restricted to the group DataUser or DataReader, you can change your password. Choose Administration → Change password... from the menu. In the window that will open, enter your current password and the new password (see below). The password must match the restrictions set by the database server.

 

Module connections

The program will automatically try to get connect to Diversity Workbench databases and webservices. For further details see the Connections section.

Jan 14, 2025

Subsections of Database Access

Data Availability

Availability of the data

In the description data descriptors may be marked with the data status Data withheld (see below). 

   

When you export data the export forms include the “Withheld data” options where you can decide how to handle those data (see below).  

 

  • The default setting Suppress whole description will exclude the whole description dataset from the export.  
  • The setting Hide withheld descriptor will include the description dataset in the export, but descriptor data that are marked as “Data withheld” will be suppressed.  
  • The setting Export withheld data will include all data in the export.  

The options mentioned above are also available for the cachedatabase. Additionally there are powerful filters to restrict the exported description items and dedicated descriptor and scope data may be excluded from export.  

Finally the document generation by default excludes all descriptions that have any descriptor with data status “Data withheld”. This is indicated by the button in the upper right corner of the form. By clicking this button the descriptions may be included, which is indicated with the inactive icon . Withheld descriptors will be skipped. For the document generators there is no option to include them.  

Jan 14, 2025

Login Administration

Login administration

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

 

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.

 

Create a login

To create a new login, click on the button in the lower left corner. Another window will open.

Here you can enter the name of the new login and the password. To assign the user information click on the button to search for a name in the DiversityAgents database.

 

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 login data

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.

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 a login the access to a database, select the database from the list and choose the 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). By clicking the button you get an overview of the access rights for the selected role.

 

Projects for a login in a database

Depending on the database you can edit the list of projects accessible for a login (see below). 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.  Projects are related to the module DiversityProjects. To get additional informations about a project, select it in the list and click on the button. 

If a project is not used within DiversityDescriptions (see cachedprojects) you may delete it by shifting it to No Access and clicking button Remove project . To load additional projects, click on the Load projects button. A window as shown below will open. 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 want to se 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 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.

Jan 14, 2025

Projects

Projects

Within DeversityDescriptions you have to distinguish the local projects and linked projects, which are connected to an entry in DiversityProjects. Administration of both projects is done in editprojects mode. For linked projects data of DiversityProjects are inserted during data publishing, e.g. by the cache database.

To link an entry, first the project data must be downloaded from DiversityProjects. For logins with Administrator rights there are two ways available, the menu item Administration-> Projects … and the Login administration.

In the login administration you may only download projects that are not yet present in DiversityDescriptions. With the menu item Administration-> Projects … you can additionally update loaded projects, e. g. if their name has been changed in DiversityProjects. In both cases a window as shown below will open. 

Projects already in the database will be listed in green, missing projects in red. Check all projects you need in your database and click the Start download button. After downloading a new project it is not yet accessible within DiversityDescriptions. Therefore use the Login administration to grant access rights to the users.

Within the Get Projects window you may get an overwiew of the present project by opening the Present projects tab and clicking the button (see image below). You can distinguish local project from linked projects by their negative “ID” and a missing “ProjectURI”. 

 

 

Checking projects data 

With DiversityDescriptions version 3.5.0 a new project handling has been introduced. Now for each project there is an entry in table Project and ProjectProxy with identical name. Therefore each project appears in the Login administration and individual access rights may be administrated. During the database update of earlier versions to database version 03.03.00 the existing project entries are processed the following way:

  1. Projects that are uniquely assigned to a DiversityProjects entry and have the same name in DiversityDescriptions stay unchanged.
  2. Projects that are uniquely assignment to a DiversityProjects entry but have a different name, are renamed in DiversityDescriptions. The original project name is entered in field Wording of the project table.
  3. All other projects become local projects, i.e. they are not linked to an DiversityProjects entry. Usually they keep their name, unless it would collide with projects mentioned in the previous items. In case of a collision a numeric value is appended to the original name and the original name is inserted in the Wording field of the project table. 

With menu item Administration-> Database …-> Check projects … you may check the consistency of the Project and ProjectProxy table. It shows you required database commands according the rules mentioned above. If you are a system administrator, you will be asked if the suggested actions shall be performed.

   

Projects and descriptions 

Each description is uniquely assigned to a project that determines its “terminology”, i.e. the descriptors and categorical states (see picture below from Edit description). Usually only projects that are assigned to the user are displayed in the project tree. The example beloe shows two projects assigned to the user that have a parent that is not assigned to the user. Therefore the parent (“Vögel”) is displayed with grey text colour and icon to indicate missing access rights. The project “Vögel weltweit” is set to read-only for the current user, therefore the display text has a grey text colour and icon is grey, too.

 

 

Projects and descriptors 

A descriptor is not directly assigned to a project, instead “descriptor trees” are used. One descriptor may be included in several descriptor trees and therefore belong to several projects or it might be unassigned. The picture below (from Edit descriptor) shows that one descriptor belongs to several projects, since it is part of different descriptor trees. As in the description example, the picture shows a parent project (“Vögel”) that is not accessible for the actual user and therefore displayed in grey text colour. Contained in that parent project there are two parallel projects that include the same descriptor: “Vögel Deutschlands” and “Vögel weltweit”, which is read-only and therefore displayed in grey colour. 

The Edit project panel provides the panel to edit descriptor trees, too. Here all descriptors for the selected projects are displayed (see picture below). For special purposes, e.g. copy of descriptor trees, other projects and their trees may be included in this view.

 

Jan 14, 2025

Security

Security

A user can be in 6 groups with diverse rights in the database where certain higher groups have all rights of lower groups in addition to special rights for this group, e.g. the group DataReader can only read the data while DescriptionsEditor has the rights of DataReader and additionally can edit the data in descriptor tables - see overview below.

Summarzied overview of the permissions of the groups

Role Permissions in addition to lower role resp. user group Inculded rights
Administrator Edit own user permissions; use database maintenance functions ProjectManager, CacheAdmin
ProjectManager Create, edit and delete project data; import data with project information TerminologyEditor
TerminologyEditor Create, edit and delete descriptor data; import data without changing project information   DescriptionsEditor
DescriptionsEditor Create, edit and delete description data DataReader
DataReader View description, descriptor, project and cache mapping data; export data DataUser
DataUser View descriptions without “withheld” descriptors and without resource data  

Two additional roles have been introduced for the handling of the cachedatabase

Role Permissions in addition to lower role resp. user group Inculded rights
CacheAdmin Edit cache related table data CacheUser
CacheUser View cache database and project data DataReader

In addition to the mentioned roles a “System Aministrator” may use the Login administration to add other users to one of these groups and grant access to one ore more projects. If you are an “Administrator” you have the right to modify the projects assigned to your own login.

To place a user in one of the groups, go to the loginadministration. 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).