Skip to content

Activities

Josh edited this page Jul 2, 2024 · 23 revisions

Activities is a plugin that tracks and manages the process of authorizing members for the participation in various activities. The following pages and tabs are part of the Activities plugin:

erDiagram
    activities_activities {
        int activity_group_id FK 
        datetime created 
        int created_by 
        datetime deleted 
        int grants_role_id 
        int id PK 
        int maximum_age 
        int minimum_age 
        datetime modified 
        int modified_by 
        varchar name UK 
        int num_required_authorizors 
        int num_required_renewers 
        int permission_id FK 
        int term_length 
    }

    activities_activity_groups {
        datetime created 
        int created_by 
        datetime deleted 
        int id PK 
        datetime modified 
        int modified_by 
        varchar name UK 
    }

    activities_authorization_approvals {
        tinyint approved 
        int approver_id FK 
        varchar approver_notes 
        int authorization_id FK 
        varchar authorization_token 
        int id PK 
        datetime requested_on 
        datetime responded_on 
    }

    activities_authorizations {
        int activity_id FK 
        int approval_count 
        timestamp created 
        datetime expires_on 
        int granted_member_role_id FK 
        int id PK 
        tinyint is_renewal 
        int member_id FK 
        varchar revoked_reason 
        int revoker_id 
        datetime start_on 
        varchar status 
    }

    activities_activities }o--|| activities_activity_groups : "activity_group_id"
    activities_activities }o--|| permissions : "permission_id"
    activities_authorizations }o--|| activities_activities : "activity_id"
    activities_authorization_approvals }o--|| activities_authorizations : "authorization_id"
    activities_authorization_approvals }o--|| members : "approver_id"
    activities_authorizations }o--|| member_roles : "granted_member_role_id"
    activities_authorizations }o--|| members : "member_id"
Loading

Pages

  • Config / Activity Groups
  • Config / Activities
  • Members / [member sca name] / My Auth Queue
  • Members / Members / Auth Queues
  • Reports / Activity Authorizations

Tabs that show activity data

  • Member View: Activities Tab
  • Permissions: Activities Tab

Other Integrations

  • The Member card has data injected from the Activities plugin

Activity Groups

image Activity Groups are a basic organization of Activities

Fields:

  • Name: Must be unique
  • List of Activities

Activity

image An Activity is something that a member can be authorized in

Fields:

  • Name: Must be unique
  • Authorized By: The specific Permission that can authorize this Activity
  • Grants Role: The role that that a user with this authorization has for the length of their authorization
  • Length: Number of years an authorization is good for before it expires
  • Min Age: The minimum age of someone to get this authorization
  • Max Age: The maximum age of someone who gets this authorization
  • num. of Authorizations: The number of different people who have to approve an authorization before it is active
  • num. of Renewal: The number of different people who have to approve a renewal before the current authorization is replaced with a renewed authorization.

Authorization Workflow

graph TD;
    ar[Auth Request]-->ap[Approver Review];
    ap--approve-->cc[Do we need more approvals?];
    ap--deny-->no[Approval Denied with Reason];
    cc--yes-->apn[Current Approver picks next Approver]
    apn-->ap
    cc-- no -->yes[Approve and Activate]
Loading
Clone this wiki locally