Triger

-TRIGER (6.x-x): A veces podemos necesitar que Drupal ejecute de forma automática alguna acción cada vez que tenga lugar algún tipo de evento. Por ejemplo puede ser interesante que si Drupal detecta alguna palabra ofensiva o insulto en el contenido añadido a la web, el autor de este contenido sea inmediatmente expulsado del sitio, o que se le envie un mail al administrador avisando del suceso. Esta es la finalidad del Trigger: ejecutar determinadas acciones cada vez que tenga lugar algún evento concreto.

Como es un “Core module”, para utilizarlo solo hace falta ir a “Administer>Site building>Modules” y activarlo marcando su casilla.

Trigger permite disparar dos tipos de acciones: acciones básicas que realizan una tarea simple, y acciones avanzadas las cuales son cofigurables. Ademas es posible configurar Trigger para trabajar con otros “Contributed módules” lo que le otorga a Triger la capacidad de realizar tareas tan complejas como queramos.

Por tanto antes de configurar un Triger deberemos crear la Acción que disparará este. Para ello podemos ir a “Administer>Site configuration>Actions” donde podremos seleccionar alguna de las Acciones preconfiguradas o crearnos la nuestra. Para crearnos la nuestra debemos ir a “Make a new advanced action available” y escoger la acción de la lista que queremos realizar. En función del tipo de acción que hayamos escogido se nos mostrará un formulario de configuración de la acción u otro, es decir que si p.ej si seleccionamos la acción “Send an email” se nos mostrará un formulario en el que podremos configurar el mail ( destinatario, contenido, descripción, tema…)

Una vez creadas las Actions podemos crear los Trigers. Para ello debemos ir a “Administer>Site building>Triggers” donde encontraremos los diferentes tipos de Trigger disponibles: Trigers activados por Eventos en los Comentarios, por cambios en el Contenido, por el servicio Cron etc. Si p.ej queremos activar algún Action cada vez que un usuario entre un contenido deberemos seleccionar la pestaña Content y en “Trigger: After saving an updated post” seleccionar las Actions que queremos tengan lugar cada vez que un usuario entre un contenido.

Como se puede ver los Triggers disponibles son un poco limitados, ya que por ejemplo no podemos especificar que el Trigger tenga lugar solo cuando se publica un determinado “Content Type” etc. Para suplir las limitaciones de este módulo surge el “Contributed module” Rules.