Módulo Flag en Drupal

Portada del podcast Drupalízate
Drupalízate es un podcast semanal creado por mí, donde hablo sobre desarrollo web basado en Drupal.
El contenido central es resolver las típicas dudas que pueda tener alguien que tiene o quiere tener una web en Drupal.
Aparte de resolver dudas de "clientes", también se habla de tips, recomendaciones y buenas prácticas para el Developer que recién empiezan en este mundo.
Audio y notas del episodio

Hoy quiero hablar sobre los casos de uso de un módulo no tan conocido por todos y que te puede sacar de más de un problema, el módulo Flag.

Transcripción automática de este episodio de audio (puede contener errores)

 Hola, bienvenidos otra semana más a este podcast Drupalízate, donde yo, Robert Menetray de ahí, te cuento cosillas sobre Drupal y probar algunas prácticas y algunos tips y algunos módulos que son recomendables que sepas que existen. Esta semana te quiero contar sobre el módulo FLAC. Es un módulo que, estaría bien que supieras al menos que existe y para qué sirve. Quizá no lo vas a usar en la mayoría de proyectos, pero cuando realmente te hace falta, se agradece mucho que este tipo de módulo exista en la comunidad y que sea gratuito, como todos los módulos que están en Drupal que son gratuitos. Cosa que esto en webpress no pasa. Bueno, volviendo al tema. El módulo FLAC, ¿para qué sirve? Te permite que los usuarios puedan marcar las entidades. Por ejemplo, lo típico sería añadir a favoritos, añadir a la comparativa, guardar como destacado o darle like. Al final es que el usuario haga algún tipo de acción-reacción con el contenido de tu web. Lo típico como ejemplo es, tienes un comentario, pues la gente puede votar con un positivo o un negativo ese comentario. Imagínate que quieres montar, entre comillas, una plataforma tipo YouTube, donde la gente puede votar que los contenidos de la web son positivos o negativos con un icónico de la mano para arriba o la mano para abajo. O que quieres montar algo como ProHank, que por ejemplo estoy montando un proyecto ahora mismo que es tipo así, que la gente puede dar likes y dar votos positivos a los contenidos de la web. Y los más destacados se usan en los listados para estar ordenados o filtrados por el número de cantidad de gente que ha dado like a esos contenidos. Al final es un tipo de entidad en Drupal nuevo que te permite jugar, dar juego mucho con los usuarios. Otros casos son por ejemplo cuando tienes una commerce y quieres que la gente pueda añadir los productos, ya no al sexto de la compra, sino a los que añadir porque estoy ojeando y los quiero meter en una comparativa que es una views que va a filtrar solo los productos que yo como usuario he puesto con el flag de añadir a la comparativa. Eso también lo he hecho en algún proyecto, porque se pedía así de que el usuario pudiera que la página de contenido de producto donde se vean muchas características técnicas, porque no era una commerce como tal, era un tema de una escopeta de productos donde había muchas características técnicas. Pues había una vista de comparativa donde en formato tabla se podía comparar muy fácilmente por si tenía mayor o menor potencia, si el ancho o el alto era mayor o menor que otro de la comparativa y al final se daba opción al usuario por usabilidad de pues este, este y el otro producto los quiero añadir a la comparativa y voy a la página de comparativa y los veo allí. Digamos que te da pues esto, es un módulo muy flexible que te permite hacer muchísimas cosas. Otra cosa que te permite hacer es usar como reporte de usuarios. Imagínate que tienes contenidos de la web, por ejemplo comentarios de otros usuarios y quieres que la gente, al usuario registrado le permites que usando el módulo flags reporte ese comentario como abusivo. Hay un botón de reportar el usuario o reportar comentario por ejemplo y después habrá una lista que un moderador podrá entrar allí y ver los comentarios que los usuarios han marcado como reportados. Y un contador de cuanta gente ha marcado que este comentario ha sido abusivo o lo que sea. Y aquí entrará aquel moderador, pues si ve que hay 100 personas que reportan esto como abusivo pues lo eliminará. O puedes llegar a hacer que sea automático y que cada, después de 5 personas o X personas reporten eso, se ejecute algo por código que despubliquen ese comentario o si es un nodo y son que ha recibido muchos likes pues que haga cosas, envíe un mail o lo que sea. Y al final es un módulo que te permite jugar mucho y hacer cosas bastante personalizadas en muchos proyectos y muy dispares. Por ejemplo, a ver, como explico el módulo flags también tiene dos tipos de flags. Uno que es para usuarios de forma global, por así llamarlo, o para cada uno de los usuarios. Si es para cada uno de los usuarios, que es el que más he usado yo, es esto, cada usuario para cualquier tipo de contenido que tú hayas configurado, te dará un botón de flaggear, que sea, pues el texto lo puedes cambiar, le pones lo que tú quieres, pero añadida compativa, reportar abuso, dar like, añadida japonitos, lo que sea. Cada usuario se podrá hacerlo para cada uno de sus contenidos, con lo cual puedes tener una lista para ese usuario personalizado donde sólo va a haber los contenidos que él ha flaggeado antes. Por contra, hay veces que por el tipo de proyecto que sea, en vez de que un usuario lo haga para él únicamente y no para otros usuarios, quieres que, por ejemplo, usar los flags para marcar como destacados. Y al final es que cualquier usuario administrador, si yo como usuario administrador voy a un nodo o una página y la flaggeo, le doy que sí, que está destacado en la home, es mal ejemplo porque ese justamente en Drupal Core hay una cosa que se puede usar para eso. Pero imagínate que es un flag custom que has hecho para mostrar en no sé qué listado o destacado. Pues, yo como soy administrador lo voy a marcar, pero si lo he configurado para que cualquier persona de forma global, o sea, cualquier persona administradora de forma global, también pueda interactuar con ese flag, si yo lo he marcado, la otra persona ya lo va a haber marcado y si ella lo desmarca, a mí me va a salir desmarcado. Es una forma para moderación de contenidos, también te da bastante flexibilidad para hacer cosas un poco más personalizadas. Ya sea para hacer listados o para después con vía código ejecutar cosas, usar eventos para que hagan cosas, envíen mails o cosas de estas. Basicamente sé que por eso es muy complejo este episodio, porque es que se puede usar para muchísimas cosas, pero es más que nada para que sepas que este módulo existe y que le eches un ojo, porque seguramente en el 80% de proyectos no te hace falta, pero en el otro 20% son proyectos que digas, uy, es que esto es muy complejo, es que tengo que usar las cachés, es que claro, esto para usuarios registrados como lo hago y para anónimos esto también funciona, si también no tienen pensado como usarlo para usuarios anónimos, que se guarda en caché del navegador, pero digamos que Drupal, este tipo de módulos contribuidos que no son tan simples de implementar, o sea, hacerlo código a medida para esto, es una vestibilidad. Tiene esto ya hecho, te soluciona la vida, para depender de qué proyectos. Y nada más, que no me quede alargado mucho con este episodio, creo que va a ser uno de los más cortos de esta temporada, y nada más, hasta la semana que viene, espero que os sea de ayuda este módulo.

¿Tienes algún proyecto en mente?

Si quieres hacer algo en Drupal tal vez puedas contratarme.

Ya sea para consultoría, desarrollo o mantenimiento de sitios web Drupal.