Rules

Dit is er eentje waar ik zat op te wachten... en ik ben niet alleen... Een Rule bestaat uit twee (of drie) delen. De gebeurtenis (wanneer moet de Rule uitgevoerd worden), desnoods bijkomende voorwaarden (bvb enkel bij een bepaald inhoudstype) en welke actie wil je? (een mail, een bericht, een reactie,...) Je kunt ook 'componenten' aanmaken die dan hergebruikt kunnen worden in andere Rules. 

De module bestaat reeds enige tijd in Drupal 8 versie, maar werkte niet of nauwelijks. Ik heb gewacht tot er een versie uitkwam die ook voorwaarden kon bevatten. De mogelijkheden zijn enorm en ik zal ze niet allemaal bespreken. Ik werk één voorbeeldje uit. Zo zal ik een mail versturen als er inhoud werd bijgemaakt van een bepaald inhoudstype.

Voor alle duidelijkheid.. dit is de versie waar ik nu mee werk.

Eerst beginnen we met de 'trigger'. Ongelooflijk veel mogelijkheden. We kiezen 'nadat er nieuwe inhoud werd aangemaakt'.

Je krijgt nu de mogelijkheid om extra voorwaarden in te stellen en een actie te voorzien.

We gaan een extra voorwaarde instellen. We gaan filteren op het inhoudstype.

Switch naar Data Selection (belangrijk!) en kies node. 

Je krijgt dus zo iets. Let goed op de stand van de Switches. Je krijgt een wit scherm als die niet goed staan...

De naam van het inhoudstype is de machinenaam. Die vind je bij het inhoudstype.

 

Tenslotte gaan we instellen wat er nu moet gebeuren nadat er inhoud werd aangemaakt van het type article.. We kiezen voor Verstuur een e-mail.

 

Het is evident dat je nu de instellingen krijgt voor de mail.

Ik voeg ook nog een extra actie toe. Er verschijnt dan ook een bericht op de site nadat ik nieuwe inhoud heb aangebracht.

Onze interface ziet er nu zo uit.


Vergeet niet te bewaren. Alle instellingen worden afzonderlijk ingesteld, maar je moet alles nog eens bewaren natuurlijk.. Je ziet deze verwittiging zolang je dit niet gedaan hebt.

Nu testen we de rule.. Na aanmaken van inhoud van het type article krijgen we dit te zien.



En ja hoor.. de mail is er...


Rules wordt veel gebruikt en is een zeer bruikbare module. Het is goed nieuws voor Drupal 8 dat ze eindelijk bruikbaar is, niettegenstaande de nog vele kinderziekten.

Ik wil er op wijzen dat er ook een export en importmogelijkheid bestaat voor Rules via Development 

Ik exporteer mijn rule...


Ik heb mijn mailadres natuurlijk verwijderd. Zoek er naar, hier onder, en vul je eigen mailadres in. Jij moet dan natuurlijk importeren.

uuid: 1b9f3dcd-b338-44fd-8584-7888ae3a2d0f
langcode: nl
status: true
dependencies: {  }
id: mail_bij_nieuwe_inhoud
label: 'Mail bij nieuwe inhoud'
events:
  -
    event_name: 'rules_entity_insert:node'
description: ''
tags: {  }
config_version: '3'
expression:
  id: rules_rule
  uuid: ed95c6c8-f320-4a6b-ad2e-41031234ed3e
  conditions:
    id: rules_and
    uuid: 345e952c-3f86-4954-b314-12dc2bfd1bef
    conditions:
      -
        id: rules_condition
        uuid: 06757ab9-4e20-4979-8ab4-386d6cdb6a39
        context_values:
          types:
            - article
        context_mapping:
          node: node
        context_processors:
          types:
            rules_tokens: {  }
        provides_mapping: {  }
        condition_id: rules_node_is_of_type
        negate: false
  actions:
    id: rules_action_set
    uuid: cb31a77f-4774-4e16-8462-c83cf8445055
    actions:
      -
        id: rules_action
        uuid: dbc3034b-ea10-4e4f-b3c7-1ca1a1da1843
        context_values:
          to:
            - vulhierjemailadresin@nep.be
          subject: 'nieuwe inhoud'
          message: 'er werd nieuwe inhoud toegevoegd'
          reply: ''
          language: ''
        context_mapping: {  }
        context_processors:
          to:
            rules_tokens: {  }
          subject:
            rules_tokens: {  }
          message:
            rules_tokens: {  }
          reply:
            rules_tokens: {  }
          language:
            rules_tokens: {  }
        provides_mapping: {  }
        action_id: rules_send_email
      -
        id: rules_action
        uuid: 0a97134f-b87a-416d-8acb-7dfd16aaa1de
        context_values:
          message: 'er werd nieuwe inhoud toegevoegd van het type Article'
          type: alert
          repeat: false
        context_mapping: {  }
        context_processors:
          message:
            rules_tokens: {  }
          type:
            rules_tokens: {  }
          repeat:
            rules_tokens: {  }
        provides_mapping: {  }
        action_id: rules_system_message