DOI Integration

DataCite DOI minting, queue processing, verification, and sync.

ahgDoiPlugin
0
ahg_doi
1
ahg_doi_config
5
ahg_doi_log
15
ahg_doi_mapping
0
ahg_doi_queue
Entity Relationship Diagram
Open Full Size
ahg_doi
12 columns 0 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
UQ information_object_id int NOT NULL -
UQ doi varchar(255) NOT NULL - Full DOI string (10.xxxxx/xxxxxx)
doi_url varchar(500) NULL - STORED GENERATED
FK status varchar(50) NOT NULL draft draft, registered, findable, failed, deleted
FK minted_at datetime NULL -
minted_by int NULL - User who minted
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
datacite_response json NULL - Last DataCite API response
metadata_json json NULL - Cached DataCite metadata
last_sync_at datetime NULL - Last metadata sync to DataCite
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
ahg_doi_config
16 columns 1 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
UQ repository_id int NULL - NULL = global default
datacite_repo_id varchar(100) NOT NULL - DataCite repository ID
datacite_prefix varchar(50) NOT NULL - DOI prefix (e.g., 10.12345)
datacite_password varchar(255) NULL - Encrypted password
datacite_url varchar(255) NULL https://api.datacite.org API endpoint
environment varchar(25) NOT NULL test test, production
auto_mint tinyint(1) NOT NULL 0 Auto-mint on publish
auto_mint_levels json NULL - Levels to auto-mint: ["fonds", "collection", "item"]
require_digital_object tinyint(1) NOT NULL 0 Only mint if has digital object
default_publisher varchar(255) NULL - Default publisher name
default_resource_type varchar(100) NULL Text Default DataCite resourceType
suffix_pattern varchar(100) NULL {repository_code}/{year}/{object_id} Pattern for DOI suffix
FK is_active tinyint(1) NOT NULL 1
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
ahg_doi_log
9 columns 5 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK doi_id bigint unsigned NULL -
FK information_object_id int NULL -
action varchar(50) NOT NULL - minted, updated, deleted, verified, failed
status_before varchar(50) NULL -
status_after varchar(50) NULL -
details json NULL -
performed_by int NULL -
FK performed_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
ahg_doi_mapping
10 columns 15 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK repository_id int NULL - NULL = global default
FK datacite_field varchar(100) NOT NULL - DataCite schema field
source_type varchar(47) NOT NULL field field, property, note, constant, template
source_value varchar(255) NOT NULL - AtoM field name, property type, or constant value
transformation varchar(100) NULL - Optional transformation function
is_required tinyint(1) NOT NULL 0
fallback_value varchar(255) NULL - Value if source is empty
sort_order int NOT NULL 0
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
ahg_doi_queue
12 columns 0 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK information_object_id int NOT NULL -
action varchar(35) NOT NULL mint mint, update, delete, verify
FK status varchar(45) NOT NULL pending pending, processing, completed, failed
priority int NOT NULL 100 Higher = processed first
attempts int NOT NULL 0
max_attempts int NOT NULL 3
last_error text NULL -
FK scheduled_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
started_at datetime NULL -
completed_at datetime NULL -
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
Notes

Log in to add notes.

Legend
PK Primary Key FK Foreign Key / Index UQ Unique Constraint
Table structures are read live from the database. Row counts reflect current data.