SlideShare una empresa de Scribd logo
1 de 17
CMI en Drupal 8
Exportar configuraciones entre entornos
Actualmente trabajo en:
¿Y este quien es?
Robert Menetray Caballero
¿Qué es CMI (Configuration Management Initiative)?
En D7 tenemos Features y otros módulos como Strongarm que permiten
exportar las configuraciones. El problema es que es un engorro usar features
para esto. (hook_update_N(), configuraciones olvidadas al reconstruir, ...)
La Iniciativa de Gestión de la Configuración es el intento de mejorar el
despliegue entre entornos y de sustituir a Features en una tarea para la que no
se diseñó inicialmente.
El resultado de CMI es el módulo “Configuration Manager” (esta en el core)
No es para ...
“Configuration Manager” hace que sea posible el despliegue de configuración
de un entorno a otro siempre que sea el mismo sitio. El sitio se identifica con
la ayuda de un identificador único universal (UUID).
Si lo que se quiere es reutilizar funcionalidades de un proyecto a otro para eso
está el módulo Features
A grandes rasgos: ¿Cómo funciona?
Por defecto, las configuraciones de Drupal se almacenan en la base de datos.
Sin embargo, Drupal 8 ofrece la posibilidad de exportarlas a código.
Es tan simple como:
Exportar la configuración de la base de datos a archivos.
Subir los archivos al entorno donde se han de aplicar.
Importar a la base de datos la nueva config.
¿Sirve para todo?
Exporta/Importa todo lo que no es contenido:
config de módulos y temas (los activa/desinstala automáticamente)
colocación de los bloques (sin su contenido)
menús de navegación (sin items de menú)
config de los tipos de contenido y vocabularios de taxonomías
listados de Views
¿Cómo usarlo? (interfaz)
Desde interfaz
Desde drush:
drush config-export (drush cex)
drush config-import (drush cim)
Sobrescribir valores (settings.php)
Siendo el nombre del archivo: system.performance.yml
Se puede sobrescribir desde el settings.php con:
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
Configuraciones distintas entre entornos
Para evitar que se activen y exporten configuraciones de determinados
módulos:
Con el filtro “skip-modules” del Drush
Con el módulo “Configuration Split”
skip-modules
$command_specific['config-export']['skip-modules'] = array('devel');
$command_specific['config-import']['skip-modules'] = array('devel');
Configuration Split
Módulos interesantes
Configuration development (https://www.drupal.org/project/config_devel)
Configuration Update Manager
(https://www.drupal.org/project/config_update)
Configuration Split (https://www.drupal.org/project/config_split)
Configuration Read-only mode
(https://www.drupal.org/project/config_readonly)
Consejos
Siempre exportar antes de ejecutar git pull. Sino se pierden configuraciones
que haya hecho otra persona.
Antes de importar se han de revisar las configuraciones que se
sobreescribiran. Por si alguien toca la configuración sin que te hayas dado
cuenta.
Drush te facilita la vida. Usalo!!
Errores conocidos
Los bloques se rompen
Algunas veces no se importa todo a la primera
Cuidado al eliminar cosas que tengan dependencias. A veces recrean cosas
y pueden eliminar contenidos.
DEMO

Más contenido relacionado

Destacado

Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)Ymbra
 
Moving our company site to drupal 8: Break the Ice!
Moving our company site to drupal 8: Break the Ice!Moving our company site to drupal 8: Break the Ice!
Moving our company site to drupal 8: Break the Ice!Jorge Diaz
 
Inclusive Design: an Introduction to Accessibility - Radina Matic - DrupalCon...
Inclusive Design: an Introduction to Accessibility - Radina Matic - DrupalCon...Inclusive Design: an Introduction to Accessibility - Radina Matic - DrupalCon...
Inclusive Design: an Introduction to Accessibility - Radina Matic - DrupalCon...Radina Matic
 
Improving Responsive Web Design Process 2016
Improving Responsive Web Design Process 2016Improving Responsive Web Design Process 2016
Improving Responsive Web Design Process 2016Cristina Chumillas
 
Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez
Descripción Modelo Entidad Relación Drupal Autora Marc Bria RamírezDescripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez
Descripción Modelo Entidad Relación Drupal Autora Marc Bria RamírezDoryan Mathos
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015 Keopx
 
Taller de Drupal #DrupalGTD Lima
Taller de Drupal #DrupalGTD LimaTaller de Drupal #DrupalGTD Lima
Taller de Drupal #DrupalGTD LimaHeissen López
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Ivan Zugec
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8Atenea tech
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8Julian Valero
 

Destacado (11)

Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)
 
Moving our company site to drupal 8: Break the Ice!
Moving our company site to drupal 8: Break the Ice!Moving our company site to drupal 8: Break the Ice!
Moving our company site to drupal 8: Break the Ice!
 
Inclusive Design: an Introduction to Accessibility - Radina Matic - DrupalCon...
Inclusive Design: an Introduction to Accessibility - Radina Matic - DrupalCon...Inclusive Design: an Introduction to Accessibility - Radina Matic - DrupalCon...
Inclusive Design: an Introduction to Accessibility - Radina Matic - DrupalCon...
 
Improving Responsive Web Design Process 2016
Improving Responsive Web Design Process 2016Improving Responsive Web Design Process 2016
Improving Responsive Web Design Process 2016
 
Kerrang analysis
Kerrang analysisKerrang analysis
Kerrang analysis
 
Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez
Descripción Modelo Entidad Relación Drupal Autora Marc Bria RamírezDescripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez
Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015
 
Taller de Drupal #DrupalGTD Lima
Taller de Drupal #DrupalGTD LimaTaller de Drupal #DrupalGTD Lima
Taller de Drupal #DrupalGTD Lima
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
 

Similar a Cmi en drupal 8

Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7Edgar Dueñas
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
Migracion de xp a windows 7
Migracion de xp a windows 7Migracion de xp a windows 7
Migracion de xp a windows 7Pablo Campos
 
Sistemas operativos 362248 naranjo_agudelo_sierrarayo
Sistemas operativos 362248 naranjo_agudelo_sierrarayoSistemas operativos 362248 naranjo_agudelo_sierrarayo
Sistemas operativos 362248 naranjo_agudelo_sierrarayojdna
 
Drupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidadesDrupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidadesAlberto Permuy Leal
 
Introduccion técnica a Drupal
Introduccion técnica a DrupalIntroduccion técnica a Drupal
Introduccion técnica a DrupalPedro Cambra
 
Construyendo rootkits basicos
Construyendo rootkits basicosConstruyendo rootkits basicos
Construyendo rootkits basicosTensor
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Vicente Gerardo Guzman Lucio
 
Cómo compilar el kernel
Cómo compilar el kernelCómo compilar el kernel
Cómo compilar el kernelMIT
 
Joomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesJoomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesdeivit86
 
Unidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietarioUnidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietarioSacro Undercrown
 
Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Cristian Mamani
 
Categotias de sistemas operativo
Categotias de sistemas operativoCategotias de sistemas operativo
Categotias de sistemas operativojaviercollantes
 

Similar a Cmi en drupal 8 (20)

Webpack desde cero
Webpack desde ceroWebpack desde cero
Webpack desde cero
 
Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Framework
FrameworkFramework
Framework
 
Migracion de xp a windows 7
Migracion de xp a windows 7Migracion de xp a windows 7
Migracion de xp a windows 7
 
Sistemas operativos 362248 naranjo_agudelo_sierrarayo
Sistemas operativos 362248 naranjo_agudelo_sierrarayoSistemas operativos 362248 naranjo_agudelo_sierrarayo
Sistemas operativos 362248 naranjo_agudelo_sierrarayo
 
Drupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidadesDrupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidades
 
Introduccion técnica a Drupal
Introduccion técnica a DrupalIntroduccion técnica a Drupal
Introduccion técnica a Drupal
 
Construyendo rootkits basicos
Construyendo rootkits basicosConstruyendo rootkits basicos
Construyendo rootkits basicos
 
Cuestionario android
Cuestionario androidCuestionario android
Cuestionario android
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#
 
Cómo compilar el kernel
Cómo compilar el kernelCómo compilar el kernel
Cómo compilar el kernel
 
Joomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesJoomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensiones
 
Unidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietarioUnidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietario
 
Buenasprcticas
BuenasprcticasBuenasprcticas
Buenasprcticas
 
Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7
 
Categotias de sistemas operativo
Categotias de sistemas operativoCategotias de sistemas operativo
Categotias de sistemas operativo
 
Framework
FrameworkFramework
Framework
 

Más de Atenea tech

Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018
Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018
Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018Atenea tech
 
Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017Atenea tech
 
Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8
Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8
Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8Atenea tech
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8Atenea tech
 
Extreme page composition with paragraphs
Extreme page composition with paragraphsExtreme page composition with paragraphs
Extreme page composition with paragraphsAtenea tech
 
¿Qué es drupal?
¿Qué es drupal? ¿Qué es drupal?
¿Qué es drupal? Atenea tech
 
Cultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y DrupalCultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y DrupalAtenea tech
 
Formularios en Drupal 8
Formularios en Drupal 8Formularios en Drupal 8
Formularios en Drupal 8Atenea tech
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8Atenea tech
 
Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014
Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014
Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014Atenea tech
 
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...Atenea tech
 
Drupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòdulsDrupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòdulsAtenea tech
 
Drupal: Posada en Funcionament
Drupal: Posada en FuncionamentDrupal: Posada en Funcionament
Drupal: Posada en FuncionamentAtenea tech
 
Introducció a Drupal
Introducció a DrupalIntroducció a Drupal
Introducció a DrupalAtenea tech
 
Context vs panels
Context vs panelsContext vs panels
Context vs panelsAtenea tech
 
Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Atenea tech
 
Display suite - Drupal.cat
Display suite - Drupal.catDisplay suite - Drupal.cat
Display suite - Drupal.catAtenea tech
 
AEPap web en Drupal desenvolupada per Atenea tech
AEPap web en Drupal desenvolupada per Atenea techAEPap web en Drupal desenvolupada per Atenea tech
AEPap web en Drupal desenvolupada per Atenea techAtenea tech
 

Más de Atenea tech (20)

Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018
Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018
Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018
 
Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017
 
Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8
Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8
Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8
 
Let’s encrypt
Let’s encryptLet’s encrypt
Let’s encrypt
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8
 
Extreme page composition with paragraphs
Extreme page composition with paragraphsExtreme page composition with paragraphs
Extreme page composition with paragraphs
 
¿Qué es drupal?
¿Qué es drupal? ¿Qué es drupal?
¿Qué es drupal?
 
Cultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y DrupalCultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y Drupal
 
Formularios en Drupal 8
Formularios en Drupal 8Formularios en Drupal 8
Formularios en Drupal 8
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8
 
Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014
Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014
Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014
 
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...
 
Drupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòdulsDrupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòduls
 
Drupal: Posada en Funcionament
Drupal: Posada en FuncionamentDrupal: Posada en Funcionament
Drupal: Posada en Funcionament
 
Introducció a Drupal
Introducció a DrupalIntroducció a Drupal
Introducció a Drupal
 
Context vs panels
Context vs panelsContext vs panels
Context vs panels
 
Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012
 
Xarxes socials
Xarxes socialsXarxes socials
Xarxes socials
 
Display suite - Drupal.cat
Display suite - Drupal.catDisplay suite - Drupal.cat
Display suite - Drupal.cat
 
AEPap web en Drupal desenvolupada per Atenea tech
AEPap web en Drupal desenvolupada per Atenea techAEPap web en Drupal desenvolupada per Atenea tech
AEPap web en Drupal desenvolupada per Atenea tech
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (10)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Cmi en drupal 8

  • 1. CMI en Drupal 8 Exportar configuraciones entre entornos
  • 2. Actualmente trabajo en: ¿Y este quien es? Robert Menetray Caballero
  • 3. ¿Qué es CMI (Configuration Management Initiative)? En D7 tenemos Features y otros módulos como Strongarm que permiten exportar las configuraciones. El problema es que es un engorro usar features para esto. (hook_update_N(), configuraciones olvidadas al reconstruir, ...) La Iniciativa de Gestión de la Configuración es el intento de mejorar el despliegue entre entornos y de sustituir a Features en una tarea para la que no se diseñó inicialmente. El resultado de CMI es el módulo “Configuration Manager” (esta en el core)
  • 4. No es para ... “Configuration Manager” hace que sea posible el despliegue de configuración de un entorno a otro siempre que sea el mismo sitio. El sitio se identifica con la ayuda de un identificador único universal (UUID). Si lo que se quiere es reutilizar funcionalidades de un proyecto a otro para eso está el módulo Features
  • 5. A grandes rasgos: ¿Cómo funciona? Por defecto, las configuraciones de Drupal se almacenan en la base de datos. Sin embargo, Drupal 8 ofrece la posibilidad de exportarlas a código. Es tan simple como: Exportar la configuración de la base de datos a archivos. Subir los archivos al entorno donde se han de aplicar. Importar a la base de datos la nueva config.
  • 6. ¿Sirve para todo? Exporta/Importa todo lo que no es contenido: config de módulos y temas (los activa/desinstala automáticamente) colocación de los bloques (sin su contenido) menús de navegación (sin items de menú) config de los tipos de contenido y vocabularios de taxonomías listados de Views
  • 7. ¿Cómo usarlo? (interfaz) Desde interfaz Desde drush: drush config-export (drush cex) drush config-import (drush cim)
  • 8.
  • 9.
  • 10. Sobrescribir valores (settings.php) Siendo el nombre del archivo: system.performance.yml Se puede sobrescribir desde el settings.php con: $config['system.performance']['css']['preprocess'] = FALSE; $config['system.performance']['js']['preprocess'] = FALSE;
  • 11. Configuraciones distintas entre entornos Para evitar que se activen y exporten configuraciones de determinados módulos: Con el filtro “skip-modules” del Drush Con el módulo “Configuration Split”
  • 14. Módulos interesantes Configuration development (https://www.drupal.org/project/config_devel) Configuration Update Manager (https://www.drupal.org/project/config_update) Configuration Split (https://www.drupal.org/project/config_split) Configuration Read-only mode (https://www.drupal.org/project/config_readonly)
  • 15. Consejos Siempre exportar antes de ejecutar git pull. Sino se pierden configuraciones que haya hecho otra persona. Antes de importar se han de revisar las configuraciones que se sobreescribiran. Por si alguien toca la configuración sin que te hayas dado cuenta. Drush te facilita la vida. Usalo!!
  • 16. Errores conocidos Los bloques se rompen Algunas veces no se importa todo a la primera Cuidado al eliminar cosas que tengan dependencias. A veces recrean cosas y pueden eliminar contenidos.
  • 17. DEMO