![Page 1: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/1.jpg)
WCBA17
José María DebuchyIntroducción a herramientas de Roots@josedebuchy
![Page 2: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/2.jpg)
2
WordPress Introducción
๏ Abarca el ~59.2% de los CMS alrededor del mundo. ~28.3% de los sitios web online.
๏ Tiene barreras de entrada muy bajas.
๏ Está basado en una amplia comunidad, en permanente evolución.
![Page 3: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/3.jpg)
3
¿Por qué elegir Roots? Introducción
๏ Proceso de trabajo predecible y escalable en equipo.
๏ Herramientas avanzadas de desarrollo.
๏ Mejora continua en comunidad.
![Page 4: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/4.jpg)
4
Productos de Roots Introducción
Trellis: Infraestructura
Bedrock: Aplicación
Sage: Starter Theme
Nota: Pueden utilizarse en forma separada, pero su ventaja radica en su uso combinado.
![Page 5: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/5.jpg)
5
Requerimientos Introducción
๏ No utilizar servidores compartidos. Instalación Ubuntu 16.04 Xenial TLS.
๏ Ciertas adaptaciones para Windows.
๏ Algunos conocimientos de línea de comandos.
![Page 6: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/6.jpg)
6
Resumen
1. Servidores Idénticos
2. Creación de servidores complejos
3. FTP vs VCS
4. Plugins, Themes y core de WP como dependencias
5. Nueva organización de carpetas
6. Seguridad y mayor organización de constantes
7. Wrapper único. DRY.
8. Utilización de SCSS y compiladores para Assets
9. Sincronización de BBDD mediante plugin
10. Notificaciones, Emails a través de una aplicación de terceros.*
Propuestas de mejora
![Page 7: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/7.jpg)
7
1. Servidores idénticos Trellis
๏ Development, Staging y Producción
๏ Nos aseguramos de que lo que estamos viendo en nuestra computadora mientras desarrollamos se verá en forma idéntica en los otros entornos.
![Page 8: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/8.jpg)
8
2. Creación de servidores complejos Trellis
Servidor LEMP
Opciones: Digital Ocean, Amazon, Vultr
ansible-playbook server.yml -e env=<environment>
![Page 9: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/9.jpg)
9
3. FTP vs VCS + Deploy Automático Trellis
๏ Backup del código. Evolución del código. Posibilidad más sencilla de compartir el trabajo en equipo.
๏ Con un solo comando en ansible se corren una serie de tareas y testeos, si están ok se hace un clon del repositorio, se crea una carpeta con ese codebase con una fecha y se genera una alias como carpeta principal.
๏ Opciones de hosting de repositorios: Github, Bitbucket, Beanstalk.
./bin/deploy.sh <environment> <site name>
![Page 10: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/10.jpg)
10
4. Sistema de dependencias. Bedrock
๏ Todas las dependencias (Plugins, themes y WP) están listadas en un único archivo, llamado composer.json.
๏ Se actualizan desde un único lugar.
๏ Solamente instalás los archivos propios de tu proyecto/theme en el repositorio.
๏ WPackagist. Repositorio composer para WordPress.
composer update
![Page 11: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/11.jpg)
11
Bedrock5. Nueva estructura de carpetas.
composer create-project roots/bedrock your-project-folder-name
![Page 12: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/12.jpg)
12
6. Seguridad Bedrock
๏ La mayoría de las credenciales de acceso o datos importantes se recopilan en archivos .env.
๏ Estos archivos se encuentran fuera la raíz.
๏ wp-password-bcrypt
![Page 13: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/13.jpg)
13
Sage7. Wrapper (DRY)
๏ DRY: Don’t Repeat Yourself.
๏ Se nombra en un archivo base por única vez a las funciones get_header(), get_footer() y get_sidebar().
![Page 14: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/14.jpg)
14
8. SCSS y compiladores de assets Sage
๏ Workflow avanzado
๏ Sage 8: Gulp, Bower, NPM, BrowserSync, etc.
๏ Sage 9: Webpack, Blade, Yarn, BrowserSync, etc
๏ Opciones de Frameworks Bootstrap 4 / Foundation
gulp [watch | —production]bower installnpm install
Sage 8
yarn run [start | build ]yarncomposer install
Sage 9
![Page 15: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/15.jpg)
15
9. Sincronización de BBDD Extra
WP DB Migrate PRO
๏ Ventajas
๏ Ahorro grande de tiempo en migraciones.
๏ Automatización de trabajo. No más manejo de SQL.
๏ Desventajas
๏ Precio
*
![Page 16: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/16.jpg)
16
10. Notificaciones, Emails Extras
๏ Development
๏ MailHog
๏ Staging/Producción
๏ Instalación de servicios externos.
๏ Mailgun, Sendgrid o Amazon SES, entre otros.
*
![Page 17: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/17.jpg)
17
Resumen
1. Servidores Idénticos
2. Creación de servidores complejos
3. FTP vs VCS
4. Plugins, Themes y core de WP como dependencias
5. Nueva organización de carpetas
6. Seguridad y mayor organización de constantes
7. Wrapper único. DRY.
8. Utilización de SCSS y compiladores para Assets
9. Sincronización de BBDD mediante plugin
10. Notificaciones, Emails a través de una aplicación de terceros.*
Propuestas de mejora
![Page 18: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/18.jpg)
18
Combinaciones Sugeridas Resumen
๏ Trellis (Servidor)
๏ Bedrock (Aplicación)
๏ Sage (Theme)
๏ Digital Ocean (Infraestructura)
๏ Bitbucket (Repositorio)
๏ Soil (Limpieza) *
๏ ACF Pro (Campos personalizados) *
๏ WP Migrate DB Pro * (Migración distintos entornos)
๏ Contact Form 7 o Gravity Forms * (Formulario de contacto)
๏ WP Offload S3 Lite (Multimedia)
๏ Font Awesome (Íconos)
๏ Mailgun (Envío de emails)
![Page 19: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/19.jpg)
19
Ejemplo / Soporte Resumen
Roots Example Project
๏ https://github.com/roots/roots-example-project.com
Foro Oficial
๏ https://discourse.roots.io
![Page 20: Introducción a herramientas de Roots (José Debuchy, WCBA 2017)](https://reader031.vdocumento.com/reader031/viewer/2022021500/5aaba8f07f8b9ac7658b46d9/html5/thumbnails/20.jpg)
20
Referencias Resumen
๏Roots (roots.io)
๏Git (git-scm.com)
๏The Twelve-Factor App (12factor.net/es/)
๏Virtualbox (www.virtualbox.org)
๏Ansible (www.ansible.com)
๏SequelPro (www.sequelpro.com)
๏Bitbucket (bitbucket.org)
๏Digital Ocean (www.digitalocean.com)
๏Sass (http://sass-lang.com/)