AtoM AHG Framework - User Workflows

Version: 2.1.17 Last Updated: January 2026


1. Plugin Management Workflow

┌─────────────────────────────────────────────────────────────────────────────────┐
│                         PLUGIN MANAGEMENT WORKFLOW                               │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│  ┌─────────────────┐                                                            │
│  │ Administrator   │                                                            │
│  │ wants to enable │                                                            │
│  │ new plugin      │                                                            │
│  └────────┬────────┘                                                            │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ Step 1: Discover Available Plugins                                       │   │
│  │                                                                          │   │
│  │   $ php bin/atom extension:discover                                      │   │
│  │                                                                          │   │
│  │   Output:                                                                │   │
│  │   ┌──────────────────────────────────────────────────────────────────┐  │   │
│  │   │ AVAILABLE PLUGINS                                                 │  │   │
│  │   ├──────────────────────────────────────────────────────────────────┤  │   │
│  │   │ Name                    │ Status   │ Category    │ Version      │  │   │
│  │   ├─────────────────────────┼──────────┼─────────────┼──────────────┤  │   │
│  │   │ ahgThemeB5Plugin        │ enabled  │ theme       │ 2.1.17  ✓    │  │   │
│  │   │ ahgPrivacyPlugin        │ disabled │ compliance  │ 1.2.0        │  │   │
│  │   │ ahgIiifPlugin           │ disabled │ media       │ 1.0.0        │  │   │
│  │   └──────────────────────────────────────────────────────────────────┘  │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ Step 2: Enable Plugin                                                    │   │
│  │                                                                          │   │
│  │   $ php bin/atom extension:enable ahgPrivacyPlugin                       │   │
│  │                                                                          │   │
│  │   ┌──────────────────────────────────────────────────────────────────┐  │   │
│  │   │ ✓ Plugin ahgPrivacyPlugin enabled                                 │  │   │
│  │   │ ✓ Database migrations applied (3 tables created)                  │  │   │
│  │   │ ✓ Cache cleared                                                   │  │   │
│  │   │                                                                    │  │   │
│  │   │ Plugin is now active. Restart PHP-FPM for changes to take effect.│  │   │
│  │   └──────────────────────────────────────────────────────────────────┘  │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ Step 3: Restart Services                                                 │   │
│  │                                                                          │   │
│  │   $ sudo systemctl restart php8.3-fpm                                    │   │
│  │   $ php symfony cc                                                       │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ Step 4: Configure Plugin (Admin → Settings → [Plugin Name])             │   │
│  │                                                                          │   │
│  │   Navigate to: Admin → Settings → Privacy Settings                      │   │
│  │   Configure: Retention periods, consent types, breach workflows         │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│       ┌───────┐                                                                 │
│       │ Done! │                                                                 │
│       └───────┘                                                                 │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

2. Sector Configuration Workflow

┌─────────────────────────────────────────────────────────────────────────────────┐
│                       SECTOR CONFIGURATION WORKFLOW                              │
│                  (Museum / Library / Gallery / DAM / Archive)                    │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ Question: What type of institution are you?                              │   │
│  │                                                                          │   │
│  │   ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐    │   │
│  │   │   Museum    │  │   Library   │  │   Gallery   │  │     DAM     │    │   │
│  │   │             │  │             │  │             │  │             │    │   │
│  │   │ Spectrum 5.0│  │ MARC/RDA    │  │  Artwork    │  │   Media     │    │   │
│  │   │ CCO/CIDOC   │  │ ISBN lookup │  │  Cataloging │  │   Assets    │    │   │
│  │   └──────┬──────┘  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘    │   │
│  │          │                │                │                │            │   │
│  └──────────┼────────────────┼────────────────┼────────────────┼────────────┘   │
│             │                │                │                │                 │
│             ▼                ▼                ▼                ▼                 │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ Step 1: Enable appropriate sector plugin                                 │   │
│  │                                                                          │   │
│  │   $ php bin/atom extension:enable ahgMuseumPlugin                        │   │
│  │                      OR                                                  │   │
│  │   $ php bin/atom extension:enable ahgLibraryPlugin                       │   │
│  │                      OR                                                  │   │
│  │   $ php bin/atom extension:enable ahgGalleryPlugin                       │   │
│  │                      OR                                                  │   │
│  │   $ php bin/atom extension:enable ahgDAMPlugin                           │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│             │                                                                    │
│             ▼                                                                    │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ Step 2: Sector plugin automatically configures:                          │   │
│  │                                                                          │   │
│  │   ┌────────────────────────────────────────────────────────────────┐    │   │
│  │   │ MUSEUM EXAMPLE                                                  │    │   │
│  │   ├────────────────────────────────────────────────────────────────┤    │   │
│  │   │ Field Labels:                                                   │    │   │
│  │   │   • "Extent" → "Dimensions"                                     │    │   │
│  │   │   • "Scope and Content" → "Object Description"                  │    │   │
│  │   │   • "Archival History" → "Provenance"                           │    │   │
│  │   │                                                                 │    │   │
│  │   │ Vocabularies:                                                   │    │   │
│  │   │   • Object Type: Painting, Sculpture, Textile, Ceramic...      │    │   │
│  │   │   • Material: Oil paint, Bronze, Marble, Wood...               │    │   │
│  │   │                                                                 │    │   │
│  │   │ Standards:                                                      │    │   │
│  │   │   • Spectrum 5.0 procedures enabled                            │    │   │
│  │   │   • CCO metadata fields available                              │    │   │
│  │   └────────────────────────────────────────────────────────────────┘    │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│             │                                                                    │
│             ▼                                                                    │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ Step 3: Enable capability plugins as needed                              │   │
│  │                                                                          │   │
│  │   Same capabilities work across ALL sectors:                             │   │
│  │                                                                          │   │
│  │   ┌─────────────────────────────────────────────────────────────────┐   │   │
│  │   │ Capability        │ Plugin              │ Works With            │   │   │
│  │   ├───────────────────┼─────────────────────┼───────────────────────┤   │   │
│  │   │ IIIF Viewing      │ ahgIiifPlugin       │ All sectors           │   │   │
│  │   │ 3D Models         │ ahg3DModelPlugin    │ All sectors           │   │   │
│  │   │ Privacy/GDPR      │ ahgPrivacyPlugin    │ All sectors           │   │   │
│  │   │ AI/NER            │ ahgAIPlugin         │ All sectors           │   │   │
│  │   │ Loans             │ ahgLoanPlugin       │ All sectors           │   │   │
│  │   │ Condition         │ ahgConditionPlugin  │ All sectors           │   │   │
│  │   │ Rights            │ ahgExtendedRights   │ All sectors           │   │   │
│  │   └─────────────────────────────────────────────────────────────────┘   │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│             │                                                                    │
│             ▼                                                                    │
│       ┌─────────────────────────────────────────────────────────────────┐       │
│       │ Result: Sector-specific terminology + Universal capabilities    │       │
│       └─────────────────────────────────────────────────────────────────┘       │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

3. Record Lifecycle Workflow

┌─────────────────────────────────────────────────────────────────────────────────┐
│                          RECORD LIFECYCLE WORKFLOW                               │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│    ┌──────────────┐                                                             │
│    │   CREATION   │                                                             │
│    └──────┬───────┘                                                             │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ 1. Create Record                                                         │   │
│  │    • Add description (ISAD(G) / Dublin Core / sector-specific)          │   │
│  │    • Upload digital objects                                              │   │
│  │    • Link to related records                                             │   │
│  │                                                                          │   │
│  │    Plugins triggered:                                                    │   │
│  │    ├── AhgHooks::trigger('record.created', $record)                      │   │
│  │    ├── Audit Trail: logs creation                                        │   │
│  │    └── IIIF: generates manifest (if images)                              │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ 2. Accessioning / Cataloging                                             │   │
│  │                                                                          │   │
│  │    ┌───────────────────────────────────────────────────────────────┐    │   │
│  │    │ Optional Plugin Actions                                        │    │   │
│  │    ├───────────────────────────────────────────────────────────────┤    │   │
│  │    │ ahgConditionPlugin  → Create condition assessment              │    │   │
│  │    │ ahgHeritagePlugin   → Register as heritage asset               │    │   │
│  │    │ ahgSecurityPlugin   → Apply security classification            │    │   │
│  │    │ ahgPrivacyPlugin    → Flag PII for protection                  │    │   │
│  │    │ ahgAIPlugin         → Extract named entities                   │    │   │
│  │    └───────────────────────────────────────────────────────────────┘    │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ 3. Publication / Access                                                  │   │
│  │                                                                          │   │
│  │    Record visibility determined by:                                      │   │
│  │    ├── Publication status (draft / published)                            │   │
│  │    ├── Security classification (if ahgSecurityPlugin enabled)            │   │
│  │    ├── Embargo dates (if ahgEmbargoPlugin enabled)                       │   │
│  │    └── User permissions (AtoM ACL + clearance level)                     │   │
│  │                                                                          │   │
│  │    Public users see:                                                     │   │
│  │    ├── Published, unclassified records                                   │   │
│  │    ├── IIIF viewers for images                                           │   │
│  │    ├── 3D model viewers                                                  │   │
│  │    └── Audio/video players                                               │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ 4. Use / Research                                                        │   │
│  │                                                                          │   │
│  │    ┌───────────────────────────────────────────────────────────────┐    │   │
│  │    │ Researcher Actions                                             │    │   │
│  │    ├───────────────────────────────────────────────────────────────┤    │   │
│  │    │ ahgResearchPlugin   → Submit access request                    │    │   │
│  │    │ ahgResearchPlugin   → Book reading room visit                  │    │   │
│  │    │ ahgCartPlugin       → Add to cart for ordering                 │    │   │
│  │    │ ahgFavoritesPlugin  → Save to favorites                        │    │   │
│  │    │ ahgFeedbackPlugin   → Submit feedback/correction               │    │   │
│  │    └───────────────────────────────────────────────────────────────┘    │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ 5. Loans / Exhibitions                                                   │   │
│  │                                                                          │   │
│  │    ahgLoanPlugin workflow:                                               │   │
│  │    ├── Create loan request                                               │   │
│  │    ├── Add items to loan                                                 │   │
│  │    ├── Condition check (outgoing)                                        │   │
│  │    ├── Track location during loan                                        │   │
│  │    ├── Condition check (incoming)                                        │   │
│  │    └── Close loan                                                        │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ 6. Preservation                                                          │   │
│  │                                                                          │   │
│  │    ahgPreservationPlugin:                                                │   │
│  │    ├── Format migration (obsolete → current)                             │   │
│  │    ├── Fixity checking (checksum validation)                             │   │
│  │    ├── PREMIS metadata generation                                        │   │
│  │    └── AIP/DIP packaging                                                 │   │
│  │                                                                          │   │
│  │    ahgBackupPlugin:                                                      │   │
│  │    ├── Scheduled backups                                                 │   │
│  │    ├── Off-site replication                                              │   │
│  │    └── Disaster recovery                                                 │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│           │                                                                      │
│           ▼                                                                      │
│    ┌──────────────┐                                                             │
│    │ DISPOSITION  │                                                             │
│    │  (if needed) │                                                             │
│    └──────────────┘                                                             │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

4. Privacy Compliance Workflow (POPIA/GDPR)

┌─────────────────────────────────────────────────────────────────────────────────┐
│                        PRIVACY COMPLIANCE WORKFLOW                               │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │                      DATA SUBJECT ACCESS REQUEST                         │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│                                                                                  │
│    ┌────────────────┐                                                           │
│    │ Data Subject   │                                                           │
│    │ submits SAR    │                                                           │
│    └───────┬────────┘                                                           │
│            │                                                                     │
│            ▼                                                                     │
│  ┌──────────────────────────────────────┐                                       │
│  │ Request received via:                │                                       │
│  │ • Email                              │                                       │
│  │ • Web form                           │                                       │
│  │ • In person                          │                                       │
│  └──────────────────┬───────────────────┘                                       │
│                     │                                                            │
│                     ▼                                                            │
│  ┌──────────────────────────────────────┐                                       │
│  │ Step 1: Log request in system        │                                       │
│  │                                      │                                       │
│  │ Admin → Privacy → SAR Requests → New │                                       │
│  │                                      │                                       │
│  │ ┌──────────────────────────────────┐ │                                       │
│  │ │ Request Type: [Access/Erasure]  │ │                                       │
│  │ │ Requester: [Name]               │ │                                       │
│  │ │ Email: [email@example.com]      │ │                                       │
│  │ │ Deadline: [auto: 30 days]       │ │                                       │
│  │ └──────────────────────────────────┘ │                                       │
│  └──────────────────┬───────────────────┘                                       │
│                     │                                                            │
│                     ▼                                                            │
│  ┌──────────────────────────────────────┐                                       │
│  │ Step 2: Verify identity              │                                       │
│  │                                      │                                       │
│  │ □ ID document verified               │                                       │
│  │ □ Proof of address verified          │                                       │
│  │ □ Identity confirmed                 │                                       │
│  └──────────────────┬───────────────────┘                                       │
│                     │                                                            │
│        ┌────────────┴────────────┐                                              │
│        ▼                         ▼                                              │
│  ┌───────────────┐        ┌───────────────┐                                     │
│  │ ACCESS        │        │ ERASURE       │                                     │
│  │ Request       │        │ Request       │                                     │
│  └───────┬───────┘        └───────┬───────┘                                     │
│          │                        │                                              │
│          ▼                        ▼                                              │
│  ┌────────────────┐       ┌────────────────┐                                    │
│  │ Search for all │       │ Search for all │                                    │
│  │ personal data: │       │ personal data: │                                    │
│  │                │       │                │                                    │
│  │ • Actor records│       │ Check if legal │                                    │
│  │ • User accounts│       │ basis allows   │                                    │
│  │ • Audit logs   │       │ deletion       │                                    │
│  │ • Research req │       │                │                                    │
│  │ • Loan records │       │ □ Archival     │                                    │
│  └────────┬───────┘       │ □ Legal hold   │                                    │
│           │               │ □ Research     │                                    │
│           │               └───────┬────────┘                                    │
│           ▼                       │                                              │
│  ┌────────────────┐               ▼                                             │
│  │ Export data in │       ┌────────────────┐                                    │
│  │ portable format│       │ Pseudonymize   │                                    │
│  │ (CSV/JSON)     │       │ or delete      │                                    │
│  └────────┬───────┘       │ records        │                                    │
│           │               └───────┬────────┘                                    │
│           │                       │                                              │
│           └───────────┬───────────┘                                             │
│                       ▼                                                          │
│  ┌──────────────────────────────────────┐                                       │
│  │ Step 3: Respond within deadline      │                                       │
│  │                                      │                                       │
│  │ POPIA: 30 days                       │                                       │
│  │ GDPR: 30 days (extendable to 90)     │                                       │
│  │                                      │                                       │
│  │ Send response with:                  │                                       │
│  │ • Data export (if access)            │                                       │
│  │ • Confirmation (if erasure)          │                                       │
│  │ • Reason (if refused)                │                                       │
│  └──────────────────────────────────────┘                                       │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

5. Loan Request Workflow

┌─────────────────────────────────────────────────────────────────────────────────┐
│                           LOAN REQUEST WORKFLOW                                  │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│  ┌────────────┐                                                                 │
│  │ Borrower   │                                                                 │
│  │ (Museum/   │                                                                 │
│  │ Gallery)   │                                                                 │
│  └─────┬──────┘                                                                 │
│        │                                                                         │
│        ▼                                                                         │
│  ┌──────────────────┐     ┌──────────────────┐     ┌──────────────────┐        │
│  │    REQUESTED     │────►│    REVIEWING     │────►│    APPROVED      │        │
│  │                  │     │                  │     │                  │        │
│  │ • Create request │     │ • Check avail.   │     │ • Insurance OK   │        │
│  │ • Add items      │     │ • Condition OK?  │     │ • Agreement sent │        │
│  │ • Set dates      │     │ • Security OK?   │     │ • Schedule pickup│        │
│  └──────────────────┘     └────────┬─────────┘     └────────┬─────────┘        │
│                                    │                         │                  │
│                                    │ Rejected                │                  │
│                                    ▼                         ▼                  │
│                           ┌──────────────────┐     ┌──────────────────┐        │
│                           │    DECLINED      │     │    DISPATCHED    │        │
│                           │                  │     │                  │        │
│                           │ • Notify borrower│     │ • Condition check│        │
│                           │ • Close request  │     │ • Pack items     │        │
│                           └──────────────────┘     │ • Ship/deliver   │        │
│                                                    │ • Update location│        │
│                                                    └────────┬─────────┘        │
│                                                             │                   │
│                                                             ▼                   │
│  ┌──────────────────┐     ┌──────────────────┐     ┌──────────────────┐        │
│  │     CLOSED       │◄────│    RETURNED      │◄────│     ON LOAN      │        │
│  │                  │     │                  │     │                  │        │
│  │ • Final report   │     │ • Condition check│     │ • At borrower    │        │
│  │ • Archive docs   │     │ • Inspect damage │     │ • Track status   │        │
│  │ • Update records │     │ • Back to storage│     │ • Insurance valid│        │
│  └──────────────────┘     └──────────────────┘     └──────────────────┘        │
│                                                                                  │
│  ═══════════════════════════════════════════════════════════════════════════   │
│                                                                                  │
│  At Each Stage, the System:                                                     │
│  ├── Logs all actions to audit trail                                           │
│  ├── Sends notifications to stakeholders                                        │
│  ├── Updates loan status in database                                            │
│  └── Triggers condition assessment prompts                                      │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

6. Condition Assessment Workflow

┌─────────────────────────────────────────────────────────────────────────────────┐
│                       CONDITION ASSESSMENT WORKFLOW                              │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│  Triggers:                                                                       │
│  ├── Scheduled review                                                           │
│  ├── Loan dispatch/return                                                       │
│  ├── Damage reported                                                            │
│  └── New acquisition                                                            │
│                                                                                  │
│        ┌─────────────────────────────────────────────────────────────┐          │
│        │                                                             │          │
│        ▼                                                             │          │
│  ┌──────────────────────────────────────────────────────────────────┐│          │
│  │ Step 1: Select Object                                            ││          │
│  │                                                                  ││          │
│  │ Browse → Select Record → Actions → New Condition Assessment      ││          │
│  └──────────────────────────────────────────────────────────────────┘│          │
│        │                                                             │          │
│        ▼                                                             │          │
│  ┌──────────────────────────────────────────────────────────────────┐│          │
│  │ Step 2: Complete Assessment Form                                 ││          │
│  │                                                                  ││          │
│  │ ┌────────────────────────────────────────────────────────────┐  ││          │
│  │ │ Overall Condition:  ○ Excellent ○ Good ● Fair ○ Poor       │  ││          │
│  │ │                                                             │  ││          │
│  │ │ Stability:          ○ Stable ● Unstable ○ Deteriorating    │  ││          │
│  │ │                                                             │  ││          │
│  │ │ Display Suitable:   ● Yes ○ With restrictions ○ No         │  ││          │
│  │ │                                                             │  ││          │
│  │ │ Loan Suitable:      ○ Yes ● With conditions ○ No           │  ││          │
│  │ │                                                             │  ││          │
│  │ │ Priority:           ○ Low ● Medium ○ High ○ Urgent         │  ││          │
│  │ └────────────────────────────────────────────────────────────┘  ││          │
│  └──────────────────────────────────────────────────────────────────┘│          │
│        │                                                             │          │
│        ▼                                                             │          │
│  ┌──────────────────────────────────────────────────────────────────┐│          │
│  │ Step 3: Document Damage/Issues                                   ││          │
│  │                                                                  ││          │
│  │ For each component:                                              ││          │
│  │ ┌──────────────────────────────────────────────────────────┐    ││          │
│  │ │ Component: Frame                                          │    ││          │
│  │ │ Condition: Fair                                           │    ││          │
│  │ │ Damage Type: Cracking                                     │    ││          │
│  │ │ Severity: Moderate                                        │    ││          │
│  │ │ Location: Lower right corner                              │    ││          │
│  │ │ Photo: [Upload]                                           │    ││          │
│  │ └──────────────────────────────────────────────────────────┘    ││          │
│  └──────────────────────────────────────────────────────────────────┘│          │
│        │                                                             │          │
│        ▼                                                             │          │
│  ┌──────────────────────────────────────────────────────────────────┐│          │
│  │ Step 4: Propose Treatment (if needed)                            ││          │
│  │                                                                  ││          │
│  │ ┌──────────────────────────────────────────────────────────┐    ││          │
│  │ │ Treatment Type: Conservation repair                      │    ││          │
│  │ │ Description: Stabilize cracking, consolidate paint       │    ││          │
│  │ │ Estimated Cost: R 15,000                                 │    ││          │
│  │ │ Priority: Medium                                          │    ││          │
│  │ │ Recommended By: [Conservator Name]                        │    ││          │
│  │ └──────────────────────────────────────────────────────────┘    ││          │
│  └──────────────────────────────────────────────────────────────────┘│          │
│        │                                                             │          │
│        ▼                                                             │          │
│  ┌──────────────────────────────────────────────────────────────────┐│          │
│  │ Step 5: Set Next Review Date                                     ││          │
│  │                                                                  ││          │
│  │ Based on condition:                                              ││          │
│  │ • Excellent/Good: 2-5 years                                      ││          │
│  │ • Fair: 1 year                                                   ││          │
│  │ • Poor: 6 months                                                 ││          │
│  │ • Critical: Immediate action                                     ││          │
│  └──────────────────────────────────────────────────────────────────┘│          │
│        │                                                             │          │
│        ▼                                                             │          │
│     ┌──────┐                                                         │          │
│     │ Save │                                                         │          │
│     └──────┘                                                         │          │
│                                                                      │          │
│  System automatically:                                               │          │
│  ├── Adds assessment to object's condition history                  │          │
│  ├── Updates loan suitability flags                                 │          │
│  ├── Schedules next review reminder                                 │          │
│  └── Logs to audit trail                                            │          │
│                                                                      │          │
└─────────────────────────────────────────────────────────────────────────────────┘

7. Security Classification Workflow

┌─────────────────────────────────────────────────────────────────────────────────┐
│                      SECURITY CLASSIFICATION WORKFLOW                            │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│  Classification Levels (NARSSA-aligned):                                        │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │ Level │ Code │ Color   │ Access                                         │   │
│  ├───────┼──────┼─────────┼────────────────────────────────────────────────┤   │
│  │   0   │  U   │ Green   │ Unclassified - Public access                   │   │
│  │   1   │  R   │ Blue    │ Restricted - Staff only                        │   │
│  │   2   │  C   │ Yellow  │ Confidential - Need-to-know                    │   │
│  │   3   │  S   │ Orange  │ Secret - Cleared personnel                     │   │
│  │   4   │  TS  │ Red     │ Top Secret - Special clearance                 │   │
│  └───────┴──────┴─────────┴────────────────────────────────────────────────┘   │
│                                                                                  │
│  ┌─────────────────────────────────────────────────────────────────────────┐   │
│  │                    CLASSIFYING A RECORD                                  │   │
│  └─────────────────────────────────────────────────────────────────────────┘   │
│                                                                                  │
│        ┌────────────────┐                                                       │
│        │ Create/Edit    │                                                       │
│        │ Record         │                                                       │
│        └───────┬────────┘                                                       │
│                │                                                                 │
│                ▼                                                                 │
│  ┌──────────────────────────────────────────────────────────────────┐          │
│  │ Security Classification Panel (sidebar)                          │          │
│  │                                                                  │          │
│  │ ┌──────────────────────────────────────────────────────────┐    │          │
│  │ │ Classification: [Dropdown: U/R/C/S/TS]                   │    │          │
│  │ │                                                          │    │          │
│  │ │ Reason for classification:                               │    │          │
│  │ │ ┌────────────────────────────────────────────────────┐  │    │          │
│  │ │ │ Contains personal medical records                  │  │    │          │
│  │ │ └────────────────────────────────────────────────────┘  │    │          │
│  │ │                                                          │    │          │
│  │ │ Review Date: [Date picker]                               │    │          │
│  │ │                                                          │    │          │
│  │ │ Handling Instructions:                                   │    │          │
│  │ │ ┌────────────────────────────────────────────────────┐  │    │          │
│  │ │ │ Do not copy. Reading room access only.             │  │    │          │
│  │ │ └────────────────────────────────────────────────────┘  │    │          │
│  │ └──────────────────────────────────────────────────────────┘    │          │
│  └──────────────────────────────────────────────────────────────────┘          │
│                │                                                                 │
│                ▼                                                                 │
│  ┌──────────────────────────────────────────────────────────────────┐          │
│  │ ACCESS CONTROL (automatic)                                        │          │
│  │                                                                  │          │
│  │   User Clearance Level    Can Access                             │          │
│  │   ──────────────────────  ──────────────────────────────────     │          │
│  │   0 (Public)              U only                                 │          │
│  │   1 (Staff)               U, R                                   │          │
│  │   2 (Researcher+)         U, R, C                                │          │
│  │   3 (Manager)             U, R, C, S                             │          │
│  │   4 (Director)            U, R, C, S, TS                         │          │
│  │                                                                  │          │
│  │   Record classified as C will:                                   │          │
│  │   • Be hidden from public browse                                 │          │
│  │   • Require login to view                                        │          │
│  │   • Only show to users with clearance ≥ 2                       │          │
│  │   • Log all access attempts                                      │          │
│  └──────────────────────────────────────────────────────────────────┘          │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

Part of the AtoM AHG Framework - v2.1.17