MidCamp 2026 and onward! This project is built on the Event Platform distribution with the Event Horizon theme.
- Requirements
- Local Development Setup
- Common Development Tasks
- Remote Environment
- Event Platform Starter
- Theme Development
- Troubleshooting
- Project Information
- DDEV: Local development environment
Install DDEV for your operating system.
Set up an account and ssh key for Amazee.io Lagoon, as this project deploys there.
-
Clone the repository
git clone https://github.com/MidCamp/midcamp-ep.git cd midcamp-ep -
Start DDEV
ddev start
-
Install Composer dependencies
ddev composer install
-
Install the site from the Lagoon remote
ddev auth ssh ddev pull lagoon ddev drush cr
-
Access your site
ddev launch
Default URL:
https://midcamp-ep.ddev.site
ddev drush @lagoon.midcamp-ep-main sshddev drush <command>Export database:
ddev export-db --file=backup.sql.gzImport database:
ddev import-db --file=backup.sql.gzCreate database snapshot:
ddev snapshot
ddev snapshot restoreClear all caches:
ddev drush crExport configuration:
ddev drush config:export
# or
ddev drush cexImport configuration:
ddev drush config:import
# or
ddev drush cimNote: Configuration import is currently commented out in .lagoon.yml post-rollout tasks. Enable it once config sync is properly set up.
Get login link:
ddev drush uliAccess database:
ddev mysqlThis project is configured to deploy to Amazee.io Lagoon, an enterprise hosting platform for Drupal.
The project is configured in .lagoon.yml with the following settings:
- Project Name:
midcamp-ep - Main Branch:
main(receives automated deployments)
Services:
- CLI: Command-line interface with persistent storage
- NGINX: Web server with persistent file storage
- PHP-FPM: PHP processor
- MariaDB 10.11: Database server
Lagoon supports multiple environment types:
- Production: The main branch deployment
- Development: Feature branch deployments
To deploy a feature branch, push it to your Git remote. Lagoon will automatically create an environment.
Post-Rollout (after deployment):
- Database updates:
drush updb - Cache rebuild:
drush cr
Cron Jobs (main environment):
- Hourly Drupal cron:
drush cron
Pre-Rollout (commented out by default):
- Database backup option available - uncomment in
.lagoon.ymlif needed
SSH into environment:
ssh -t <environment>@ssh.lagoon.amazeeio.cloudRun Drush commands remotely:
ssh <environment>@ssh.lagoon.amazeeio.cloud drush <command>View logs:
lagoon logs -p midcamp-ep -e <environment>Consult your Lagoon administrator or documentation for specific connection details and credentials.
The Event Platform Starter recipe (recipes/event_platform_starter/) provides a quick way to bootstrap your event website with:
- Event Platform: Core event management functionality
- Event Horizon Theme: Companion theme optimized for event sites
- Drupal CMS Recipes: Additional functionality for a robust site
- Admin UI improvements
- Anti-spam protection
- SEO basics
- Responsive images
The Event Platform Starter recipe cannot be applied directly via drush recipe due to dependency optimization issues. Instead, follow these manual steps:
-
Enable Event Platform and dependencies:
ddev drush en event_platform -y ddev drush en moderation_state_condition -y
-
Install and set Event Horizon theme:
ddev drush thin event_horizon ddev drush config:set system.theme default event_horizon -y
-
Apply example configuration (includes a first event):
ddev drush recipe ../recipes/event_platform_example
-
Install recommended modules for better admin experience:
ddev drush en keysave -y ddev drush en navigation_extra_tools -y
-
Apply Drupal CMS recipes:
ddev drush recipe ../recipes/drupal_cms_admin_ui ddev drush recipe ../recipes/drupal_cms_anti_spam ddev drush recipe ../recipes/drupal_cms_seo_basic ddev drush recipe ../recipes/drupal_cms_image
Note: Some recipes may fail with configuration exists errors. You can safely ignore these for now and proceed.
Personal Schedules (Flagging):
Enable the ability for users to flag sessions and create personal schedules:
ddev drush en event_platform_flag -yResponsive Images:
After applying the drupal_cms_image recipe, update display formatters on your content types to use the new responsive image styles.
This project includes two Event Platform recipes in the recipes/ directory:
event_platform_starter/: Base setup instructions and dependenciesevent_platform_example/: Example configuration with sample event content
Both recipes are sourced from the contrib Event Platform module and provide guidance for initial setup.
The custom theme is located at: web/themes/custom/midcamp_event_horizon/
This theme is based on Event Horizon and includes:
Live Reload (Development):
cd web/themes/custom/midcamp_event_horizon
npm install
npm run livereloadThe livereload script watches for changes in CSS, JS, Twig templates, and image files.
Theme Structure:
- Templates: Standard Drupal theme structure
- Assets: Theme-specific styles and scripts
- Bootstrap 4: Framework for styling (as per project defaults)
Site not accessible:
ddev restart
ddev describeContainer conflicts:
ddev stop --all
ddev startClear DDEV cache:
ddev clean
ddev restartModule or configuration issues:
ddev drush cr
ddev drush updb -y
ddev drush cim -y # If config sync is enabledDatabase connection issues:
Check web/sites/default/settings.php and ensure database credentials match your environment.
File permission issues:
chmod -R 755 web/sites/default/files- Homepage: https://www.midcamp.org
- License: GPL-2.0-or-later
- Drupal Version: 11.2
- PHP Version: 8.3
- Event Platform: Event management distribution
- Event Horizon: Theme for event websites
- Drupal CMS: Enhanced admin experience modules
- Additional Modules:
- Coffee (admin menu search)
- Gin (admin theme)
- Pathauto (automatic URL aliases)
- Honeypot & Friendly Captcha (spam protection)
- Focal Point (image cropping)
- Easy Breadcrumb
- Token
For a complete list of dependencies, see composer.json.
- Drupal Docs: https://www.drupal.org/docs
- Event Platform: https://www.drupal.org/project/event_platform
- Event Horizon Theme: https://www.drupal.org/project/event_horizon
- Drupal Chat: https://www.drupal.org/node/314178
Happy Building! 🚀