Extension Management

Core extension/plugin management system: plugin registry, extension lifecycle, admin menus, settings, widgets, migrations, validation, data mapping, landing pages, ISBN lookup.

atom-framework
17
atom_data_mapping
17
atom_extension
0
atom_extension_admin
37
atom_extension_audit
0
atom_extension_menu
0
atom_extension_pending_deletion
6
atom_extension_setting
0
atom_extension_widget
0
atom_framework_migrations
3
atom_isbn_cache
77
atom_isbn_lookup_audit
3
atom_isbn_provider
1
atom_landing_page
63
atom_landing_page_audit_log
15
atom_landing_page_block
21
atom_landing_page_block_type
11
atom_landing_page_version
11
atom_library_cover_queue
0
atom_migration
0
atom_migration_job
0
atom_migration_log
0
atom_migration_staged
0
atom_migration_template
0
atom_migrations
116
atom_plugin
101
atom_plugin_audit
3
atom_plugin_dependency
0
atom_plugin_hook
0
atom_validation_log
0
atom_validation_rule
Entity Relationship Diagram
Open Full Size
Foreign Key Relationships
Constraint Table Column References Referenced Column
fk_admin_extension atom_extension_admin extension_id atom_extension id
fk_menu_extension atom_extension_menu extension_id atom_extension id
fk_setting_extension atom_extension_setting extension_id atom_extension id
fk_widget_extension atom_extension_widget extension_id atom_extension id
fk_isbn_audit_io atom_isbn_lookup_audit information_object_id information_object id
fk_isbn_audit_user atom_isbn_lookup_audit user_id user id
atom_landing_page_block_ibfk_2 atom_landing_page_block block_type_id atom_landing_page_block_type id
atom_landing_page_block_ibfk_1 atom_landing_page_block page_id atom_landing_page id
atom_landing_page_block_ibfk_3 atom_landing_page_block parent_block_id atom_landing_page_block id
atom_landing_page_version_ibfk_1 atom_landing_page_version page_id atom_landing_page id
atom_migration_log_ibfk_1 atom_migration_log job_id atom_migration_job id
atom_migration_staged_ibfk_1 atom_migration_staged job_id atom_migration_job id
atom_plugin_dependency_ibfk_1 atom_plugin_dependency plugin_id atom_plugin id
atom_plugin_hook_ibfk_1 atom_plugin_hook plugin_id atom_plugin id
atom_validation_log_ibfk_1 atom_validation_log job_id atom_migration_job id
atom_data_mapping
14 columns 17 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK name varchar(255) NOT NULL -
FK target_type varchar(100) NOT NULL - information_object, repository, accession, actor, subject, place, event
category varchar(100) NULL Custom
description text NULL -
field_mappings json NOT NULL - Array of field mapping objects
source_template varchar(100) NULL - archivesspace, vernon, dbtextworks, etc.
is_default tinyint(1) NULL 0
created_by int NULL -
created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
is_shared tinyint(1) NULL 0
shared_by int unsigned NULL -
sector_code varchar(50) NULL -
atom_extension
26 columns 17 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
UQ machine_name varchar(100) NOT NULL -
display_name varchar(255) NOT NULL -
version varchar(20) NOT NULL -
description text NULL -
author varchar(255) NULL -
license varchar(50) NULL GPL-3.0
FK status varchar(52) NULL installed installed, enabled, disabled, pending_removal
protection_level varchar(37) NULL extension core, system, theme, extension
theme_support json NULL -
requires_framework varchar(20) NULL -
requires_atom varchar(20) NULL -
requires_php varchar(20) NULL -
dependencies json NULL -
optional_dependencies json NULL -
tables_created json NULL -
shared_tables json NULL -
helpers json NULL -
install_task varchar(100) NULL -
uninstall_task varchar(100) NULL -
config_path varchar(500) NULL -
installed_at datetime NULL -
enabled_at datetime NULL -
disabled_at datetime NULL -
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_extension_admin
15 columns 0 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
FK extension_id int NOT NULL -
UQ admin_key varchar(100) NOT NULL -
section varchar(50) NOT NULL -
title varchar(255) NOT NULL -
description varchar(500) NULL -
icon varchar(50) NULL -
route varchar(255) NOT NULL -
route_params json NULL -
permissions json NULL -
badge_callback varchar(255) NULL -
sort_order int NULL 100
is_enabled tinyint(1) NULL 1
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_extension_audit
8 columns 37 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
extension_id int NULL -
FK extension_name varchar(100) NOT NULL -
FK action varchar(144) NOT NULL - discovered, installed, enabled, disabled, uninstalled, upgraded, downgraded, backup_created, backup_restored, data_deleted, config_changed, error
performed_by int NULL -
details json NULL -
ip_address varchar(45) NULL -
FK created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_extension_menu
22 columns 0 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
FK extension_id int NOT NULL -
UQ menu_key varchar(100) NOT NULL -
parent_key varchar(100) NULL -
menu_location varchar(39) NULL main main, admin, user, footer, mobile
title varchar(255) NOT NULL -
title_i18n varchar(100) NULL -
icon varchar(50) NULL -
route varchar(255) NULL -
route_params json NULL -
badge_callback varchar(255) NULL -
badge_cache_ttl int NULL 60
visibility_callback varchar(255) NULL -
permissions json NULL -
context json NULL -
sort_order int NULL 100
is_enabled tinyint(1) NULL 1
is_separator tinyint(1) NULL 0
css_class varchar(100) NULL -
target varchar(20) NULL -
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_extension_pending_deletion
12 columns 0 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
FK extension_name varchar(100) NOT NULL -
table_name varchar(100) NOT NULL -
record_count int NULL 0
backup_path varchar(500) NULL -
backup_size bigint NULL -
FK delete_after datetime NOT NULL -
FK status varchar(62) NULL pending pending, processing, deleted, restored, cancelled, failed
error_message text NULL -
processed_at datetime NULL -
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_extension_setting
9 columns 6 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
FK extension_id int NULL -
setting_key varchar(100) NOT NULL -
setting_value text NULL -
setting_type varchar(43) NULL string string, integer, boolean, json, array
description varchar(500) NULL -
is_system tinyint(1) NULL 0
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_extension_widget
18 columns 0 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
FK extension_id int NOT NULL -
UQ widget_key varchar(100) NOT NULL -
widget_type varchar(48) NOT NULL - stat_card, chart, list, table, html, custom
title varchar(255) NOT NULL -
description varchar(500) NULL -
icon varchar(50) NULL -
data_callback varchar(255) NOT NULL -
template varchar(255) NULL -
dashboard varchar(50) NULL central
section varchar(50) NULL -
cache_ttl int NULL 300
sort_order int NULL 100
is_enabled tinyint(1) NULL 1
config json NULL -
permissions json NULL -
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_framework_migrations
3 columns 0 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
UQ migration varchar(255) NOT NULL -
executed_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_isbn_cache
10 columns 3 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
UQ isbn varchar(13) NOT NULL -
FK isbn_10 varchar(10) NULL -
FK isbn_13 varchar(13) NULL -
metadata json NOT NULL -
source varchar(50) NOT NULL worldcat
FK oclc_number varchar(20) NULL -
created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
FK expires_at timestamp NULL -
atom_isbn_lookup_audit
11 columns 77 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
FK isbn varchar(13) NOT NULL -
FK user_id int NULL -
FK information_object_id int NULL -
source varchar(50) NOT NULL -
success tinyint(1) NOT NULL 0
fields_populated json NULL -
error_message text NULL -
lookup_time_ms int unsigned NULL -
ip_address varchar(45) NULL -
FK created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_isbn_provider
11 columns 3 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
name varchar(100) NOT NULL -
UQ slug varchar(100) NOT NULL -
api_endpoint varchar(500) NOT NULL -
api_key_setting varchar(100) NULL - Reference to atom_setting key
priority int NOT NULL 100
FK enabled tinyint(1) NOT NULL 1
rate_limit_per_minute int unsigned NULL -
response_format varchar(26) NOT NULL json json, xml, marcxml
created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_landing_page
16 columns 1 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
name varchar(255) NOT NULL -
UQ slug varchar(255) NOT NULL -
description text NULL -
FK is_default tinyint(1) NULL 0 Default homepage
FK is_active tinyint(1) NULL 1
meta_title varchar(255) NULL -
meta_description text NULL -
layout varchar(50) NULL default
css_classes varchar(255) NULL -
custom_css text NULL -
custom_js text NULL -
user_id int NULL - Creator/last editor
published_at datetime NULL -
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_landing_page_audit_log
9 columns 63 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
FK action varchar(50) NOT NULL -
FK page_id int unsigned NULL -
block_id int unsigned NULL -
data json NULL -
user_id int NULL -
ip_address varchar(45) NULL -
user_agent varchar(255) NULL -
FK created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_landing_page_block
18 columns 15 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
FK page_id int unsigned NOT NULL -
FK block_type_id int unsigned NOT NULL -
FK parent_block_id int unsigned NULL - For nested blocks in columns
column_slot varchar(20) NULL - Column position (left, center, right)
title varchar(255) NULL -
position int NULL 0
config json NULL - Block-specific configuration
css_classes varchar(255) NULL -
container_type varchar(20) NULL container container, container-fluid, none
background_color varchar(50) NULL -
text_color varchar(50) NULL -
padding_top varchar(20) NULL py-4
padding_bottom varchar(20) NULL py-4
col_span int NULL 12 Bootstrap column span (1-12)
is_visible tinyint(1) NULL 1
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_landing_page_block_type
13 columns 21 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
UQ machine_name varchar(50) NOT NULL -
label varchar(100) NOT NULL -
description text NULL -
icon varchar(50) NULL bi-square
FK category varchar(50) NULL content
config_schema json NULL - JSON Schema for block configuration
default_config json NULL - Default configuration values
is_container tinyint(1) NULL 0 Can contain nested blocks
FK is_active tinyint(1) NULL 1
load_order int NULL 100
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_landing_page_version
8 columns 11 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
FK page_id int unsigned NOT NULL -
version_number int NOT NULL -
FK status varchar(34) NULL draft draft, published, archived
snapshot json NOT NULL - Complete page state snapshot
notes text NULL -
user_id int NULL -
created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_library_cover_queue
8 columns 11 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
FK information_object_id int unsigned NOT NULL -
isbn varchar(20) NOT NULL -
FK status varchar(45) NULL pending pending, processing, completed, failed
attempts tinyint NULL 0
error_message text NULL -
created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
processed_at timestamp NULL -
atom_migration
4 columns 0 rows
Column Type Nullable Default Extra Comment
PK id int unsigned NOT NULL - auto_increment
UQ migration varchar(255) NOT NULL -
batch int NOT NULL 1
executed_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_migration_job
23 columns 0 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK job_id int NULL - Links to AtoM job table
name varchar(255) NULL -
target_type varchar(100) NOT NULL -
source_file varchar(500) NULL -
source_format varchar(50) NULL -
mapping_id bigint unsigned NULL -
mapping_snapshot json NULL - Copy of mapping at time of job creation
import_options json NULL -
FK status varchar(52) NULL pending pending, running, completed, failed, cancelled
total_records int NULL 0
processed_records int NULL 0
imported_records int NULL 0
updated_records int NULL 0
skipped_records int NULL 0
error_count int NULL 0
error_log json NULL -
progress_message varchar(255) NULL -
output_file varchar(500) NULL -
started_at timestamp NULL -
completed_at timestamp NULL -
FK created_by int NULL -
FK created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_migration_log
12 columns 0 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK job_id bigint unsigned NOT NULL -
row_number int NULL -
source_identifier varchar(255) NULL -
target_type varchar(100) NULL -
target_id int NULL - AtoM object ID
target_slug varchar(255) NULL -
FK action varchar(40) NOT NULL - created, updated, skipped, failed
source_data json NULL -
mapped_data json NULL -
error_message text NULL -
created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_migration_staged
14 columns 0 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK job_id bigint unsigned NOT NULL -
row_number int unsigned NOT NULL -
source_id varchar(255) NULL -
record_type varchar(100) NULL information_object
parent_source_id varchar(255) NULL -
hierarchy_level int unsigned NULL 0
sort_order int unsigned NULL 0
source_data json NOT NULL - Original parsed data
mapped_data json NULL - After field mapping applied
validation_status varchar(37) NULL pending pending, valid, warning, error
validation_messages json NULL -
import_status varchar(40) NULL pending pending, imported, skipped, error
created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_migration_template
18 columns 0 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
name varchar(255) NOT NULL -
UQ slug varchar(255) NOT NULL -
description text NULL -
FK source_system varchar(100) NOT NULL - vernon, archivesspace, dbtextworks, custom
source_format varchar(50) NOT NULL - csv, xml, ead
destination_sector varchar(100) NOT NULL - archives, museum, library, gallery, dam
field_mappings json NOT NULL - Source to destination field mappings
transformations json NULL - Field transformation rules
hierarchy_config json NULL - How to build parent-child relationships
default_values json NULL - Default values for unmapped fields
is_system tinyint(1) NULL 0 Built-in templates cannot be deleted
is_enabled tinyint(1) NULL 1
usage_count int unsigned NULL 0
version varchar(20) NULL 1.0.0
created_by int unsigned NULL -
created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
atom_migrations
4 columns 0 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
UQ migration varchar(255) NOT NULL -
batch int NOT NULL -
executed_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_plugin
19 columns 116 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
UQ name varchar(255) NOT NULL -
class_name varchar(255) NOT NULL -
version varchar(50) NULL -
description text NULL -
author varchar(255) NULL -
FK category varchar(100) NULL general
FK is_enabled tinyint(1) NULL 0
is_core tinyint(1) NULL 0
is_locked tinyint(1) NULL 0
status varchar(52) NULL enabled installed, enabled, disabled, pending_removal
FK load_order int NULL 100
plugin_path varchar(500) NULL -
settings json NULL -
record_check_query text NULL -
enabled_at timestamp NULL -
disabled_at timestamp NULL -
created_at timestamp NULL -
updated_at timestamp NULL -
atom_plugin_audit
8 columns 101 rows
Column Type Nullable Default Extra Comment
PK id int NOT NULL - auto_increment
FK plugin_name varchar(255) NOT NULL -
action varchar(50) NOT NULL -
previous_state varchar(50) NULL -
new_state varchar(50) NULL -
reason text NULL -
user_id int NULL -
FK created_at datetime NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_plugin_dependency
8 columns 3 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK plugin_id bigint unsigned NOT NULL -
FK requires_plugin varchar(255) NOT NULL -
min_version varchar(50) NULL -
max_version varchar(50) NULL -
is_optional tinyint(1) NULL 0
created_at timestamp NULL -
updated_at timestamp NULL -
atom_plugin_hook
9 columns 0 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK plugin_id bigint unsigned NOT NULL -
FK event_name varchar(255) NOT NULL -
listener_class varchar(500) NOT NULL -
listener_method varchar(255) NOT NULL -
priority int NULL 0
is_active tinyint(1) NULL 1
created_at timestamp NULL -
updated_at timestamp NULL -
atom_validation_log
8 columns 0 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK job_id bigint unsigned NULL -
FK row_number int NULL -
column_name varchar(255) NULL -
rule_type varchar(50) NULL -
FK severity varchar(28) NULL - error, warning, info
message text NULL -
created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
atom_validation_rule
10 columns 0 rows
Column Type Nullable Default Extra Comment
PK id bigint unsigned NOT NULL - auto_increment
FK sector_code varchar(50) NOT NULL - archive, museum, library, gallery, dam
rule_type varchar(68) NOT NULL - required, type, pattern, enum, range, length, referential, custom
FK field_name varchar(255) NOT NULL -
rule_config json NOT NULL - Rule parameters: pattern, values, min/max, etc.
error_message varchar(500) NULL - Custom error message
severity varchar(28) NULL error error, warning, info
FK is_active tinyint(1) NULL 1
created_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED
updated_at timestamp NULL CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP
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.