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

DiversityProjects

Model 2.1.24

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

Introduction:

DiversityProjects is part of the Diversity Workbench. Within this framework the application DiversityProject is the module in which the projects are managed. Projects are used e.g. to bundle specimens or observation in virtual collections. It also allows to model a project hierarchy, but the main use is to manage a project’s metadata and to define the access to the data associated with a project. A project is the basis for the data publication pipelines in Diversity Workbench and the metadata of a project is for example included in the data publication.

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

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

Data management sectors of the application

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

Information model

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

ER-Diagram

Overview over all entities and relations used in the database model

ER-Diagram

TABLES

Table 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 a 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 PK. Default 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 allowed. Default 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 information 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 information 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 created. Default value: getdate() YES -
LogCreatedBy nvarchar (50) Name of the creator of this data set. Default value: suser_sname() YES -
LogUpdatedWhen datetime Point in time when this data set was updated last. Default value: getdate() YES -
LogUpdatedBy nvarchar (50) Name of the person to update this data set last. Default 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 further 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 further information on the person or institution holding the IPR 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 further 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 created. Default value: getdate() YES -
LogCreatedBy nvarchar (50) Name of the creator of this data set. Default value: suser_sname() YES -
LogUpdatedWhen datetime Point in time when this data set was updated last. Default value: getdate() YES -
LogUpdatedBy nvarchar (50) Name of the person to update this data set last. Default 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 cited. Default 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 created. Default value: getdate() YES -
LogInsertedBy nvarchar (50) Who created this dataset. Default value: suser_sname() YES -
LogUpdatedBy nvarchar (50) Name of user who last updated the data. Default value: suser_sname() YES -
LogUpdatedWhen smalldatetime Date and time when the data were last updated. Default value: getdate() YES -
RowGUID uniqueidentifier -. Default value: newsequentialid() NO -

Depending on:

  • 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 created. Default value: getdate() YES -
LogInsertedBy nvarchar (50) Who created this dataset. Default value: suser_sname() YES -
LogUpdatedWhen datetime The last time when this dataset was updated. Default value: getdate() YES -
LogUpdatedBy nvarchar (50) Who was the last to update this dataset. Default 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 setting. Default 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 created. Default value: getdate() YES -
LogCreatedBy nvarchar (50) Name of the creator of this data set. Default value: suser_sname() YES -
LogUpdatedWhen datetime Point in time when this data set was updated last. Default value: getdate() YES -
LogUpdatedBy nvarchar (50) Name of the person to update this data set last. Default value: suser_sname() YES -
RowGUID uniqueidentifier -. Default value: newid() NO -
Jul 9, 2025

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 Agents

Documentation

Tools for the database documentation

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

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

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

Select the objects that should be included in the documentation:

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

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

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

 

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

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

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

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

HTML, MediaWiki, JSP-Wiki

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

Oct 16, 2026

Subsections of Documentation

Diversity Agents

Documentation

chm

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

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

Oct 16, 2026

Diversity Agents

Documentation

HUGO

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

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

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

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

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

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

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

Installation of HUGO

Update des Themes

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

Übersetzung des Bestands an html

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

Überarbeitung der md Dateien

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

Frontmatter

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

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

Template files

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

Bilder

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

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

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

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

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

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

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

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

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

## Main form of diversityexsiccatae

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

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

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

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

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

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

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

favicon

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

Einschliessen von Dateien

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

ER-Diagramm

dieses kann als Mermaid eingebaut werden, e.g.

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

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

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

Anpassung des Themes

  • es werden 2 eigene Themes bereitgestellt

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

    diese an DWB Anforderungen anpassen

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

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

Konfiguration - in hugo.toml:

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

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

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

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

Diversity Agents

Documentation

MediaWiki

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

Oct 16, 2026