# Handling Configuration Updates

Varbase utilizes [Drupal's configuration management](https://www.drupal.org/docs/8/configuration-management) which made it extremely resilient to manage update paths for configuration changes in Varbase versions.

## Change or Update Types

In Varbase, we categorize configuration changes and updates into 4 types:

| **Update Type**                | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | **Examples**                                                                                                                             |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **Forced Update**              | <p>We have a new module that became a dependency, a configuration "fix", or a database table alter.</p><p>This is forced and will always be executed through <em>hook\_update</em>.</p>                                                                                                                                                                                                                                                                                                                                                                         | <p>Increasing the "Maximum length" of a field of type "Text"</p><p>Enabling a low-risk module that will become a standard in Varbase</p> |
| **Forced Update if Unchanged** | Mostly a configuration change. Using[ Update Helper](https://www.drupal.org/project/update_helper) module config, in the *hook\_update* we check if this setting remained the same before we do the update, so we don’t override user’s setting. If the user has overridden it, it becomes an “Optional Update” - see below.                                                                                                                                                                                                                                    | <p>Changed a checkbox default value.</p><p></p><p>Added a new CKEditor button to the a text format toolbar configuration.</p>            |
| **Optional Update**            | A nice enhancement that we recommend users to use or an update that failed to apply - see "Forced Update if Unchanged" above. There’s no *hook\_update* for this. Instead it is communicated through [ Update Helper](https://www.drupal.org/project/update_helper) module checklist integration in Drupal UI. The UI would give instructions to the users on how to apply this update (mostly using a Drush command that reads [Update Helper](https://www.drupal.org/project/update_helper)  config) or manually by liking to release notes or help articles. | Introduced an updated view with more exposed filters for admins to manage content.                                                       |
| **No Update**                  | Only new installs would get this change.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | A new theme has been introduced.                                                                                                         |

## Varbase Update Changelog UI

Varbase uses the [Update Helper](https://www.drupal.org/project/update_helper) module (a module made by Thunder team) which provides a UI using the [Checklist API](https://www.drupal.org/project/checklistapi). This is a good tool as it shows the site admin, developer, or maintainer what new updates are available from inside the site itself.

{% hint style="info" %}

### How to Access Varbase Updates Changelog UI

You can navigate to [http://my.varbase-site.local/**admin/config/development/update-helper**](http://my.varbase-site.local/admin**/config/development/update-helper**) *(where my.varbase-site.local is the URL for your website)*\
or go to **Administration** \ **Reports** \ **Checklists** \ ***Varbase Updates*** to learn about the new changes and updates introduced in your Varbase site.
{% endhint %}
