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
87 sites
47
drupal.org

Install

Drupal 11, 10 v2.0.2
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
Event Details /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.

Session Schedule /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.

Schedule Settings Form /admin/event-details/scheduler/settings

Configure which content types, workflow states, and filters are available in the session scheduler interface.

Generate Time Slots /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
Edit any session content

Required to access the session scheduler and assign/unassign sessions to rooms and time slots

Administer site configuration

Required to access the scheduler settings form

Edit terms in time_slot vocabulary

Required to access the time slots bulk generation tool

Flag My Schedule

Allows users to add sessions to their personal schedule

Unflag My Schedule

Allows users to remove sessions from their personal schedule

View Room field

Allows viewing the room assignment on sessions

View Time Slot field

Allows viewing the time slot assignment on sessions

Edit Room field

Allows editing the room assignment on sessions

Edit Time Slot field

Allows editing the time slot assignment on sessions

Accept Session

Allows accepting proposed sessions

Reject Session

Allows rejecting proposed sessions

Waitlist Session

Allows placing sessions on the waitlist

Confirm Session

Allows speakers to confirm they will present an accepted session

Decline Session

Allows speakers to decline presenting an accepted session

Propose Session

Allows speakers to submit session proposals

View Event Details config page

Allows viewing the event details configuration page

Edit Event Details config page

Allows editing the event details configuration page

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.