Diversity projects

Internals

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

Mar 24, 2025

Subsections of Internals

Diversity projects

Database

The database for DiversityProjects is based on Microsoft SQL-Server 2014 or later. There are list for the datatabes and enumeration tables.

Organisation of the data

The data domains of the database are shown in the image below Video starten.

The main table of the database is Project. The structure of the whole database is shown in the image below.

 

 

Jul 22, 2024

Subsections of Database

Diversity Projects

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 Project

Information on the project

Column Data type Description Nullable Relation
ProjectID int PK, ID of the Project NO -
ProjectParentID int ID of the superior project YES Refers to table Project
Project nvarchar (255) A short title for the project as displayed e.g. for selection from a list in an user interface NO -
ProjectTitle nvarchar (200) An explicit title for the project YES -
ProjectType nvarchar (50) Type of the project YES Refers to table ProjectType_Enum
ProjectDescription nvarchar (MAX) A text, describing characteristic features, e. g. the purpose and scope, of the project YES -
ProjectDescriptionType nvarchar (50) classification of the public description, e. g. abstract YES -
PublicDescription nvarchar (MAX) Public description of the project if different from the description YES -
InternalDescription nvarchar (MAX) Internal description of the project, not to be published YES -
ProjectNotes nvarchar (1000) Internal notes regarding the project, not published on the web YES -
ProjectVersion nvarchar (255) Version number (refers to the database content of this project, not to application development) YES -
ProjectURL varchar (255) An URL where e.g. the project is described YES -
ProjectRights nvarchar (255) The rights, e.g. the copyright of the project YES -
ProjectEditors nvarchar (255) The editors of the project YES -
ProjectInstitution nvarchar (500) The institution responsible for the Project YES -
ProjectSettings xml (MAX) The settings used within the project YES -
ProjectCopyright nvarchar (255) Copyright statement for the data collected for and revised by this project YES -
ProjectLicenseURI nvarchar (255) The license under which the project is re-used or may be re-used YES -
EmbargoDate date The date until which the data should not be published, made available to the public YES -
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 -
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.Default value: suser_sname() YES -
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system.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() YES -

Depending on:

  • ProjectType_Enum

Table ProjectAgent

The persons or institutions involved in the project

Column Data type Description Nullable Relation
ProjectAgentID int Unique ID for the Agent, Primary key NO -
ProjectID int Refers to the ID of the project (= Foreign key and part of primary key) NO Refers to table Project
AgentName nvarchar (255) The name of the agent. Only cached value where AgentURI is given, Part of PK NO -
AgentURI varchar (255) An URL linked to e.g. the module DiversityAgents within the Diversity Workbench, Part of PKDefault value: '' NO -
AgentType nvarchar (50) The type of the agent, e.g. person or institution as defined in ProjectAgentType_Enum YES Refers to table ProjectAgentType_Enum
AgentRole nvarchar (50) The role of the agent within the project as defined in ProjectAgentRole_Enum YES -
AgentSequence int The sequence of an agent within a project YES -
Notes nvarchar (MAX) Notes about the agent YES -
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.Default value: suser_sname() YES -
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system.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:

  • Project
  • ProjectAgentType_Enum

Table ProjectAgentRole

The role of the person or institution involved in the project

Column Data type Description Nullable Relation
ProjectAgentID int Unique ID for the Agent, Part of primary key NO Refers to table ProjectAgent
AgentRole nvarchar (50) The role of the agent within the project as defined in ProjectAgentRole_Enum NO Refers to table ProjectAgentRole_Enum
ProjectID int Part of PK, ID of the Project NO -
AgentName nvarchar (255) The name of the agent. Only cached value where AgentURI is given NO -
AgentURI varchar (255) An URL linked to e.g. the module DiversityAgents within the Diversity Workbench NO -
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.Default value: suser_sname() YES -
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system.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:

  • ProjectAgent
  • ProjectAgentRole_Enum

Table ProjectArchive

Archives of the project

Column Data type Description Nullable Relation
ProjectID int Part of PK, ID of the Project NO Refers to table Project and table ProjectArchive
ArchiveID int Part of PK, ID of the Archive NO -
ParentArchiveID int The ID of the parent archive YES Refers to table ProjectArchive
Format nvarchar (50) The format of the archive,e.g. SDD, EML, ABCD etc. YES Refers to table ProjectArchiveFormat_Enum
MimeType nvarchar (50) The mime type of the archive, e.g. zip YES Refers to table ProjectArchiveMimeType_Enum
StorageLocation nvarchar (500) The path or URI of the archive file YES -
ExternalStorageLocation nvarchar (500) The path or URI of the archive file as stored on an external server YES -
FileSHA512Hash nvarchar (529) The hash value generated from the file YES -
FileSize int Size of the file in bytes YES -
TransferDate datetime The date and time when the data were transferred from the productive database (Last date and time when changes may have happend)Default value: getdate() YES -
PublicationDate date The date when the archive is published YES -
DataWithholdingReason nvarchar (50) The reason for locking the data from publication. If empty data may be published YES -
Notes nvarchar (MAX) Notes about the archive YES -
Published bit If the dataset is published and no further changes are allowedDefault value: (0) YES -
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.Default value: suser_sname() YES -
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system.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:

  • Project
  • ProjectArchiveFormat_Enum
  • ProjectArchiveMimeType_Enum

Table ProjectArchiveIdentifier

Identifier of archives of the project

Column Data type Description Nullable Relation
ProjectID int Part of PK, ID of the Project NO Refers to table ProjectArchive and table ProjectIdentifier
ArchiveID int Part of PK, ID of the Archive NO Refers to table ProjectArchive
Identifier nvarchar (255) The identifier if archive is linked to an identifier NO Refers to table ProjectIdentifier
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.Default value: suser_sname() YES -
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system.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:

  • ProjectArchive
  • ProjectIdentifier

Table ProjectDescriptor

Object names, event names, keywords, etc., providing indexing information for a resource.

Column Data type Description Nullable Relation
ID int Internal system generated primary key. Note that multiple values for a descriptor concept may be added (e.g. keywords) NO -
ProjectID int ID of the project, foreign key NO Refers to table Project
Language varchar (5) Language in which element content is expressed. Necessary even for numeric or date content (because expressed through string using language-specific conventions)Default value: ’en' NO -
ElementID int ID of a descriptor element concept (foreign key)Default value: (0) NO Refers to table ProjectDescriptorElement
Content nvarchar (255) A name, state, or value text for the descriptor element.Default value: '' NO -
ContentURI varchar (500) The URI of a conceptual ontological resource considered equivalent with the content, especially URIs for taxon names or keywords from ontologies.Default value: '' NO -
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.Default value: suser_sname() YES -
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system.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:

  • Project
  • ProjectDescriptorElement

Table ProjectDescriptorElement

Examples of descriptor elements (= concepts for variables) are keyword, taxon name, pathogen name, host name, or host feature. Association with ResourceCollections is defined in ProjectDescriptorAssociation, relations in Res.DescriptorElementRelation.

Column Data type Description Nullable Relation
ElementID int Numeric identifier (primary key). NO -
ParentElementID int The ID of the parent element YES -
Abbreviation nvarchar (25) Short abbreviated name for descriptor element.Default value: '' NO -
DisplayText nvarchar (80) Concise English label of a descriptor element definition.Default value: '' NO -
DisplayOrder int Order in which elements are displayed independently of a resource collection (for order within a collection see ProjectDescriptorAssociation.DisplayOrder).Default value: (0) NO -
Description nvarchar (1000) A free-form text that may be displayed in user interfaces as explanatory text.Default value: '' NO -
URL varchar (500) The URI of a conceptual ontological resource considered equivalent with this descriptor element.Default value: '' NO -
InternalNotes nvarchar (1000) Internal notes and remarks. Although normally not published in public reports, this should not be used for truly confidential information.Default value: '' NO -
DisplayEnabled bit Whether this DescriptorElement is to be displayed in the user interface. NO -
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.Default value: suser_sname() YES -
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system.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 -

Table ProjectIdentifier

External identifiers for the project, e.g. a DOI

Column Data type Description Nullable Relation
ProjectID int Part of PK, ID of the Project NO Refers to table Project
Identifier nvarchar (255) The name of the agent. Only cached value where AgentURI is given NO -
Type nvarchar (50) The type of the identifier as defined in table ExternalIdentifierType YES Refers to table ProjectIdentifierType
URL varchar (500) A URL with further informations about the identifier YES -
Notes nvarchar (MAX) Notes about the identifier YES -
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.Default value: suser_sname() YES -
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system.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:

  • Project
  • ProjectIdentifierType

Table ProjectIdentifierType

The type of an external identier, e.g. DOI

Column Data type Description Nullable Relation
Type nvarchar (50) The type of project identifiers (primary key) NO -
ParentType nvarchar (50) The superior type of this type YES -
URL varchar (500) A URL providing with further informations about this type YES -
Description nvarchar (MAX) The description of this type YES -
InternalNotes nvarchar (MAX) Internal notes about the type 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 datetime Point in time when this data set was updated lastDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Name of the person to update this data set lastDefault value: suser_sname() YES -
RowGUID uniqueidentifier -Default value: newid() NO -

Table ProjectLicense

The Licenses within a project

Column Data type Description Nullable Relation
LicenseID int ID of the License, part of primary key NO -
ProjectID int Refers to the ID of the project (= Foreign key and part of primary key) NO Refers to table Project
DisplayText nvarchar (200) A display text as shown in the interface generated by the system or edited by the user YES -
LicenseURI varchar (500) The URL of the license under which the project is re-used or may be re-used YES -
LicenseType nvarchar (500) Type of an official or legal permission to do or own a specified thing, e. g. Creative Common Licenses, Copyright Licenses YES -
LicenseHolder nvarchar (500) The person or institution holding the license YES -
LicenseHolderAgentURI varchar (500) The link to a module containing futher information on the person or institution holding the license YES -
LicenseYear nvarchar (50) The year of the license declaration YES -
Context nvarchar (500) The context of the license, e.g. for publication YES -
LicenseDetails nvarchar (500) Details of the license YES -
IPR nvarchar (500) Intellectual Property Rights; the rights given to persons for their intellectual property YES -
IPRHolder nvarchar (500) The person or institution holding the Intellectual Property Rights YES -
IPRHolderAgentURI varchar (500) The link to a module containing futher information on the person or institution holding the YES -
CopyrightStatement nvarchar (500) Notice on rights held in and for the resource YES -
CopyrightHolder nvarchar (500) The person or institution holding the copyright YES -
CopyrightHolderAgentURI varchar (500) The link to a module containing futher information on the person or institution holding the copyright YES -
Notes nvarchar (MAX) Notes about the license 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 datetime Point in time when this data set was updated lastDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Name of the person to update this data set lastDefault value: suser_sname() YES -
RowGUID uniqueidentifier -Default value: newid() NO -

Depending on:

  • Project

Table ProjectReference

The references related to the project

Column Data type Description Nullable Relation
ProjectID int Refers to the ID of table Project (= Foreign key and part of primary key) NO Refers to table Project
ReferenceTitle nvarchar (500) The title of the data publication of the project data package or literature reference publication where information on the project and/ or on project dataset(s) was published. Note this is only a cached value where ReferenceURI is present NO -
ReferenceURI varchar (255) URI of project data citation/ data package citation or URI of literature reference where information on the project and/ or on project dataset(s) was published, e.g. referring to the module DiversityReferences YES -
ReferenceDetails nvarchar (50) Details within the project data citation/ data package citation, e.g. versioning, or details within the literature reference, e.g. pages YES -
ReferenceType nvarchar (255) The type of the data citation or literature reference YES -
IsCitation bit If a reference is the citation for the project data, i.e. the way the project data should be citedDefault value: (0) NO -
ReferenceCitation nvarchar (500) The way the reference should be cited; suggested citation style YES -
URI nvarchar (500) The URI of a reference YES -
Notes nvarchar (MAX) Notes on the project data citation or literature reference YES -
LogInsertedWhen datetime The time when this dataset was createdDefault value: getdate() YES -
LogInsertedBy nvarchar (50) Who created this datasetDefault 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:

  • Project

Table ProjectResource

Resources of the project

Column Data type Description Nullable Relation
ProjectID int Refers to the ID of the project (= Foreign key and part of primary key) NO Refers to table Project
URI varchar (255) The complete URI address of the resource. NO -
SpecificRights nvarchar (500) The rights, e.g. the copyright of the resource YES -
SpecificLicenseURI nvarchar (500) The license under which the resource is re-used or may be re-used YES -
ResourceURI varchar (255) The URI of the image, e.g. as stored in the module DiversityResources. YES -
Notes nvarchar (MAX) Notes about the resource YES -
LogInsertedWhen datetime The time when this dataset was createdDefault value: getdate() YES -
LogInsertedBy nvarchar (50) Who created this datasetDefault value: suser_sname() YES -
LogUpdatedWhen datetime The last time when this dataset was updatedDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Who was the last to update this datasetDefault value: suser_sname() YES -
RowGUID uniqueidentifier -Default value: newsequentialid() NO -

Depending on:

  • Project

Table ProjectSetting

Settings of a project

Column Data type Description Nullable Relation
ProjectID int Refers to the ID of the project (= Foreign key and part of primary key) NO Refers to table Project
SettingID int Refers to ID of Settings, foreign key and part of primary key NO Refers to table Setting
Value nvarchar (MAX) The value of the settingDefault value: '' 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 -
RowGUID uniqueidentifier -Default value: newid() NO -

Depending on:

  • Project
  • Setting

Table ProjectUser

The projects available for a user

Column Data type Description Nullable Relation
LoginName nvarchar (50) A login name which the user uses for access the DivesityWorkbench, Microsoft domains, etc.. NO Refers to table UserProxy
ProjectID int ID of the project to which the specimen belongs (Projects are defined in DiversityProjects) NO Refers to table Project
RowGUID uniqueidentifier -Default value: newsequentialid() NO -

Depending on:

  • Project
  • UserProxy

Table Setting

The settings used within the projects

Column Data type Description Nullable Relation
SettingID int ID of the setting, primary key NO -
ParentSettingID int The ID of the superior setting YES Refers to table Setting
DisplayText nvarchar (50) Short abbreviated description of the setting, displayed in the user interface YES -
Description nvarchar (MAX) Description of the setting YES -
DisplayOrder int The sequence in which the items should be shown in an interface 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 datetime Point in time when this data set was updated lastDefault value: getdate() YES -
LogUpdatedBy nvarchar (50) Name of the person to update this data set lastDefault value: suser_sname() YES -
RowGUID uniqueidentifier -Default value: newid() NO -

VIEWS


View Project_Core

Provides all columus of table Project restricted to the projects accessible for a user as set in table ProjectUser with the exception of the dbo

Column Data type Description Nullable
ProjectID int PK, ID of the Project NO
ProjectParentID int ID of the superior project YES
Project nvarchar (255) A short title for the project as displayed e.g. for selection from a list in an user interface NO
ProjectTitle nvarchar (200) An explicit title for the project YES
ProjectType nvarchar (50) Type of the project YES
ProjectDescription nvarchar (2000) A text, describing characteristic features, e. g. the purpose and scope, of the project YES
ProjectNotes nvarchar (1000) Internal notes regarding the project, not published on the web YES
ProjectCopyright nvarchar (255) Copyright statement for the data collected for and revised by this project YES
ProjectRights nvarchar (255) The rights, e.g. the copyright of the project YES
ProjectLicenseURI nvarchar (255) The license under which the project is re-used or may be re-used YES
ProjectVersion nvarchar (255) Version number (refers to the database content of this project, not to application development) YES
ProjectURL varchar (255) An URL where e.g. the project is described YES
ProjectSettings nvarchar (MAX) The settings used within the project YES
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible. YES
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system. 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
RowGUID uniqueidentifier - YES

Depending on:

  • Project
  • ProjectList

View ProjectAgent_Core

Content of table ProjectAgent restricted to user accessible datasets

Column Data type Description Nullable
ProjectID int Refers to the ID of the project (= Foreign key and part of primary key) NO
AgentName nvarchar (255) The name of the agent. Only cached value where AgentURI is given, Part of PK NO
AgentURI varchar (255) An URL linked to e.g. the module DiversityAgents within the Diversity Workbench, Part of PK NO
AgentRole nvarchar (50) The role of the agent within the project as defined in ProjectAgentRole_Enum YES
Notes nvarchar (MAX) Notes about the agent YES
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible. YES
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system. 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
RowGUID uniqueidentifier - NO

Depending on:

  • ProjectAgent
  • ProjectList

View ProjectResource_Core

Content of table ProjectResource restricted to those accessible for a user

Column Data type Description Nullable
ProjectID int Refers to the ID of the project (= Foreign key and part of primary key) NO
URI varchar (255) The complete URI address of the resource. NO
SpecificRights nvarchar (500) The rights, e.g. the copyright of the resource YES
SpecificLicenseURI nvarchar (500) The license under which the resource is re-used or may be re-used YES
ResourceURI varchar (255) The URI of the image, e.g. as stored in the module DiversityResources. YES
Notes nvarchar (MAX) Notes about the resource YES
LogInsertedWhen datetime The time when this dataset was created YES
LogInsertedBy nvarchar (50) Who created this dataset YES
LogUpdatedWhen datetime The last time when this dataset was updated YES
LogUpdatedBy nvarchar (50) Who was the last to update this dataset YES
RowGUID uniqueidentifier - NO

Depending on:

  • ProjectList
  • ProjectResource

View View_ProjectDescriptor

Project descriptors for query

Column Data type Description Nullable
ProjectID int ID of the project, foreign key NO
Descriptor nvarchar (337) Descriptor of the project (Type + Value) NO

Depending on:

  • ProjectDescriptor
  • ProjectDescriptorElement

View View_ProjectSetting

Project settings for query

Column Data type Description Nullable
ProjectID int Refers to the ID of the project (= Foreign key and part of primary key) NO
Setting nvarchar (MAX) Setting of the project (Type + Value) YES

Depending on:

  • ProjectSetting
  • Setting

View ViewBaseURL

Value of the function BaseURL provided via a view for usage e.g. by linked servers

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

Depending on:

  • BaseURL

View ViewDataCitation

The citation of published data from the project; references of the data publication of the project data package

Column Data type Description Nullable
ProjectID int Refers to the ID of table Project (= Foreign key and part of primary key) NO
ReferenceTitle nvarchar (255) The title of the data publication of the project data package. Note this is only a cached value where ReferenceURI is present. NO
ReferenceURI varchar (255) URI of project data citation/ data package citation of the project data package, e.g. referring to the module DiversityReferences. YES
ReferenceDetails nvarchar (50) Details within the project data citation/ data package citation, e.g. versioning YES
ReferenceType nvarchar (255) The type of the project data citation/ data package citation YES
Notes nvarchar (MAX) Notes on the project data citation/ data package citation YES
URI nvarchar (500) URI of project data citation/ data package citation with information on the project dataset(s) YES
ReferenceCitation nvarchar (500) The way the project data/ data package should be cited; suggested citation style YES

Depending on:

  • ProjectReference

View ViewDiversityWorkbenchModule

Value of the function DiversityWorkbenchModule provided via a view for usage e.g. by linked servers

Column Data type Description Nullable
DiversityWorkbenchModule nvarchar (50) Value of the function DiversityWorkbenchModule YES

Depending on:

  • DiversityWorkbenchModule

View ViewLiteratureReference

The references related to the project; references of literature publications where information on the project and/ or on project dataset(s) is given

Column Data type Description Nullable
ProjectID int Refers to the ID of table Project (= Foreign key and part of primary key) NO
ReferenceTitle nvarchar (255) The title of the literature reference publication where information on the project and/ or on project dataset(s) was published. Note this is only a cached value where ReferenceURI is present. NO
ReferenceURI varchar (255) URI of literature reference with information on the project and/ or on the project dataset(s), e.g. referring to the module DiversityReferences. YES
ReferenceDetails nvarchar (50) Details within the literature reference, e.g. pages YES
ReferenceType nvarchar (255) The type of the literature reference YES
Notes nvarchar (MAX) Notes on the literature reference YES
URI nvarchar (500) URI of the literature reference with information on the project dataset(s) YES
ReferenceCitation nvarchar (500) The way the literature reference should be cited; suggested citation style YES

Depending on:

  • ProjectReference

View ViewProject

Content of table Project including the StableIdentifier

Column Data type Description Nullable
ProjectID int PK, ID of the Project NO
ProjectParentID int ID of the superior project YES
Project nvarchar (255) A short title for the project as displayed e.g. for selection from a list in an user interface NO
ProjectTitle nvarchar (200) An explicit title for the project YES
ProjectDescription nvarchar (2000) A text, describing characteristic features, e. g. the purpose and scope, of the project YES
ProjectNotes nvarchar (1000) Internal notes regarding the project, not published on the web YES
ProjectVersion nvarchar (255) Version number (refers to the database content of this project, not to application development) YES
ProjectURL varchar (255) An URL where e.g. the project is described YES
StableIdentifier varchar (500) The StableIdentifier for the project YES
ProjectType nvarchar (50) Type of the project YES
InternalDescription nvarchar (MAX) Internal description of the project, not to be published YES
PublicDescription nvarchar (MAX) Public description of the project if different from the description YES
ProjectDescriptionType nvarchar (50) classification of the public description, e. g. abstract YES
LogInsertedBy nvarchar (50) Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible. YES
LogInsertedWhen smalldatetime Date and time when record was first entered (typed or imported) into this system. 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
RowGUID uniqueidentifier - YES

Depending on:

  • Project
  • StableIdentifier

FUNCTIONS


Function BaseURL

Provides the basic address for accessing the database

DataType: varchar (255)


Function DiversityWorkbenchModule

Provides the name of the DiversityWorkbench module

DataType: nvarchar (50)


Function PrivacyConsentInfo

Providing common information about the storage and processing of personal data within the DiversityWorkbench

DataType: varchar (900)


Function ProjectChildNodes

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

Parameter DataType Description
@ID int ID of the project
Column DataType Description
ProjectID int PK, ID of the Project
ProjectParentID int ID of the superior project
Project nvarchar (50) A short title for the project as displayed e.g. for selection from a list in an user interface
ProjectTitle nvarchar (200) An explicit title for the project
ProjectDescription nvarchar (MAX) A text, describing characteristic features, e. g. the purpose and scope, of the project
ProjectNotes nvarchar (1000) Internal notes regarding the project, not published on the web
ProjectVersion nvarchar (255) Version number (refers to the database content of this project, not to application development)
ProjectURL varchar (255) An URL where e.g. the project is described
ProjectType nvarchar (50) Type of the project
InternalDescription nvarchar (MAX) Internal description of the project, not to be published
PublicDescription nvarchar (MAX) Public description of the project if different from the description
ProjectDescriptionType nvarchar (50) classification of the public description, e. g. abstract
EmbargoDate date The date until which the data should not be published, made available to the public
CreateArchive bit If an archive e.g. by a task schedule should be created
ArchiveProtocol nvarchar (MAX) The protocol created during the last archive

Depending on:

  • Project
  • ProjectChildNodes

Function ProjectDataLastChanges

DataType: datetime

Parameter DataType Description
@ProjectID int PK, ID of the Project

Depending on:

  • Project

Function ProjectHierarchy

Returns a table that lists all the items related to the given item

Parameter DataType Description
@ProjectID int ID of the project
Column DataType Description
ProjectID int PK, ID of the Project
ProjectParentID int ID of the superior project
Project nvarchar (50) A short title for the project as displayed e.g. for selection from a list in an user interface
ProjectTitle nvarchar (200) An explicit title for the project
ProjectDescription nvarchar (MAX) A text, describing characteristic features, e. g. the purpose and scope, of the project
ProjectNotes nvarchar (1000) Internal notes regarding the project, not published on the web
ProjectVersion nvarchar (255) Version number (refers to the database content of this project, not to application development)
ProjectURL varchar (255) An URL where e.g. the project is described
ProjectType nvarchar (50) Type of the project
InternalDescription nvarchar (MAX) Internal description of the project, not to be published
PublicDescription nvarchar (MAX) Public description of the project if different from the description
ProjectDescriptionType nvarchar (50) classification of the public description, e. g. abstract
EmbargoDate date The date until which the data should not be published, made available to the public
CreateArchive bit If an archive e.g. by a task schedule should be created
ArchiveProtocol nvarchar (MAX) The protocol created during the last archive

Depending on:

  • Project
  • ProjectChildNodes

Function ProjectList

The list of Projects accessible for the current user

Column DataType Description
ProjectID int ID of the project

Depending on:

  • Project
  • ProjectUser

Function ProjectParents

Returns a table that lists all the parents of the given project

Parameter DataType Description
@ProjectID int ID of the project as stored in table Project
Column DataType Description
ProjectID int PK, ID of the Project
ProjectParentID int ID of the superior project
Project nvarchar (50) A short title for the project as displayed e.g. for selection from a list in an user interface
ProjectTitle nvarchar (200) An explicit title for the project
ProjectDescription nvarchar (MAX) A text, describing characteristic features, e. g. the purpose and scope, of the project
ProjectNotes nvarchar (1000) Internal notes regarding the project, not published on the web
ProjectCopyright nvarchar (255) Copyright statement for the data collected for and revised by this project
ProjectRights nvarchar (255) The rights, e.g. the copyright of the project
ProjectLicenseURI varchar (255) The license under which the project is re-used or may be re-used
ProjectVersion nvarchar (255) Version number (refers to the database content of this project, not to application development)
ProjectURL varchar (255) An URL where e.g. the project is described
HierarchyLevel int The level of the hierarchy: 1 = level of selected project; increasing with parents in hierarchy

Depending on:

  • Project

Function SettingHierarchyAll

Returns a table that lists all the settings including a display text with the whole hierarchy

Column DataType Description
SettingID int ID of the setting as defined in table Setting
ParentSettingID int ID of the superior setting
DisplayText nvarchar (50) Short abbreviated description of the object, displayed in the user interface
DisplayOrder int The sequence in which the items should be shown in an interface
Description nvarchar (MAX) Description of enumerated object, displayed in the user interface
Hierarchy nvarchar (4000) The hierarchy composed of the display texts of the superior settings

Depending on:

  • Setting

Function SettingHierarchyChildren

Returns a table that lists all the settings depending on a setting

Parameter DataType Description
@SettingID int ID of the setting
Column DataType Description
SettingID int ID of the setting as defined in table Setting
ParentSettingID int The ID of the superior setting
DisplayText nvarchar (50) Short abbreviated description of the setting, displayed in the user interface
DisplayOrder int The sequence in which the items should be shown in an interface
Description nvarchar (MAX) Description of the setting

Depending on:

  • Setting

Function SettingHierarchyNonProject

Returns a table that lists all the settings including a display text with the whole hierarchy that are not included in a project so far

Parameter DataType Description
@ProjectID int The ID of the project
Column DataType Description
SettingID int ID of the setting as defined in table Setting
ParentSettingID int ID of the superior setting
DisplayText nvarchar (50) Short abbreviated description of the object, displayed in the user interface
DisplayOrder int The sequence in which the items should be shown in an interface
Description nvarchar (MAX) Description of enumerated object, displayed in the user interface
Hierarchy nvarchar (4000) The hierarchy composed of the display texts of the superior settings

Depending on:

  • ProjectSetting
  • SettingHierarchyAll

Function SettingHierarchyProjectAll

Returns a table that lists all the settings for a project including those inherited from superior projects.

Parameter DataType Description
@ProjectID int Input parameter. Enter a valid ProjectID.
Column DataType Description
SettingID int The ID of the setting as defined in table Setting
ParentSettingID int The ID of the superior setting
DisplayText nvarchar (50) Short abbreviated description of the object, displayed in the user interface
DisplayOrder int The sequence in which the items should be shown in an interface
Description nvarchar (MAX) Description of enumerated object, displayed in the user interface
Hierarchy nvarchar (4000) The hierarchy composed of the display texts of the superior settings
Value nvarchar (4000) The value of the setting
ProjectID int ID of the superior project from which this setting has been inherited
Project nvarchar (200) The name of the project from which this setting has been inherited

Depending on:

  • ProjectParents
  • ProjectSetting
  • SettingHierarchyAll

Function SettingsForProject

Returns a table that lists all the settings for a project including those inherited from parent projects including formatting options. Used for Metadata retrieval by DiversityCollection cache databases

Parameter DataType Description
@ProjectID int The ID of the project
@SettingFilter nvarchar (255) A optional filter for the settings
@Spacer nvarchar (20) Optional. A spacer placed between the
@DisplayType int Formatting mode of the column ProjectSetting: 1= Whole hierarchy; 2= Remove leading value of @SettingFilter from hierarchy
Column DataType Description
SettingID int ID of the Setting
ParentSettingID int ID of the superior setting
DisplayText nvarchar (50) Short abbreviated description of the object, displayed in the user interface
Description nvarchar (MAX) Description of enumerated object, displayed in the user interface
ProjectSetting nvarchar (4000) The hierarchy composed of the display texts of the superior settings formatting depending from parameter
Value nvarchar (4000) The value of the setting

Depending on:

  • SettingHierarchyProjectAll

Function StableIdentifier

The stable identifier published for a project

DataType: varchar (500)

Parameter DataType Description
@ProjectID int ID of the project

Depending on:

  • Project

Function UserID

ID of the User as stored in table UserProxy

DataType: int

Depending on:

  • UserProxy

Function Version

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 procInsertProjectCopy

Copy project including all depending data

Parameter DataType Description
@ProjectID int Output parameter, ID of the new project
@CopyID int ID of the project that should be copied
@ProjectTitle nvarchar (200) Title of the new project

Depending on:

  • Project
  • ProjectAgent
  • ProjectLicense
  • ProjectReference
  • ProjectResource
  • ProjectSetting
  • ProjectUser

Procedure SetUserProjects

Parameter DataType Description
@User varchar (50) -

Depending on:

  • UserProxy

ROLES

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

Role DiversityWorkbenchAdministrator

Database Role for administrative actions within the database.

Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
Language_Enum Diversity Workbench User TABLE
Project Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor TABLE
Project_log Diversity Workbench User Diversity Workbench Editor TABLE
ProjectAgent Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectAgent_log Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectAgentRole Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectAgentRole_Enum Diversity Workbench User TABLE
ProjectAgentRole_log Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectAgentType_Enum Diversity Workbench User TABLE
ProjectArchive TABLE
ProjectArchive_log TABLE
ProjectArchiveFormat_Enum TABLE
ProjectArchiveIdentifier TABLE
ProjectArchiveIdentifier_log TABLE
ProjectArchiveMimeType_Enum TABLE
ProjectDescriptor Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectDescriptor_log Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectDescriptorElement Diversity Workbench User TABLE
ProjectDescriptorElement_log Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectIdentifier Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectIdentifier_log Diversity Workbench User Diversity Workbench Editor TABLE
ProjectIdentifierType Diversity Workbench User TABLE
ProjectIdentifierType_log Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectKeyword Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectKeyword_log Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectLabel Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectLabel_log Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectLicense Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectLicense_log Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectReference Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectReference_log Diversity Workbench User Diversity Workbench Editor TABLE
ProjectResource Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectResource_log Diversity Workbench User Diversity Workbench Editor TABLE
ProjectSetting Diversity Workbench User Diversity Workbench Editor Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectSetting_log Diversity Workbench Editor Diversity Workbench Editor TABLE
ProjectType_Enum Diversity Workbench User TABLE
ProjectUser Diversity Workbench User Diversity Workbench Editor TABLE
Setting Diversity Workbench Editor TABLE
Setting_log Diversity Workbench Editor Diversity Workbench Editor TABLE
Project_Core Diversity Workbench User VIEW
ProjectAgent_Core Diversity Workbench User VIEW
ProjectResource_Core Diversity Workbench User VIEW
View_ProjectDescriptor Diversity Workbench User VIEW
View_ProjectSetting Diversity Workbench User VIEW
ViewBaseURL Diversity Workbench User VIEW
ViewDataCitation Diversity Workbench User VIEW
ViewDiversityWorkbenchModule Diversity Workbench User VIEW
ViewLiteratureReference Diversity Workbench User VIEW
ViewProject Diversity Workbench User VIEW
BaseURL Diversity Workbench User FUNCTION
DiversityWorkbenchModule Diversity Workbench User FUNCTION
PrivacyConsentInfo Diversity Workbench User FUNCTION
ProjectChildNodes Diversity Workbench User FUNCTION
ProjectDataLastChanges Diversity Workbench User FUNCTION
ProjectHierarchy Diversity Workbench User FUNCTION
ProjectList Diversity Workbench User FUNCTION
ProjectParents Diversity Workbench User FUNCTION
SettingHierarchyAll Diversity Workbench User FUNCTION
SettingHierarchyChildren Diversity Workbench User FUNCTION
SettingHierarchyNonProject Diversity Workbench User FUNCTION
SettingHierarchyProjectAll Diversity Workbench User FUNCTION
SettingsForProject Diversity Workbench User FUNCTION
StableIdentifier Diversity Workbench User FUNCTION
UserID Diversity Workbench User FUNCTION
Version Diversity Workbench User FUNCTION
VersionClient Diversity Workbench User FUNCTION
procInsertProjectCopy Diversity Workbench Editor PROCEDURE
SetUserProjects PROCEDURE
Inheriting from roles:
  • DiversityWorkbenchEditor

Role DiversityWorkbenchEditor

Database Role with read/write accesss to the database.

Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
Language_Enum Diversity Workbench User TABLE
Project Diversity Workbench User TABLE
Project_log Diversity Workbench User TABLE
ProjectAgent Diversity Workbench User TABLE
ProjectAgent_log TABLE
ProjectAgentRole Diversity Workbench User TABLE
ProjectAgentRole_Enum Diversity Workbench User TABLE
ProjectAgentRole_log TABLE
ProjectAgentType_Enum Diversity Workbench User TABLE
ProjectArchive TABLE
ProjectArchive_log TABLE
ProjectArchiveFormat_Enum TABLE
ProjectArchiveIdentifier TABLE
ProjectArchiveIdentifier_log TABLE
ProjectArchiveMimeType_Enum TABLE
ProjectDescriptor Diversity Workbench User TABLE
ProjectDescriptor_log TABLE
ProjectDescriptorElement Diversity Workbench User TABLE
ProjectDescriptorElement_log TABLE
ProjectIdentifier Diversity Workbench User TABLE
ProjectIdentifier_log Diversity Workbench User TABLE
ProjectIdentifierType Diversity Workbench User TABLE
ProjectIdentifierType_log TABLE
ProjectKeyword Diversity Workbench User TABLE
ProjectKeyword_log TABLE
ProjectLabel Diversity Workbench User TABLE
ProjectLabel_log TABLE
ProjectLicense Diversity Workbench User TABLE
ProjectLicense_log TABLE
ProjectReference Diversity Workbench User TABLE
ProjectReference_log Diversity Workbench User TABLE
ProjectResource Diversity Workbench User TABLE
ProjectResource_log Diversity Workbench User TABLE
ProjectSetting Diversity Workbench User TABLE
ProjectSetting_log TABLE
ProjectType_Enum Diversity Workbench User TABLE
ProjectUser Diversity Workbench User TABLE
Setting TABLE
Setting_log TABLE
Project_Core Diversity Workbench User VIEW
ProjectAgent_Core Diversity Workbench User VIEW
ProjectResource_Core Diversity Workbench User VIEW
View_ProjectDescriptor Diversity Workbench User VIEW
View_ProjectSetting Diversity Workbench User VIEW
ViewBaseURL Diversity Workbench User VIEW
ViewDataCitation Diversity Workbench User VIEW
ViewDiversityWorkbenchModule Diversity Workbench User VIEW
ViewLiteratureReference Diversity Workbench User VIEW
ViewProject Diversity Workbench User VIEW
BaseURL Diversity Workbench User FUNCTION
DiversityWorkbenchModule Diversity Workbench User FUNCTION
PrivacyConsentInfo Diversity Workbench User FUNCTION
ProjectChildNodes Diversity Workbench User FUNCTION
ProjectDataLastChanges Diversity Workbench User FUNCTION
ProjectHierarchy Diversity Workbench User FUNCTION
ProjectList Diversity Workbench User FUNCTION
ProjectParents Diversity Workbench User FUNCTION
SettingHierarchyAll Diversity Workbench User FUNCTION
SettingHierarchyChildren Diversity Workbench User FUNCTION
SettingHierarchyNonProject Diversity Workbench User FUNCTION
SettingHierarchyProjectAll Diversity Workbench User FUNCTION
SettingsForProject Diversity Workbench User FUNCTION
StableIdentifier Diversity Workbench User FUNCTION
UserID Diversity Workbench User FUNCTION
Version Diversity Workbench User FUNCTION
VersionClient Diversity Workbench User FUNCTION
procInsertProjectCopy PROCEDURE
SetUserProjects PROCEDURE
Inheriting from roles:
  • DiversityWorkbenchUser

Role DiversityWorkbenchUser

Database Role with reading accesss to the database.

Permissions SELECT INSERT UPDATE DELETE EXECUTE Type
Language_Enum TABLE
Project TABLE
Project_log TABLE
ProjectAgent TABLE
ProjectAgent_log TABLE
ProjectAgentRole TABLE
ProjectAgentRole_Enum TABLE
ProjectAgentRole_log TABLE
ProjectAgentType_Enum TABLE
ProjectArchive TABLE
ProjectArchive_log TABLE
ProjectArchiveFormat_Enum TABLE
ProjectArchiveIdentifier TABLE
ProjectArchiveIdentifier_log TABLE
ProjectArchiveMimeType_Enum TABLE
ProjectDescriptor TABLE
ProjectDescriptor_log TABLE
ProjectDescriptorElement TABLE
ProjectDescriptorElement_log TABLE
ProjectIdentifier TABLE
ProjectIdentifier_log TABLE
ProjectIdentifierType TABLE
ProjectIdentifierType_log TABLE
ProjectKeyword TABLE
ProjectKeyword_log TABLE
ProjectLabel TABLE
ProjectLabel_log TABLE
ProjectLicense TABLE
ProjectLicense_log TABLE
ProjectReference TABLE
ProjectReference_log TABLE
ProjectResource TABLE
ProjectResource_log TABLE
ProjectSetting TABLE
ProjectSetting_log TABLE
ProjectType_Enum TABLE
ProjectUser TABLE
Setting TABLE
Setting_log TABLE
Project_Core VIEW
ProjectAgent_Core VIEW
ProjectResource_Core VIEW
View_ProjectDescriptor VIEW
View_ProjectSetting VIEW
ViewBaseURL VIEW
ViewDataCitation VIEW
ViewDiversityWorkbenchModule VIEW
ViewLiteratureReference VIEW
ViewProject VIEW
BaseURL FUNCTION
DiversityWorkbenchModule FUNCTION
PrivacyConsentInfo FUNCTION
ProjectChildNodes FUNCTION
ProjectDataLastChanges FUNCTION
ProjectHierarchy FUNCTION
ProjectList FUNCTION
ProjectParents FUNCTION
SettingHierarchyAll FUNCTION
SettingHierarchyChildren FUNCTION
SettingHierarchyNonProject FUNCTION
SettingHierarchyProjectAll FUNCTION
SettingsForProject FUNCTION
StableIdentifier FUNCTION
UserID FUNCTION
Version FUNCTION
VersionClient FUNCTION
procInsertProjectCopy PROCEDURE
SetUserProjects PROCEDURE
Jun 5, 2024

Diversity Projects

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.
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)
InternalNotes nvarchar (500) Internal development notes about usage, definition, etc. of an enumerated object
ParentCode nvarchar (50) The code of the superior entry, if a hierarchy within the entries is necessary
URL nvarchar (500) A URL with further information about this entry
RowGUID uniqueidentifier -Default value: newsequentialid()

Table Language_Enum

Language codes used within the database


Table ProjectAgentRole_Enum

Roles of the agents

Dependent tables:

  • ProjectAgentRole

Table ProjectAgentType_Enum

Types of the agents

Dependent tables:

  • ProjectAgent

Table ProjectArchiveFormat_Enum

Standards for the created archives, e.g. EML

Dependent tables:

  • ProjectArchive

Table ProjectArchiveMimeType_Enum

The MIME (accoridig to the Multipurpose Internet Mail Extensions specification) types of the created archives

Dependent tables:

  • ProjectArchive

Table ProjectType_Enum

Type of the project, e.g. corresponding to a DWB module

Dependent tables:

  • Project
May 3, 2024

Diversity Projects

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 projects

Version

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

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

 

 

Jul 22, 2024

Diversity projects

License

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

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

 

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

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

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

Jul 22, 2024

Diversity projects

Data Access

Access to the data

To get access to the data, you have to fulfill several requirements. In DiversityCollection, you must be a member of one of the user groups. You can only access data, which is listed in the projects you have access to. For external users data may be blocked by entries in the data withholding reasons or due to a data embargo.

   

Jul 22, 2024

Subsections of Access

Diversity projects

Login Administration

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

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

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

To administrate the  linked servers, click on the button.   

To send a feedback click on the 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 button to search for a name in the database (see below).

 

Copy a login

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

 

Edit a login

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

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

 

Access of a login to a database

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

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

Roles of a login in a database

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

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

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

 

Projects for a login in a database

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

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

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

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

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

 

Settings of a login in a database

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

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

 

Overview for a login

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

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

 

Overview for a database

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

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

 

Correction of logins

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

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

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

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

 

Jul 22, 2024

Diversity projects

Security

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

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

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

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

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

 

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

Any user may have access to several projects.

Jul 22, 2024

Diversity projects

Project access for user

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

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

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

 

 

Locking of a project

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

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

 

Retrieval of projects from DiversityProjects

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

     

Jul 22, 2024

Diversity projects

Update

Update of database and client

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

Database update

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

Client update

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

Jul 22, 2024

Subsections of Update

Diversity projects

Update Client

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

 

Jul 22, 2024

Diversity projects

Update Database

Update database to current version

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

Update of all databases on a server

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

DiversityCollection.exe UpdateDatabase 127.0.0.1 5432

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

Jul 22, 2024

Diversity projects

Errorlog

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

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

Jul 22, 2024

Diversity projects

Module connections

Connections between the modules of the Diversity Workbench

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

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

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

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

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

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

Jul 22, 2024

Diversity projects

Resources

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

There are 3 possibilities for the resources directory:

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

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

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

Optional copy

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

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

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

Jul 22, 2024

Diversity projects

Settings

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

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