Split the monolithic MODULE__AE_Events_PressMgmt_Launcher.md into focused, granular modules to improve maintainability and onsite utility. - Created MODULE__AE_Events_Presentation_Management.md (Back-office focus) - Created MODULE__AE_Events_Launcher.md (Podium display focus) - Created GUIDE__AE_Events_Onsite_Runbook.md (SRR and onsite workflows) - Promoted PROJECT__AE_Events_Launcher_Native_integration.md to MODULE__AE_Events_Launcher_Native.md (Permanent technical reference) - Renamed 'Press Mgmt' references to 'Presentation Management' for clarity. - Removed redundant README.md in launcher route. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
140 lines
6.3 KiB
Markdown
140 lines
6.3 KiB
Markdown
# Aether Events — Presentation Management
|
|
|
|
The Presentation Management module handles the full lifecycle of conference content: sessions, presentations, presenters, presentation files, and room/location assignments. It serves as the "Back Office" interface for event staff.
|
|
|
|
---
|
|
|
|
## Data Model
|
|
|
|
### Object Hierarchy
|
|
|
|
```text
|
|
Event
|
|
├── Event File (walk-in/out, hold slides for the whole event)
|
|
├── Location (physical room — assigned to Sessions, not the other way around)
|
|
├── Track (optional grouping; rarely used)
|
|
└── Session (time block; Location assigned here, but may be unset initially)
|
|
├── Session File (moderator slides, group/hold slides for this session)
|
|
└── Presentation (a talk within the session; must belong to exactly one Session)
|
|
└── Presenter (belongs to exactly one Presentation)
|
|
└── Presenter File (their slides/materials — the common case)
|
|
```
|
|
|
|
> **Import note:** When program data is initially imported (sessions, presentations,
|
|
> presenters), Locations are often not assigned to Sessions yet — rooms may not be
|
|
> finalized or the venue's room list may not be set up in Aether. Location assignment
|
|
> typically happens as a separate step once the room list is confirmed.
|
|
|
|
### Relationships
|
|
|
|
- **Session → Location:** Many-to-one. A Session is assigned to one Location; a Location
|
|
hosts many Sessions across the event timeline. Location may be null initially.
|
|
- **Presentation → Session:** Many-to-one. A Presentation belongs to exactly one Session.
|
|
A Session can have many Presentations (or none, for session-only setups).
|
|
- **Presenter → Presentation:** Many-to-one. A Presenter belongs to exactly one Presentation.
|
|
Optionally linked to an `event_person_id` for cross-referencing the person record.
|
|
- **Event File:** Can be attached at any level — Presenter, Presentation, Session,
|
|
Location, or Event. See the File Attachment Levels table.
|
|
|
|
### File Attachment Levels
|
|
|
|
Files (`event_file`) can be attached at five levels:
|
|
|
|
| Level | When Used | Typical Content |
|
|
|---|---|---|
|
|
| **Presenter** | 99% of the time for individual speakers | Their PowerPoint/PDF/video |
|
|
| **Session** | Moderator slides; group/hold content for a specific session | "Session 3 — Group Discussion.pptx" |
|
|
| **Location** | Walk-in/out or hold slides for a room across all sessions | Looped PPTX playing between sessions |
|
|
| **Event** | Walk-in/out or hold slides used everywhere | Looped PPTX; branding overlay |
|
|
| **Presentation** | File attached to the presentation record itself (less common) | Varies |
|
|
|
|
### Key Objects
|
|
|
|
| Object | Table | Purpose |
|
|
|---|---|---|
|
|
| Session | `event_session` | Time block; Location and datetime range assigned here |
|
|
| Location | `event_location` | Physical room |
|
|
| Presentation | `event_presentation` | A talk within a session; belongs to exactly one Session |
|
|
| Presenter | `event_presenter` | Person linked to exactly one Presentation |
|
|
| Event Person | `event_person` | Person record within the event context |
|
|
| Event File | `event_file` | Uploaded file; attached at Presenter, Presentation, Session, Location, or Event level |
|
|
|
|
---
|
|
|
|
## Client Setup Variation
|
|
|
|
There are no rigid "modes" — events are configured with as much or as little structure
|
|
as needed. The platform handles the full range:
|
|
|
|
**Minimal setup (BGH):**
|
|
Sessions have room and time info. No Presentations or Presenters defined.
|
|
Staff upload files directly at the session or location level onsite.
|
|
|
|
**Mid-range setup:**
|
|
Sessions defined with named Presentations. Presenters may or may not be tracked.
|
|
Mix of pre-uploaded and onsite files. QR codes may be used for quick session/presenter lookup.
|
|
|
|
**Full setup (LCI):**
|
|
Sessions, Presentations, Presenters all defined and managed. External ID labeling
|
|
(e.g., "LCI Member ID"). Agreement tracking for presenters. Files managed per-presenter.
|
|
|
|
The config that drives this is `event.mod_pres_mgmt_json` — see the Configuration section.
|
|
|
|
---
|
|
|
|
## Configuration — `mod_pres_mgmt_json`
|
|
|
|
The event's Presentation Management behavior is controlled by `event.mod_pres_mgmt_json`.
|
|
|
|
### Convention
|
|
|
|
| Prefix | Default state | Meaning |
|
|
|---|---|---|
|
|
| `hide__` | `false` = visible | Feature is ON by default; set `true` to suppress |
|
|
| `show__` | `false` = hidden | Feature is OFF by default; set `true` to enable |
|
|
|
|
### Common Config Keys
|
|
|
|
| Key | Default | Notes |
|
|
|---|---|---|
|
|
| `lock_config` | `false` | `true` = force remote→local sync; prevents user overrides of local config |
|
|
| `hide__session_code` | `false` | Hide session code column/field |
|
|
| `hide__session_description` | `false` | Hide session description field |
|
|
| `hide__session_location` | `false` | Hide location field on session view |
|
|
| `hide__session_datetime` | `false` | Hide datetime fields |
|
|
| `hide__presentation_code` | `false` | Hide presentation code |
|
|
| `hide__presenter_code` | `false` | Hide presenter code |
|
|
| `hide__location_code` | `false` | Hide location code |
|
|
| `show__launcher_link` | `false` | Show direct Launcher link in session view |
|
|
| `show__session_qr` | `false` | Show QR code for session (SRR lookup) |
|
|
| `show__presenter_qr` | `false` | Show QR code for presenter (SRR lookup) |
|
|
| `label__person_external_id` | `null` | Override label for external ID field (e.g., `"Member ID"`) |
|
|
| `label__session_poc_name` | `null` | Override label for session POC (e.g., `"Champion"`) |
|
|
| `file_purpose_option_kv` | `{}` | Key-value map of file purpose options (e.g., `{"ppt": "PowerPoint", "pdf": "PDF"}`) |
|
|
|
|
---
|
|
|
|
## Route Map (Administration)
|
|
|
|
| URL | Purpose |
|
|
|---|---|
|
|
| `/events/[id]/pres_mgmt` | Overview — sessions list, search, filter by location |
|
|
| `/events/[id]/pres_mgmt/config` | Config editor (admin only) |
|
|
| `/events/[id]/session/[session_id]` | Session detail — files, presentations, timing, alert |
|
|
| `/events/[id]/presenter/[presenter_id]` | Presenter detail — bio, files, agreement, alert |
|
|
| `/events/[id]/location/[location_id]` | Location detail — session schedule for this room, alert |
|
|
| `/events/[id]/locations` | All locations list |
|
|
| `/events/[id]/reports` | Reports — sessions, presenters, files |
|
|
|
|
---
|
|
|
|
## Access Levels
|
|
|
|
| Feature | Minimum Access |
|
|
|---|---|
|
|
| View pres_mgmt overview | `authenticated_access` |
|
|
| Upload files | `authenticated_access` |
|
|
| Edit sessions / presentations | `trusted_access` |
|
|
| Edit config | `administrator_access` + `edit_mode` |
|
|
| Device management | `administrator_access` |
|