SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Drupal & Rails 
Samuel Solís & Carlos Sánchez 
MADRID · NOV 21-22 · 2014
MADRID · NOV 21-22 · 2014 
Carlos Sánchez Pérez 
Person.new( 
name: "Carlos Sánchez Pérez", 
job: "ASPgems", 
twitter: "carlossanchezp", 
github: "carlossanchezp", 
Blog: carlossanchezperez.wordpress.com")
MADRID · NOV 21-22 · 2014 
Samuel Solís 
user_save(array( 
name => "Samuel solís", 
job => "ASPgems", 
twitter => "estoyausente", 
drupal.org => "estoyausente" 
));
MADRID · NOV 21-22 · 2014 
Hoja de ruta 
Diseño Jefe Jefe de Proyecto Cliente Devs 
Monigotes cortesía de http://sinergiasincontrol.blogspot.com.es/ ¡Gracias Fred!
MADRID · NOV 21-22 · 2014 
Breve introducción 
¿Qué es Ruby On Rails? 
Rails: es un framework de desarrollo web con 
una licencia MIT y escrito en Ruby. 
Ruby: es el lenguaje de programación 
orientado a objetos e interpretado.
MADRID · NOV 21-22 · 2014 
Ruby on Rails
MADRID · NOV 21-22 · 2014 
Drupal 
CMS/framework 
LAMP 
Open source 
Gran comunidad
MADRID · NOV 21-22 · 2014 
Drupal PAC
MADRID · NOV 21-22 · 2014 
Diseño 
¿Podrías generar este 
código HTML? ¡Te 
mando el HTML y el 
CSS!
MADRID · NOV 21-22 · 2014 
Código HTML 
El departamento de diseño nos termina una nueva funcionalidad que 
debemos añadir a nuestro proyecto: 
● Disponemos de una rama git design en la nos entendemos con 
Diseño. 
● Cambios rápidos, directo sobre la rama design y actualizar 
● Pedir cambios a diseño y hacer merge de design 
● Resolución de conflictos 
● Integración con Rails 
● SkeletonDance podemos ver cómo ha quedando
MADRID · NOV 21-22 · 2014 
Código HTML 
● Es más barato cambiar el CSS 
● Muy buenos temas Responsive para 
comenzar (ver OMEGA, ZEN o 
Adaptivetheme) 
● Fácil de personalizar 
● DIVitis
MADRID · NOV 21-22 · 2014 
Código HTML 
Grado de dificultad 
Nota grado de dificultad: 1 fácil 5 complicado
MADRID · NOV 21-22 · 2014 
Jefe 
Hay que poner un 
motor de búsquedas, 
¡imprescindible!
MADRID · NOV 21-22 · 2014 
Buscador 
Nuestro Jefe nos pide una nueva funcionalidad que debemos añadir 
a nuestro proyecto: 
● Sphinx / Thinking Sphinx. 
● Modelos y los índices por separado en versión 3 
● Facilita muchas veces la forma de hacer las cosas 
● Relación entre modelos 
● Deltas y sidekiq asincrono index
MADRID · NOV 21-22 · 2014 
Búsqueda 
● Si es sencillos rápidos de construir 
● Buscadores complejos con Search API 
● Fácil integración con Solr 
● Posible integración con Sphinx
MADRID · NOV 21-22 · 2014 
Buscador 
Grado de dificultad 
Nota grado de dificultad: 1 fácil 5 complicado
MADRID · NOV 21-22 · 2014 
Cliente 
¡Hay que cambiar esto! 
¡Es super urgente!
Cambiar un modelo existente 
Nuestro Jefe de proyecto nos dice que tenemos que hacer algunos 
cambios: 
● Cambiar un modelo sobre la marcha del proyecto es lo normal 
● Migraciones 
● Probar los cambios 
● Deuda técnica 
● Piensa en quién vendrá después a retomar el proyecto 
MADRID · NOV 21-22 · 2014
Cambiar un modelo existente 
● Fácil gestión del cambio 
● Manejo de estructura de datos con Features 
● Actualizaciones en BD con Hook_update_n 
MADRID · NOV 21-22 · 2014
Cambiar un modelo existente 
Grado de dificultad 
MADRID · NOV 21-22 · 2014 
Nota grado de dificultad: 1 fácil 5 complicado
MADRID · NOV 21-22 · 2014 
Cliente 
Empecemos con la 
Fase II
MADRID · NOV 21-22 · 2014 
Modelo de datos 
El cliente nos pide nuevas funcionalidades que debemos incorporar 
en el proyecto: 
● Definir el alcance de las nuevas funcionalidades 
● Comunicarse a través de Pivotal 
● Comunicarse con Diseño 
● Realizar las nuevas migraciones 
● Integración con diseño 
● Probar que todo está bien 
● Codeclimate nos puntúa la calidad del código
MADRID · NOV 21-22 · 2014 
Modelo de datos 
● Modelado de datos rápido 
● Rapidez de un CMS 
● Potencia de un framework 
● Perfil site-builder
MADRID · NOV 21-22 · 2014 
Modelo de datos 
Grado de dificultad 
Nota grado de dificultad: 1 fácil 5 complicado
MADRID · NOV 21-22 · 2014 
Desarrolladores 
Pero… ¿Esto es fácil?
MADRID · NOV 21-22 · 2014 
Desarrolladores 
Cuando aprendemos un nuevo lenguaje como RubyOnRails 
● El comienzo si ya dispones de experiencia no es muy 
complicado 
● Te facilita la creación de proyectos. 
● Existen foros de la comunidad 
● Actividad en twitter 
● Gente muy abierta 
● Comparte y aprende
MADRID · NOV 21-22 · 2014 
Madrid.rb 
Group.new( 
name: "Madrid.rb", 
google_group: "madrid-rb", 
twitter: "madridrb", 
vimeo: "madridrb") 
¡El último jueves de cada mes en el Irish Rover!
MADRID · NOV 21-22 · 2014 
Desarrolladores 
SPAM!! 
● Poco intuitivo 
● Sencillo y rápido 
● Una GRAN comunidad que apoya 
● Drupalcamp Jerez 2014
MADRID · NOV 21-22 · 2014 
Desarrolladores 
Grado de dificultad 
Nota grado de dificultad: 1 fácil 5 complicado
MADRID · NOV 21-22 · 2014 
Conclusiones 
● No hay una herramienta mejor 
● Sé pragmático 
● El expertise es importante
@estoyausente @carlossanchezp 
MADRID · NOV 21-22 · 2014 
¿Preguntas?
MADRID · NOV 21-22 · 2014

Más contenido relacionado

Similar a Drupal y rails. Nuestra experiencia

Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8Atenea tech
 
Cuando los desarrolladores conocieron SSAS, Business Intelligence y Big Data
Cuando los desarrolladores conocieron SSAS, Business Intelligence y Big DataCuando los desarrolladores conocieron SSAS, Business Intelligence y Big Data
Cuando los desarrolladores conocieron SSAS, Business Intelligence y Big DataRuben Pertusa Lopez
 
Big data: a data sicentist view
Big data: a data sicentist viewBig data: a data sicentist view
Big data: a data sicentist viewfernandocalle
 
A todo gas: inyectando nitrógeno para incrementar la velocidad de las queries...
A todo gas: inyectando nitrógeno para incrementar la velocidad de las queries...A todo gas: inyectando nitrógeno para incrementar la velocidad de las queries...
A todo gas: inyectando nitrógeno para incrementar la velocidad de las queries...SolidQ
 
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...SolidQ
 
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015José Manuel García García
 
Implementando un sitio con Drupal 9
Implementando un sitio con Drupal 9 Implementando un sitio con Drupal 9
Implementando un sitio con Drupal 9 Krysla Marcano
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Micael Gallego
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePointAdrian Diaz Cervera
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...Miguel Ángel Sánchez Chordi
 
Visteme con 'Clean Architecture' que tengo prisas
Visteme con 'Clean Architecture' que tengo prisasVisteme con 'Clean Architecture' que tengo prisas
Visteme con 'Clean Architecture' que tengo prisasJosé María Pérez Ramos
 
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9Keopx
 
Curso Drupal7 SiteBuilding parte 1
Curso Drupal7 SiteBuilding parte 1Curso Drupal7 SiteBuilding parte 1
Curso Drupal7 SiteBuilding parte 1Alessandro Mascherpa
 
Operational Analytics, ¿amigo o enemigo de los ETLs y DQ clásicos? - SolidQ S...
Operational Analytics, ¿amigo o enemigo de los ETLs y DQ clásicos? - SolidQ S...Operational Analytics, ¿amigo o enemigo de los ETLs y DQ clásicos? - SolidQ S...
Operational Analytics, ¿amigo o enemigo de los ETLs y DQ clásicos? - SolidQ S...SolidQ
 
Real-time con Azure Stream Analytics - SolidQ Summit 2017
Real-time con Azure Stream Analytics - SolidQ Summit 2017Real-time con Azure Stream Analytics - SolidQ Summit 2017
Real-time con Azure Stream Analytics - SolidQ Summit 2017SolidQ
 

Similar a Drupal y rails. Nuestra experiencia (20)

Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8
 
Opinionated android
Opinionated androidOpinionated android
Opinionated android
 
Cuando los desarrolladores conocieron SSAS, Business Intelligence y Big Data
Cuando los desarrolladores conocieron SSAS, Business Intelligence y Big DataCuando los desarrolladores conocieron SSAS, Business Intelligence y Big Data
Cuando los desarrolladores conocieron SSAS, Business Intelligence y Big Data
 
ASPgems 2018
ASPgems 2018 ASPgems 2018
ASPgems 2018
 
Big data: a data sicentist view
Big data: a data sicentist viewBig data: a data sicentist view
Big data: a data sicentist view
 
Codemotion: descubriendo las cachés
Codemotion: descubriendo las cachésCodemotion: descubriendo las cachés
Codemotion: descubriendo las cachés
 
A todo gas: inyectando nitrógeno para incrementar la velocidad de las queries...
A todo gas: inyectando nitrógeno para incrementar la velocidad de las queries...A todo gas: inyectando nitrógeno para incrementar la velocidad de las queries...
A todo gas: inyectando nitrógeno para incrementar la velocidad de las queries...
 
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
 
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
 
Implementando un sitio con Drupal 9
Implementando un sitio con Drupal 9 Implementando un sitio con Drupal 9
Implementando un sitio con Drupal 9
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
 
Visteme con 'Clean Architecture' que tengo prisas
Visteme con 'Clean Architecture' que tengo prisasVisteme con 'Clean Architecture' que tengo prisas
Visteme con 'Clean Architecture' que tengo prisas
 
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
 
Curso Drupal7 SiteBuilding parte 1
Curso Drupal7 SiteBuilding parte 1Curso Drupal7 SiteBuilding parte 1
Curso Drupal7 SiteBuilding parte 1
 
Operational Analytics, ¿amigo o enemigo de los ETLs y DQ clásicos? - SolidQ S...
Operational Analytics, ¿amigo o enemigo de los ETLs y DQ clásicos? - SolidQ S...Operational Analytics, ¿amigo o enemigo de los ETLs y DQ clásicos? - SolidQ S...
Operational Analytics, ¿amigo o enemigo de los ETLs y DQ clásicos? - SolidQ S...
 
Real-time con Azure Stream Analytics - SolidQ Summit 2017
Real-time con Azure Stream Analytics - SolidQ Summit 2017Real-time con Azure Stream Analytics - SolidQ Summit 2017
Real-time con Azure Stream Analytics - SolidQ Summit 2017
 
Webinar Oracle Data Integrator 12c (ODI)
Webinar Oracle Data Integrator 12c (ODI)Webinar Oracle Data Integrator 12c (ODI)
Webinar Oracle Data Integrator 12c (ODI)
 
inf-162 presentacion
inf-162 presentacioninf-162 presentacion
inf-162 presentacion
 

Más de Samuel Solís Fuentes

Más de Samuel Solís Fuentes (17)

De managers y developers
De managers y developersDe managers y developers
De managers y developers
 
Hábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentarioHábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentario
 
Drupal intro for Symfony developers
Drupal intro for Symfony developersDrupal intro for Symfony developers
Drupal intro for Symfony developers
 
Querying solr
Querying solrQuerying solr
Querying solr
 
Las tripas de un sistema solr
Las tripas de un sistema solrLas tripas de un sistema solr
Las tripas de un sistema solr
 
D8 Form api
D8 Form apiD8 Form api
D8 Form api
 
Mejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicaciónMejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicación
 
Custom entities in d8
Custom entities in d8Custom entities in d8
Custom entities in d8
 
Drupal8 simplepage v2
Drupal8 simplepage v2Drupal8 simplepage v2
Drupal8 simplepage v2
 
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
 
Como arreglar este desastre
Como arreglar este desastreComo arreglar este desastre
Como arreglar este desastre
 
Mejorar tu código hablando con el cliente
Mejorar tu código hablando con el clienteMejorar tu código hablando con el cliente
Mejorar tu código hablando con el cliente
 
Taller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulosTaller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulos
 
Más limpio que un jaspe.
Más limpio que un jaspe.Más limpio que un jaspe.
Más limpio que un jaspe.
 
Drupal as a framework
Drupal as a frameworkDrupal as a framework
Drupal as a framework
 
Arquitectura de información en drupal
Arquitectura de información en drupalArquitectura de información en drupal
Arquitectura de información en drupal
 
Drupal para desarrolladores
Drupal para desarrolladoresDrupal para desarrolladores
Drupal para desarrolladores
 

Drupal y rails. Nuestra experiencia

  • 1. Drupal & Rails Samuel Solís & Carlos Sánchez MADRID · NOV 21-22 · 2014
  • 2. MADRID · NOV 21-22 · 2014 Carlos Sánchez Pérez Person.new( name: "Carlos Sánchez Pérez", job: "ASPgems", twitter: "carlossanchezp", github: "carlossanchezp", Blog: carlossanchezperez.wordpress.com")
  • 3. MADRID · NOV 21-22 · 2014 Samuel Solís user_save(array( name => "Samuel solís", job => "ASPgems", twitter => "estoyausente", drupal.org => "estoyausente" ));
  • 4. MADRID · NOV 21-22 · 2014 Hoja de ruta Diseño Jefe Jefe de Proyecto Cliente Devs Monigotes cortesía de http://sinergiasincontrol.blogspot.com.es/ ¡Gracias Fred!
  • 5. MADRID · NOV 21-22 · 2014 Breve introducción ¿Qué es Ruby On Rails? Rails: es un framework de desarrollo web con una licencia MIT y escrito en Ruby. Ruby: es el lenguaje de programación orientado a objetos e interpretado.
  • 6. MADRID · NOV 21-22 · 2014 Ruby on Rails
  • 7. MADRID · NOV 21-22 · 2014 Drupal CMS/framework LAMP Open source Gran comunidad
  • 8. MADRID · NOV 21-22 · 2014 Drupal PAC
  • 9. MADRID · NOV 21-22 · 2014 Diseño ¿Podrías generar este código HTML? ¡Te mando el HTML y el CSS!
  • 10. MADRID · NOV 21-22 · 2014 Código HTML El departamento de diseño nos termina una nueva funcionalidad que debemos añadir a nuestro proyecto: ● Disponemos de una rama git design en la nos entendemos con Diseño. ● Cambios rápidos, directo sobre la rama design y actualizar ● Pedir cambios a diseño y hacer merge de design ● Resolución de conflictos ● Integración con Rails ● SkeletonDance podemos ver cómo ha quedando
  • 11. MADRID · NOV 21-22 · 2014 Código HTML ● Es más barato cambiar el CSS ● Muy buenos temas Responsive para comenzar (ver OMEGA, ZEN o Adaptivetheme) ● Fácil de personalizar ● DIVitis
  • 12. MADRID · NOV 21-22 · 2014 Código HTML Grado de dificultad Nota grado de dificultad: 1 fácil 5 complicado
  • 13. MADRID · NOV 21-22 · 2014 Jefe Hay que poner un motor de búsquedas, ¡imprescindible!
  • 14. MADRID · NOV 21-22 · 2014 Buscador Nuestro Jefe nos pide una nueva funcionalidad que debemos añadir a nuestro proyecto: ● Sphinx / Thinking Sphinx. ● Modelos y los índices por separado en versión 3 ● Facilita muchas veces la forma de hacer las cosas ● Relación entre modelos ● Deltas y sidekiq asincrono index
  • 15. MADRID · NOV 21-22 · 2014 Búsqueda ● Si es sencillos rápidos de construir ● Buscadores complejos con Search API ● Fácil integración con Solr ● Posible integración con Sphinx
  • 16. MADRID · NOV 21-22 · 2014 Buscador Grado de dificultad Nota grado de dificultad: 1 fácil 5 complicado
  • 17. MADRID · NOV 21-22 · 2014 Cliente ¡Hay que cambiar esto! ¡Es super urgente!
  • 18. Cambiar un modelo existente Nuestro Jefe de proyecto nos dice que tenemos que hacer algunos cambios: ● Cambiar un modelo sobre la marcha del proyecto es lo normal ● Migraciones ● Probar los cambios ● Deuda técnica ● Piensa en quién vendrá después a retomar el proyecto MADRID · NOV 21-22 · 2014
  • 19. Cambiar un modelo existente ● Fácil gestión del cambio ● Manejo de estructura de datos con Features ● Actualizaciones en BD con Hook_update_n MADRID · NOV 21-22 · 2014
  • 20. Cambiar un modelo existente Grado de dificultad MADRID · NOV 21-22 · 2014 Nota grado de dificultad: 1 fácil 5 complicado
  • 21. MADRID · NOV 21-22 · 2014 Cliente Empecemos con la Fase II
  • 22. MADRID · NOV 21-22 · 2014 Modelo de datos El cliente nos pide nuevas funcionalidades que debemos incorporar en el proyecto: ● Definir el alcance de las nuevas funcionalidades ● Comunicarse a través de Pivotal ● Comunicarse con Diseño ● Realizar las nuevas migraciones ● Integración con diseño ● Probar que todo está bien ● Codeclimate nos puntúa la calidad del código
  • 23. MADRID · NOV 21-22 · 2014 Modelo de datos ● Modelado de datos rápido ● Rapidez de un CMS ● Potencia de un framework ● Perfil site-builder
  • 24. MADRID · NOV 21-22 · 2014 Modelo de datos Grado de dificultad Nota grado de dificultad: 1 fácil 5 complicado
  • 25. MADRID · NOV 21-22 · 2014 Desarrolladores Pero… ¿Esto es fácil?
  • 26. MADRID · NOV 21-22 · 2014 Desarrolladores Cuando aprendemos un nuevo lenguaje como RubyOnRails ● El comienzo si ya dispones de experiencia no es muy complicado ● Te facilita la creación de proyectos. ● Existen foros de la comunidad ● Actividad en twitter ● Gente muy abierta ● Comparte y aprende
  • 27. MADRID · NOV 21-22 · 2014 Madrid.rb Group.new( name: "Madrid.rb", google_group: "madrid-rb", twitter: "madridrb", vimeo: "madridrb") ¡El último jueves de cada mes en el Irish Rover!
  • 28. MADRID · NOV 21-22 · 2014 Desarrolladores SPAM!! ● Poco intuitivo ● Sencillo y rápido ● Una GRAN comunidad que apoya ● Drupalcamp Jerez 2014
  • 29. MADRID · NOV 21-22 · 2014 Desarrolladores Grado de dificultad Nota grado de dificultad: 1 fácil 5 complicado
  • 30. MADRID · NOV 21-22 · 2014 Conclusiones ● No hay una herramienta mejor ● Sé pragmático ● El expertise es importante
  • 31. @estoyausente @carlossanchezp MADRID · NOV 21-22 · 2014 ¿Preguntas?
  • 32. MADRID · NOV 21-22 · 2014