Synopsis

Environmental_config is a module that helps you automatically importing environment
specific configuration without any hassle.

It's ideal when you need different settings for a specific module or system
configuration in your development/staging or live server.

It runs with the standard Drupal Configuration Synchronisation and doesn't
require much configuration.

Real life examples of usage

You have your Google Analytics module with a live API key saved in the Drupal
configuration. You don't want to manually change the API key every time you
deploy a new development server.

You have another third-party module that connects with your client's CRM live database.
You don't want to risk to alter or have access to sensitive data on non-live environments.

You have your development bunch of modules that have to bee manually re-enabled every time
a live db import happens.

Environmental_config can help you by managing environment-based configuration files and
auto-importing them with the standard Drupal configuration synchronisation or through
a specific Drupal console command.

It has been designed especially to work in CI environments where there are limited
options to work with custom system environment variables and settings.

Credits

  • PwC

config_split

Config_split provides similar functionality but works with a
pre-configured profile editable from the UI, it also offers export
functionality.

Environmental_config doesn't provide a UI, it only needs a valid
configuration in the settings.php file where to extract the current
environment name. Once the settings are valid its work is based on
the environment detected and will work without further user
input (ideal for CI environments).

Installation

Please refer to the project page section installation.

Configuration

Please refer to the project page sectionconfiguration.

Clone Command

git clone --branch 8.x-1.x https://git.drupal.org/project/environmental_config.git environmental_config
cd environmental_config

Comments

aless_io created an issue. See original summary.

PA robot’s picture

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

jefuri’s picture

Automated Review

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.

Manual Review

Individual user account
Yes: Follows the guidelines for individual user accounts.
No duplication
Yes: Does not cause module duplication and/or fragmentation.
Master Branch
Yes: Follows the guidelines for master branch.
Licensing
Yes: Follows the licensing requirements.
3rd party assets/code
Yes: Follows the guidelines for 3rd party assets/code.
README.txt/README.md
No: Does not follow the guidelines for in-project documentation and/or the README Template.
Code long/complex enough for review
Yes: Follows the guidelines for project length and complexity.
Secure code
Yes: Meets the security requirements.
Coding style & Drupal API usage
  1. (*) Please change the package name to something that makes more sense or remove it. An example might be package: Configuration. That is the first reason why I gave you a NO on README.txt/README.md topic
  2. (*) Please implement hook_help(). That is the second reason why I gave you a NO on README.txt/README.md topic
  3. (*) Do not use scalar type hinting for >PHP7. See public function overrideEnv(string $env) {} in TmpConfigFolderManager.php.(*) Please prevent conventions that are only for PHP7 and above. System Requirements PHP D8
  4. Also take a look at README Template for some required sections headings in the readme (like Configuration). But that just nitpicking.
  5. I would recommend to add more inline comments within the environmental_config.module file where possible. There are a lot of statements and methods called without explanation why. Also in the created classes there are a lot of methods without inline comments.
  6. Some of the services machine names in the services.yml file aren't really readable. For instance: environmental_config.command.envimport. Please rename those to an underscored variation like environmental_config.command.env_import

The starred items (*) are fairly big issues and warrant going back to Needs Work. The rest of the comments in the code walkthrough are recommendations.

This review uses the Project Application Review Template.

jefuri’s picture

Status: Needs review » Needs work

Forgot to set it to needs work because of my review comments.

aless_io’s picture

Status: Needs work » Needs review

Thanks for the review, I've changed and improved the things you suggested and pushed them back in the repo.

PA robot’s picture

Status: Needs review » Needs work

There are some errors reported by automated review tools, did you already check them? See http://pareview.sh/pareview/httpsgitdrupalorgsandboxaless-io2850335git

I'm a robot and this is an automated message from Project Applications Scraper.

PA robot’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).

I'm a robot and this is an automated message from Project Applications Scraper.

aless_io’s picture

Status: Closed (won't fix) » Needs review

Code style updated to fit the new Drupal code style rules.

apaderno’s picture

Priority: Normal » Critical

To the reviewers: Please change back the priority to Normal after doing a review.

sleitner’s picture

Priority: Critical » Normal
Status: Needs review » Reviewed & tested by the community

Automated Review

Pareview details: https://pareview.sh/pareview/https-git.drupal.org-project-environmental_...

Review of the 8.x-1.x branch (commit 2d8f4d1):

This automated report was generated with PAReview.sh, your friendly project application review script.

Manual Review

Individual user account
Yes: Follows the guidelines for individual user accounts.
No duplication
Yes: Does not cause module duplication and/or fragmentation.
Master Branch
Yes: Follows the guidelines for master branch.
Licensing
Yes: Follows the licensing requirements.
3rd party assets/code
Yes: Follows the guidelines for 3rd party assets/code.
README.txt/README.md
No: Does not follow the guidelines for in-project documentation and/or the README Template.
Code long/complex enough for review
Yes: Follows the guidelines for project length and complexity.
Secure code
Yes: Meets the security requirements.
Coding style & Drupal API usage
no issues

The starred items (*) are fairly big issues and warrant going back to Needs Work. Items marked with a plus sign (+) are important and should be addressed before a stable project release. The rest of the comments in the code walkthrough are recommendations.

If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.

This review uses the Project Application Review Template.

sleitner’s picture

Issue summary: View changes
apaderno’s picture

Assigned: Unassigned » apaderno
Status: Reviewed & tested by the community » Fixed

I am going to update your account so you can opt into security advisory coverage now.
These are some recommended readings to help with excellent maintainership:

You can find more contributors chatting on the IRC #drupal-contribute channel. So, come hang out and stay involved.
Thank you, also, for your patience with the review process.
Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

I thank all the dedicated reviewers as well.

apaderno’s picture

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.