{"id":21549048,"url":"https://github.com/nuvoleweb/config_filter","last_synced_at":"2026-05-19T11:10:55.459Z","repository":{"id":144715581,"uuid":"82947547","full_name":"nuvoleweb/config_filter","owner":"nuvoleweb","description":"Config Filter module - https://www.drupal.org/project/config_filter","archived":false,"fork":false,"pushed_at":"2020-10-28T07:19:32.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"8.x-2.x","last_synced_at":"2025-01-24T09:41:28.673Z","etag":null,"topics":["configuration","drupal"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuvoleweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-23T16:33:39.000Z","updated_at":"2020-10-05T21:39:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"84769220-1cb9-476b-b8ff-b697396f05b1","html_url":"https://github.com/nuvoleweb/config_filter","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuvoleweb%2Fconfig_filter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuvoleweb%2Fconfig_filter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuvoleweb%2Fconfig_filter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuvoleweb%2Fconfig_filter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuvoleweb","download_url":"https://codeload.github.com/nuvoleweb/config_filter/tar.gz/refs/heads/8.x-2.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244141480,"owners_count":20404837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configuration","drupal"],"created_at":"2024-11-24T06:20:50.132Z","updated_at":"2026-05-19T11:10:50.412Z","avatar_url":"https://github.com/nuvoleweb.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Config Filter\n\n[![Build Status](https://travis-ci.org/nuvoleweb/config_filter.svg?branch=8.x-1.x)](https://travis-ci.org/nuvoleweb/config_filter)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nuvoleweb/config_filter/badges/quality-score.png?b=8.x-1.x)](https://scrutinizer-ci.com/g/nuvoleweb/config_filter/?branch=8.x-1.x)\n\n\n## Introduction\n\nModules such as Config Split want to modify the configuration when it is\nsynchronized between the database and the exported yaml files.\nThis module provides the API to do so but does not influence a sites operation.\n\n## How it works\n\nUnlike Config Filter 1.x which swaps the `config.storage.sync` service from Drupal 8 core,\nConfig Filter 2.x applies the filters when the new Drupal core config storage transformation api is used.\nThis means that modules that previously used Config Filter now work with the new api.\nModules depending on Config Filter can depend on both 1.x or 2.x as the Config Filter API is the same.\n\n## What is a ConfigFilter\n\nA ConfigFilter is a plugin. This module provides the plugin definition, the\nplugin manager and the storage factory.\nA ConfigFilter can have the following annotation:\n\n```php\n/**\n * @ConfigFilter(\n *   id = \"may_plugin_id\",\n *   label = @Translation(\"An example configuration filter\"),\n *   weight = 0,\n *   status = TRUE,\n *   storages = {\"config.storage.sync\"},\n * )\n */\n```\nSee `\\Drupal\\config_filter\\Annotation\\ConfigFilter`.\n\nThe weight allows the filters to be sorted. The status allows the filter to be\nactive or inactive, the `ConfigFilterManagerInterface::getFiltersForStorages`\nwill only take active filters into consideration. The weight, status and\nstorages are optional and the above values are the default.\n\n## Alternative Config Filter Managers\n\nPlugins are only available from enabled modules. If you want to provide a\nconfig filter from a php library, all you have to do is implement the\n`\\Drupal\\config_filter\\ConfigFilterManagerInterface` and add it to the\nservice container with a `config.filter` tag.\nServices with higher priority will have their filters added first.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuvoleweb%2Fconfig_filter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuvoleweb%2Fconfig_filter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuvoleweb%2Fconfig_filter/lists"}