PHPackages                             nrel/opencommunications - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nrel/opencommunications

ActiveDrupal-profile[Utility &amp; Helpers](/categories/utility)

nrel/opencommunications
=======================

Open Communications profile for NLR/DOE Drupal sites.

14.2k8[5 PRs](https://github.com/NatLabRockies/opencommunications/pulls)JavaScriptCI failing

Since Sep 12Pushed 3mo ago5 watchersCompare

[ Source](https://github.com/NatLabRockies/opencommunications)[ Packagist](https://packagist.org/packages/nrel/opencommunications)[ RSS](/packages/nrel-opencommunications/feed)WikiDiscussions d10 Synced 2d ago

READMEChangelogDependenciesVersions (12)Used By (0)

\#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
- 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 () does not specify a dependency on the Blazy library (), 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
- wget
- 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](mailto: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 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

\##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
- 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

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance55

Moderate activity, may be stable

Popularity22

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity30

Early-stage or recently created project

 Bus Factor1

Top contributor holds 82% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/399d67b5f044fadc29d052caa6cf1e0d43250dac95c1d0167dcecadb90698ba7?d=identicon)[nomad](/maintainers/nomad)

![](https://www.gravatar.com/avatar/d7163181339aa654584af6008fe4ac133f040d5c43e170d3f9be03ea7efb6c4c?d=identicon)[ShaunLaws](/maintainers/ShaunLaws)

![](https://www.gravatar.com/avatar/d7a2dfb21d5a91909acf10e1d2d21a8ff9146488325f4e38d294d79e1801489a?d=identicon)[cmodern](/maintainers/cmodern)

---

Top Contributors

[![ShaunLawsNREL](https://avatars.githubusercontent.com/u/4623770?v=4)](https://github.com/ShaunLawsNREL "ShaunLawsNREL (259 commits)")[![cmodern](https://avatars.githubusercontent.com/u/10602196?v=4)](https://github.com/cmodern "cmodern (55 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

### Embed Badge

![Health badge](/badges/nrel-opencommunications/health.svg)

```
[![Health](https://phpackages.com/badges/nrel-opencommunications/health.svg)](https://phpackages.com/packages/nrel-opencommunications)
```

###  Alternatives

[laravel-enso/forms

JSON-based form builder for Laravel Enso

12354.2k84](/packages/laravel-enso-forms)[sfolador/measures-for-laravel

A collection of unit conversions utils for Laravel

105.6k](/packages/sfolador-measures-for-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
