Diversity exsiccatae
Internals
For users that need more detailed information about the software including database design etc.
For users that need more detailed information about the software including database design etc.
The main data are kept in the table Exsiccata. Editors are listed in the table ExsiccataEditor, examples in the table ExsiccataExample and geographicla regions in the table ExsiccataRegion.
The following objects are not included:
- Logging tables
- Enumeration tables
- System objects
- Objects marked as obsolete
- Previous versions of objects
An Exsiccata is a series of specimen issued in a publication like form.
Column | Data type | Description | Nullable | Relation |
---|---|---|---|---|
ExsiccataID | int | ID of the exsiccata (primary key) | NO | - |
Version | int | The version of the datasetDefault value: (1) | YES | - |
ExsAbbreviation | nvarchar (255) | Std. abbreviation (authors/editors, std. abbrev. of title) | NO | - |
ExsTitle | nvarchar (255) | Exact title (create a new entry if title spelling changed considerably, link entries using PrecededBy/SupersededBy) | NO | - |
EditingInstitution | nvarchar (255) | Issuing/Editing institution (If no editors are known, at least this must be entered) | YES | - |
EditingLocationOri | nvarchar (255) | Original spelling of city/country where the exsiccata has been issued | YES | - |
EditingLocationCurrent | nvarchar (255) | Current spelling of city/country where the exsiccata has been issued | YES | - |
EditingLocationEnglish | nvarchar (255) | Current English spelling of city/country where the exsiccata has been issued | YES | - |
PrecededBy | int | An earlier exsiccata publication appeared under different title or editors (Reference to entry in this database) | YES | Refers to table Exsiccata |
ExsNumberFirst | nvarchar (20) | If known: number of the first exsiccata that was issued by the current editors under the current title | YES | - |
ExsNumberLast | nvarchar (20) | If known: number of the last exssiccata that was issued by the current editors under the current title | YES | - |
ExsPublYearFirst | nvarchar (20) | If known: publication year of the first exsiccata that was issued by the current editors under the current title | YES | - |
ExsPublYearLast | nvarchar (80) | If known: publication year of the last exsiccata that was issued by the current editors under the current title | YES | - |
Notes | nvarchar (2000) | Annotation, please add your name and a date for each annotation | YES | - |
Problems | nvarchar (MAX) | Please explain here if you have a problem, this field will later be checked | YES | - |
Fungi | smallint | check if exsiccata covers fungal species (default) 1 or -1= Yes it does, 0=No it does not, Null/empty = don’t know | YES | - |
Algae | smallint | check if exsiccata covers Algae/Cyanophyta | YES | - |
Bryophytes | smallint | check if exsiccata covers mosses/bryophytes | YES | - |
Pteridophytes | smallint | check if exsiccata covers pteridophytes | YES | - |
HigherPlants | smallint | check if exsiccata covers higher plants | YES | - |
Zoocecidia | smallint | check if exsiccata covers galls on plants caused by animals | YES | - |
Educational | smallint | Educational purpose of the exsiccata, 1 or -1= Yes, 0=No, Null/empty = don’t know | YES | - |
Scientific | smallint | Scientific purpose of the exsiccata, 1 or -1= Yes, 0=No, Null/empty = don’t know | YES | - |
GroupSpecific | smallint | Exsiccata is restricted to a taxonomic entity or ecologically delimited group, e.g. family or lichens on leaves, 1 or -1= Yes, 0=No, Null/empty = don’t know | YES | - |
LogUpdatedWhen | datetime | The last time when this dataset was updatedDefault value: getdate() | YES | - |
LogUpdatedBy | nvarchar (50) | ID of the person to update this data set lastDefault value: [dbo].UserID | YES | - |
Bacteria | smallint | check if exsiccata covers pteridophytes | YES | - |
set last changes in ProjectProxy
The editors that published an exsiccatal series.
Column | Data type | Description | Nullable | Relation |
---|---|---|---|---|
ExsiccataID | int | Reference to ExsiccataID in Exsiccata (foreign Key) | NO | Refers to table Exsiccata |
Name | nvarchar (255) | Enter as last name, comma, first names, use blanks after comma and period | NO | - |
EditorAgentURI | varchar (255) | The URI of the Agent, e.g. as stored within the module DiversityAgents | YES | - |
Sequence | datetime | (automatically set during entry, to maintain the sequence of editors)Default value: getdate() | NO | - |
LogUpdatedWhen | datetime | The last time when this dataset was updatedDefault value: getdate() | YES | - |
LogUpdatedBy | nvarchar (50) | ID of the person to update this data set lastDefault value: [dbo].UserID | YES | - |
setting the version in the main table
Examples for an exsiccatal series.
Column | Data type | Description | Nullable | Relation |
---|---|---|---|---|
ExsiccataID | int | Reference to ExsiccataID in Exsiccata (foreign Key) | NO | Refers to table Exsiccata |
ExampleID | int | A number that defines the sequence in which the examples have been added. | NO | - |
ImageFile | nvarchar (255) | Example: Path and file name for an image of the label of the exsiccata example issue | YES | - |
ResourceURI | varchar (255) | Optionally: The URI under which the image is recoded in e.g. DiversityResources. | YES | - |
PublishedName | nvarchar (255) | Example: Published taxon name of example issue | YES | - |
CollectionName | nvarchar (255) | Example: Name or Acronym of collection where the example issue is available. Default is M for München | YES | - |
Number | nvarchar (50) | Example: Number of example issue within the exsiccata series | YES | - |
StorageLocation | nvarchar (255) | Example: Deposited under (scientific name indicating a storage location) | YES | - |
CollectionSpecimen | varchar (255) | Optionally: The Display text of the example specimen as recorded in e.g. DiversityCollection | YES | - |
CollectionSpecimenURI | varchar (255) | Optionally: The URI under which the example specimen is recorded in e.g. DiversityCollection | YES | - |
LogUpdatedWhen | datetime | The last time when this dataset was updatedDefault value: getdate() | YES | - |
LogUpdatedBy | nvarchar (50) | ID of the person to update this data set lastDefault value: [dbo].UserID | YES | - |
setting the version in the main table
The references where an exsiccatal series is listed.
Column | Data type | Description | Nullable | Relation |
---|---|---|---|---|
ExsiccataID | int | Reference to ExsiccataID in Exsiccata (foreign Key) | NO | Refers to table Exsiccata |
ReferenceTitle | nvarchar (255) | The title of the publication where information on the exiccata was published. Note this is only a cached value where ReferenceURI is present | NO | - |
ReferenceURI | varchar (255) | URI (e.g. LSID) of reference where information on the exsiccata was published, e.g. referring to the module DiversityReferences | YES | - |
LogUpdatedWhen | datetime | The last time when this dataset was updatedDefault value: getdate() | YES | - |
LogUpdatedBy | nvarchar (50) | ID of the person to update this data set lastDefault value: [dbo].UserID | YES | - |
setting the version in the main table
The geographic regions that are covered by the specimen within an exsiccatal series.
Column | Data type | Description | Nullable | Relation |
---|---|---|---|---|
ExsiccataID | int | Reference to ExsiccataID in Exsiccata (foreign Key) | NO | Refers to table Exsiccata |
Region | nvarchar (50) | A region where the specimens within the exsiccata were collected. | NO | - |
LogUpdatedWhen | datetime | The last time when this dataset was updatedDefault value: getdate() | YES | - |
LogUpdatedBy | nvarchar (50) | ID of the person to update this data set lastDefault value: [dbo].UserID | YES | - |
setting the version in the main table
Coverage and purpose columns of table Exsiccata
Column | Data type | Description | Nullable |
---|---|---|---|
ExsiccataID | int | ID of the exsiccata (primary key) | NO |
Coverage | varchar (27) | Combined coverage columns of table Exsiccata | NO |
Purpose | varchar (11) | Combined Purpose columns of table Exsiccata | NO |
Content of function BaseURL() for linked server
Column | Data type | Description | Nullable |
---|---|---|---|
BaseURL | varchar (255) | Content of function BaseURL() | YES |
Content of function DiversityWorkbenchModule() for linked server
Column | Data type | Description | Nullable |
---|---|---|---|
DiversityWorkbenchModule | nvarchar (50) | Content of function DiversityWorkbenchModule() | YES |
Returns the basic URL for the database
DataType: varchar (255)
Name of the module
DataType: nvarchar (50)
Provides a link to common information about the DiversityWorkbench
DataType: varchar (900)
The stable identifier published for a exsiccata
DataType: varchar (500)
Parameter | DataType | Description |
---|---|---|
@ExsiccataID | int | ID of the exsiccata |
DataType: varchar (255)
ID of the User as stored in table UserProxy
DataType: int
Name of the User as stored in table UserProxy
DataType: nvarchar (50)
Parameter | DataType | Description |
---|---|---|
@ID | varchar (10) | The ID of the user, Primary key |
Version of the database
DataType: nvarchar (8)
Minimal version of the client compatible with the database
DataType: nvarchar (11)
Copy a exsiccata
Parameter | DataType | Description |
---|---|---|
@ExsiccataID | int | ID of the new exsiccata |
@OriginalExsiccataID | int | ID of the original exsiccata |
@ExsTitle | nvarchar (255) | Title of the new exsiccata |
@ExsAbbreviation | nvarchar (255) | Abbreviation of the new exsiccata |
Setting the version of a dataset
Parameter | DataType | Description |
---|---|---|
@ID | int | ID of the exsiccata |
Role with permission to edit the data
Permissions | SELECT | INSERT | UPDATE | DELETE | EXECUTE | Type |
---|---|---|---|---|---|---|
Exsiccata | • | • | TABLE | |||
Exsiccata_log | TABLE | |||||
ExsiccataEditor | • | • | • | TABLE | ||
ExsiccataEditor_log | TABLE | |||||
ExsiccataExamples | • | • | • | TABLE | ||
ExsiccataExamples_log | TABLE | |||||
ExsiccataReference | • | • | • | TABLE | ||
ExsiccataReference_log | TABLE | |||||
ExsiccataRegion | • | • | • | TABLE | ||
ExsiccataRegion_log | TABLE | |||||
View_Coverage | VIEW | |||||
ViewBaseURL | VIEW | |||||
ViewDiversityWorkbenchModule | VIEW | |||||
BaseURL | FUNCTION | |||||
DiversityWorkbenchModule | FUNCTION | |||||
PrivacyConsentInfo | FUNCTION | |||||
StableIdentifier | FUNCTION | |||||
StableIdentifierBase | FUNCTION | |||||
UserID | FUNCTION | |||||
UserName | FUNCTION | |||||
Version | FUNCTION | |||||
VersionClient | FUNCTION | |||||
procCopyExsiccata | • | PROCEDURE | ||||
procSetVersionExsiccata | • | PROCEDURE |
Role restricted to ReadOnly
Permissions | SELECT | INSERT | UPDATE | DELETE | EXECUTE | Type |
---|---|---|---|---|---|---|
Exsiccata | • | TABLE | ||||
Exsiccata_log | TABLE | |||||
ExsiccataEditor | • | TABLE | ||||
ExsiccataEditor_log | TABLE | |||||
ExsiccataExamples | • | TABLE | ||||
ExsiccataExamples_log | TABLE | |||||
ExsiccataReference | • | TABLE | ||||
ExsiccataReference_log | TABLE | |||||
ExsiccataRegion | • | TABLE | ||||
ExsiccataRegion_log | TABLE | |||||
View_Coverage | • | VIEW | ||||
ViewBaseURL | • | VIEW | ||||
ViewDiversityWorkbenchModule | • | VIEW | ||||
BaseURL | • | FUNCTION | ||||
DiversityWorkbenchModule | • | FUNCTION | ||||
PrivacyConsentInfo | • | FUNCTION | ||||
StableIdentifier | • | FUNCTION | ||||
StableIdentifierBase | • | FUNCTION | ||||
UserID | • | FUNCTION | ||||
UserName | • | FUNCTION | ||||
Version | • | FUNCTION | ||||
VersionClient | • | FUNCTION | ||||
procCopyExsiccata | PROCEDURE | |||||
procSetVersionExsiccata | PROCEDURE |
For information about the version of the client application choose Help, Info…
The current version in the example above is 4.0.0 for the client and 2.1.13 for the database
This manual is copyrighted work licensed under a Creative Commons License.
All material in this manual is the property of the contributing authors and fully copyrighted. By choosing this way of publication, the contributing authors have agreed to license the work under a Creative Commons License permitting reproduction, distribution, and derivative works, requiring attribution, notice, and share-alike, and prohibiting commercial use.
For information about the license of the client software choose Help, Info…
The client software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.
The client software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License (GPL) for more details.
To get access to the data, you have to fulfill several requirements. In DiversityCollection, you must be a member of one of the user groups. You can only access data, which is listed in the projects you have access to. For external users data may be blocked by entries in the data withholding reasons or due to a data embargo.
To administrate the logins on the database server, their permissions and roles respectively as well as access to projects choose Administration - Database - Logins ... from the menu. A window will open as shown below.
To set the website where information about details concerning the
General Data Protection
Regulation
are shown, click on the button.
To see the current activity on the server click on the
button. A window as shown below will open
listing all user related processes on the server.
To administrate the linked servers, click on the
button.
To send a feedback click on the button.
To see the activity of a login click on the
button. A window will open as shown below listing all databases and
tables together with the time span (From - To) and the number of data
sets where any activity of the current login has been found.
To create a new login click on the button. A
window will open as shown below. A login that should be able to create
new logins must to be a System administrator.
Here you can enter the name of the new login, the password and the
information about the user which will be stored in a DiversityAgents
database. You may either create a new entry in this database or select
an existing one: Click on the button
to search for a name in the database (see below).
To copy a login including all permissions etc. into a new login, select
the original login in the list and click on the
button.
To edit the access for a login on the server select the login in the
list. If a login should be disabled , uncheck
the enabled checkbox (see below).
All databases on the server will be listed with the current database showing a yellow background. The databases where the login has [no access] will be listed in [gray] while the databases accessible for a login are black.
To allow the access to a database select the database from the list and choose database as shown below.
The state and
date of
the privacy consent according to the General Data Protection
Regulation
is shown in dependence of the selected database.
Use the > and < buttons to add or remove roles for the login in the database (see below).
To see the detailed permissions of a role, select it in the list of
[Available] roles and click on the
button. A window as shown below will open
listing all objects in the database the role has permissions for (see
below).
As a database owner you can edit the permissions and role memberships
with the and
buttons. Please
keep in mind that any change of the permissions may cause serious
troubles and should only be used for testing and bug fixing. The final
setting of the permissions should be performed by a proper update script
of the database. For every action you will get the code that is to be
included in an update script (see below).
Depending on the database you can edit the list of projects accessible
for a login (see below). Projects are related to the module
DiversityProjects. To get additional information about a project select
it in the list and click on the
button.
Starting with database version 02.05.35 next to the projects with full
access, a second list provides projects with [Read
Only] access (see image
below). Use the and
buttons to
move projects between Accessible and Read Only. If a
project is set on [Read Only]
a user can still add annotations. Starting with
version 4.3.219 a project as a whole can be locked with the restriction
of access to read only. For more details see chapter Project
administration.
To load additional projects click on the Load projects
button. A window will open as shown below.
Projects already in the database will be listed in
green, missing projects in red (see below). Check all projects you need in your database and
click the Start download
button.
To see an overview of the users within a project select one of the
project in either list and click on the corresponding button
. A window as shown below will open listing all
users and their roles with access to the selected project.
To add or remove a role for a login, select the corresponding field and
choose or
from the context
menu (see below).
Depending on the database you can edit the settings of a login as shown below.
If you wish to use settings already defined for another login, click on the Search template button. A window (see below) will open where you can choose among the settings defined for logins in the database.
If you want to see an overview of all permissions and project for a
login, click on the button. A window as shown
below will open. It lists all
modules
and their
databases, the
roles,
accessible projects and
read only projects for a login.
To copy the permissions and projects of the current login to another
login, select the login where the settings should be copied to from the
list at the base of the window and click on the
button to copy the settings for all databases or the
button to copy the settings of the selected
database into this login.
If you see an overview of all user and roles in a database, click on the
button. A window a shown below will open.
It lists all
user,
roles and
projects in the database.
To remove a user, select it in the list and click on the
button.
If you select one of the databases, at the base a
button may appear. This indicates that
there are windows logins listed where the name of the login does not
match the logins of the server. This may happen if e.g. a database was
moved from one server to another. To correct this, click on the button.
A list of deviating logins will be shown, that can be corrected
automatically.
If logins with the same name but different server are found, one of them has to be deleted to make the correction possible. You will get a list where you can select those that should be removed.
Select the duplicate logins that should be removed and click OK.
To find users within the database that have no valid login, click on the
button. A window as shown below will open,
listing the users without a login. Select those that should be removed
and click OK. This will include a removal from the collection
managers.
To inspect the history of a dataset click on the button. A form will open, showing all former
states of the data in the tables with the current dataset at the top.
The version is shown in the header of the
main.
The version will be set automatically. If a dataset is changed the version will be increased if the last changes where done by a different user or the last change is more than 24 hours ago (for further details see topic Logging ).
For analysis of the succession of changes the log tables contain additional columns:
If either the database or the client needs to be updated, the menu will
show an additional entry: Update.
To update the database, choose Update →
Update database … from the menu. See chapter Database update for details.
To update the client, choose Update →
Update client … and download the
lastest version of the client. ee chapter Update client for details.
Replace the files and folders of your installation of
DiversityCollection with the files you received by e-mail or downloaded
from the DiversityWorkbench portal. The database will not be influenced
by this replacement. After starting the new software you need to
transfer the settings of the previous version. When you start the
program and connect to a database, the program will check if it is
compatible with the database or if the database needs an update. In any
of these cases an update entry in the menu
will appear. If a new version of the client is available, this menu will
contain an
update client … entry.
Click on it to open the webpage where you may download the client as
shown below.
If you are the owner of the database (Database role = dbo) and the
database needs to be updated, the menu will contain an
update database … entry. Select this entry
to open a window as shown below to run the provided update scripts,
delivered with the client software. These scripts need to run
consecutively, so e.g. to update from version 2.5.1 to 2.5.4 you either
have to run the script DiversityCollectionUpdate_020501_To_020504 or the
scripts DiversityCollectionUpdate_020501_To_020502,
DiversityCollectionUpdate_020502_To_020503 and
DiversityCollectionUpdate_020503_To_020504. The program will guide you
through these steps and check for the scripts. All you need to do is
click the Start update
button.
If you are database owner and have a windows login to the database server (user=dbo), you have the option to update all DiversityCollection databases on this server by starting the application with command line parameters. Open a command line window, navigate to the program directory and start DiversityCollection with the keyword “UpdateDatebase”, the server name (or IP address) and the port number:
DiversityCollection.exe UpdateDatabase 127.0.0.1 5432
The program will connect to the server and update all available databases to the current version. If you want to exclude dedicated databases from update, create a text file named “ExcludeDb.txt” that contains the excluded database names - each name in a separate line - and locate it in the resources directory. The update will be done in the background without opening a program window. When the update processing is finished, an overview of the performed actions will be written into the protocol file “Updatereport.log” in directory resources/Updates.
If any error messages show up while working with the application, you can find further details concerning the part of the application where the error occurred and the parameters involved in the file e.g. DiversityCollectionError.log in the Module DiversityCollection located in your resources directory.
To open the errorlog, choose Help - ErrorLog from the menu. A window will open showing the content of the errolog. By default the errorlog will be reset at program start. You can keep the errorlog if needed by chossing Help -
Errorlog - Keep error log from the menu. A button will appear that allows you to clear the error log manually: Help -
Clear ErrorLog.
The DiversityWorkbench is a set
of components for building and managing biodiversity information, each
of which focuses on a particular domain. DiversityAgents is referred by
several modules. To scan for references from these modules on data in
DiversityAgents choose Data - Scan modules -
from the menu (see image below).
With these options the program will scan all sources of the selected module as listed in the connections for references to the current agent. After selecting an agent in the tree, the sources of the selected modules together with the linked data will be listed as shown below.
Select a link to see a summary of the linked data (see below).
To get further information about an item click on the
button. If so far the path to the
respective application has not been set, you will get a corresponding
message (see below).
Click on the button to set the path to the
application (see below).
By default the path to the application is C:\Program Files (x86)\DiversityWorkbench\Diversity...\Diversity.…exe as shown.
The resources directory is set via the menu (Administration - Resources).
There are 3 possibilities for the resources directory:
The default is set to Home. This directory will contain all files the user needs access to (see image below as an example for the module DiversityAgents).
Certain directories are hidden (Query) and are handled by the software i.e. the content should not be changed by the user. The other folders are generated by the software if missing, e.g. Export for any exports (see below).
By default all files the software needs from the application directory will be copied into the selected resources directory of the user. You can change this behaviour to one of the options listed below:
With the next start of the program the software will act according to the selected behaviour. If you change from the Do not copy option to one of the other options the software will act at once according to the new option and e.g.
copy missing directories and files into the user directory.
The settings for the software are stored in a directory created by the application, e.g. C:\Users\[LoginName]\AppData\Local\DiversityWorkbench\[DiversityWorkbenchModule].exe_Url_0he1anjeninqrrxpdywiwnwxaqvlezn3\4.4.13.0
where [LoginName]
is the name of the user and [DiversityWorkbenchModule]
the name of the Diversity Workbench module e.g. DiversityCollection. This directory contains the file user.config where all settings are stored in xml format. An example for the content in the module DiversityCollection is shown below:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings">
<section name="DiversityWorkbench.WorkbenchSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<DiversityWorkbench.WorkbenchSettings>
<setting name="ModuleName" serializeAs="String">
<value>DiversityCollection</value>
</setting>
<setting name="GenerateTraceFile" serializeAs="String">
<value>False</value>
</setting>
<setting name="DatabaseServer" serializeAs="String">
<value>zsm.diversityworkbench.de</value>
</setting>
<setting name="IsTrustedConnection" serializeAs="String">
<value>True</value>
</setting>
<setting name="DatabaseName" serializeAs="String">
<value>DiversityCollection</value>
</setting>
<setting name="QueryMaxResults" serializeAs="String">
<value>100</value>
</setting>
<setting name="DatabasePort" serializeAs="String">
<value>5432</value>
</setting>
<setting name="DatabaseUser" serializeAs="String">
<value>User</value>
</setting>
<setting name="ResourcesDirectory" serializeAs="String">
<value>Home</value>
</setting>
<setting name="HowToCopyAppToUserDirectory" serializeAs="String">
<value>Missing</value>
</setting>
</DiversityWorkbench.WorkbenchSettings>
<DiversityCollection.Forms.FormCollectionSpecimenSettings>
<setting name="SplitContainerData_SplitterDistance" serializeAs="String">
<value>270</value>
</setting>
<setting name="QueryConditionVisibility" serializeAs="String">
<value>10000100011000010000000000001000000001100000000000000000000000000001110000110110000000000000000000000000000000000000000000000000000000000000000000000000011100001000000000000000010000000000000000001000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000</value>
</setting>
<setting name="ImageDisplay" serializeAs="String">
<value>Hidden</value>
</setting>
<setting name="AskOnExit" serializeAs="String">
<value>True</value>
</setting>
</DiversityCollection.Forms.FormCollectionSpecimenSettings>
</userSettings>
</configuration>