elevatedthird / paragon-base
A Composer-based installation template for the Paragon Drupal Distribution
Installs: 716
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 15
Forks: 3
Open Issues: 16
Type:project
pkg:composer/elevatedthird/paragon-base
Requires
- bower-asset/chosen: ^1.8
- bower-asset/lazysizes: ^5.2
- composer/installers: ^1.10
- cweagans/composer-patches: ~1.0
- drupal/address: ^1.0
- drupal/admin_toolbar: ^2.0
- drupal/advagg: ^4.0
- drupal/allowed_formats: ^1.1
- drupal/backup_migrate: ^5.0@RC
- drupal/better_exposed_filters: ^5.0@beta
- drupal/block_field: ^1.0@alpha
- drupal/chosen: ^2.0
- drupal/ckeditorheight: ^1.0
- drupal/coffee: ^1.0
- drupal/components: ^2.2
- drupal/config_update: ^1.0
- drupal/console: ~1.9
- drupal/core: 8.9.13
- drupal/core-composer-scaffold: ~9.1.3
- drupal/csv_serialization: ^2.0@beta
- drupal/devel: ^2.0
- drupal/embed: ^1.0
- drupal/entity: ^1.0
- drupal/entity_browser: ^2.5
- drupal/entity_embed: ^1.0
- drupal/entity_reference_revisions: ^1.3
- drupal/environment_indicator: ~4.0.0
- drupal/fast_404: ^2.0@alpha
- drupal/field_group: ^3.0
- drupal/field_hidden: ^1.0
- drupal/field_tools: dev-1.x
- drupal/focal_point: ^1.0
- drupal/gin: ^3.0@alpha
- drupal/gtm: ^1.6
- drupal/http_cache_control: ^2.0
- drupal/imageapi_optimize: ~4.0.0@beta
- drupal/imageapi_optimize_gd: ^2.0@beta
- drupal/imageapi_optimize_webp: ^2.0@beta
- drupal/inline_entity_form: ^1.0
- drupal/layout_builder_browser: ^1.1
- drupal/layout_builder_modal: ^1.1
- drupal/layout_builder_restrictions: ^2.7
- drupal/lazy: ^3.4
- drupal/lb_claro: ^1.0@beta
- drupal/link_attributes: ^1.0
- drupal/linkit: ~6.0.0@beta
- drupal/login_security: ^1.0
- drupal/mailsystem: ^4.0
- drupal/markup: ^1.0
- drupal/media_responsive_thumbnail: ^1.0
- drupal/memcache: ^2.0
- drupal/menu_block: ^1.0
- drupal/metatag: ^1.0
- drupal/name: ^1.0
- drupal/paragon: dev-1.x
- drupal/paragon_adminkit: ^1.0@alpha
- drupal/paragon_themekit: ^1.0@alpha
- drupal/paragraphs: ^1.0
- drupal/paragraphs_browser: ^1.0
- drupal/path_redirect_import: ^1.0@beta
- drupal/pathauto: ^1.0
- drupal/purge: ^3.0@beta
- drupal/redirect: ^1.0
- drupal/robotstxt: ^1.4
- drupal/scheduler: ^1.0
- drupal/scheduler_content_moderation_integration: ^1.3
- drupal/search_api: ^1.0
- drupal/search_api_solr: ^1.0
- drupal/seckit: ~2.0.0@RC
- drupal/security_review: ^1.0
- drupal/shield: ^1.0
- drupal/simple_sitemap: ^3.0
- drupal/site_settings: ^1.0
- drupal/sitemap: ^2.0@beta
- drupal/smart_trim: ^1.0
- drupal/svg_image_field: ^1.2
- drupal/svg_upload_sanitizer: ^1.0@alpha
- drupal/swiftmailer: ^2.0
- drupal/system_status: ^2.0
- drupal/twig_field_value: ~2.0.0
- drupal/ultimate_cron: ^2.0
- drupal/username_enumeration_prevention: ^1.1
- drupal/views_bulk_edit: ^2.0
- drupal/views_bulk_operations: ^3.8
- drush/drush: ~10.0
- npm-asset/jquery-ui-touch-punch: dev-master
- oomphinc/composer-installers-extender: ^2.0
- symfony/css-selector: ~3.3
- zaporylie/composer-drupal-optimizations: ^1.1
Requires (Dev)
- drupal/drupal-extension: ^3.2
- geerlingguy/drupal-vm: ~6.0.0
Conflicts
- dev-master
- 8.1.0-alpha31
- 8.1.0-alpha30
- 8.1.0-alpha29
- 8.1.0-alpha28
- 8.1.0-alpha27
- 8.1.0-alpha26
- 8.1.0-alpha25
- 8.1.0-alpha24
- 8.1.0-alpha23
- 8.1.0-alpha22
- 8.1.0-alpha21
- 8.1.0-alpha20
- 8.1.0-alpha19
- 8.1.0-alpha18
- 8.1.0-alpha17
- 8.1.0-alpha16
- 8.1.0-alpha15
- 8.1.0-alpha14
- 8.1.0-alpha13
- 8.1.0-alpha12
- 8.1.0-alpha10
- 8.1.0-alpha9
- 8.1.0-alpha8
- 8.1.0-alpha7
- 8.1.0-alpha6
- 8.1.0-alpha5
- 8.1.0-alpha4
- 8.1.0-alpha3
- 8.1.0-alpha2
- 8.1.0-alpha1
- 8.1.0-a
- 4.1.0
- 4.0.0
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.0
- 1.0-alpha2
- dev-feature/ddev
- dev-dependabot/composer/enshrined/svg-sanitize-0.22.0
- dev-drupal-11
- dev-latest_10_missing_gib_lb_patch
- dev-feature/remove-allowed-formats
- dev-develop
- dev-feature/E3003-49-install-layout-builder-lock
- dev-feature/E3003-50-install-layout-builder-limit
- dev-feature/starter-components
- dev-19-setup-tugboat-qa
- dev-17-remove-field_meta_summary-from-landing-page-content-type
This package is auto-updated.
Last update: 2025-10-23 20:39:19 UTC
README
Paragon is a Drupal distribution focused on providing a clean starting point for site builds with just the right amount of baked in configuration.This allows developers to focus on building custom functionality, rather than recreating the same standard set of baseline features they’ve built 100 times before.
The intent of this distribution is to create a Drupal install that will be treated as an artifact and maintained independently of this project after the initial installation. As such, rather than making this an official install profile, Paragon is instead managed as a Composer template that heavily leverages drupal/core-composer-scaffold and also includes exported configuration that can be used to install the site.
Prerequisites
- Download DDEV if it is not already installed.
- Access to Elevated Third Github organization, Paragon-base repository and SSH key setup.
- You must be using Composer 2.
Setup instructions
Step #1: Clone repository
- Run the following command:
composer create-project elevatedthird/paragon-base [install_directory_name]which will clone down the composer template and create all necessary files. - You will prompted to select a hosting environment for your project. Select 'custom' if you don't want platform specific files. You can set up hosting requirements later by running
composer setup-platform
Step #2: Project setup
- Rename the the app in the
.ddev/config.ymlfile ddev startddev composer installddev composer npm-install
Step #3: Install Drupal
- Install the site:
ddev drush si --existing-config --site-name=[SITE_NAME] --account-name=root --account-pass=[PASSWORD] -vv -y - Once install completes, remove the automatically generated database connection details that have most likely been appended to the bottom of
settings.php. - Build the theme:
ddev vite:build
Step #4: Set up Solr Search
ddev drush pm:enable search_api_solr_admin
- This module is ignored in settings.php
- Create a new Solr server connection in the UI
- Follow the ddev-solr steps to connect to Solr
- Upload the config set to Solr and create the collection.
ddev drush --numShards=1 search-api-solr:upload-configset [YOUR_SERVER_NAME]
Essential DDEV commands
ddev xdebug onddev xdebug offddev viteddev vite:build
E3 Github Workflows
By default, all Paragon projects have Github Actions enabled. To disable, rename the .github/workflows/main.yml to main.disable
- Ensure you have invited
hosting@elevatedthird.comto your project. - Set up the
.envfile located in the project root. These variables will be used as settings for the Github Workflows. - If your site is on Pantheon, you will need to uncomment and fill out the
PANTHEON_SITEvar. - If you are NOT using kinetic, change the
THEME_NAMEvariable to the name of the active theme's folder. Also, change the paths to the theme in thebuild-themeandnpm-installscripts in composer.json
Specific Platform Instructions
Acquia
- Ensure you have a hooks/dev/post-code-update/drush-deploy.sh
- Ensure that the code below is present in the settings.php.
if (isset($_ENV['AH_SITE_ENVIRONMENT'])) { if (file_exists($app_root . '/' . $site_path . '/settings.acquia.php')) { include $app_root . '/' . $site_path . '/settings.acquia.php'; } }
Pantheon
- Ensure you change the
docrootfolder name toweb - Change
docroottowebin yourcomposer.jsonfile - Ensure that the code below is present in the settings.php.
if(isset($_ENV['PANTHEON_ENVIRONMENT'])) { if (file_exists($app_root . '/' . $site_path . '/settings.pantheon.php')) { include $app_root . '/' . $site_path . '/settings.pantheon.php'; } }
Platform
- Ensure your
.platform.app.yamldeploy hook looks like this
deploy: | set -e php ./drush/platformsh_generate_drush_yml.php cd docroot drush deploy
- Ensure that the code below is present in the settings.php.
if (isset($_ENV['PLATFORM_PROJECT'])) { if (file_exists($app_root . '/' . $site_path . '/settings.platformsh.php')) { include $app_root . '/' . $site_path . '/settings.platformsh.php'; } }
Tugboat Integration
By default, Paragon creates a .tugboat folder containing configuration related to Tugboat QA. You must set up a tugboat project and connect the Github repo to it.