Hero

Configuration Split con Acquia (parte 2 de 2)

Julio 27, 2022

Raúl García
Configuration Split

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 bloqya 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

Recibe consejos y oportunidades de trabajo 100% remotas y en dólares de weKnow Inc.