Skip to the content.

← Back to Plugin Architecture

5.2 Awards Plugin

Last Updated: July 17, 2025
Status: Complete
Plugin: Awards

The Awards plugin manages the comprehensive award recommendation and processing system for the kingdom, implementing a sophisticated state machine-based workflow for managing the complete recommendation lifecycle from submission through ceremonial presentation.

Purpose

This plugin provides a complete award management system that enables:

Architecture Overview

The Awards plugin implements a sophisticated architecture combining hierarchical award organization with flexible workflow management:

Core Components

Data Model

classDiagram
    class Award {
        +id: int
        +name: string
        +description: text
        +domain_id: int
        +level_id: int
        +branch_id: int
        +specialties: json
        +active: bool
        +created: datetime
        +modified: datetime
    }
    
    class Domain {
        +id: int
        +name: string
        +description: text
        +active: bool
        +created: datetime
        +modified: datetime
    }
    
    class Level {
        +id: int
        +name: string
        +description: text
        +progression_order: int
        +active: bool
        +created: datetime
        +modified: datetime
    }
    
    class Recommendation {
        +id: int
        +requester_id: int
        +member_id: int
        +branch_id: int
        +award_id: int
        +event_id: int
        +status: string
        +state: string
        +state_date: datetime
        +given: datetime
        +stack_rank: int
        +requester_sca_name: string
        +member_sca_name: string
        +contact_number: string
        +contact_email: string
        +reason: text
        +specialty: string
        +call_into_court: string
        +court_availability: string
        +person_to_notify: string
        +close_reason: string
        +created: datetime
        +modified: datetime
    }
    
    class Event {
        +id: int
        +name: string
        +start_date: date
        +end_date: date
        +closed: bool
        +active: bool
        +created: datetime
        +modified: datetime
    }
    
    class RecommendationsStatesLog {
        +id: int
        +recommendation_id: int
        +from_status: string
        +to_status: string
        +from_state: string
        +to_state: string
        +changed_by: int
        +created: datetime
    }
    
    Domain "1" -- "0..*" Award
    Level "1" -- "0..*" Award
    Award "1" -- "0..*" Recommendation
    Recommendation "0..*" -- "0..*" Event
    Recommendation "1" -- "0..*" RecommendationsStatesLog

Award Recommendation Workflow

The Awards plugin implements a sophisticated dual-tracking state machine for managing recommendation workflows:

Status/State Dual Tracking System

The system uses both Status (high-level category) and State (specific workflow position) for granular control:

Status Categories

Detailed State Machine

stateDiagram-v2
    [*] --> Submitted
    
    state InProgress {
        state "In Progress" as IP
        Submitted --> InConsideration: Review Started
        InConsideration --> AwaitingFeedback: Need Information
        AwaitingFeedback --> InConsideration: Information Received
        InConsideration --> DeferredTillLater: Delayed
        DeferredTillLater --> InConsideration: Review Resumed
        InConsideration --> KingApproved: Crown Approval
        InConsideration --> QueenApproved: Crown Approval
        KingApproved --> QueenApproved: Joint Approval
        QueenApproved --> KingApproved: Joint Approval
    }
    
    KingApproved --> NeedToSchedule: Ready for Event
    QueenApproved --> NeedToSchedule: Ready for Event
    
    state Scheduling {
        NeedToSchedule --> Scheduled: Event Assigned
    }
    
    state ToGive {
        state "To Give" as TG
        Scheduled --> AnnouncedNotGiven: Court Announced
        AnnouncedNotGiven --> Given: Award Presented
    }
    
    state Closed {
        Given --> [*]
        NoAction --> [*]
    }
    
    Submitted --> NoAction: Declined
    InConsideration --> NoAction: Declined
    AwaitingFeedback --> NoAction: Declined
    DeferredTillLater --> NoAction: Declined

State Rules and Business Logic

Each state has specific rules governing field visibility, requirements, and transitions:

State-Specific Rules

Need to Schedule:

Scheduled:

Given:

No Action:

Workflow Integration Points

Event Management Integration

Member Management Integration

Administrative Workflows

Award Hierarchy Management

Domain/Level Organization

Awards are organized in a hierarchical structure:

Award Domains

Award Levels

Branch Integration

Award Configuration

Each award includes:

Event Management and Temporal Coordination

Event Lifecycle

Award events coordinate the ceremonial presentation of awards:

Event Types

Temporal Validation

Administrative Management

Recommendation-Event Integration

Assignment Workflow

  1. Approval: Recommendations move to “Need to Schedule” state
  2. Event Assignment: Administrative assignment to appropriate events
  3. Ceremony Preparation: Stack ranking and court protocol preparation
  4. Presentation: Award ceremony execution with completion tracking

Stack Ranking System

User Interface and Workflow Management

Tabular Display Mode

Comprehensive table interface for recommendation management:

Advanced Filtering

Data Export Capabilities

Kanban Board Interface

Visual workflow management with drag-and-drop functionality:

Interactive State Management

Permission-Based Columns

Bulk Operations Management

Administrative efficiency tools for large-scale operations:

Multi-Selection Operations

Administrative Efficiency

Authorization and Security Architecture

Multi-Level Authorization

The Awards plugin implements sophisticated authorization controls:

Entity-Level Authorization

Permission-Based Features

Dual Ownership Model

Security Considerations

Data Protection

Workflow Integrity

Integration Points

Member Management Integration

Branch Hierarchy Integration

Core System Integration

Limited API Integration

Administrative Features

Recommendation Queue Management

Award Configuration Management

Reporting and Analytics

Audit Trail and Compliance

Key Features

References