Event Platform
A comprehensive suite of modules providing preconfigured features for creating Drupal Camp or similar event websites, including session management, sponsors, speakers, and scheduling functionality.
event_platform
Install
composer require 'drupal/event_platform:^2.0'
Overview
Event Platform is a collection of Drupal modules designed specifically for creating event websites such as Drupal Camps, conferences, and similar gatherings. It provides a complete solution for managing all aspects of an event including session proposals, sponsor listings, featured speakers, and detailed scheduling.
The module includes a robust workflow system for session management, allowing speakers to propose sessions which can then be reviewed, accepted, waitlisted, or rejected by session moderators. Accepted sessions can be scheduled using a drag-and-drop interface that assigns sessions to specific rooms and time slots.
Event Platform also provides functionality for attendees to create personal schedules by flagging sessions they want to attend, rate sessions after the event, and browse job listings from sponsors. The module supports multiple events with different workflow states (Save the Date, Sessions Open, Sessions Closed, Scheduled, Underway, Complete).
Features
- Complete event management system with configurable event details page at /admin/event-details
- Session proposal and approval workflow with states: Proposed, Accepted, Waitlisted, Rejected, Confirmed, Declined
- Interactive drag-and-drop session scheduler for assigning sessions to rooms and time slots
- Sponsor management with configurable sponsorship tiers (In Kind, Bronze, Silver, Gold, Platinum)
- Featured speakers content type for highlighting keynote speakers
- Job listings functionality allowing sponsors to post job opportunities
- Personal schedule feature allowing attendees to flag sessions they want to attend
- Session evaluation and rating system using Webform integration
- Event planning workflow with states: Draft, Save the Date, Sessions Open, Sessions Closed, Scheduled, Underway, Complete
- Automatic email notifications when session proposals are accepted or rejected using ECA
- Birds of a Feather (BOF) session type for informal discussions
- Homepage hero block, header CTA block, and copyright block for theming
- Time slot bulk generation tool for quickly creating event schedules
- SEO optimization with Schema.org metatags for events, sessions, speakers, and organizations
- Olivero theme integration with automatic block placement
Use Cases
Drupal Camp Session Management
Create a DrupalCamp website where attendees can propose sessions during an open submission period. Session moderators review proposals, accept or reject them, and schedule accepted sessions into rooms and time slots. Speakers receive automatic notifications and must confirm their session before it's published on the schedule.
Conference with Multiple Tracks
Organize a multi-track conference using the Session Category taxonomy to categorize sessions (e.g., Development, Design, Site Building). Use the scheduler filters to view and schedule sessions by track, ensuring balanced content across all rooms.
Event Sponsor Showcase
Display event sponsors organized by sponsorship tier on a dedicated sponsors page. Each tier (Platinum, Gold, Silver, Bronze, In Kind) is displayed in its own section. Sponsors can also post job listings that appear on a careers page.
Community Event Series
Manage multiple events (annual camps, regional meetups) using the Event vocabulary. Each event has its own workflow state tracking where it is in the planning process. Switch between events using the Current Event setting to manage sessions and details for each event independently.
Attendee Personal Schedule
Allow registered attendees to build their personal conference schedule by flagging sessions they want to attend. The My Schedule view shows their selected sessions organized by time slot, helping them plan their conference experience.
Post-Event Session Evaluation
Collect feedback on sessions after the event using the Session Evaluation webform. Session moderators can view aggregated ratings to identify the most popular sessions and speakers for future events.
Tips
- Install event_platform_olivero if using the Olivero theme to automatically place all blocks in their intended regions
- Use the Time Slots generator to quickly create your entire event schedule - set start/end dates, list your session start times, and specify duration
- Configure the Header CTA block to show different calls-to-action based on event state (e.g., 'Submit a Session' during open submission, 'Register Now' when registration opens)
- The scheduler highlights scheduling conflicts when dragging a session - it shows when the same presenter already has a session at a different time slot
- Session moderators can use bulk operations (Accept, Reject, Waitlist) from the Session Moderation view to process multiple proposals quickly
- Speakers automatically receive the 'create session content' permission when sessions are open for the current event, and lose it when sessions close
Technical Details
Admin Pages 4
/admin/event-details
Config page for managing core event information including the current event, organization name, homepage description, homepage media CTA, event program, and event statistics. This is the central hub for configuring your event website.
/admin/event-details/scheduler
Interactive drag-and-drop interface for scheduling sessions. Displays a grid of rooms (columns) and time slots (rows) where sessions can be dragged from the sidebar and dropped into appropriate slots. Sessions already assigned to slots are displayed in their positions and can be moved or unassigned.
/admin/event-details/scheduler/settings
Configure which content types, workflow states, and filters are available in the session scheduler interface.
/admin/event-details/scheduler/time_slots
Bulk generate time slot taxonomy terms for your event schedule. Specify date range, start times, and duration to automatically create all necessary time slots.
Permissions 17
Hooks 1
hook_query_moderation_state_alter
Alters entity queries tagged with 'moderation_state' to filter by specific workflow states. Used by the scheduler to filter sessions by moderation state.