Good code is like a good joke, it needs no explanation


Good code is like a good joke, it needs no explanation

Visto en mi viaje a Edimburgo, subiendo a Calton Hill.

Primer curso de Drupal Commerce en España, los próximos 17-19 de Febrero en Madrid

El próximo mes de Febero, del 17 al 19, con la colaboración de Ymbra y Forcontu impartiremos el primer curso de Drupal Commerce que esperamos que sea el primero de muchos.

Contenido del curso

Los contenidos serán muy prácticos y orientados a un público técnico, desde site builders a desarrolladores, así que si estáis en el proceso de evaluar o considerar Drupal Commerce como solución para una tienda online, es una oportunidad estupenda para mirarle las tripas y solucionar dudas.

El primer día Fran repasará los fundamentos de Drupal Commerce y los proceso de instalación, incluyendo as diferencias entre las versiones disponibles, detalle de la arquitectura de Drupal Commerce y la gestión de productos. También se trabajará con módulos como Views y Rules, imprescindibles para la construcción de sitios avanzados.

Yo me uniré en el segundo día para entrar en detalle de conceptos avanzados como la gestión del proceso completo de checkout, desde carrito hasta pago, como gestionar impuestos, descuentos y cupones, además de dedicar algo de tiempo a módulos contribuidos interesantes para ayudar en la construcción de tiendas online.

El tercer día será orientado al desarrollo y hablaremos de cosas como Entity API, los hooks más útiles, best practices... Hablaremos también de gestión de campos, formatters y creación de rules desde código entre otras muchas cosas.

¿Dónde?

Los cursos se imparten en las oficinas de Forcontu en:

C/ Alcalá 20 - Piso 2, Oficina 209 - (Teatro Alcázar) - 28014 - Madrid.

Metro Sevilla (Línea 2) o Metro Sol. Parking público Sevilla. Autobuses 5-9-15-20-46-52-53-150

¿Cómo me apunto?

Podéis reservar vuestra plaza usando el formulario de registro, si tenéis alguna duda, no dudéis en contactar conmigo o con Forcontu.

¿Y en otras ciudades?

El primer curso, por motivos logísticos se realizará en Madrid, pero queremos montar muchos más, estamos empezando a buscar fechas para montar uno en Barcelona a finales de año, así que si estáis interesados, ponéos en contacto y os mantendremos informados

Samsung Galaxy S3: instalar o recuperar la rom por defecto en Mac OSX

Samsung decidió desplegar la última versión de Android compatible con el Galaxy S3 y tras hacer backup, decidí actualizar con la mala suerte de que acabé en lo que parece conocerse como el "Black screen of death" (la pantalla negra de la muerte), dejando mi teléfono inservible, tras evaluar las opciones y posibles soluciones al problema, el recuperar la ROM pareció la solución menos arriesgada. Primero probé a resetear de fábrica, limpiar caché y otras opciones, sin resultados. No quería particularmente rootear mi teléfono, así que la solución de recuperar era la mejor para mi.

Nota: Esto no es una guia de como rootear el teléfono o instalar una ROM personalizada,

Muchos tutoriales en la red combinan partes de esta solución para rootear el teléfono, así que no debería ser muy diferente, en todo caso, casi todos ellos utilizan la herramienta Odin, la oficial que Samsung provee, pero por lo visto tiene dos inconvenientes, parece fallar bastante y es solo para Windows. Estamos en uno de esos casos donde el Open Source viene al rescate y tenemos una herramienta de bastante calidad, multiplataforma y libre: Heimdall. El proceso que describo a continuación se ha hecho usando Mac OSX (10.8.5) pero debería funcionar en cualquier otro sistema operativo, aunque no se recomienda versiones anteriores a Mountain Lion.

Conviente aclarar que este método es para la versión Samsung Galaxy S3 GT-i9300, otras versiones pueden seguir el mismo paso a paso, pero a la hora de seleccionar la ROM adecuada, y otros pasos específicos, las instrucciones pueden variar.

Esto va a borrar toda la memoria interna del teléfono, así que haced backup primero. Si lo que estáis haciendo es "desrootear" el terminal para venderlo o devolverlo a una tienda, se recomienda resetear el contador de flash para que no quede rastro del rooteo.

Drupalcamps de Cáceres y Manchester

Las dos últimas drupalcamps a las que he atendido son la Drupalcamp Spain 2013 de Cáceres y la Drupalcamp North West, en Manchester, dos eventos centrados en la comunidad con ambientes muy parecidos en los que presenté un par de charlas.

Drupalcamp Spain 2013

Nuestra última camp, en la que estuve bastante involucrado en la organización, era mi primera camp desde que estoy trabajando en Ymbra, y personalmente, la considero el mejor evento de Drupal que se ha organizado en España, incluyendo los Drupal developer days que organizamos en Barcelona en 2012; casi 300 asistentes, ambiente inmejorable, mucha más organización y atención al detalle, prueba de ello es que todas las charlas ya han sido subidas a la cuenta de vimeo de la asociación española de Drupal, hito que no se había cumplido en ninguna de las anteriores tan pronto ni con tanta calidad.

Mis charlas

Las dos charlas que presenté fueron:

Mis recomendaciones

Para aquellos que no fuisteis al evento, o que no teneis el don de la ubiquidad para acudir a todas las charlas tan interesantes que hubo, os dejo 3 recomendaciones de charlas que me han parecido muy remarcables:

  • Hasta producción y más allá, por Pedro González, la charla que más me gustó en la que se sale un poco del tratamiento habitual técnico para entrar en experiencias con clientes, presupuestos, herencia, arquitectura, muy completa y entretenida.
  • Responsive Web Design en Drupal, por Cristina Chumillas y Pako García. Muy interesante repaso a las tendencias del diseño y acercamiento "responsive" a proyectos Drupal, con bastantes detalles y soluciones realistas que funcionan hoy en día.
  • Flujo de desarrollo en Drupal por Ignacio Sánchez es un estupendo repaso a como tratar un proyecto con integración continua en Drupal, no soy muy amigo de Vagrant pero esta charla expone de forma clara y sencilla como manejar soluciones para desarrollo de proyectos.

Drupalcamp North West (Manchester)

Impecablemente organizada, la camp del "North West" del Reino Unido reunió casi 200 personas y fue un encuentro muy interesante para mi, que no habia estado en la zona todavía y no tenía apenas contacto con la comunidad local, me perdí la de 2012, pero este año no podía faltar, fue un evento de 3 días, dedicando el primero para empresas (genérico, no necesariamente de Drupal) con muy buen resultado, los otros dos se reservaron para sesiones y se echó de menos un poco de espacio para sprints, pero la organización se merece un 10 y les agradezco mucho la invitación.

Mi charla

Presenté Drupal 8 undercover initiatives, con muy buena acogida, se nota mucho cuando una charla está rodada y tiene algunas iteraciones, video:


Mis recomendaciones

  • Caso de uso: Shop Direct, por Paul Hornby. No es una charla de Drupal, de hecho ellos ni usan Drupal para sus soluciones principales, pero esta charla del "Business day" merece muchísimo la pena, es un caso de uso de primera mano de como Shop Direct pasa de ser una empresa de venta por catálogo a liderar la venta online en muy pocos años.
  • What's my name, por Brian Teeman, uno de los fundadores del proyecto Joomla, una charla casi casi de usabilidad sobre como tratar los nombres de los usuarios en formularios de registro, boletines, etc.

Hubo muchas otras charlas que merecen mucho la pena, todos los videos están subidos a youtube, en una lista de reproducción y en la cuenta del grupo local

Y ahora a pensar en otras dos grandes citas para el año que viene, la Drupalcamp London 2014 y la Drupalcamp Spain 2014 en Valencia, en las que Ymbra será patrocinador.

Tres razones para ir a la Drupalcamp de Cáceres

El evento drupalero del año en España es en un par de semanas, el 26 de Octubre Cáceres se teñirá de azul druplicon para recibir la cuarta Drupalcamp Spain que celebramos en la comunidad española. Es la primera que me pilla fuera desde que estoy viviendo en Londres, pero no me la he querido perder y el mismo viernes estaré llegando a Drúceres!

Me gustaría compartir las razones por las que si os interesa Drupal, ya sea porque trabajáis con él en el día a día o lo usáis para vuestros "side projects", blogs o páginas por afición. Este año vengo con tres razones muy importantes, aunque si queréis más, podéis echarle un ojo a las 10 que usamos en Barcelona hace 3 años.

  • Cáceres, la camp va a realizarse en una "ciudad monumental". Según la información turística... "la luz del atardecer en la piedra invita a prolongar los paseos por la ciudad hasta la noche y disfrutar del espectáculo de una cena o de un concierto teniendo a la luna como anfitriona", ¿de verdad os vais a perder algo así?
  • Drupal 8 está llegando, y estamos más listos que nunca, hay hasta 10 sesiones en el programa definitivo que se dedicarán a la nueva versión, así que si quieres ponerte al día no encontrarás una mejor oportunidad, además "el track del pasillo" tendrá sin duda mucho contenido dedicado a la versión 8.
  • Comunidad, comunidad, comunidad: lo mejor que tiene Drupal. Un fin de semana para pasarlo bien con drupaleros de toda España y parte del extranjero, disfrutar de una conferencia de primer nivel y por supuesto de la fiesta posterior.

Acabo con un poco de shameless spam, en esta Drupalcamp presento un par de sesiones:

  • Drupal Commerce sin fronteras, el sábado a las 15:00 en la sala García Martos hablaré de las características de Drupal Commerce para afrontar proyectos complejos, habrá un poco de todo, multimoneda, pagos recurrentes, control de gastos de envio, metodos de pago y todo lo que de tiempo.
  • Drupal 8: Undercover initiatives, el domingo a las 11:30 en la sala Europa, es una charla entretenida donde repasaremos las novedades "encubiertas" que Drupal 8 está incorporando que pueden estar pasando desapercibidas pero que son importantes y muy relevantes.

Así que no esperes más y ¡compra ya tu entrada!
Ah, y por primera vez tenemos apps con todo lo que necesitáis saber durante el evento para que nadie se pierda nada.

Elecciones al consejo de la Drupal Association

Hace aproximadamente un año, se celebraron las segundas elecciones para los dos asientos que representan a la comunidad en el consejo de la Drupal Association, la asociación internacional de Drupal.
Decidí presentarme y gracias a los votos de la comunidad (los vuestros), a la que estoy muy agradecido, he tenido la oportunidad de participar en un nivel muy diferente en la comunidad, asistir a los consejos directivos y participar en las votaciones que han tenido lugar durante este año.
Las terceras elecciones se acaban de abrir el pasado domingo y durante esta semana, todos los miembros la comunidad de Drupal tienen la oportunidad de auto-nominarse para formar parte del consejo para 2013/14. Una vez realizada la nominación, habrá dos sesiones informativas para que los candidatos se den a conocer, el 11 y 12 de Septiembre, y justo después, empezarán las votaciones.
Si alguno estáis pensando en presentar vuestras nominaciones, no dudeis en contactarme si quereis preguntarme cualquier cosa.
Personalmente no me voy a presentar de nuevo, ya que considero que con solamente dos puestos para la comunidad disponibles en el consejo directivo, éstos deberían rotar anualmente para que más miembros de la comunidad ofrezcan sus opiniones y visiones diversas.

Al dia con Drupal 8: Actualizando el módulo humanstxt

La fecha de lanzamiento de Drupal 8 se acerca cada día (o quizás no), y tras el API freeze de Julio, las herramientas del núcleo empiezan a estar relativamente estables, aunque sujetas a bastantes cambios, sobre todo la parte de campos y entidades.

Es el momento de empezar a pensar en actualizar módulos que no requieran un excesivo uso de las nuevas API de entidades y campos. Es el caso del módulo Humans.txt que proporciona un fichero para atribuir y reconocer contribuciones en un determinado proyecto web. Más información y página oficial.

Nuevo fichero info en YAML

Los ficheros .info se han eliminado en favor de un nuevo fichero YAML basado en un componente Symfony, por lo que los nuevos ficheros serán .info.yaml. Para el caso del módulo Humans.txt, el nuevo fichero humanstxt.info.yaml queda como sigue:

name: Humans.txt
type: module
description: 'Generates a humans.txt file dynamically and allows you to edit it.'
package: Other
core: 8.x
configure: admin/config/search/humanstxt

La clave type: module es ahora obligatoria para diferenciar entre módulos, plantillas y perfiles de instalación. Change notice.

Variables como configuración (CMI)

La iniciativa CMI (Configuration Management Initiative) va a cambiar de forma drástica la forma de tratar la configuración en nuestros projectos Drupal. Se han identificado de forma diferenciada las partes de un sitio que son configuración (variables, campos, vistas, etc) y estos elementos ya no son tratados en base de datos sino en ficheros, de nuevo usando el formato YAML. Esto tiene grandes ventajas de cara a mover nuestra configuración de entorno a entorno y desde un punto de vista de código, tiene esta pinta:

En Drupal 7

variable_get('humanstxt_display_link', FALSE);

En Drupal 8

Drupal::config('humanstxt.settings')->get('display_link');

Tanto variable_get() como variable_set() dejan de existir para ser reemplazadas por Drupal::config() tampoco es necesario borrar las variables al desinstalar y variable_del() tampoco existe en Drupal 8. Para actualizar las variables de nuestros módulos, se debe utilizar update_variables_to_config() en un hook_update_N(). Por ejemplo:

function humanstxt_update_8001() {
  update_variables_to_config('humanstxt.settings',array(
    'humanstxt' => 'content',
    'humanstxt_display_link' => 'display_link',
  ));
}

Nota: El nombre de las variables en el nuevo sistema no tiene porque incluir el nombre del módulo ya que está dentro del contexto de la configuración, que sí se debe marcar con el nombre del módulo, en este caso: humanstxt.settings.

Y finalmente, el fichero de configuración, humans.settings.yml, que debe estar en el directorio config del módulo:

content: ''
display_link: FALSE

Quinto aniversario de cambrico.net

Hace ya cinco años que inauguré este blog y parece que fue ayer, pero mirando atrás me han pasado una cosa o dos en este tiempo.

Aquí está el metapost que hago cada año (este año con bastante retraso), me hace gracia echarle un ojo a las estadísticas de vez en cuando.

Drupal day en Santander - 20 de Julio

La comunidad española se ha vuelto a juntar para montar un Drupal day, esta vez en Santander, el próximo 20 de Julio. Habrá charlas, talleres, sprints... en un día dedicado a Drupal para profesionales y técnicos en el tema, pero también habrá charlas de iniciación y mucho buen rollo y energía.

A pesar de que me pilla un poco lejos ahora, me he animado y me acercaré a participar y presentar la sesión "Drupal 8: Undercover initiatives" sobre los cambios importantes en Drupal 8 que han sucedido "detrás de la cortina" de las iniciativas oficiales y que merece la pena conocer y estar al día.

Échale un ojo al resto del programa y anímate a venir, el precio del evento es exactamente 0€. Gratis!

Casos de éxito con Drupal Commerce: Edukame

Voy a empezar una serie de artículos centrados en casos de éxito de tiendas online en España / de habla hispana utilizando Drupal Commerce y el primer ejemplo es un e-commerce que me queda bastante cercano, desarrollado por mis ex socios Carlos Rincón y Juan Carlos Mora.
 
Edukame es una tienda online con sistema de noticias que ofrece recursos para padres de hijos de 0 a 6 años: artículos, respuesta a consultas, libros, juguetes y un producto propio al que han llamado edukabox.
 
La gestión integra de la tienda se ha implementado con un Drupal Commerce personalizado para el estilo gráfico y el comportamiento de navegación, donde destaca sobre todo lo demás el estilo pinterest de la portada y páginas de categoría que han logrado con la ayuda del módulo Views Fluid Grid que incorpora un plugin muy interesante de jQuery llamado masonry cuya función es organizar los elementos dentro de la página sin que haya espacios entre ellos, proporcionando un resultado muy vistoso. Por supuesto, también hay un modulo que incluye esta librería de forma genérica para facilitar la integración en Drupal sin usar Views Fluid Grid.
Es muy interesante también la navegación de las páginas interiores donde se listan productos y noticias usando infinite scroll y evitando así la paginación, el modulo contribuido Views Infinite Scroll nos permite incluir este paginador en nuestras vistas lo que hace la implementación mucho más directa.
La página tiene muchísimo contenido social y para favorecer los registros han elegido Facebook para realizar una conexión directa con la página, ayudándose del módulo FBOAuth que proporciona funcionalidades como autentificación en un click haciendo disponibles el correo y foto del usuario entre otras muchas ventajas, de esta forma el usuario no tiene porque rellenar un tedioso formulario de registro para realizar su compra, lo que podría incrementar las ventas.
Para acelerar el funcionamiento de carga y reducir consumo de servidor, se utilizan dos clásicos de integración con Drupal: Varnish y Memcache, el primero para usuarios anónimos y el segundo para identificados. También se apoyan en Apache Solr para agilizar las búsquedas y mostrar bloques de relacionados sin castigar demasiado el servidor.
 
En definitiva, un proyecto muy completo con mucho componente de comercio electrónico social "made in Spain". ¿Qué os parece?

Si tenéis casos de éxito usando Drupal Commerce para tiendas online y queréis verlos aquí publicados a modo de análisis técnico, no dudeis en contactar conmigo.

Páginas