Julio 27, 2022
Raúl García
Config Split es la estrategia de gestión de configuración estándar proporcionada por Acquia BLT.
Pasos a seguir
Navegamos a la carpeta en la que deseamos hacer una división. En este ejemplo usaremos admin/config/development/performance
- Una vez en la carpeta, corremos el siguiente comando:
drush en config_split -y
- Luego, el siguiente:
drush config-export -y
- Y por último:
drush cr
Los comandos de drush utlizados anteriorment llenarán ../config/default
con toda la configuración del sitio web y se crea la siguiente configuración: ../config/default/system.performance.yml
.
Environment Split
Se deve de crear una división de configuración local en el enterno local para hacer más rápido el desarrollo desde local. El siguiente comando blt
Recipes:config:init:splits
creará la división de configuración local. Para crear la división “local” manualmente, hay que seguir el siguiente proceso:
- Correr el siguiente comando:
mkdir -p ../config/envs/local
- Moverse a:
/admin/config/development/configuration/config-split/add
-
En la UI de Drupal, usar los siguientes campos:
label:
Local
folder:../config/envs/local
Moverse a: Conditional Split > Configuration items > Select system.performance -
Guardar los cambios
-
Correr el siguiente comando:
drush config-export -y
Este comando Drush exportará la definición de configuración para la división, que se almacena en config/default/config_split.config_split.local.yml
.
- Correr el siguiente comando:
drush cr
Feature Split (content type)
Si se tiene una aplicación Drupal multisitio y se quiere que solo unos sitios tengan habilitado blogs
pero no todos, se puede hacer lo siguiente:
- Crear un typo de contenido “Blog”.
- Correr el siguiente comando:
mkdir -p ../config/features/blog
- Ir a
/admin/config/development/configuration/config-split/add
y agregar el siguiente código:
status: false
label: Blog
folder: ../config/features/blog
denylist:
- core.base_field_override.node.blog_entry.promote
- core.entity_form_display.node.blog_entry.default
- core.entity_view_display.node.blog_entry.default
- core.entity_view_display.node.blog_entry.teaser
- field.field.node.blog_entry.body
- node.type.blog_entry
- system.action.user_add_role_action.blog_entry_creator
- system.action.user_add_role_action.blog_entry_reviewer
- system.action.user_remove_role_action.blog_entry_creator
- system.action.user_remove_role_action.blog_entry_reviewer
- user.role.blog_entry_creator
- user.role.blog_entry_reviewer
graylist: { }
graylist_dependents: true
graylist_skip_equal: true
weight: 0
- En
/admin/config/development/configuration/ignore
agregar el siguiente código en Configuration entity names to ignore:
config_split.config_split.blog:status
- Correr el siguiente comando:
drush config-export -y
La configuración de la división de bloq
ya debería de estar visible en: ../config/default/config_split.config_split.blog.yml
.
- Correr el siguiente comando:
drush cr
Habilitar un feature split
- Ir a
/admin/config/development/configuration/config-split
y habilitar Bloq split. - Importar la configuración del sitio2 (o cualquier otro sitio) corriendo el siguiente comando:
drush config-import --uri=site2