Event Platform 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.

87
sites
47
Stars
Drupal 10 · Drupal 11
Compatible
GNU General Public License, version 2 or later
License

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).

Install

Drupal 11, 10 v2.0.2
composer require 'drupal/event_platform:^2.0'

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

Dependencies

Related Projects

ECA (Event-Condition-Action)

Used extensively for automation including: sending email notifications when sessions are accepted/rejected, automatically setting the current event on new content, managing speaker registration, processing confirmation deadlines, and bulk operations for session moderation.

Config Pages

Provides the Event Details configuration page at /admin/event-details for managing event information, current event selection, and homepage content.

Content Moderation

Powers both the Event Planning workflow (for event terms) and Session Acceptance workflow (for sessions) with custom states and transitions.

Flag

Enables the personal schedule feature allowing users to flag sessions and BOFs they want to attend.

Webform

Provides the session evaluation form for collecting ratings after sessions are presented.

Smart Date

Handles date/time formatting for time slots and event dates with intelligent display of date ranges.

Storage

Provides CTA (Call-to-Action) entities for configurable header buttons and stat entities for homepage statistics.

Schema.org Metatag

Adds structured data markup for SEO, with Schema.org types configured for events, sessions, speakers, and sponsors.

Admin Pages

Title Path Description
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

Permission Description
Required to access the session scheduler and assign/unassign sessions to rooms and time slots
Required to access the scheduler settings form
Required to access the time slots bulk generation tool
Allows users to add sessions to their personal schedule
Allows users to remove sessions from their personal schedule
Allows viewing the room assignment on sessions
Allows viewing the time slot assignment on sessions
Allows editing the room assignment on sessions
Allows editing the time slot assignment on sessions
Allows accepting proposed sessions
Allows rejecting proposed sessions
Allows placing sessions on the waitlist
Allows speakers to confirm they will present an accepted session
Allows speakers to decline presenting an accepted session
Allows speakers to submit session proposals
Allows viewing the event details configuration page
Allows editing the event details configuration page

Hooks

Hook Description
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.

Meta

Author
mandclu
License
GNU General Public License, version 2 or later
Security
Covered
Created
2022/01/26
Updated
2025/07/14