Update Module Project Page with Clearer and Simpler Language

Created on 25 June 2024, 6 months ago

Problem/Motivation

The current project page for the Config Distro module lacks clarity and simplicity, making it difficult for users to understand and utilize the module effectively. The language and structure can be improved to better describe its capabilities and benefits.

Steps to reproduce

  1. Visit the current Config Distro project page on Drupal.org.
  2. Review the content and structure.
  3. Note the complexity and potential confusion in the existing descriptions.

Proposed resolution

Update the project page with the following revised content or something similar:

<h2>Config Distro</h2>

<p>Config Distro is a powerful module designed to assist in managing how the configuration bundled with modules, themes, or profiles is applied to a site over time. Because config_distro looks for differences between the site's active configuration in the database and all of the configuration stored as YAML files within each extension's config folder, it enables version control of configuration changes, making them easily deployable using tools like Git. Config Distro allows maintainers to manage configuration differences between a Drupal site and the upstream source via Drush Command Line Interface or Graphical User Interface. Each of these extension types can store configuration to be installed when the extension is installed.</p>

<h3>Who is it for?</h3>
<p>Config Distro is intended for:</p>
<ul>
    <li><strong>Distribution Maintainers</strong>: Those who create and maintain distributions or installation profiles, ensuring that configuration changes are properly managed and applied across different sites.</li>
    <li><strong>Site Builders</strong>: Individuals responsible for setting up and configuring Drupal sites using modules, themes, and profiles, who need a reliable way to manage and deploy configuration changes.</li>
    <li><strong>Developers</strong>: Developers working on custom modules, themes, or profiles who require a streamlined method to handle configuration updates and ensure consistency across environments.</li>
    <li><strong>System Administrators</strong>: Those managing Drupal environments who need to ensure that configuration updates are applied correctly and consistently across different stages (development, testing, production).</li>
</ul>

<h3>Sub-Modules</h3>
<p>Config Distro comes with two sub-modules to enhance its functionality:</p>
<ul>
    <li><strong>config_distro_filter</strong>: Provides additional filtering options for configuration imports. (Requires Config Filter module)</li>
    <li><strong>config_distro_ignore</strong>: Allows certain configuration items to be ignored during the import process. (Requires Config Filter module)</li>
</ul>

<h3>Requirements</h3>
<p><strong>Config Filter</strong> is not a dependency of Config Distro itself, but it is required for both sub-modules (config_distro_filter and config_distro_ignore). Ensure that the Config Filter module is installed and enabled if you are using either sub-module.</p>

<h3>Related Modules</h3>
<p><strong>Configuration Synchronizer (8.x-2.x branch)</strong>: Provides filters that integrate with Config Distro, allowing it to import configuration updates from installed modules and themes.</p>

<h3>How to Use It</h3>
<ol>
    <li><strong>Install Config Distro</strong>:
        <ul>
            <li>Download and enable the module from Drupal.org.</li>
        </ul>
    </li>
    <li><strong>Install Necessary Plugins</strong>:
        <ul>
            <li>Ensure you have modules like Configuration Synchronizer that provide Config Filter plugins.</li>
        </ul>
    </li>
    <li><strong>Update Modules/Themes</strong>:
        <ul>
            <li>Update your installed modules or themes to new versions that include configuration changes or updates.</li>
            <li>Run database updates and clear caches.</li>
        </ul>
    </li>
    <li><strong>Run Updates</strong>:
        <ul>
            <li><strong>Using the UI</strong>: Navigate to Configuration &gt; Development &gt; Distribution Update (/admin/config/development/configuration/distro) to review and run updates.</li>
            <li><strong>Using Drush</strong>: Use the Drush command `config-distro-update` to run imports.</li>
        </ul>
    </li>
</ol>

<h3>Where to Use It</h3>
<p>Config Distro should be installed and used at the base of your site's configuration management workflow. For instance:</p>
<ul>
    <li>In a dev &gt; test &gt; prod workflow, install and use Config Distro in the dev environment where extension updates are made.</li>
    <li>For a single environment site, install and use Config Distro in that environment.</li>
</ul>
<p><strong>Best Practice</strong>: If you're staging configuration updates, run your distro updates first, then stage them to other environments.</p>

<h3>How It Works</h3>
<p><strong>Import Configuration as Code</strong>: Config Distro allows you to import or merge configuration managed as code from a separately managed extension installation. This helps manage the configuration differences between a Drupal site and the upstream source.</p>
<p><strong>Configuration Update Modes</strong>: Config Distro can use three different modes for updating configuration from the profile:</p>
<ul>
    <li><strong>Merge</strong>: Combine the configuration changes with the existing site configuration.</li>
    <li><strong>Full Reset</strong>: Replace the site configuration entirely with the source configuration.</li>
    <li><strong>Partial Reset</strong>: Replace only certain parts of the site configuration with the source configuration.</li>
</ul>
<p><strong>Configuration Storage</strong>: Config Distro provides a configuration storage for use with Config Filter, adding filters to the site's active configuration storage. This means changes are merged directly into the active configuration.</p>
<p><strong>UI Integration</strong>: Config Distro provides a user interface parallel to core's Configuration Synchronization UI for managing distribution updates. It serves as the missing user interface for installation profiles.</p>
<p><strong>User Flexibility</strong>: Allows users to choose how configuration for that extension is applied on a site-by-site basis.</p>
<hr>

Remaining tasks

  • Review the proposed changes.
  • Update the project page on Drupal.org with the new content.
  • Verify that all links and references are correct.
  • Obtain approval from the module maintainer.

User interface changes

No user interface changes within the module itself, but the project page on Drupal.org will be updated for better clarity and usability.

API changes

None.

Data model changes

None.

πŸ“Œ Task
Status

Active

Version

2.0

Component

Documentation

Created by

πŸ‡ΊπŸ‡ΈUnited States trackleft2 Tucson, AZ πŸ‡ΊπŸ‡Έ

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024