Difference between revisions of "DiversityDescriptions Quiz (Artenquiz)"
(→New projects) |
(→New projects: scheme of tables) |
||
Line 1,063: | Line 1,063: | ||
Create a project (table: Project) | Create a project (table: Project) | ||
* Project.code is important: it is used as URL part and within the Django application as internal project identifier it should never be changed | * Project.code is important: it is used as URL part and within the Django application as internal project identifier it should never be changed | ||
− | * | + | * eventually create or associate scopes, like “female”, “male” (table: OtherScope, Project_AvailableScope) |
Eventually create the taxa (table: TaxonProxy) | Eventually create the taxa (table: TaxonProxy) | ||
* associate taxa to the project (tables: TaxonSet, TaxonSet_Taxon) | * associate taxa to the project (tables: TaxonSet, TaxonSet_Taxon) | ||
Line 1,075: | Line 1,075: | ||
* tag "Public" means it will be publically available | * tag "Public" means it will be publically available | ||
* tag "Identification" make the project availabel for identification (URL: …/mobile_bestimmung/) | * tag "Identification" make the project availabel for identification (URL: …/mobile_bestimmung/) | ||
+ | |||
+ | <graphviz caption='Legend of DiversityDescriptions datebase scheme' alt='Legend of DiversityDescriptions' format='png'> | ||
+ | digraph set_new_project{ | ||
+ | graph [rankdir = "LR" splines="line" outputorder="edgesfirst"]; | ||
+ | node [fontsize = "10", shape = "plaintext"]; | ||
+ | edge [color = "black" arrowhead="dot"]; | ||
+ | |||
+ | BaseEntity [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_BaseEntity" | ||
+ | tooltip="The BaseEntity is used within the database to provide unique keys" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0"> | ||
+ | <tr><td BGCOLOR="lightblue" >BaseEntity</td></tr> | ||
+ | <tr><td PORT="id">id</td></tr> | ||
+ | <tr><td PORT="table_id">table_id</td></tr> | ||
+ | <tr><td PORT="specific_rights_text">specific_rights_text</td></tr> | ||
+ | <tr><td PORT="specific_licence_uri">specific_licence_uri</td></tr> | ||
+ | //CONSTRAINT [PK_BaseEntity] PRIMARY KEY ([id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | |||
+ | OtherScope [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_OtherScope" | ||
+ | tooltip="Scope values for description scope values for scope types 'Other scope', 'Part', 'Stage' and 'Sex' " | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="#e5c96a" colspan="2">OtherScope</td></tr> | ||
+ | <tr><td PORT="id">id</td><td PORT="id_e"></td></tr> | ||
+ | <tr><td PORT="label">label</td><td PORT="label_e">u</td></tr> | ||
+ | <tr><td PORT="detail">detail</td><td PORT="detail_e"></td></tr> | ||
+ | <tr><td PORT="type">type</td><td PORT="type_e"></td></tr> | ||
+ | <tr><td PORT="sex_status_id">sex_status_id</td><td PORT="sex_status_id_e"></td></tr> | ||
+ | //CONSTRAINT [PK_OtherScope] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_OtherScope_1] UNIQUE ([label]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | Project [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_Project" | ||
+ | tooltip="Projects define separated workareas in a single database" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="#ef6a6a" colspan="2">Project</td></tr> | ||
+ | <tr><td PORT="id">id</td><td PORT="id_e"></td></tr> | ||
+ | <tr><td PORT="parent_project_id">parent_project_id</td><td PORT="parent_project_id_e"></td></tr> | ||
+ | <tr><td PORT="label">label</td><td PORT="label_e">u</td></tr> | ||
+ | <tr><td PORT="rights_text">rights_text</td><td PORT="rights_text_e"></td></tr> | ||
+ | <tr><td PORT="licence_uri">licence_uri</td><td PORT="licence_uri_e"></td></tr> | ||
+ | <tr><td PORT="detail">detail</td><td PORT="detail_e"></td></tr> | ||
+ | <tr><td PORT="restricted_to_descriptortree_id">restricted_to_descriptortree_id</td><td PORT="restricted_to_descriptortree_id_e"></td></tr> | ||
+ | <tr><td PORT="restricted_to_taxonset_id">restricted_to_taxonset_id</td><td PORT="restricted_to_taxonset_id_e"></td></tr> | ||
+ | <tr><td PORT="primary_language_code">primary_language_code</td><td PORT="primary_language_code_e"></td></tr> | ||
+ | <tr><td PORT="ProjectProxyID">ProjectProxyID</td><td PORT="ProjectProxyID_e"></td></tr> | ||
+ | //CONSTRAINT [PK_Project] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_Project_1] UNIQUE ([label]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | Project_AvailableScope [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_Project_AvailableScope" | ||
+ | tooltip="Scope values available for a certain project" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="#ef6a6a" colspan="2">Project_AvailableScope</td></tr> | ||
+ | <tr><td PORT="id">id</td><td></td></tr> | ||
+ | <tr><td PORT="project_id">project_id</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="scope_id">scope_id</td><td>ut_1</td></tr> | ||
+ | //CONSTRAINT [PK_Project_AvailableScope] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_Project_AvailableScope_1] UNIQUE ([project_id],[scope_id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | Tag [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_Tag" | ||
+ | tooltip="Objects may have multiple tags (= keywords)" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="lightblue" colspan="2">Tag</td></tr> | ||
+ | <tr><td PORT="id">id</td><td></td></tr> | ||
+ | <tr><td PORT="tag">tag</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="object_id">object_id</td><td>ut_1</td></tr> | ||
+ | //CONSTRAINT [PK_Tag] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_Tag_1] UNIQUE ([tag],[object_id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | TaxonSet [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_TaxonSet" | ||
+ | tooltip="Groups (or sets) of taxa; including non-phylogenetic groups " | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="lightblue" colspan="2">TaxonSet</td></tr> | ||
+ | <tr><td PORT="id">id</td><td PORT="id_e"></td></tr> | ||
+ | <tr><td PORT="label">label</td><td PORT="label_e">u</td></tr> | ||
+ | <tr><td PORT="default_set">default_set</td><td PORT="default_set_e"></td></tr> | ||
+ | <tr><td PORT="project_id">project_id</td><td PORT="project_id_e"></td></tr> | ||
+ | //CONSTRAINT [PK_TaxonSet] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_TaxonSet_1] UNIQUE ([label]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | TaxonSet_Taxon [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_TaxonSet_Taxon" | ||
+ | tooltip="Membership of taxa in a taxon set (n:m relation)" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="lightblue" colspan="2">TaxonSet_Taxon</td></tr> | ||
+ | <tr><td PORT="id">id</td><td></td></tr> | ||
+ | <tr><td PORT="taxonset_id">taxonset_id</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="taxon_id">taxon_id</td><td>ut_1</td></tr> | ||
+ | //CONSTRAINT [PK_TaxonSet_Taxon] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_TaxonSet_Taxon_1] UNIQUE ([taxonset_id],[taxon_id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | TaxonProxy [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_TaxonProxy" | ||
+ | tooltip="Taxon/tax. hierarchy (simplified); proxy for WB component" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="lightblue" colspan="2">TaxonProxy</td></tr> | ||
+ | <tr><td PORT="id">id</td><td PORT="id_e"></td></tr> | ||
+ | <tr><td PORT="label">label</td><td>u</td></tr> | ||
+ | <tr><td PORT="name">name</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="common_name">common_name</td><td></td></tr> | ||
+ | <tr><td PORT="rank_id">rank_id</td><td></td></tr> | ||
+ | <tr><td PORT="genus">genus</td><td></td></tr> | ||
+ | <tr><td PORT="infrageneric_epithet">infrageneric_epithet</td><td></td></tr> | ||
+ | <tr><td PORT="specific_epithet">specific_epithet</td><td></td></tr> | ||
+ | <tr><td PORT="infraspecific_rankstring">infraspecific_rankstring</td><td></td></tr> | ||
+ | <tr><td PORT="infraspecific_epithet">infraspecific_epithet</td><td></td></tr> | ||
+ | <tr><td PORT="cultivar_name_or_group">cultivar_name_or_group</td><td></td></tr> | ||
+ | <tr><td PORT="full_authorship_citation">full_authorship_citation</td><td></td></tr> | ||
+ | <tr><td PORT="base_citation">base_citation</td><td></td></tr> | ||
+ | <tr><td PORT="base_citation_bracketed">base_citation_bracketed</td><td></td></tr> | ||
+ | <tr><td PORT="combination_citation">combination_citation</td><td></td></tr> | ||
+ | <tr><td PORT="kingdom">kingdom</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="phylum_or_division">phylum_or_division</td><td></td></tr> | ||
+ | <tr><td PORT="class">class</td><td></td></tr> | ||
+ | <tr><td PORT="subclass">subclass</td><td></td></tr> | ||
+ | <tr><td PORT="order">order</td><td></td></tr> | ||
+ | <tr><td PORT="suborder">suborder</td><td></td></tr> | ||
+ | <tr><td PORT="family">family</td><td></td></tr> | ||
+ | <tr><td PORT="subfamily">subfamily</td><td></td></tr> | ||
+ | <tr><td PORT="project_id">project_id</td><td>ut_1</td></tr> | ||
+ | //CONSTRAINT [PK_TaxonProxy] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_TaxonProxy_1] UNIQUE ([label]), | ||
+ | //CONSTRAINT [UQ_TaxonProxy_2] UNIQUE ([name],[kingdom],[project_id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | TaxonRank_Enum [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_TaxonRank_Enum" | ||
+ | tooltip="Ranks for taxa (species, genus, family, order, class, etc.)" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="lightblue" colspan="2">TaxonRank_Enum</td></tr> | ||
+ | <tr><td PORT="id">id</td><td PORT="id_e"></td></tr> | ||
+ | <tr><td PORT="label">label</td><td PORT="label_e">u</td></tr> | ||
+ | <tr><td PORT="code">code</td><td PORT="code_e">u</td></tr> | ||
+ | <tr><td PORT="abbreviation">abbreviation</td><td PORT="abbreviation_e"></td></tr> | ||
+ | <tr><td PORT="detail">detail</td><td PORT="detail_e"></td></tr> | ||
+ | //CONSTRAINT [PK_TaxonRank_Enum] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_TaxonRank_Enum_1] UNIQUE ([label]), | ||
+ | //CONSTRAINT [UQ_TaxonRank_Enum_2] UNIQUE ([code]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | GeographicAreaProxy [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_GeographicAreaProxy" | ||
+ | tooltip="Geographic Area, proxy for WB component" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="lightblue" colspan="2">GeographicAreaProxy</td></tr> | ||
+ | <tr><td PORT="id">id</td><td PORT="id_e"></td></tr> | ||
+ | <tr><td PORT="label">label</td><td PORT="label_e">u</td></tr> | ||
+ | //CONSTRAINT [PK_GeographicAreaProxy] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_GeographicAreaProxy_1] UNIQUE ([label]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | GeographicArea_Taxon [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_GeographicArea_Taxon" | ||
+ | tooltip="Presence (or likely presence) of taxon in a given geographic area" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="lightblue" colspan="2">GeographicArea_Taxon</td></tr> | ||
+ | <tr><td PORT="id">id</td><td></td></tr> | ||
+ | <tr><td PORT="geographicarea_id">geographicarea_id</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="taxon_id">taxon_id</td><td>ut_1</td></tr> | ||
+ | //CONSTRAINT [PK_GeographicArea_Taxon] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_GeographicArea_Taxon_1] UNIQUE ([geographicarea_id],[taxon_id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | Resource [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_Resource" | ||
+ | tooltip="Hyperlinks to separate rich text/media objects" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="blue" colspan="1"><font COLOR="white">Resource</font></td></tr> | ||
+ | <tr><td PORT="id">id</td></tr> | ||
+ | <tr><td PORT="terminology_role">terminology_role</td></tr> | ||
+ | <tr><td PORT="ranking_for_terminology">ranking_for_terminology</td></tr> | ||
+ | <tr><td PORT="descriptor_id">descriptor_id</td></tr> | ||
+ | <tr><td PORT="state_id">state_id</td></tr> | ||
+ | <tr><td PORT="taxon_role">taxon_role</td></tr> | ||
+ | <tr><td PORT="ranking_for_taxon_use">ranking_for_taxon_use</td></tr> | ||
+ | <tr><td PORT="taxon_id">taxon_id</td></tr> | ||
+ | <tr><td PORT="description_id">description_id</td></tr> | ||
+ | <tr><td PORT="scope_id">scope_id</td></tr> | ||
+ | <tr><td PORT="display_embedded">display_embedded</td></tr> | ||
+ | <tr><td PORT="label">label</td></tr> | ||
+ | <tr><td PORT="language_code">language_code</td></tr> | ||
+ | <tr><td PORT="display_order">display_order</td></tr> | ||
+ | //CONSTRAINT [PK_Resource] PRIMARY KEY ([id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | ResourceVariant [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_ResourceVariant" | ||
+ | tooltip="Different resource variants/instances/service access points" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="blue" colspan="2"><font COLOR="white">ResourceVariant</font></td></tr> | ||
+ | <tr><td PORT="id">id</td><td></td></tr> | ||
+ | <tr><td PORT="resource_id">resource_id</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="variant_id">variant_id</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="url">url</td><td></td></tr> | ||
+ | <tr><td PORT="pixel_width">pixel_width</td><td></td></tr> | ||
+ | <tr><td PORT="pixel_height">pixel_height</td><td></td></tr> | ||
+ | <tr><td PORT="duration">duration</td><td></td></tr> | ||
+ | <tr><td PORT="size">size</td><td></td></tr> | ||
+ | <tr><td PORT="mime_type">mime_type</td><td></td></tr> | ||
+ | //CONSTRAINT [PK_ResourceVariant] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_ResourceVariant_1] UNIQUE ([resource_id],[variant_id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | ResourceVariant_Enum [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_ResourceVariantEnum" | ||
+ | tooltip="Classes for resource variants, values are predefined in the database" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="blue" colspan="2"><font COLOR="white">ResourceVariant_Enum</font></td></tr> | ||
+ | <tr><td PORT="id">id</td><td PORT="id_e"></td></tr> | ||
+ | <tr><td PORT="label">label</td><td PORT="label_e">u</td></tr> | ||
+ | <tr><td PORT="code">code</td><td PORT="code_e">u</td></tr> | ||
+ | <tr><td PORT="detail">detail</td><td PORT="detail_e"></td></tr> | ||
+ | <tr><td PORT="quality_order">quality_order</td><td PORT="quality_order_e"></td></tr> | ||
+ | //CONSTRAINT [PK_ResourceVariant_Enum] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_ResourceVariant_Enum_1] UNIQUE ([label]), | ||
+ | //CONSTRAINT [UQ_ResourceVariant_Enum_2] UNIQUE ([code]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | CategoricalState [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_CategoricalState" | ||
+ | tooltip="The categorical states available for categorical descriptors" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="#e5c96a" colspan="2">CategoricalState</td></tr> | ||
+ | <tr><td PORT="id">id</td><td PORT="id_e"></td></tr> | ||
+ | <tr><td PORT="descriptor_id">descriptor_id</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="label">label</td><td>ut_1</td></tr> | ||
+ | <tr><td PORT="abbreviation">abbreviation</td><td></td></tr> | ||
+ | <tr><td PORT="detail">detail</td><td></td></tr> | ||
+ | <tr><td PORT="wording">wording</td><td></td></tr> | ||
+ | <tr><td PORT="display_order">display_order</td><td></td></tr> | ||
+ | //CONSTRAINT [PK_CategoricalState] PRIMARY KEY ([id]), | ||
+ | //CONSTRAINT [UQ_CategoricalState_1] UNIQUE ([label],[descriptor_id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | Descriptor [ | ||
+ | URL="DescriptionsModel_v3.00.10#Table:_Descriptor" | ||
+ | tooltip="Descriptor (= characters, features) define variables" | ||
+ | label=<<table BORDER="0" BGCOLOR="white" CELLBORDER="1" CELLSPACING="0" > | ||
+ | <tr><td BGCOLOR="#e5c96a">Descriptor</td></tr> | ||
+ | <tr><td PORT="id">id</td></tr> | ||
+ | <tr><td PORT="label">label</td></tr> | ||
+ | <tr><td PORT="abbreviation">abbreviation</td></tr> | ||
+ | <tr><td PORT="detail">detail</td></tr> | ||
+ | <tr><td PORT="display_order">display_order</td></tr> | ||
+ | <tr><td PORT="subclass">subclass</td></tr> | ||
+ | <tr><td PORT="statistical_measurement_scale">statistical_measurement_scale</td></tr> | ||
+ | <tr><td PORT="usually_exclusive">usually_exclusive</td></tr> | ||
+ | <tr><td PORT="state_collection_model">state_collection_model</td></tr> | ||
+ | <tr><td PORT="mandatory">mandatory</td></tr> | ||
+ | <tr><td PORT="repeatability">repeatability</td></tr> | ||
+ | <tr><td PORT="availability">availability</td></tr> | ||
+ | <tr><td PORT="measurement_unit">measurement_unit</td></tr> | ||
+ | <tr><td PORT="measurement_unit_precedes_value">measurement_unit_precedes_value</td></tr> | ||
+ | <tr><td PORT="min_plausible_value">min_plausible_value</td></tr> | ||
+ | <tr><td PORT="max_plausible_value">max_plausible_value</td></tr> | ||
+ | <tr><td PORT="wording_before">wording_before</td></tr> | ||
+ | <tr><td PORT="wording_after">wording_after</td></tr> | ||
+ | <tr><td PORT="data_entry_note">data_entry_note</td></tr> | ||
+ | //CONSTRAINT [PK_Descriptor] PRIMARY KEY ([id]) | ||
+ | </table>> | ||
+ | ]; | ||
+ | // GeographicArea | ||
+ | BaseEntity:id:e -> GeographicAreaProxy:id:w[color="#0069ba" fontcolor="#0069ba"]; | ||
+ | GeographicAreaProxy:id_e:e -> GeographicArea_Taxon:geographicarea_id:w[label="DELETE CASCADE" fontsize=10]; | ||
+ | // OtherScope | ||
+ | BaseEntity:id:e -> OtherScope:id:w[color="#0069ba" fontcolor="#0069ba"]; | ||
+ | OtherScope:id_e:e -> Project_AvailableScope:scope_id[label="DELETE CASCADE" fontsize=10 color="#AF7817" fontcolor="#AF7817"]; | ||
+ | OtherScope:id_e:e -> Resource:scope_id:w[label="DELETE SET NULL" fontsize=10 color="#AF7817" fontcolor="#AF7817" style="dashed"]; | ||
+ | // Project | ||
+ | BaseEntity:id:e -> Project:id:w[color="#0069ba" fontcolor="#0069ba" headlabel="1" arrowhead="none"]; | ||
+ | Project:id_e:e -> Project_AvailableScope:project_id[label="DELETE CASCADE" fontsize=10 color="#CC0033" fontcolor="#CC0033"]; | ||
+ | Project:id_e:e -> TaxonSet:project_id[color="#CC0033" fontcolor="#CC0033"]; | ||
+ | Project:id:w -> Project:parent_project_id:w[color="#CC0033" fontcolor="#CC0033"]; | ||
+ | BaseEntity:id:e -> Tag:object_id:w[label="DELETE CASCADE" fontsize=10 color="#0069ba" fontcolor="#0069ba"]; | ||
+ | BaseEntity:id:e -> TaxonProxy:id:w[color="#0069ba" fontcolor="#0069ba"]; | ||
+ | BaseEntity:id:e -> TaxonRank_Enum:id:w[color="#0069ba" fontcolor="#0069ba"]; | ||
+ | BaseEntity:id:e -> TaxonSet:id:w[color="#0069ba" fontcolor="#0069ba"]; | ||
+ | // Resources | ||
+ | BaseEntity:id:e -> Resource:id:w[color="#0069ba" fontcolor="#0069ba"]; | ||
+ | BaseEntity:id:e -> ResourceVariant_Enum:id:w[color="#0069ba" fontcolor="#0069ba"]; | ||
+ | CategoricalState:id_e:e -> Resource:state_id:w[label="DELETE SET NULL" fontsize=10 color="#AF7817" fontcolor="#AF7817"]; | ||
+ | Descriptor:id:e -> Resource:descriptor_id:w[label="DELETE SET NULL" fontsize=10 color="#AF7817" fontcolor="#AF7817"]; | ||
+ | Resource:id -> ResourceVariant:resource_id:w[label="DELETE CASCADE" fontsize=10 color="#000074" fontcolor="#000074"]; | ||
+ | ResourceVariant_Enum:id_e:e -> ResourceVariant:variant_id:w[label="DELETE CASCADE" fontsize=10 color="#000074" fontcolor="#000074"]; | ||
+ | // Taxon | ||
+ | TaxonProxy:id_e:e -> GeographicArea_Taxon:taxon_id[label="DELETE CASCADE" fontsize=10]; | ||
+ | TaxonProxy:id_e:e -> Resource:taxon_id:w[label="DELETE SET NULL" fontsize=10]; | ||
+ | TaxonProxy:id_e:e -> TaxonSet_Taxon:taxon_id[label="DELETE CASCADE" fontsize=10]; | ||
+ | TaxonRank_Enum:id_e:e -> TaxonProxy:rank_id:w; | ||
+ | TaxonSet:id -> Project:restricted_to_taxonset_id_e[label="DELETE SET NULL" fontsize=10]; | ||
+ | TaxonSet:id_e:e -> TaxonSet_Taxon:taxonset_id[label="DELETE CASCADE" fontsize=10]; | ||
+ | |||
+ | </graphviz> |
Revision as of 09:11, 25 August 2014
DiversityDescriptions_Quiz (DD_Quiz) is a clone of DiversityDescriptions 3.00.10. July 17th, 2014 that is intended to work with the Web-Framework Django to have a quiz for species descriptions in German. This project is presently under development. Additional tables see below.
Hover the mouse over a table to jump to the documentation (linked to DiversityDescriptions 3.00.10. July 17th, 2014).
Contents
Documentation
Database
Graph image creation requires permission to upload.
The following conventions and abbreviations have been used in the tables: Columns of primary key:underlined. Categorical data are presented to a user in the quiz therefore some tables (in gray) are not used for the quiz.
Graph image creation requires permission to upload.
Table: Contribution
Multiple contributors may contribute in different roles
Column | Data type | Description |
---|---|---|
id | int | Database-internal ID of this record (primary key) |
object_id | int | Reference (foreign key) to a BaseEntity |
contributor_id | int | Reference (foreign key) to a contributor |
role | nvarchar (255) | one of 'creator', 'contributor', 'editor', 'photographer' |
timestamp | datetime | Time stamp of the contribution |
Table: Contributor
People contibuting to a work. Roles are recorded in Contribution
Column | Data type | Description |
---|---|---|
id | int | Database-internal ID of this record (primary key) |
avatar_uri | nvarchar (255) | Optional URI to an image representing the user (default: NULL) |
nvarchar (255) | User’s email address (default: NULL) | |
linked_agent_uri | nvarchar (255) | Linking to agents managed in an external component (default: NULL) |
real_name | nvarchar (255) | Optional name the user gave (full name) (default: NULL) |
web_pseudonym | nvarchar (255) | Optional alternative name to display publicly on the web (default: NULL) |
Note: in the Quiz all users/contributors are requested to input their full name.
Table: ResourceWatchedTime
The time a resource thumb was watched (=mouse hover)
Column | Data type | Description |
---|---|---|
id | int | Database-internal ID of this record (primary key) |
resource_id | int | Reference (foreign key) to a resource |
contributor_id | int | Reference (foreign key) to a contributor |
watched_time | int | watched time in milliseconds |
Table: TaxonQuiz
User’s correctly answered taxa.
- unique together = ('project_id', 'contributor_id', 'taxon_id', 'scope_id')
Column | Data type | Description |
---|---|---|
id | int | Database-internal ID of this record (primary key) |
taxon_id | int | Reference (foreign kex) to a taxon that has been answerd correctly |
project_id | int | Reference (foreign key) to the project |
contributor_id | int | Reference (foreign key) to a contributor |
scope_id | int | Reference to a scope (default: 0) |
points | int | Points through scoring characters, already 3 added if success (default: 0) |
sucess | tinyint | Was the taxon answered correctly by the user? (default: 0) |
New projects
Steps to enter data for anew project: Create a project (table: Project)
- Project.code is important: it is used as URL part and within the Django application as internal project identifier it should never be changed
- eventually create or associate scopes, like “female”, “male” (table: OtherScope, Project_AvailableScope)
Eventually create the taxa (table: TaxonProxy)
- associate taxa to the project (tables: TaxonSet, TaxonSet_Taxon)
- associate images of taxa (tables: Resource, ResourceVariant, BaseEntity.specific_rights_text should contain the corresponding picture’s author name like: “© Author Name”). A set of maximum of 16 thumbs will be displayed
- resource variants as ReourceVariant_Enum.code "tiny_sample" (=thumb 75×75px) and "best_quality" (max 500×500px displayed) should have corresponding urls in ResourceVariant.url
- eventually associate geographic area (table: GeographicAreaProxy, GeographicArea_Taxon)
Create character and character states (table Descriptor, CategoricalState), character tree (tables: DescriptorTree, DescriptorTreeNode)
- associate images to characters or character states (tables: Resource, ResourceVariant, BaseEntity.specific_rights_text should contain the corresponding picture’s author name like: “© Author Name”), size of images with maximal height 40px
Finally make a project publicly available: set the Project‘s tag (table: Tag)
- tag "Artenquiz" means it is a quiz
- tag "Public" means it will be publically available
- tag "Identification" make the project availabel for identification (URL: …/mobile_bestimmung/)
Graph image creation requires permission to upload.