manuxi/sulu-event-bundle

Event management bundle for Sulu CMS with calendar, recurrence, and social features

Installs: 124

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 1

Forks: 4

Open Issues: 0

Type:symfony-bundle

pkg:composer/manuxi/sulu-event-bundle


README

php workflow symfony workflow License: MIT GitHub Tag Github Release Supports Sulu 2.6 or later

๐Ÿ‡ฉ๐Ÿ‡ช German Version

The SuluEventBundle extends Sulu CMF with comprehensive event management. It enables the creation and management of events with detailed information, locations, media and multilingual support. Advanced features such as recurring events, a calendar frontend, iCal export and social media integration are also included. This bundle is based on the Sulu Workshop and has been equipped with more and more features over time.

img.png

โœจ Features

๐Ÿ“… Event Management

  • Extensive Event Details - Title, subtitle, summary, text, and more
  • Date & Time - Flexible start/end dates
  • Locations - Separate location management with address details
  • Media Integration - Hero images, image galleries, PDF attachments
  • SEO & Excerpt - Full SEO and excerpt management
  • Multilingual - Full translation support
  • Author Management - Assign contacts as event authors
  • Settings - Extensive configuration options
  • More - Trash, automations, etc.

๐Ÿ”„ Advanced Features

  • Recurring Events - Daily, weekly, monthly, yearly patterns with exceptions
  • Social Media Integration - Per-event sharing configuration (Facebook, Twitter, LinkedIn, Instagram, WhatsApp)
  • Calendar - FullCalendar.js integration with year/month/week/list view
  • iCal Export - Single events or full calendar subscriptions (webcal://)
  • RSS/Atom Feeds - Keep subscribers updated on new events
  • Smart Content - Usable as a content block in any Sulu page

๐Ÿ“‹ Prerequisites

  • PHP 8.2 or higher
  • Sulu CMS 2.6 or higher
  • Symfony 6.2 or higher
  • MySQL 5.7+ / MariaDB 10.2+ / PostgreSQL 11+

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿญ Installation

Step 1: Install the package

composer require manuxi/sulu-event-bundle

If you are not using Symfony Flex, add the bundle to config/bundles.php:

return [
    //...
    Manuxi\SuluEventBundle\SuluEventBundle::class => ['all' => true],
];

Step 2: Configure routes

Add to routes_admin.yaml:

SuluEventBundle:
    resource: '@SuluEventBundle/Resources/config/routes_admin.yaml'

For FullCalendar integration/iCal/Feeds, the following must be added to routes_website.yaml:

SuluEventBundle:
    resource: '@SuluEventBundle/Resources/config/routes_website.yaml'

Step 3: Configure search

Add to sulu_search.yaml:

sulu_search:
    website:
        indexes:
            - events_published  # Published Events (Website)
            - events            # Draft Events (Admin)

Step 4: Update the database

# Check what will be created
php bin/console doctrine:schema:update --dump-sql

# Execute migration
php bin/console doctrine:schema:update --force

Step 5: Grant permissions

  1. Go to Sulu Admin โ†’ Settings โ†’ User Roles
  2. Find the appropriate role
  3. Enable permissions for "Events" and "Locations"
  4. Reload the page

๐ŸŽฃ Usage

Create your first event

  1. Navigate to Events in the Sulu admin navigation
  2. Click on Add event
  3. First, create at least one Location
  4. Then create your event with all the details
  5. Configure social media settings (optional)
  6. Set up recurrence patterns (optional)
  7. Publish your event

๐Ÿงถ Configuration

You can find the extensive configuration here: Settings

๐Ÿ“– Documentation

Detailed documentation in the docs/ directory.

๐Ÿ‘ฉโ€๐Ÿณ Contributing

Contributions are welcome! Please create issues or pull requests.

๐Ÿ“ License

This bundle is licensed under the MIT License. See LICENSE.

๐ŸŽ‰ Credits

Created and maintained by manuxi.

Thanks to the Sulu team for the great CMS and fantastic support!

Thanks to FullCalendar for the calendar.

And thank you for your support and testing!