Appearance
Event Permissioning Business Logic
⚠️ Implementation Status: The permissioning system described in this document is not yet implemented. This is planning documentation for future development. The data models will be implemented first as part of the event planning feature.
This document outlines the comprehensive business logic and flows for event permissioning in Jubiloop, covering permission hierarchies, cascades, and the three distinct access types.
Overview
Event permissioning operates on a hierarchical system where permissions automatically cascade from higher levels to lower levels. The system supports three distinct access types:
- Personnel: Text-based entries for event staff roles with NO system permissions
- Collaborators: Organization members with event-level access that cascades down to all blocks and tasks
- Assignees: Organization members assigned to specific tasks with minimal scoped permissions
Permission Hierarchy & Cascades
Hierarchy Structure
Organization Level
├── Event Level (Collaborators)
├── Block Level (Inherited from Event)
└── Task Level (Inherited + Direct Assignees)1
2
3
4
2
3
4
Automatic Cascading Rules
Event-level permissions cascade down automatically
- Event collaborators can access all blocks within the event
- Event collaborators can access all tasks within all blocks
- No explicit permissions needed at block or task level for collaborators
Task-level permissions are minimal and scoped
- Task assignees get permission to manage only their specific task
- Task assignees get read-only view permission for the parent block
- Task assignees cannot delete their assigned tasks
- Task assignees cannot access other tasks or blocks in the event
Permission Resolution Order
- Organization membership permissions (highest)
- Event collaborator permissions (cascades down)
- Direct task assignee permissions (minimal, scoped)
Event Creation Flow
Initial Permission Assignment
When an event is created:
Event Creator becomes Owner
- Automatically granted full event permissions
- Can manage all aspects of the event
- Can invite collaborators and assign tasks
Automatic Permission Cascade
- Owner permissions automatically cascade to all blocks and tasks
- No manual permission assignment needed for creator
- Creator can access all current and future content in the event
Three Access Types
1. Personnel (Text-Based, No System Permissions)
- Purpose: Track event staff roles and responsibilities
- Nature: Simple text entries for record-keeping
- System Access: None - purely informational
- Examples: "Head Chef: John Smith", "Security Lead: Jane Doe"
- Management: Can be added/edited by event collaborators
2. Collaborators (Event-Level Access)
- Purpose: Grant comprehensive event access to organization members
- Scope: Full event access that cascades to all blocks and tasks
- Permissions Include:
- View/edit event details
- Manage all blocks within the event
- Assign tasks to organization members
- Invite additional collaborators
- Move blocks between draft and plans
3. Assignees (Task-Specific Access)
- Purpose: Grant minimal access for specific task completion
- Scope: Limited to assigned task and parent block view
- Permissions Include:
- Manage assigned task (edit, update status, add comments)
- View parent block (read-only)
- Cannot delete assigned task
- Cannot access other tasks or event areas
Collaborator Invitation Flow
Guest Member Auto-Creation
When non-organization members are invited as collaborators:
Automatic Guest Membership
- Non-org member is automatically added as guest member
- Guest membership is limited and event-focused
- Guest cannot access other organization events by default
Permission Inheritance
- Guest member gains event collaborator permissions
- Permissions cascade normally to blocks and tasks
- Guest can participate fully in the specific event
Guest Member Limitations
- Cannot invite other collaborators (unless specifically granted)
- Cannot access organization-wide features
- Membership tied to event participation
Task Assignment Flow
Assignment Rules
Organization Member Requirement
- Only organization members can be assigned to tasks
- This includes guest members auto-added through collaboration
- External users must become collaborators first
Automatic Permission Granting
- Task assignee receives minimal task management permissions
- Assignee receives read-only parent block view permission
- No additional event-level access granted
Multiple Assignments
- Users can be assigned to multiple tasks
- Each assignment grants specific permissions for that task
- Permissions accumulate for multiple task assignments
Collaborator Removal Flow
Removal Impact Scenarios
Collaborator with No Task Assignments
- Immediate removal of all event permissions
- Cannot access any part of the event
- Clean removal with no complications
Collaborator with Task Assignments - Keep Assignments
- Event-level permissions removed
- Task assignment permissions retained
- User can only access assigned tasks and parent blocks
- Minimal system access maintained
Collaborator with Task Assignments - Remove Assignments
- All event permissions removed
- Task assignments removed
- Tasks become unassigned
- Complete disconnection from event
Member Lifecycle Management
Organization Joining
Organization Leaving
Member Lifecycle Rules
Joining Organization
- Becomes eligible for task assignments
- Can be invited as event collaborator
- Existing event permissions unaffected unless explicitly granted
Leaving Organization
- Automatic removal from all event collaborations
- Task assignments handled per event removal flow
- Cannot be assigned to new tasks
- Existing minimal task permissions may be retained based on removal choices
Block Movement Between Draft and Plans
Movement Rules
Permission Inheritance
- Block permissions move with the block
- Task assignments remain intact
- Collaborator access continues regardless of block location
Access Continuity
- Event collaborators maintain access in both draft and plans
- Task assignees continue to access their tasks
- No permission recalculation needed
Organizational Visibility
- Draft blocks: Limited to event collaborators and task assignees
- Plan blocks: Same permission model, different organizational context
Permission Resolution Logic
Resolution Priority Order
Organization-Level Permissions (Highest)
- Organization admin/owner permissions
- Override all event-level permissions
Event Collaborator Permissions (Cascading)
- Full event access
- Automatically includes all blocks and tasks
- Takes precedence over task-specific assignments
Task Assignee Permissions (Minimal)
- Limited to specific task and parent block
- Only applies when no higher-level permissions exist
- Most restrictive permission level
Resolution Examples
User is both Collaborator and Task Assignee
- Collaborator permissions take precedence
- Full event access granted
- Task assignment becomes redundant but remains for tracking
User is Organization Admin and Task Assignee
- Organization admin permissions take precedence
- Full system access granted
- Task assignment maintained for workflow purposes
User is only Task Assignee
- Minimal task permissions applied
- Limited to assigned task and parent block view
- Cannot access other event areas
Security Considerations
Permission Validation
Real-Time Validation
- Permissions checked on every access attempt
- No cached permission states that could become stale
- Dynamic resolution based on current relationships
Cascade Integrity
- Higher-level permissions automatically grant lower-level access
- No orphaned permissions when relationships change
- Consistent permission state across hierarchy
Guest Member Security
- Guest members limited to specific event scope
- Cannot escalate to full organization membership
- Automatic cleanup when event participation ends
Data Protection
Minimal Permission Principle
- Task assignees get only necessary permissions
- No over-granting of access rights
- Clear permission boundaries
Audit Trail
- All permission changes tracked
- Collaborator additions/removals logged
- Task assignment changes recorded
Access Revocation
- Immediate permission removal when relationships end
- No lingering access after collaboration ends
- Clean separation of access rights
Business Impact Summary
For Event Organizers
- Simplified Management: Permissions cascade automatically, reducing manual setup
- Flexible Collaboration: Easy to invite both organization members and external collaborators
- Granular Control: Can assign specific tasks without granting full event access
- Clean Removal: Clear options when removing collaborators with task assignments
For Collaborators
- Comprehensive Access: Event collaboration provides full event visibility and control
- Automatic Inheritance: No need to request individual block or task permissions
- Role Clarity: Clear distinction between collaboration and task assignment roles
For Task Assignees
- Focused Access: Only see what's needed for task completion
- Protected Scope: Cannot accidentally affect other event areas
- Clear Boundaries: Understand exactly what they can and cannot access
For Organization Administrators
- Member Control: Full visibility into who has access to what events
- Guest Management: Automatic handling of external collaborator memberships
- Security Assurance: Clear permission hierarchy with predictable cascading rules