# 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` |