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.

categorías: 
drupal: 

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: 
 
 
 

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