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.

categorías: 

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
categorías: 
drupal: 

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.

categorías: 

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!

categorías: 
drupal: 

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.

categorías: 

Drupal 7 a través de Drupal Commerce

Gracias a Jose se está haciendo una recuperación de videos de eventos promocionados por la Asociación Española de Drupal y ha aparecido esta charla que hice en el Drupal Day de Barcelona en 2011: Drupal 7 a través de Drupal Commerce.

categorías: 

Trabajando con Node access en Drupal 7

Permisos, roles, acceso a contenidos... son unos temas que pueden atragantarsele incluso al más aguerrido desarrollador de Drupal, hace un par de semanas que me he estado peleando con el sistema de acceso a contenidos en Drupal 7 y voy a resumir mis conclusiones en este post.

Drupal 7 proporciona una serie de herramientas bastante completas para controlar el acceso a los nodos, y existen módulos que tratan el caso básico de acceso a contenido, siendo el más completo y recomendado Content Access que permite controlar el acceso por roles al contenido, incluso pudiendo restringir por cada nodo, también es interesante el sandbox Simple content access que permite restringir además por tipo de contenido. Pero... ¿qué pasa si queremos algo personalizado?

Mi caso de uso ha sido la funcionalidad First Click Free de Google para un sistema de publicación. First Click Free implica que el usuario que visita un sitio puede ver la primera página libremente pero en cuanto haga click para ver más contenido, se le pide que se registre, con un modelo que suele ser de pago, pero podría ser simplemente restringir acceso a no registrados.

Si bloquearamos el sitio para usuarios no registrados, los buscadores no podrían indexar la página, esta es la razón por la que Google promociona este tipo de acceso para sitios que estarían normalmente cerrados, de forma que sus arañas puedan rastrear y evaluar mejor el contenido.

Para realizar esta funcionalidad he publicado el sandbox First click free node access, una versión del módulo First Click Free pero utilizando una aproximación basada en el acceso a nodos nativo de Drupal.

categorías: 
drupal: 

Libro sobre Drupal Commerce

Junto con Forcontu, he escrito un libro introductorio a Drupal Commerce, en el que se repasa toda la arquitectura del sistema, la estructura de entidades y campos, además de una introducción a Commerce Kickstart y un paso a paso de cómo crear una tienda de productos personalizables, añadiendo campos que se pueden personalizar, modificando vistas y reglas, además de un buen número de anexos con información adicional con indicaciones para que el lector pueda continuar investigando por su cuenta y extienda sus conocimentos sobre el sistema.

Drupal Commerce es un módulo desarrollado por Commerce Guys especializado en el comercio electrónico con Drupal. Técnicamente está basado de forma nativa en Drupal 7 y hace un uso ejemplar de todas las nuevas funcionalidades del mismo, el sistema de entidades y campos, además de los módulos Views y Rules.

Portada libro Drupal Commerce

Podéis descargar un extracto de las primeras páginas del libro en este enlace.

Si habéis comprado el libro, estaré encantado de que me hagáis sugerencias de mejora al respecto. Si tiene suficiente acogida, prometo escribir un segundo volumen.

Drupal Commerce: Presente y futuro del comercio electrónico con Drupal

Esta fue mi charla en la Drupalcamp Spain 2012 en Madrid, aquí está el video

categorías: 

Mirando atrás, mirando a 2012

Creo que a estas alturas de año toca echar la vista atrás para empezar a echar la vista hacia delante. Es ya tradición que haga este ejercicio libre de reflexión donde resumo lo que me ha pasado en el año, y cómo lo he vivido; y si en 2011 dudaba de hacer el post debido a la agitación que supuso en mi vida, este año ha sido mucho más movido si cabe. Como sé de buena tinta que algunos, pocos, todavía leeis este blog de vez en cuando, allá va, aunque en cierto modo es una excusa egoista, porque al fin y al cabo, esta retrospectiva me vale mucho más a mi que a vosotros.

Estos días hay muchas herramientas automatizadas como Twitter o Facebook que te resumen el año en imágenes o eventos, yo me voy a quedar con mi resumen "manual" en Foursquare donde las dos categorías con más check-ins son aeropuertos y hoteles, en ese orden.

Foto cortesía de Anne

Comencé el año incorporandome a uno de los mayores proyectos en los que Commerce Guys se ha involucrado, desde luego el mayor para mí, el desarrollo de toda la arquitectura para todas las tiendas online a nivel mundial de Cartier, la primera de ellas salió el mes pasado a la luz, la dedicada al público estadounidense: cartier.us. Todavía sigo trabajando en el proyecto, por el que han pasado más de 40 desarrolladores y maquetadores especializados en Drupal durante este año. Profesionalmente ha sido una experiencia inmejorable, pero el desgaste personal ha sido muy importante, durante el primer semestre del año he pasado aproximadamente un total de mes y medio en París, viajando mensualmente a las oficinas del cliente.

2012 fue el año en el que presenté por primera vez una sesión en una Drupalcon. Así que en Marzo viajé por primera vez fuera de Europa, a Denver, que tiene uno de los aeropuertos más siniestros del planeta. La sesión no me resultó personalmente del todo satisfactoria, estaba muy nervioso, la sala era enorme y parecía medio vacía a pesar de que probablemente habría más de un centenar de asistentes, pero la experiencia general de la Drupalcon fue genial y tuve la oportunidad de vivir las diferencias con los eventos europeos y conocer/reencontrar muchos drupaleros del otro lado del charco.

Mayo y junio fueron dos meses de locura a causa de los Barcelona Drupal Developer Days. Las tareas de organización se llevaron por delante todo mi tiempo libre esos meses, pero no me cabe duda alguna de que organizamos uno de los mejores eventos drupaleros del año; con muy buen contenido, más código y muchísimos grandes nombres. La comunidad se volcó y más de 300 drupaleros de todas partes del mundo llenaron el Citilab durante la semana, aunque de lo mejor fue la fiesta en la playa, inolvidable experiencia. El año que viene, en Dublín.

En mayo también tuve el privilegio de ser invitado por la comunidad portuguesa a dar una charla sobre Drupal Commerce en la Drupalcamp Porto 2012 que salió muy bien y a principios de junio, cambio radical de clima gracias a la invitació de Mikael, pude hablar en la Drupalcamp Helsinki. Ambos viajes fueron muy agradables y el contacto con la comunidad fue una maravilla. Mil gracias a Claudia, Victor y Joao por su increible hospitalidad en Porto y a David por hacerme de guia turístico express en Helsinki :).

A finales de julio hicimos un parón. Prefiero no entrar en mucho detalle, pero gracias a un buen número de factores externos e internos, la organización donde trabajaba Lorena decidió realizar un bochornoso, triste e irónico ERE. Estaba claro que era el momento de tomar una decisión importante, y muy valientemente ella se acogió al acuerdo, perdiendo su trabajo y teniendo que cambiar de carrera profesional. Vimos unas formaciones muy interesantes en la UIMP y no lo dudamos, esa misma noche cambiamos los planes de nuestras vacaciones. Así que pasamos unos días en Bilbao, luego Asturias con unos amigos y cogimos un bus para pasar unas semanas maravillosas en Santander donde yo estuve medio trabajando, medio de vacaciones y ella estudiando. No puedo más que agradecerles a Javier y Borja por su hospitalidad.

Es en Julio cuando tomamos la decisión de irnos del pais en pocos meses.

En Agosto, la cita ineludible con la Drupalcon europea, esta vez en Munich. Gran trabajo de organización, superando la edición anterior de Londres, y mejor reencuentro con mucha gente de la comunidad. No presento nada, pero participo como profesor en la formación ofrecida por Commerce Guys en el día previo. Es entonces cuando pido oficialmente el traslado a la oficina de la empresa en Londres, recién inaugurada y me encuentro las puertas abiertas al traslado.

Al volver a casa me envalentono y retomo mi vida universitaria en la UOC, y me matriculo en un par de asignaturas, una de lenguajes web y otra de diseño, haré un post dedicado a mi primer semestre en la UOC por si alguien se lo está pensando. El resumen no es satisfactorio, eso ya os lo adelanto, aunque lo he compensado con una gran carga de motivación. En Enero lo terminaré, tras los exámenes y haré mi valoración. Esta decisión ha marcado mucho mi disponibilidad estos últimos meses.

En Septiembre decido presentarme para las elecciones de los cargos elegidos por la comunidad para la Drupal Association, y finalmente salgo elegido en segunda posición, así que junto con Morten paso a formar parte del consejo de la asociación. ¡Gracias a todos los que participasteis en las elecciones! haciendo preguntas, apoyando e interesándoos.

Estas elecciones cambiarán bastante mi calendario, al tener que asistir presencialmente a cuatro reuniones al año, la primera de ellas fue en Noviembre en San Francisco, justo al acabar el BADcamp, una conferencia gratuita que se desarrolla en la universidad de Berkeley y que tiene tamaño y contenidos dignos de una Drupalcon, muy muy recomendable.

Octubre, la asociación española y la comunidad madrileña de Drupal nos trajeron la Drupalcamp Spain 2012 en Madrid de la que ya he hablado.

En noviembre Lorena y yo nos hemos casado, fue un dia muy emocionante, con una ceremonia íntima y una fiesta posterior con amigos en nuestro local favorito de Barcelona, y casi no nos llueve. Todavía estoy acostumbrandome a llevar anillo. Para celebrarlo nos fuimos de una luna de miel a Nueva York, un viaje muy especial del que guardo muy buenos recuerdos y que nos dejó con ganas de más, repetiremos seguro.

Con diciembre ha venido la confirmación definitiva de mi incorporación a la oficina londinense de Commerce Guys. Tras más de 9 años aquí, Barcelona dejará de ser mi casa el próximo 12 de Enero, que es la fecha que marca el billete de avión solo ida.

En mi post sobre 2011 decía que mi único objetivo era conciliar mejor la vida laboral, mi aportación a la comunidad Drupalera y mi famila. Desde luego no lo he hecho muy bien y debo mejorar tanto mis prioridades como el cálculo de mi tiempo disponible así que esa me la llevo para Septiembre, junto con una prioridad básica, la de establecernos en Londres.

¿Cómo os ha ido 2012 a vosotros?

categorías: 
 
 
 

Creative Commons License
Excepto donde se indique lo contrario, el contenido de este sitio está sujeto a una licencia de Creative Commons.