Detailed table descriptions

websites

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

title

char varying (100)

No

Website title.

description

text

Yes

Website description.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

url

char varying (500)

No

URL of the website root.

default_survey_id

integer

Yes

Survey which records for this website are created under if not specified by the data entry form.

password

char varying (30)

No

Encrypted password for the website. Enables secure access to services.

deleted

boolean

false

No

Has this record been deleted?

verification_checks_enabled

boolean

false

No

Are automated verification checks enabled for this website?

public_key

text

Yes

Public key for checking signed JWT access tokens in the API.

surveys

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

title

char varying (100)

No

Title of the survey.

owner_id

integer

Yes

Foreign key to the people table. Identifies the person responsible for the survey.

description

text

Yes

Description of the survey.

website_id

integer

No

Foreign key to the websites table. Identifies the website that the survey is available for.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

parent_id

integer

Yes

Identifies the survey’s parent survey, if there is one.

core_validation_rules

text

Yes

JSON listing core fields (entity.fieldname) with altered validation rules for this survey dataset, for example {“sample.location_name”:”required”}.

samples

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

survey_id

integer

No

Foreign key to the surveys table. Identifies the survey that this sample belongs to.

location_id

integer

Yes

Foreign key to the locations table. Identifies the location this sample is at, if known.

date_start

date

Yes

Start of the range of dates that this sample could have been made on.

date_end

date

Yes

End of the range of dates that this sample could have been made on.

date_type

char varying (2)

Yes

Vague date type code. D = Day, DD = Day range, O = Month in year, OO = Month range in year, P = Season in year, Y = Year, YY = Year range, Y- = From year, -Y = Until year, C = Century, CC = Century range, C- = From century, -C = Until century, M = Month, S = Season, U = Unknown.

entered_sref

char varying (40)

Yes

Spatial reference that was entered for the sample.

entered_sref_system

char varying (10)

Yes

System that was used for the spatial reference in entered_sref.

location_name

char varying (200)

Yes

Free text name of the location or other locality information given for the sample.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

comment

text

Yes

Comment regarding the sample.

external_key

char varying (50)

Yes

For samples imported from an external system, provides a field to store the external system’s primary key for the record allowing re-synchronisation.

sample_method_id

integer

Yes

Foreign key to the termlists_terms table. Identifies the term which describes the sampling method.

deleted

boolean

false

No

Has this record been deleted?

geom

geom

Yes

WGS84 geometry describing the spatial reference of the sample. This describes the full grid square as a polygon for grid references, or a point for other spatial references.

recorder_names

char varying

Yes

List of names of the people who were involved in recording of this sample, one per line. Used when the recorders are not listed in the people table.

parent_id

integer

Yes

In cases where sampling data is gathered in a hierarchical fashion, this allows samples to be linked to a parent sample. For example, a sample linear transect may have several quadrat samples taken along it’s length.

input_form

char varying

Yes

Identifier of the input form used to create the record, allowing the client website to use the same form when editing. It is suggested that this is used to store the path to the form (either the complete URL or a partial path).

group_id

integer

Yes

Foreign key to the groups table. Identifies the recording group that this sample was posted into, if explicitly posted to a group.

privacy_precision

integer

Yes

Allows record precision to be blurred for public viewing for privacy (as opposed to sensitivity) reasons. An example might be to obscure the garden location of a minor.

record_status

character (1)

‘C’::bpchar

Yes

Status of this sample. I - in progress, C - completed, V - verified, R - rejected, D - dubious/queried (deprecated), T - test.

verified_by_id

integer

Yes

Foreign key to the users table (verifier of the sample).

verified_on

timestamp (no tz)

Yes

Date this record was verified.

licence_id

integer

Yes

ID of the licence that is associated with this sample and the records it contains.

training

boolean

false

No

Flag indicating if this sample was created for training purposes and is therefore not considered real.

sample_comments

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

NULL

comment

text

No

NULL

created_by_id

integer

Yes

Foreign key to the users table (creator), if user was logged in when comment created.

created_on

timestamp (no tz)

No

Date and time this comment was created.

updated_by_id

integer

Yes

Foreign key to the users table (updater), if user was logged in when comment updated.

updated_on

timestamp (no tz)

No

Date and time this comment was updated.

sample_id

integer

Yes

Foreign key to the samples table. Identifies the commented sample.

email_address

char varying (50)

Yes

Email of user who created the comment, if the user was not logged in but supplied an email address.

deleted

boolean

false

No

Has this record been deleted?

person_name

char varying

Yes

Identifier for anonymous commenter.

query

boolean

false

Yes

Set to true if this comment asks a question that needs a response.

record_status

character (1)

Yes

If this comment relates to the changing of the status of a sample, then determines the status it was changed to. Provides and audit trail of sample verification changes.

external_key

char varying (50)

Yes

For comments imported from an external system, provides a field to store the external system’s primary key for the record allowing re-synchronisation.

occurrences

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

sample_id

integer

No

Foreign key to the samples table. Identifies the sample that this occurrence record is part of.

determiner_id

integer

Yes

Foreign key to the people table. Identifies the person who determined the record.

confidential

boolean

false

No

Flag set to true if this record is flagged confidential by the dataset administrator. The confidential flag relates to the need to control communications around a record rather then simply an indicator that a record is sensitive (which should be done via the sensitivity_precision field) so this flag prevents notifications about this record being sent to the recorder.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

website_id

integer

No

Foreign key to the websites table. Website that the occurrence record is linked to.

external_key

char varying (50)

Yes

For occurrences imported from an external system, provides a field to store the external system’s primary key for the record allowing re-synchronisation.

comment

text

Yes

User’ comment on data entry of the occurrence.

taxa_taxon_list_id

integer

Yes

Foreign key to the taxa_taxon_lists table. Identifies the taxa on a taxon list that this occurrence is a record of.

deleted

boolean

false

No

Has this record been deleted?

record_status

character (1)

‘C’::bpchar

Yes

Status of this record. I - in progress, C - completed, V - verified, R - rejected, D - dubious/queried (deprecated), T - test.

verified_by_id

integer

Yes

Foreign key to the users table (verifier).

verified_on

timestamp (no tz)

Yes

Date this record was verified.

downloaded_flag

character (1)

‘N’::bpchar

No

Downloaded status flag: N - not downloaded, I - Initial download, F - Final download

downloaded_on

timestamp (no tz)

Yes

Date occurrence downloaded out of system

all_info_in_determinations

character (1)

‘N’::bpchar

No

Flag to indicate whether occurrence uses determinations table

zero_abundance

boolean

false

No

Flag that is set to true when a record indicates the absence of something rather than presence of something.

last_verification_check_date

timestamp (no tz)

Yes

The taxa_taxon_list_id that this occurrence was associated with when verification checks were last run. If this has changed then verification checks should be re-run. Foreign key to taxa_taxon_lists.

training

boolean

false

No

Flag indicating if this record was created for training purposes and is therefore not considered real.

sensitivity_precision

integer

Yes

Precision of grid references for public access of records that are sensitive. For example, set to 1000 to limit public access to a 1km grid square. If null then not sensitive.

release_status

character (1)

‘R’::bpchar

Yes

Release states of this record. R - released, P - recorder has requested a precheck before release, U - unreleased as part of a project whcih is witholding records until completion.

record_substatus

smallint

Yes

Provides additional detail on the record status. Values are: 1=accepted as correct, 2=accepted as considered correct, 3=plausible, 4=not accepted as unable to verify, 5=not accepted, incorrect. Null for unchecked records.

record_decision_source

character (1)

Yes

Defines if the record status decision was by a human (H) or machine (M).

import_guid

char varying

Yes

Globally unique identifier of the import batch.

metadata

json

Yes

Record metadata. Use this to store additional metadata that is not part of the actual record, e.g. information about a mobile device used for the record. For system use, not shown to the recorder.

occurrence_comments

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

comment

text

No

created_by_id

integer

Yes

Foreign key to the users table (creator), if user was logged in when comment created.

created_on

timestamp (no tz)

No

Date and time this comment was created.

updated_by_id

integer

Yes

Foreign key to the users table (updater), if user was logged in when comment updated.

updated_on

timestamp (no tz)

No

Date and time this comment was updated.

occurrence_id

integer

Yes

Foreign key to the occurrences table. Identifies the commented occurrence.

email_address

char varying (50)

Yes

Email of user who created the comment, if the user was not logged in but supplied an email address.

deleted

boolean

false

No

Has this record been deleted?

person_name

char varying

Yes

Identifier for anonymous commenter.

auto_generated

boolean

false

No

Was this comment generated by an automated verification check?

generated_by

char varying (100)

Yes

When a comment is auto-generated, names the system process (e.g. verification ruleset) that generated the comment.

implies_manual_check_required

boolean

false

No

When a comment is generated by a verification rule, if this is true then it implies that the record has been flagged for a manual verification check.

generated_by_subtype

char varying (100)

Yes

Allows a generator to subtype the output into different categories, e.g. ID difficulty levels.

query

boolean

false

Yes

Set to true if this comment asks a question that needs a response.

record_status

character (1)

Yes

If this comment relates to the changing of the status of a record, then determines the status it was changed to. Provides and audit trail of verification changes.

record_substatus

smallint

Yes

As record_status but provides an audit trail of the occurrences.record_substatus field

external_key

char varying (50)

Yes

For comments imported from an external system, provides a field to store the external system’s primary key for the record allowing re-synchronisation.

comment_type_id

integer

Yes

Points to a termlists_term which describes the type of the comment.

correspondence_data

text

Yes

Stores correspondence data related to the comment in JSON format. Typically this will be the sender, recipient and body of an email or the URL of a social media post.

reference

text

Yes

Description of reference used, link to web address, journal or book name etc.

confidential

boolean

false

No

Is this occurrence_comment confidential?

determinations

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

occurrence_id

integer

No

Foreign key to the occurrences table. Identifies the determined occurrence.

email_address

char varying (50)

Yes

Email of user who created the determination.

person_name

char varying

Yes

Identifier for determiner.

cms_ref

integer

Yes

CMS Identifier for determiner.

taxa_taxon_list_id

integer

Yes

Foreign key to the taxa_taxon_lists table. Identifies the taxa on a taxon list that this detemination is a record of.

comment

text

Yes

Text description of Taxon if not in list, or if a list.

taxon_extra_info

text

Yes

Additional information that may provide more accurate determination.

deleted

boolean

false

No

Has this record been deleted?

created_by_id

integer

Yes

Foreign key to the users table (creator), if user was logged in when comment created.

created_on

timestamp (no tz)

No

Date and time this comment was created.

updated_by_id

integer

Yes

Foreign key to the users table (updater), if user was logged in when comment updated.

updated_on

timestamp (no tz)

No

Date and time this comment was updated.

determination_type

character (1)

‘N’::bpchar

No

Type of determination. Can be one of determination_type can be one of: – ‘A’ : Considered correct; – ‘B’ : Considered incorrect; – ‘C’ : Correct; – ‘I’ : Incorrect; – ‘R’ : Requires confirmation; – ‘U’ : Unconfirmed; – ‘X’ : Unidentified;

taxon_details

text

Yes

taxa_taxon_list_id_list

ARRAY

Yes

Where this determination refers to a list of possible taxa, contains an array of the IDs of those taxa.

taxon_lists

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

title

char varying (100)

Yes

Title of the taxon list.

description

text

Yes

Description of the taxon list.

website_id

integer

Yes

Foreign key to the websites table. Identifies the website that this list is available for, or null for lists available across all websites.

parent_id

integer

Yes

Foreign key to the taxon_lists table. For lists that are subsets of other taxon lists, identifies the parent list.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this list been deleted?

taxa_taxon_lists

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

taxon_list_id

integer

Yes

taxon_id

integer

No

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

parent_id

integer

Yes

Foreign key to the taxa table. Identifies the taxonomic parent, for example the genus of a species.

taxon_meaning_id

integer

Yes

Foreign key to the taxon_meanings table. Identifies the meaning of this taxon record. Eacg group of taxa with the same meaning are considered synonymous.

taxonomic_sort_order

bigint

Yes

Provides a sort order which allows the taxon hierarchy to be displayed in taxonomic rather than alphabetical order.

preferred

boolean

false

No

Flag set to true if the name constitutes the preferred name when selected amongst all taxa that have the same meaning.

updated_on

timestamp (no tz)

No

Date this record was updated.

updated_by_id

integer

No

Foreign key to the users table (updater).

deleted

boolean

false

No

Has this record been deleted?

description

char varying

Yes

common_taxon_id

integer

Yes

Link to the first common name for this taxon entry.

allow_data_entry

boolean

true

No

verification_check_version

integer

0

No

A version number which is incremented each time that a custom attribute attached to a taxon which provides an input value for verification checks is changed.

taxa

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

taxon

char varying (200)

Yes

Term used for the taxon, excluding the authority.

taxon_group_id

integer

No

Foreign key to the taxon_groups table. Identifies a label that describes the taxon’s higher level grouping.

language_id

integer

Yes

Foreign key to the languages table. Identifies the language used for this taxon name.

external_key

char varying (50)

Yes

For taxa which are directly mappable onto taxon records in an external system, identifies the external record’s key. For example, this is used to store the taxon version key from the NBN Gateway.

authority

char varying (100)

Yes

Authority label for the taxon name.

search_code

char varying (20)

Yes

A search code that may be used for rapid lookup of the taxon name.

scientific

boolean

Yes

Flag set to true if the name is a scientific name rather than vernacular.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

description

char varying

Yes

taxon_rank_id

integer

Yes

Foreign key to the taxon_ranks table. Identifies the rank of the taxon (e.g. species, phylum).

attribute

char varying (100)

Yes

Attributes such as sensu lato that are associated with the taxon name.

marine_flag

boolean

false

No

Set to true for marine species.

freshwater_flag

boolean

false

No

Set to true for freshwater species.

terrestrial_flag

boolean

false

No

Set to true for terrestrial species.

non_native_flag

boolean

false

No

Set to true for non-native species.

organism_key

char varying

Yes

Identifier for the organism concept, e.g. when linking to UKSI.

taxon_groups

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

title

char varying (100)

Yes

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

external_key

char varying (50)

Yes

parent_id

integer

Yes

Identifies the parent of the taxon group if there is one.

description

char varying

Yes

Description of the taxon group.

languages

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

iso

character (3)

Yes

ISO 639-2 code for the language.

language

char varying (50)

Yes

Term used to describe the language in the system.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

cache_occurrences_functional

Column

Type

Default

Nullable

Description

id

integer

No

sample_id

integer

Yes

website_id

integer

Yes

survey_id

integer

Yes

input_form

char varying

Yes

location_id

integer

Yes

location_name

char varying

Yes

public_geom

geom

Yes

map_sq_1km_id

integer

Yes

map_sq_2km_id

integer

Yes

map_sq_10km_id

integer

Yes

date_start

date

Yes

date_end

date

Yes

date_type

char varying (2)

Yes

created_on

timestamp (no tz)

Yes

updated_on

timestamp (no tz)

Yes

verified_on

timestamp (no tz)

Yes

created_by_id

integer

Yes

group_id

integer

Yes

taxa_taxon_list_id

integer

Yes

preferred_taxa_taxon_list_id

integer

Yes

taxon_meaning_id

integer

Yes

taxa_taxon_list_external_key

char varying (50)

Yes

family_taxa_taxon_list_id

integer

Yes

taxon_group_id

integer

Yes

taxon_rank_sort_order

integer

Yes

record_status

character (1)

Yes

record_substatus

smallint

Yes

certainty

character (1)

Yes

query

character (1)

Yes

sensitive

boolean

Yes

release_status

character (1)

Yes

marine_flag

boolean

Yes

data_cleaner_result

boolean

Yes

media_count

integer

0

Yes

training

boolean

false

No

zero_abundance

boolean

Yes

licence_id

integer

Yes

identification_difficulty

integer

Yes

Identification difficulty assigned by the data_cleaner module, on a scale from 1 (easy) to 5 (difficult)

import_guid

char varying

Yes

Globally unique identifier of the import batch.

confidential

boolean

false

Yes

external_key

char varying

Yes

location_ids

ARRAY

Yes

taxon_path

ARRAY

Yes

blocked_sharing_tasks

ARRAY

Yes

parent_sample_id

integer

Yes

verification_checks_enabled

boolean

false

No

tracking

bigint

Yes

Autogenerated tracking number for updates. A report can grab all new or updated records by filtering on this value.

freshwater_flag

boolean

false

No

terrestrial_flag

boolean

false

No

non_native_flag

boolean

false

No

cache_occurrences_nonfunctional

Column

Type

Default

Nullable

Description

id

integer

No

data_cleaner_info

char varying

Yes

media

char varying

Yes

comment

text

Yes

sensitivity_precision

integer

Yes

privacy_precision

integer

Yes

output_sref

char varying

Yes

verifier

char varying

Yes

licence_code

char varying

Yes

attr_sex_stage

char varying

Yes

attr_sex

char varying

Yes

attr_stage

char varying

Yes

attr_sex_stage_count

char varying

Yes

attr_certainty

char varying

Yes

attr_det_first_name

char varying

Yes

attr_det_last_name

char varying

Yes

attr_det_full_name

char varying

Yes

output_sref_system

char varying

Yes

attrs_json

json

Yes

attr_behaviour

char varying

Yes

attr_reproductive_condition

char varying

Yes

cache_samples_functional

Column

Type

Default

Nullable

Description

id

integer

No

website_id

integer

Yes

survey_id

integer

Yes

input_form

char varying

Yes

location_id

integer

Yes

location_name

char varying

Yes

public_geom

geom

Yes

map_sq_1km_id

integer

Yes

map_sq_2km_id

integer

Yes

map_sq_10km_id

integer

Yes

date_start

date

Yes

date_end

date

Yes

date_type

char varying (2)

Yes

created_on

timestamp (no tz)

Yes

updated_on

timestamp (no tz)

Yes

verified_on

timestamp (no tz)

Yes

created_by_id

integer

Yes

group_id

integer

Yes

record_status

character (1)

Yes

query

character (1)

Yes

media_count

integer

0

Yes

location_ids

ARRAY

Yes

blocked_sharing_tasks

ARRAY

Yes

parent_sample_id

integer

Yes

tracking

bigint

Yes

Autogenerated tracking number for updates. A report can grab all new or updated records by filtering on this value.

training

boolean

Yes

Flag indicating if this sample was created for training purposes and is therefore not considered real.

cache_samples_nonfunctional

Column

Type

Default

Nullable

Description

id

integer

No

website_title

char varying

Yes

survey_title

char varying

Yes

group_title

char varying

Yes

public_entered_sref

char varying

Yes

entered_sref_system

char varying

Yes

recorders

char varying

Yes

media

char varying

Yes

comment

text

Yes

privacy_precision

integer

Yes

licence_code

char varying

Yes

attr_email

char varying

Yes

attr_cms_user_id

integer

Yes

attr_cms_username

char varying

Yes

attr_first_name

char varying

Yes

attr_last_name

char varying

Yes

attr_full_name

char varying

Yes

attr_biotope

char varying

Yes

attr_sref_precision

double precision

Yes

attr_linked_location_id

integer

Yes

attr_sample_method

char varying

Yes

attrs_json

json

Yes

cache_taxa_taxon_lists

Column

Type

Default

Nullable

Description

id

integer

No

preferred

boolean

Yes

taxon_list_id

integer

Yes

taxon_list_title

char varying

Yes

website_id

integer

Yes

preferred_taxa_taxon_list_id

integer

Yes

parent_id

integer

Yes

taxonomic_sort_order

bigint

Yes

taxon

char varying

Yes

authority

char varying (100)

Yes

language_iso

char varying (3)

Yes

language

char varying (50)

Yes

preferred_taxon

char varying

Yes

preferred_authority

char varying (100)

Yes

preferred_language_iso

char varying (3)

Yes

preferred_language

char varying (50)

Yes

default_common_name

char varying

Yes

search_name

char varying

Yes

external_key

char varying (50)

Yes

taxon_meaning_id

integer

Yes

taxon_group_id

integer

Yes

taxon_group

char varying (100)

Yes

cache_created_on

timestamp (no tz)

No

cache_updated_on

timestamp (no tz)

No

allow_data_entry

boolean

true

Yes

kingdom_taxa_taxon_list_id

integer

Yes

Preferred taxa_taxon_list record which identifies the Kingdom of this taxon

order_taxa_taxon_list_id

integer

Yes

Preferred taxa_taxon_list record which identifies the Order of this taxon

family_taxa_taxon_list_id

integer

Yes

Preferred taxa_taxon_list record which identifies the Family of this taxon

kingdom_taxon

char varying

Yes

The taxon name of the Kingdom containing this taxon

order_taxon

char varying

Yes

The taxon name of the Order containing this taxon

family_taxon

char varying

Yes

The taxon name of the Family containing this taxon

taxon_rank_id

integer

Yes

taxon_rank_sort_order

integer

Yes

taxon_rank

char varying

Yes

marine_flag

boolean

false

No

Set to true for marine species.

attrs_json

json

Yes

freshwater_flag

boolean

false

No

terrestrial_flag

boolean

false

No

non_native_flag

boolean

false

No

taxon_id

integer

Yes

search_code

char varying (20)

Yes

cache_taxon_searchterms

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

Unique identifier and primary key for the table.

taxa_taxon_list_id

integer

No

Identifies the taxon list entry which this searchable name applies to.

taxon_list_id

integer

No

Identifies the taxon list which this searchable name is from.

searchterm

char varying

No

Searchable identifier for the taxon. Includes taxon formal and vernacular names, simplified versions of these for searching and codes, abbreviations or other shortcuts used to lookup taxa.

original

char varying

No

When the term is simplified, provides the original unsimplified version of the term.

taxon_group

char varying

No

Name of the taxon group.

taxon_meaning_id

integer

No

Identifies the taxon meaning associated with this name. All names with the same ID refer to the same taxon.

preferred_taxon

char varying

No

Provides the preferred taxon name for a taxon that has been looked up,

default_common_name

char varying

Yes

Provides the preferred common name for a taxon that has been looked up,

preferred_authority

char varying

Yes

The taxonomic authority of the preferred taxon name.

language_iso

char varying

Yes

The language associated with the search term, or null if not language specific.

name_type

character (1)

No

Type of taxon name string. Options are (L)atin, (S)ynonym, (V)ernacular, (O)ther vernacular name, (C)ode, (A)bbreviation.

simplified

boolean

false

Yes

Is this a name which has been simplified make it tolerant of some spelling and punctuation errors when searching.

code_type_id

integer

Yes

For names which are codes, identifies the type of code. Foreign key to the termlists_terms table.

source_id

integer

Yes

When the search term is from a taxon_codes table record, provides the id of the record which the code was source from.

taxon_group_id

integer

Yes

ID of the taxon group

preferred

boolean

Yes

Does this entry represent a list-preferred name?

searchterm_length

integer

Yes

Contains the length of the searchterm field, useful for taxon name searches. Putting shorter searchterms at the top of a list brings the “nearest” matches to the top.

parent_id

integer

Yes

Identifies the parent of the taxon in the hierarchy, if one exists.

preferred_taxa_taxon_list_id

integer

Yes

ID of the preferred version of this term.

identification_difficulty

integer

Yes

Identification difficulty assigned by the data_cleaner module, on a scale from 1 (easy) to 5 (difficult)

id_diff_verification_rule_id

integer

Yes

Verification rule that is associated with the identification difficulty.

taxon_rank_sort_order

integer

Yes

marine_flag

boolean

false

No

Set to true for marine species.

external_key

char varying

Yes

External identifier for the taxon.

authority

char varying

Yes

The taxonomic authority of the name.

search_code

char varying

Yes

taxonomic_sort_order

bigint

Yes

freshwater_flag

boolean

false

No

terrestrial_flag

boolean

false

No

non_native_flag

boolean

false

No

location_attributes

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

caption

char varying (50)

Yes

Display caption for the attribute.

data_type

character (1)

Yes

Data type for the attribute. Possible values are T (text), I (integer), F (float), D (date), V (vague date), L (item looked up from a termlist).

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

validation_rules

char varying

Yes

Validation rules defined for this attribute, for example: number, required,max[50].

termlist_id

integer

Yes

For attributes which define a term from a termlist, provides the ID of the termlist the term can be selected from.

multi_value

boolean

false

Yes

Does this attribute allow multiple values? If set to true, then multiple values for this attribute can be stored against a single record.

public

boolean

false

No

Flag set to true if this attribute is available for selection and use by any website. If false the attribute is only available for use in the website which created it.

deleted

boolean

false

No

Has this record been deleted?

system_function

char varying (30)

Yes

Machine readable function of this attribute. Defines how the field can be interpreted by the system.

description

text

Yes

Holds a description for the attribute.

source_id

integer

Yes

Points to a termlists_term which describes where the attribute originated.

caption_i18n

json

Yes

Stores a list of localised versions of the caption keyed by language code.

term_name

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term name. Otherwise provide a brief alphanumeric only (with no spaces) version of the attribute name to give it a unique identifier within the context of the survey dataset to make it easier to refer to in configuration.

term_identifier

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term identifier, typically the URL to the term definition.

allow_ranges

boolean

false

No

Set to true if numeric attributes allow a value range to be entered.

reporting_category_id

integer

Yes

Foreign key to the termlists_terms table. Identifies an optional reporting category for this attribute which can be used to organise the display of multiple attribute values in report outputs.

unit

char varying

Yes

Name of the attributes unit where relevant, e.g. mm

description_i18n

json

Yes

Stores a list of localised versions of the description keyed by language code.

image_path

char varying

Yes

Path to an image file representing the attribute, e.g. an explanatory diagram.

location_attributes_websites

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

website_id

integer

No

Foreign key to the websites table. Identifies the website that the location attribute is available for.

location_attribute_id

integer

No

Foreign key to the location_attributes table. Identifies the location attribute that is available for the website.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

restrict_to_survey_id

integer

Yes

Foreign key to the survey table. For attributes that are only applicable to a given survey, identifies the survey.

deleted

boolean

false

No

Has this record been deleted?

form_structure_block_id

integer

Yes

Additional validation rules that are defined for this attribute but only active within the context of this survey/website.

validation_rules

char varying (500)

Yes

weight

integer

0

No

Dictates the order of controls within the block or at the top level. Controls with a higher weight will sink to the end of the list.

control_type_id

integer

Yes

Foreign key to the control_types table. Identifies the default type of control used for this attribute when used in this survey on a dynamically generated form.

default_text_value

text

Yes

For default text values, provides the value.

default_float_value

double precision

Yes

For default float values, provides the value.

default_int_value

integer

Yes

For default integer values, provides the value. For default lookup values, provides the term id.

default_date_start_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_end_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_type_value

char varying (2)

Yes

For default vague date values, provides the date type identifier.

restrict_to_location_type_id

integer

Yes

If this attribute is only used for a specific location type within the context of the website & survey combination, then specifies the termlist entry for the appropriate location type.

default_upper_value

double precision

Yes

If the attribute allows value ranges, then provides the default upper value of the range.

location_attribute_values

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

location_id

integer

Yes

Foreign key to the locations table. Identifies the location that this value applies to.

location_attribute_id

integer

Yes

Foreign key to the location_attributes table. Identifies the attribute that this value is for.

text_value

text

Yes

For text values, provides the value.

float_value

double precision

Yes

For float values, provides the value.

int_value

integer

Yes

For integer values, provides the value. For lookup values, provides the term id.

date_start_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_end_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_type_value

char varying (2)

Yes

For vague date values, provides the date type identifier.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

source_id

integer

Yes

Points to a termlists_term which describes where the attribute value originated.

upper_value

double precision

Yes

If the attribute allows value ranges, then provides the upper value of the range.

occurrence_attributes

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

caption

char varying (50)

Yes

Display caption for the attribute.

data_type

character (1)

Yes

Data type for the attribute. Possible values are T (text), I (integer), F (float), D (date), V (vague date), L (item looked up from a termlist).

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

validation_rules

char varying

Yes

Validation rules defined for this attribute, for example: number, required,max[50].

termlist_id

integer

Yes

For attributes which define a term from a termlist, provides the ID of the termlist the term can be selected from.

multi_value

boolean

false

Yes

Does this attribute allow multiple values? If set to true, then multiple values for this attribute can be stored against a single record.

public

boolean

false

No

Flag set to true if this attribute is available for selection and use by any website. If false the attribute is only available for use in the website which created it.

deleted

boolean

false

No

Has this record been deleted?

system_function

char varying (30)

Yes

Machine readable function of this attribute, e.g. sex/stage. Defines how the field can be interpreted by the system.

description

text

Yes

Holds a description for the attribute.

source_id

integer

Yes

Points to a termlists_term which describes where the attribute originated.

caption_i18n

json

Yes

Stores a list of localised versions of the caption keyed by language code.

term_name

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term name. Otherwise provide a brief alphanumeric only (with no spaces) version of the attribute name to give it a unique identifier within the context of the survey dataset to make it easier to refer to in configuration.

term_identifier

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term identifier, typically the URL to the term definition.

allow_ranges

boolean

false

No

Set to true if numeric attributes allow a value range to be entered.

reporting_category_id

integer

Yes

Foreign key to the termlists_terms table. Identifies an optional reporting category for this attribute which can be used to organise the display of multiple attribute values in report outputs.

unit

char varying

Yes

Name of the attributes unit where relevant, e.g. mm

description_i18n

json

Yes

Stores a list of localised versions of the description keyed by language code.

image_path

char varying

Yes

Path to an image file representing the attribute, e.g. an explanatory diagram.

occurrence_attributes_websites

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

website_id

integer

No

Foreign key to the websites table. Identifies the website that the occurrence attribute is available for.

occurrence_attribute_id

integer

No

Foreign key to the occurrence_attributes table. Identifies the occurrence attribute that is available for the website.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

restrict_to_survey_id

integer

Yes

Foreign key to the survey table. For attributes that are only applicable to a given survey, identifies the survey.

deleted

boolean

false

No

Has this record been deleted?

form_structure_block_id

integer

Yes

Additional validation rules that are defined for this attribute but only active within the context of this survey/website.

validation_rules

char varying (500)

Yes

weight

integer

0

No

Dictates the order of controls within the block or at the top level. Controls with a higher weight will sink to the end of the list.

control_type_id

integer

Yes

Foreign key to the control_types table. Identifies the default type of control used for this attribute when used in this survey on a dynamically generated form.

default_text_value

text

Yes

For default text values, provides the value.

default_float_value

double precision

Yes

For default float values, provides the value.

default_int_value

integer

Yes

For default integer values, provides the value. For default lookup values, provides the term id.

default_date_start_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_end_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_type_value

char varying (2)

Yes

For default vague date values, provides the date type identifier.

default_upper_value

double precision

Yes

If the attribute allows value ranges, then provides the default upper value of the range.

occurrence_attribute_values

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

occurrence_id

integer

Yes

Foreign key to the occurrences table. Identifies the occurrence that this value applies to.

occurrence_attribute_id

integer

Yes

Foreign key to the occurrence_attributes table. Identifies the attribute that this value is for.

text_value

text

Yes

For text values, provides the value.

float_value

double precision

Yes

For float values, provides the value.

int_value

integer

Yes

For integer values, provides the value. For lookup values, provides the term id.

date_start_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_end_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_type_value

char varying (2)

Yes

For vague date values, provides the date type identifier.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

source_id

integer

Yes

Points to a termlists_term which describes where the attribute value originated.

upper_value

double precision

Yes

If the attribute allows value ranges, then provides the upper value of the range.

person_attributes

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

caption

char varying (50)

Yes

Display caption for the attribute.

data_type

character (1)

Yes

Data type for the attribute. Possible values are T (text), I (integer), F (float), D (date), V (vague date), L (item looked up from a termlist).

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

validation_rules

char varying

Yes

Validation rules defined for this attribute, for example: number, required,max[50].

termlist_id

integer

Yes

For attributes which define a term from a termlist, provides the ID of the termlist the term can be selected from.

multi_value

boolean

false

Yes

Does this attribute allow multiple values? If set to true, then multiple values for this attribute can be stored against a single record.

public

boolean

false

Yes

Flag set to true if this attribute is available for all people on the warehouse or false if only available when the person is a user of a website linked to the attribute.

deleted

boolean

false

No

Has this record been deleted?

synchronisable

boolean

false

No

Does this attribute allow the values to be synchronised with client website users associated with the person? Set to false for attributes that should keep their values on the warehouse only.

system_function

char varying (30)

Yes

Machine readable function of this attribute. Defines how the field can be interpreted by the system.

description

text

Yes

Holds a description for the attribute.

source_id

integer

Yes

Points to a termlists_term which describes where the attribute originated.

caption_i18n

json

Yes

Stores a list of localised versions of the caption keyed by language code.

term_name

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term name. Otherwise provide a brief alphanumeric only (with no spaces) version of the attribute name to give it a unique identifier within the context of the survey dataset to make it easier to refer to in configuration.

term_identifier

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term identifier, typically the URL to the term definition.

allow_ranges

boolean

false

No

Set to true if numeric attributes allow a value range to be entered.

reporting_category_id

integer

Yes

Foreign key to the termlists_terms table. Identifies an optional reporting category for this attribute which can be used to organise the display of multiple attribute values in report outputs.

unit

char varying

Yes

Name of the attributes unit where relevant, e.g. mm

description_i18n

json

Yes

Stores a list of localised versions of the description keyed by language code.

image_path

char varying

Yes

Path to an image file representing the attribute, e.g. an explanatory diagram.

person_attributes_websites

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

website_id

integer

No

Foreign key to the websites table. Identifies the website that the person attribute is available for.

person_attribute_id

integer

No

Foreign key to the person_attributes table. Identifies the person attribute that is available for the website.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

deleted

boolean

false

No

Has this record been deleted?

form_structure_block_id

integer

Yes

Additional validation rules that are defined for this attribute but only active within the context of this survey/website.

validation_rules

char varying (500)

Yes

weight

integer

0

No

Dictates the order of controls within the block or at the top level. Controls with a higher weight will sink to the end of the list.

control_type_id

integer

Yes

Foreign key to the control_types table. Identifies the default type of control used for this attribute when used in this survey on a dynamically generated form.

default_text_value

text

Yes

For default text values, provides the value.

default_float_value

double precision

Yes

For default float values, provides the value.

default_int_value

integer

Yes

For default integer values, provides the value. For default lookup values, provides the term id.

default_date_start_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_end_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_type_value

char varying (2)

Yes

For default vague date values, provides the date type identifier.

default_upper_value

double precision

Yes

If the attribute allows value ranges, then provides the default upper value of the range.

person_attribute_values

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

person_id

integer

Yes

Foreign key to the people table. Identifies the person that this value applies to.

person_attribute_id

integer

Yes

Foreign key to the person_attributes table. Identifies the attribute that this value is for.

text_value

text

Yes

For text values, provides the value.

float_value

double precision

Yes

For float values, provides the value.

int_value

integer

Yes

For integer values, provides the value. For lookup values, provides the term id.

date_start_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_end_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_type_value

char varying (2)

Yes

For vague date values, provides the date type identifier.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

source_id

integer

Yes

Points to a termlists_term which describes where the attribute value originated.

upper_value

double precision

Yes

If the attribute allows value ranges, then provides the upper value of the range.

sample_attributes

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

caption

char varying (50)

Yes

Display caption for the attribute.

data_type

character (1)

Yes

Data type for the attribute. Possible values are T (text), I (integer), F (float), D (date), V (vague date), L (item looked up from a termlist).

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

applies_to_location

boolean

false

No

For attributes that are gathered which pertain to the site or location rather than the specific sample, this flag is set to true.

validation_rules

char varying

Yes

Validation rules defined for this attribute, for example: number, required,max[50].

termlist_id

integer

Yes

For attributes which define a term from a termlist, provides the ID of the termlist the term can be selected from.

multi_value

boolean

false

Yes

Does this attribute allow multiple values? If set to true, then multiple values for this attribute can be stored against a single record.

public

boolean

false

No

Flag set to true if this attribute is available for selection and use by any website. If false the attribute is only available for use in the website which created it.

deleted

boolean

false

No

Has this record been deleted?

applies_to_recorder

boolean

false

No

For attributes that are gathered which pertain to the person recording the sample rather than the specific sample, this flag is set to true.

system_function

char varying (30)

Yes

Machine readable function of this attribute, e.g. email, cms user ID. Defines how the field can be interpreted by the system.

description

text

Yes

Holds a description for the attribute.

source_id

integer

Yes

Points to a termlists_term which describes where the attribute originated.

caption_i18n

json

Yes

Stores a list of localised versions of the caption keyed by language code.

term_name

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term name. Otherwise provide a brief alphanumeric only (with no spaces) version of the attribute name to give it a unique identifier within the context of the survey dataset to make it easier to refer to in configuration.

term_identifier

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term identifier, typically the URL to the term definition.

allow_ranges

boolean

false

No

Set to true if numeric attributes allow a value range to be entered.

reporting_category_id

integer

Yes

Foreign key to the termlists_terms table. Identifies an optional reporting category for this attribute which can be used to organise the display of multiple attribute values in report outputs.

unit

char varying

Yes

Name of the attributes unit where relevant, e.g. mm

description_i18n

json

Yes

Stores a list of localised versions of the description keyed by language code.

image_path

char varying

Yes

Path to an image file representing the attribute, e.g. an explanatory diagram.

sample_attributes_websites

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

website_id

integer

No

Foreign key to the websites table. Identifies the website that the sample attribute is available for.

sample_attribute_id

integer

No

Foreign key to the sample attributes table. Identifies the sample attribute that is available for the website.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

restrict_to_survey_id

integer

Yes

Foreign key to the survey table. For attributes that are only applicable to a given survey, identifies the survey.

deleted

boolean

false

No

Has this record been deleted?

form_structure_block_id

integer

Yes

Additional validation rules that are defined for this attribute but only active within the context of this survey/website.

validation_rules

char varying (500)

Yes

weight

integer

0

No

Dictates the order of controls within the block or at the top level. Controls with a higher weight will sink to the end of the list.

control_type_id

integer

Yes

Foreign key to the control_types table. Identifies the default type of control used for this attribute when used in this survey on a dynamically generated form.

default_text_value

text

Yes

For default text values, provides the value.

default_float_value

double precision

Yes

For default float values, provides the value.

default_int_value

integer

Yes

For default integer values, provides the value. For default lookup values, provides the term id.

default_date_start_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_end_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_type_value

char varying (2)

Yes

For default vague date values, provides the date type identifier.

restrict_to_sample_method_id

integer

Yes

If this attribute is only used for a specific sample method within the context of the website & survey combination, then specifies the termlist entry for the appropriate sample method.

default_upper_value

double precision

Yes

If the attribute allows value ranges, then provides the default upper value of the range.

sample_attribute_values

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

sample_id

integer

Yes

Foreign key to the samples table. Identifies the sample that this value applies to.

sample_attribute_id

integer

Yes

Foreign key to the sample_attributes table. Identifies the attribute that this value is for.

text_value

text

Yes

For text values, provides the value.

float_value

double precision

Yes

For float values, provides the value.

int_value

integer

Yes

For integer values, provides the value. For lookup values, provides the term id.

date_start_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_end_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_type_value

char varying (2)

Yes

For vague date values, provides the date type identifier.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

source_id

integer

Yes

Points to a termlists_term which describes where the attribute value originated.

upper_value

double precision

Yes

If the attribute allows value ranges, then provides the upper value of the range.

survey_attributes

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

caption

char varying (50)

Yes

Display caption for the attribute.

data_type

character (1)

Yes

Data type for the attribute. Possible values are T (text), I (integer), F (float), D (date), V (vague date), L (item looked up from a termlist).

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

validation_rules

char varying

Yes

Validation rules defined for this attribute, for example: number, required,max[50].

termlist_id

integer

Yes

For attributes which define a term from a termlist, provides the ID of the termlist the term can be selected from.

multi_value

boolean

false

Yes

Does this attribute allow multiple values? If set to true, then multiple values for this attribute can be stored against a single record.

public

boolean

false

No

Flag set to true if this attribute is available for selection and use by any website. If false the attribute is only available for use in the website which created it.

deleted

boolean

false

No

Has this record been deleted?

system_function

char varying (30)

Yes

Machine readable function of this attribute. Defines how the field can be interpreted by the system.

description

text

Yes

Holds a description for the attribute.

source_id

integer

Yes

Points to a termlists_term which describes where the attribute originated.

caption_i18n

json

Yes

Stores a list of localised versions of the caption keyed by language code.

term_name

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term name. Otherwise provide a brief alphanumeric only (with no spaces) version of the attribute name to give it a unique identifier within the context of the survey dataset to make it easier to refer to in configuration.

term_identifier

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term identifier, typically the URL to the term definition.

allow_ranges

boolean

false

No

Set to true if numeric attributes allow a value range to be entered.

reporting_category_id

integer

Yes

Foreign key to the termlists_terms table. Identifies an optional reporting category for this attribute which can be used to organise the display of multiple attribute values in report outputs.

unit

char varying

Yes

Name of the attributes unit where relevant, e.g. mm.

description_i18n

json

Yes

Stores a list of localised versions of the description keyed by language code.

image_path

char varying

Yes

Path to an image file representing the attribute, e.g. an explanatory diagram.

survey_attributes_websites

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

website_id

integer

No

Foreign key to the websites table. Identifies the website that the survey attribute is available for.

survey_attribute_id

integer

No

Foreign key to the survey_attributes table. Identifies the survey attribute that is available for the website.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

deleted

boolean

false

No

Has this record been deleted?

form_structure_block_id

integer

Yes

Additional validation rules that are defined for this attribute but only active within the context of this survey/website.

validation_rules

char varying (500)

Yes

weight

integer

0

No

Dictates the order of controls within the block or at the top level. Controls with a higher weight will sink to the end of the list.

control_type_id

integer

Yes

Foreign key to the control_types table. Identifies the default type of control used for this attribute when used in this survey on a dynamically generated form.

default_text_value

text

Yes

For default text values, provides the value.

default_float_value

double precision

Yes

For default float values, provides the value.

default_int_value

integer

Yes

For default integer values, provides the value. For default lookup values, provides the term id.

default_date_start_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_end_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_type_value

char varying (2)

Yes

For default vague date values, provides the date type identifier.

default_upper_value

double precision

Yes

If the attribute allows value ranges, then provides the default upper value of the range.

survey_attribute_values

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

survey_id

integer

Yes

Foreign key to the surveys table. Identifies the survey that this value applies to.

survey_attribute_id

integer

Yes

Foreign key to the survey_attributes table. Identifies the attribute that this value is for.

text_value

text

Yes

For text values, provides the value.

float_value

double precision

Yes

For float values, provides the value.

int_value

integer

Yes

For integer values, provides the value. For lookup values, provides the term id.

date_start_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_end_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_type_value

char varying (2)

Yes

For vague date values, provides the date type identifier.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

source_id

integer

Yes

Points to a termlists_term which describes where the attribute value originated.

upper_value

double precision

Yes

If the attribute allows value ranges, then provides the upper value of the range.

taxa_taxon_list_attributes

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

caption

char varying (50)

Yes

Display caption for the attribute.

data_type

character (1)

Yes

Data type for the attribute. Possible values are T (text), I (integer), F (float), D (date), V (vague date), L (item looked up from a termlist), G (geometry).

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

validation_rules

char varying

Yes

Validation rules defined for this attribute, for example: number, required,max[50].

termlist_id

integer

Yes

For attributes which define a term from a termlist, provides the ID of the termlist the term can be selected from.

multi_value

boolean

false

Yes

Does this attribute allow multiple values? If set to true, then multiple values for this attribute can be stored against a single record.

public

boolean

false

No

Flag set to true if this attribute is available for selection and use by any website. If false the attribute is only available for use in the website which created it.

deleted

boolean

false

No

Has this record been deleted?

system_function

char varying (30)

Yes

Machine readable function of this attribute. Defines how the field can be interpreted by the system.

description

text

Yes

Holds a description for the attribute.

source_id

integer

Yes

Points to a termlists_term which describes where the attribute originated.

caption_i18n

json

Yes

Stores a list of localised versions of the caption keyed by language code.

term_name

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term name. Otherwise provide a brief alphanumeric only (with no spaces) version of the attribute name to give it a unique identifier within the context of the survey dataset to make it easier to refer to in configuration.

term_identifier

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term identifier, typically the URL to the term definition.

allow_ranges

boolean

false

No

Set to true if numeric attributes allow a value range to be entered.

reporting_category_id

integer

Yes

Foreign key to the termlists_terms table. Identifies an optional reporting category for this attribute which can be used to organise the display of multiple attribute values in report outputs.

unit

char varying

Yes

Name of the attributes unit where relevant, e.g. mm

description_i18n

json

Yes

Stores a list of localised versions of the description keyed by language code.

image_path

char varying

Yes

Path to an image file representing the attribute, e.g. an explanatory diagram.

taxon_lists_taxa_taxon_list_attributes

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

taxon_list_id

integer

No

Foreign key to the taxon_lists table. Identifies the taxon_lists that the taxa_taxon_list attribute is available for.

taxa_taxon_list_attribute_id

integer

No

Foreign key to the taxa_taxon_list_attributes table. Identifies the taxa_taxon_list attribute that is available for the taxon list.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

deleted

boolean

false

No

Has this record been deleted?

form_structure_block_id

integer

Yes

Additional validation rules that are defined for this attribute but only active within the context of this taxon list.

validation_rules

char varying (500)

Yes

weight

integer

0

No

Dictates the order of controls within the block or at the top level. Controls with a higher weight will sink to the end of the list.

control_type_id

integer

Yes

Foreign key to the control_types table. Identifies the default type of control used for this attribute when used in this taxon list on a dynamically generated form.

default_text_value

text

Yes

For default text values, provides the value.

default_float_value

double precision

Yes

For default float values, provides the value.

default_int_value

integer

Yes

For default integer values, provides the value. For default lookup values, provides the term id.

default_date_start_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_end_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_type_value

char varying (2)

Yes

For default vague date values, provides the date type identifier.

default_upper_value

double precision

Yes

If the attribute allows value ranges, then provides the default upper value of the range.

taxa_taxon_list_attribute_values

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

taxa_taxon_list_id

integer

Yes

Foreign key to the taxa_taxon_lists table. Identifies the taxa_taxon_list that this value applies to.

taxa_taxon_list_attribute_id

integer

Yes

Foreign key to the taxa_taxon_list_attributes table. Identifies the attribute that this value is for.

text_value

text

Yes

For text values, provides the value.

float_value

double precision

Yes

For float values, provides the value.

int_value

integer

Yes

For integer values, provides the value. For lookup values, provides the term id.

date_start_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_end_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_type_value

char varying (2)

Yes

For vague date values, provides the date type identifier.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

geom_value

geom

Yes

For geometry values, stores the geometry.

source_id

integer

Yes

Points to a termlists_term which describes where the attribute value originated.

upper_value

double precision

Yes

If the attribute allows value ranges, then provides the upper value of the range.

termlists_term_attributes

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

caption

char varying (50)

Yes

Display caption for the attribute.

description

char varying

Yes

Description of the attribute.

data_type

character (1)

Yes

Data type for the attribute. Possible values are T (text), I (integer), F (float), D (date), V (vague date), L (item looked up from a termlist).

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

validation_rules

char varying

Yes

Validation rules defined for this attribute, for example: number, required,max[50].

termlist_id

integer

Yes

For attributes which define a term from a termlist, provides the ID of the termlist the term can be selected from.

multi_value

boolean

false

Yes

Does this attribute allow multiple values? If set to true, then multiple values for this attribute can be stored against a single record.

public

boolean

false

No

Flag set to true if this attribute is available for selection and use by any website. If false the attribute is only available for use in the website which created it.

deleted

boolean

false

No

Has this record been deleted?

system_function

char varying (30)

Yes

Machine readable function of this attribute. Defines how the field can be interpreted by the system.

source_id

integer

Yes

Points to a termlists_term which describes where the attribute originated.

caption_i18n

json

Yes

Stores a list of localised versions of the caption keyed by language code.

term_name

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term name. Otherwise provide a brief alphanumeric only (with no spaces) version of the attribute name to give it a unique identifier within the context of the survey dataset to make it easier to refer to in configuration.

term_identifier

char varying

Yes

If the attribute is linked to a standardised glossary such as Darwin Core then provide the term identifier, typically the URL to the term definition.

allow_ranges

boolean

false

No

Set to true if numeric attributes allow a value range to be entered.

reporting_category_id

integer

Yes

Foreign key to the termlists_terms table. Identifies an optional reporting category for this attribute which can be used to organise the display of multiple attribute values in report outputs.

unit

char varying

Yes

Name of the attributes unit where relevant, e.g. mm

description_i18n

json

Yes

Stores a list of localised versions of the description keyed by language code.

image_path

char varying

Yes

Path to an image file representing the attribute, e.g. an explanatory diagram.

termlists_termlists_term_attributes

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

termlist_id

integer

No

Foreign key to the termlists table. Identifies the termlist that the termlists_term attribute is available for.

termlists_term_attribute_id

integer

No

Foreign key to the termlists_term_attributes table. Identifies the termlists_term attribute that is available for the website.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

deleted

boolean

false

No

Has this record been deleted?

form_structure_block_id

integer

Yes

Additional validation rules that are defined for this attribute but only active within the context of this termlist.

validation_rules

char varying (500)

Yes

weight

integer

0

No

Dictates the order of controls within the block or at the top level. Controls with a higher weight will sink to the end of the list.

control_type_id

integer

Yes

Foreign key to the control_types table. Identifies the default type of control used for this attribute when used in this termlist on a dynamically generated form.

default_text_value

text

Yes

For default text values, provides the value.

default_float_value

double precision

Yes

For default float values, provides the value.

default_int_value

integer

Yes

For default integer values, provides the value. For default lookup values, provides the term id.

default_date_start_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_end_value

date

Yes

For default vague date and date values, provides the start date of the range of dates covered by the date.

default_date_type_value

char varying (2)

Yes

For default vague date values, provides the date type identifier.

default_upper_value

double precision

Yes

If the attribute allows value ranges, then provides the default upper value of the range.

termlists_term_attribute_values

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

termlists_term_id

integer

Yes

Foreign key to the termlists_terms table. Identifies the termlists_term that this value applies to.

termlists_term_attribute_id

integer

Yes

Foreign key to the termlists_term_attributes table. Identifies the attribute that this value is for.

text_value

text

Yes

For text values, provides the value.

float_value

double precision

Yes

For float values, provides the value.

int_value

integer

Yes

For integer values, provides the value. For lookup values, provides the term id.

date_start_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_end_value

date

Yes

For vague date and date values, provides the start date of the range of dates covered by the date.

date_type_value

char varying (2)

Yes

For vague date values, provides the date type identifier.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

source_id

integer

Yes

Points to a termlists_term which describes where the attribute value originated.

upper_value

double precision

Yes

If the attribute allows value ranges, then provides the upper value of the range.

people

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

first_name

char varying (50)

No

First name of the person.

surname

char varying (50)

No

Surname of the person.

initials

char varying (6)

Yes

Initials of the person.

email_address

char varying (100)

Yes

Email address of the person.

website_url

char varying (1000)

Yes

Website URL for the person.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Optional persons address.

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

title_id

integer

Yes

Foreign key to the titles table.

address

char varying (200)

Yes

deleted

boolean

false

No

Has this record been deleted?

external_key

char varying (50)

Yes

For people imported from an external system, provides a field to store the external system’s primary key for the record allowing re-synchronisation.

users

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

person_id

integer

Yes

Foreign key to the people table. Identifies the person record that this user is associated with.

core_role_id

integer

Yes

Foreign key to the core_roles table. Identifies the user’s role within the core module.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

username

char varying (30)

No

password

char varying

Yes

forgotten_password_key

char varying

Yes

deleted

boolean

false

No

Has this record been deleted?

default_digest_mode

character (1)

‘D’::bpchar

No

Specifies the default digest behaviour of notifications for this user. Options are null N (no email), I (immediate), D (daily), W (weekly).

allow_share_for_reporting

boolean

true

No

Flag set to true if the user allows their records to be reported by users on other websites that have a sharing agreement with the site they have contributed to.

allow_share_for_peer_review

boolean

true

No

Flag set to true if the user allows their records to be reviewed by users on other websites that have a sharing agreement with the site they have contributed to.

allow_share_for_verification

boolean

true

No

Flag set to true if the user allows their records to be verified by users on other websites that have a sharing agreement with the site they have contributed to.

allow_share_for_data_flow

boolean

true

No

Flag set to true if the user allows their records to be passed on by other websites that have a sharing agreement with the site they have contributed to.

allow_share_for_moderation

boolean

true

No

Flag set to true if the user allows their records to be moderated by users on other websites that have a sharing agreement with the site they have contributed to.

allow_share_for_editing

boolean

true

No

Flag set to true if the user allows their records to be edited by users on other websites that have a sharing agreement with the site they have contributed to.

users_websites

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

user_id

integer

No

Foreign key to the users table. Identifies the user with access to the website.

website_id

integer

No

Foreign key to the websites table. Identifies the website accessible by the user.

activated

boolean

false

No

Flag indicating if the user’s account has been activated.

banned

boolean

false

No

Flag indicating if the user’s account has been banned from this site.

activation_key

char varying (128)

Yes

Unique key used by the activation process.

site_role_id

integer

Yes

Foreign key to the site_roles table. Identifies the role of the user on this specific site.

registration_datetime

timestamp (no tz)

Yes

Date and time of registration on this website.

last_login_datetime

timestamp (no tz)

Yes

Date and time of last login to this website.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

preferred_sref_system

char varying (10)

Yes

Spatial reference system used for data entry and viewing of spatial data by this user of the website.

licence_id

integer

Yes

ID of the licence that is granted for media added this website by this user.

media_licence_id

integer

Yes

groups

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

Primary key and unique identifier for the table

title

char varying

No

Title for the group

description

char varying

Yes

Description of the group

filter_id

integer

Yes

Foreign key to the filters table. Identifies the scope of the group.

joining_method

character (1)

No

Defines how a user can join a group. Options are P (public, anyone can join), R (by request or invite, group admins approve members), I (invite only, group admins send invites).

website_id

integer

No

Foreign key to the websites table, identifies the website that hosts this group.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

code

char varying (20)

Yes

A code or abbreviation identifying the group.

group_type_id

integer

No

Foreign key to the termlists_terms table. Identifies the type of group, e.g. recording group, project, organisation.

from_date

date

Yes

Date the group’s activities commenced if relevent, e.g. a project start date.

to_date

date

Yes

Date the group’s activities ceased if relevent, e.g. a project finish date.

private_records

boolean

false

Yes

Set to true to indicate that the records input which are directly linked to the group should be witheld from uses outside the group. Relies on reporting queries to respect this.

implicit_record_inclusion

boolean

false

Yes

If true, then records are included in this group’s content if they are posted by a group member and meet the groups filter criteria. If false, then records must be explicitly posted into the group by a group member. If null, then they are included if they match the filter no matter who or how they were posted.

view_full_precision

boolean

false

No

Allow group members to view records explicitly posted into the at full precision.

logo_path

char varying

Yes

Path to the group logo file, within the server’s upload directory.

licence_id

integer

Yes

ID of the licence that is associated with this group and the records submitted to it.

groups_users

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

Unique identifier and primary key for the table.

group_id

integer

Yes

Foreign key to the groups table. Identifies the group of which the user is a member.

user_id

integer

Yes

Foreign key to the users table. Identifies the user who is a member of the group.

administrator

boolean

false

No

Is this user an administrator of this group.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

pending

boolean

false

Yes

Is the membership pending approval by the group admin?

access_level

integer

Yes

Access level value that this user has within this group. Unlocks access to pages with the same or lower access level. Null is treated as a value of zero

group_pages

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

Unique identifier and primary key for the table.

group_id

integer

Yes

Foreign key to the groups table. Identifies the group of which the user is a member.

caption

char varying

No

Caption shown for this form when viewed in the group.

path

char varying

No

Path to the page on the client site which is enabled for this group

administrator

boolean

false

Yes

Set to true for pages that require group admin rights to be able to see them, false for pages that require normal membership and null for pages that are accessible to all.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

access_level

integer

Yes

Optional minimum access level value required by the user in order to be able to use this page (in addition to the rules defined in group_pages.administrator). Null is treated as a value of zero (i.e. open access).

filters

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

Primary key and unique identifier for the table.

title

char varying

No

Title of the filter

description

char varying

Yes

Optional description of the filter.

definition

char varying

No

A JSON string holding a definition of the filter parameters. Decodes to an array of key value pairs suitable for passing to a report supporting the standard report parameters.

sharing

character (1)

Yes

Identifies the record sharing task that this filter is for. Options are R(eporting), P(eer review), V(erification), D(ata flow), M(oderation).

public

boolean

false

Yes

Flag indicating when a filter is publically available and discoverable. Non-public filters can only be allocated to users by the creator.

defines_permissions

boolean

false

Yes

Flag indicating when a filter defines a limited set of permissions for the user having the filter. E.g. this could describe a set of records that a user is able to verify, any number of sets can be defined per user.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

deleted

boolean

false

No

Has this record been deleted?

website_id

integer

Yes

Foreign key to the websites table. Optionally limits the filter to being available on this website.

locations

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

name

char varying (100)

No

Name of the location.

code

char varying (20)

Yes

Location reference code.

parent_id

integer

Yes

Identifies the location’s parent location, if there is one.

centroid_sref

char varying (40)

No

Spatial reference at the centre of the location.

centroid_sref_system

char varying (10)

No

System used for the centroid_sref field.

created_on

timestamp (no tz)

No

Date this record was created.

created_by_id

integer

No

Foreign key to the users table (creator).

updated_on

timestamp (no tz)

No

Date this record was last updated.

updated_by_id

integer

No

Foreign key to the users table (last updater).

comment

text

Yes

Comment regarding the location.

external_key

char varying (50)

Yes

For locations imported from an external system, provides a field to store the external system’s primary key for the record allowing re-synchronisation.

deleted

boolean

false

No

Has this record been deleted?

centroid_geom

geom

Yes

Geometry of the spatial reference at the centre of the location. This is a point, or a polygon for grid references. Uses Latitude and Longitude on the WGS84 datum.

boundary_geom

geom

Yes

Polygon for the location’s boundary. Uses Latitude and Longitude on the WGS84 datum.

location_type_id

integer

Yes

Identifies term describing the type of the location. Foreign key to the termlists_terms table.

public

boolean

false

No

Flag set to true if this location is available for use by any website. If false the location is only available for use by the websites in the locations_websites table.

location_comments

Column

Type

Default

Nullable

Description

id

integer

nextval(…)

No

NULL

comment

text

No

Location comment text.

created_by_id

integer

Yes

Foreign key to the users table (creator), if user was logged in when comment created.

created_on

timestamp (no tz)

No

Date and time this comment was created.

updated_by_id

integer

Yes

Foreign key to the users table (updater), if user was logged in when comment updated.

updated_on

timestamp (no tz)

No

Date and time this comment was updated.

location_id

integer

Yes

Foreign key to the locations table. Identifies the commented location.

email_address

char varying (50)

Yes

Email of user who created the comment, if the user was not logged in but supplied an email address.

deleted

boolean

false

No

Has this record been deleted?

person_name

char varying

Yes

Identifier for anonymous commenter.

external_key

char varying (50)

Yes

For comments imported from an external system, provides a field to store the external system’s primary key for the record allowing re-synchronisation.