This project is not covered by Drupal’s security advisory policy.

Welcome to Enviromage, a powerful Drupal module designed to unleash the full potential of your website's performance and configuration management. With its comprehensive environment configuration settings, Enviromage empowers users to tailor their website's behavior across different deployment scenarios effortlessly. Delve into the magic of Composer performance checks (dry run), ensuring seamless package updates without disrupting your live environment's harmony. Enviromage's mystical memory size analysis reveals resource-intensive modules, enabling you to optimize your website's performance with ease. Unveil the secrets of your website's underlying magic with Enviromage's effortless retrieval of essential environment configurations. Embark on a captivating journey of Drupal development and performance optimization with the enchanting Enviromage by your side.

Features

What is the basic functionality?

The basic functionality of this module is to assess and evaluate the performance readiness of a Drupal website before updating it. It provides essential tools and features to analyze the website's environment configuration, perform Composer performance checks (dry run), retrieve memory sizes of installed modules, and retrieve environment configurations.

What unique features does enabling this project add?

Enabling this project adds the ability to perform a dry run check using Composer. This unique feature allows users to simulate updates without actually modifying the website's files or database. By doing so, users can proactively identify potential issues or conflicts that may arise during a Drupal update, ensuring a smoother and more reliable update process.

When and why would someone use this module?

Website administrators and developers would use this module when they are planning to update their Drupal site. Before performing the update, they can use the module to run performance checks, assess the memory size of modules, and review environment configurations. This helps them identify any potential compatibility or memory-related issues, ensuring that the website is ready for the update. By using this module, users can avoid unexpected problems and ensure a successful update process.

What use cases are there?

Some potential use cases for this module are:

  • When a website administrator plans to update their Drupal site to the latest version or apply security patches, they can use the module to assess the site's readiness and identify any performance bottlenecks or configuration issues.
  • Developers can use the module during development and testing phases to check how updates impact the website's memory usage and to fine-tune environment configurations for optimal performance.
  • Before a major release of a custom module, developers can use the module to ensure its memory footprint is within acceptable limits and that it won't cause performance issues when deployed on various environments.

In summary, this module offers valuable performance-checking tools for Drupal websites, helping users prepare for updates and ensure a smooth and efficient update process while avoiding potential compatibility and memory-related challenges.

Post-Installation

Once the Enviromage module is installed, it provides a dedicated configuration page accessible through the Drupal administration interface. On this configuration page, users can access and customize various settings related to performance optimization and environment configurations.

Key features available on the configuration page:

  1. Environment Configuration Settings:
    Users can easily adjust environment-specific settings, allowing them to fine-tune their website's behavior for different deployment scenarios. This ensures optimal performance and behavior in various environments, such as development, staging, and production.
  2. Composer Performance Check (Dry Run):
    The module offers a powerful Composer performance check feature. Users can simulate updates without affecting the live website using the dry run option. By running a dry run, users can proactively identify potential issues or conflicts that may occur during the actual update process, ensuring a smooth and reliable update experience.
  3. Module Memory Size:
    Enviromage provides an insightful memory size analysis for installed modules. Users can quickly identify resource-intensive modules, helping them optimize their website's performance by addressing memory-related challenges.
  4. Retrieve Environment Configurations:
    The module facilitates effortless retrieval of essential environment configurations. Users can access vital system information, empowering them to understand and adapt their Drupal website to different server configurations and setups.
  5. Display Previous Performance Checks:
    The Log feature in the Enviromage module serves as a valuable tool for tracking and reviewing the performance checks conducted using the module. By maintaining a historical record of performance checks, you can gain insights into your site's performance trends and make informed decisions for optimization.

Special Considerations:

  1. Manual Operation:
    It's important to note that the Enviromage module does not work automatically. Users need to manually access the configuration page and trigger performance checks or memory size analysis as needed(You will find the module functionality under config > development > enviromage settings). This manual operation ensures that users have full control over the optimization process and can review the results before proceeding with updates or adjustments.
  2. Regular Usage for Updates:
    For best results, it is recommended to use Enviromage regularly, especially before performing Drupal updates or when deploying changes to different environments. Regular checks help ensure that the website remains optimized, efficient, and well-adapted to specific server configurations.

By providing a comprehensive and user-friendly configuration page, Enviromage simplifies the process of performance optimization and environment configuration adjustments for Drupal websites. Users can easily tailor their websites for different scenarios, perform dry run checks, analyze memory usage, and retrieve vital environment information, all while retaining full control over the optimization process.

Additional Requirements

The "Automatic Updates" module needs to be installed and enabled for this project to work properly.

The "Automatic Updates" module is a contributed module for Drupal that provides functionality related to automated updates for Drupal core and contributed projects. It allows site administrators to configure their Drupal sites to automatically apply certain types of updates, such as security updates or minor releases, without manual intervention.

As this project is specifically designed to check performance before updating a Drupal site, it relies on the functionality provided by the "Automatic Updates" module to initiate and manage the update process. Therefore, it's essential to have the "Automatic Updates" module installed and enabled for the project to function correctly.

Similar projects

1. WebProfilermodule:
It adds a toolbar at the bottom of every page and shows you all sorts of stats such as the amount of database queries loaded on the page, which services are used and much more.

2. Performance Profiler module:
it allows users to control time and memory amount, used by PHP to process the request or render the page. Also, PHP and DB benchmarks are included. It allow to compare pure performance of different environment.

--> Our module differs from them by running a composer update simulation and giving recommendations to the user on how to get his environment ready not just profiling.
Also, our module stores profiling results into a database.

Next sections should be worked on

Supporting this Module

Became a GitHub sponsor and support me <3
Link to support me :https://github.com/sponsors/aziz-712.

Community Documentation

I am preparing a demo video on how to use my module. Be patient <3

Supporting organizations: 
Giving me the chance to contribute to Drupal Association and working on my project. Google Summer of code gives us stipends (1500$) for the whole project during 3 months in Summer.

Project information

Releases