nrel / opencommunications
Open Communications profile for NLR/DOE Drupal sites.
Package info
github.com/NatLabRockies/opencommunications
Language:JavaScript
Type:drupal-profile
pkg:composer/nrel/opencommunications
Requires
- composer/installers: ^1.9
- cweagans/composer-patches: ^1.7
- drupal/admin_toolbar: ^3.4
- drupal/blazy: ^3.0
- drupal/bootstrap_layouts: ^5.2
- drupal/composer_deploy: ^1.7
- drupal/core-composer-scaffold: ^10.6
- drupal/core-project-message: ^10.6
- drupal/core-recommended: ^10.6
- drupal/ctools: ^4.1
- drupal/embed: ^1.9
- drupal/entity_browser: ^2.5
- drupal/entity_embed: ^1.1
- drupal/entity_reference_revisions: ^1.10
- drupal/field_group: ^4.0
- drupal/health_check: ^3.0
- drupal/honeypot: ^2.0
- drupal/image_widget_crop: ^3.0
- drupal/imagemagick: ^4.0
- drupal/jquery_ui: 1.7
- drupal/log_stdout: dev-1.x
- drupal/metatag: ^2.1
- drupal/module_filter: ^5.0
- drupal/paragraphs: ^1.12
- drupal/password_policy: ^4.0
- drupal/pathauto: ^1.8
- drupal/recaptcha: ^3.0
- drupal/recaptcha_v3: ^2.0
- drupal/reroute_email: ^2.2
- drupal/seckit: ^2.0
- drupal/security_review: ^3.0
- drupal/smtp: ^1.0
- drupal/sophron: ^2.2
- drupal/stage_file_proxy: ^3.1
- drupal/username_enumeration_prevention: ^1.2
- drupal/video_embed_field: ^3.0@beta
- drupal/webform: ^6.3@beta
- drush/drush: ^13
- fileeye/mimemap: ^2.0
- mglaman/composer-drupal-lenient: ^1.0
- nrel/nrel_cyber: dev-main
- nrel/ses_mailer: dev-main
- phpmailer/phpmailer: ^6.5
Requires (Dev)
- drupal/devel: ^5.0
- kint-php/kint: ^3.3
Conflicts
- dev-d10
- dev-d11
- dev-d10-data
- dev-no-patches
- dev-dependabot/npm_and_yarn/web/modules/contrib/paragraphs/css/multi-90384354d7
- dev-dependabot/npm_and_yarn/web/modules/contrib/paragraphs/css/minimist-1.2.8
- dev-dependabot/npm_and_yarn/web/modules/contrib/paragraphs/css/multi-6c5dbe986d
- dev-dependabot/npm_and_yarn/web/modules/contrib/paragraphs/css/qs-6.5.3
- dev-dependabot/npm_and_yarn/web/modules/contrib/paragraphs/css/decode-uri-component-0.2.2
- dev-d10-sws
- dev-d10-drush13
- dev-main
This package is auto-updated.
Last update: 2026-03-27 18:00:35 UTC
README
#1 Introduction
OpenCommunications is a Drupal installation profile used to create and maintain all our Drupal sites.
#2 Description of Drupal 10 profile
This profile provides composer.json / composer.lock starter files (in assets/scaffold/files/composer/) that can be copied into a new project folder to scaffold that project. Running composer install against those composer files does the following:
- scaffolds the site under docroot/
- symlink web/ to docroot/
- create a drupal_config/config/ folder if one doesn't exist and copy the starter config from this profile into that folder
- the modules that are enabled and configured by this profile are:
- admin_toolbar
- blazy
- bootstrap_layouts
- composer_deploy
- core-composer-scaffold
- core-project-message
- core-recommended
- ctools
- embed
- entity_browser
- entity_embed
- entity_reference_revisions
- field_group
- health_check
- honeypot
- image_widget_crop
- imagemagick
- jquery_ui
- log_stdout
- metatag
- module_filter
- paragraphs
- password_policy
- pathauto
- recaptcha
- recaptcha_v3
- reroute_email
- seckit
- security_review
- smtp
- sophron
- stage_file_proxy
- username_enumeration_prevention
- video_embed_field
- webform
- drush
- nrel_cyber
- nrel/ses_mailer
- opencommunications
- the modules that are enabled and configured by this profile are:
- invokes the scaffolding for opencommunications which does the following:
- copies the starter .gitignore, settings.php files and ses_mailer services yaml from assets/scaffold/files to their respective project locations.
- The Blazy module (https://www.drupal.org/project/blazy) does not specify a dependency on the Blazy library (https://github.com/dinbror/blazy), so the Blazy library is included as a scaffolding asset. If the Blazy library needs to be updated download the latest version to assets/scaffold/files/blazy
- applies known outstanding patches to core and the included contrib modules
#3 Usage
##3.1 Create and install a new site from the profile
- mkdir my_new_project
- cd my_new_project
- wget https://raw.githubusercontent.com/NatLabRockies/opencommunications/master/assets/scaffold/files/composer/composer.json
- wget https://raw.githubusercontent.com/NatLabRockies/opencommunications/master/assets/scaffold/files/composer/composer.lock
- edit composer.json - global replace new_project with my_new_project, and site_name with my_new_site_name
- composer install
- drush si opencommunications --existing-config --account-name=account-name --account-mail=account-mail --account-pass=account-pass --db-url=db-driver://db-su:db-su-pw@db-host:db-port/db-name -y
- drush cset system.site name "my_new_site_name" -y
- drush cset system.site mail no_reply@example.com -y
- Move database connection details that get added at the end of the existing setting.php into settings.local.php
##3.2 Optional
##3.2.1 reCaptcha
- Create a recaptcha account for the site
- set the reCaptcha site and secret keys:
- drush cset recaptcha.settings site_key new_site_key -y
- drush cset recaptcha.settings secret_key new_secret_key -y
- drush cset recaptcha.settings site_key new_site_key -y
- drush cset captcha.settings enabled_default 1 -y
##3.2.2 Google Tag Manager
- set the id on the 'default' GTM container
- drush cset google_tag.container.default container_id GTM-xxxxxx -y
- drush cset google_tag.container.default container_id GTM-xxxxxx -y
##4 Update an existing site that uses the profile
- composer update nrel/opencommunications
#5 Updating this profile
##5.1 Update a package
- composer update vendor/package
- add, commit and push the changes
##5.2 Update the template composer.lock
- create a dummy project
- mkdir dummy_project
- cd dummy_project
- wget https://raw.githubusercontent.com/NatLabRockies/opencommunications/d10/assets/scaffold/files/composer/composer.json
- mkdir dummy_project
- update the composer.lock
- composer install
- copy the composer.lock into NatLabRockies/opencommunications/d10/assets/scaffold/files/composer/composer.lock
- add, commit and push the changes to composer.lock