Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Workflow Erinnerungsmail

Eingetragen von sepp68 (444)
am 17.10.2013 - 15:21 Uhr in
  • Module
  • Drupal 7.x

Moin !
Ich erstelle mit dem Modul workflow Genehmigungsworkflows, und versende mittels Rules eine EMail an den Genehmiger, sobald ein neuer Node erstellt wurde.
So weit so gut.
Manchmal vergisst der Genehmiger aber seine Pflichten und nun will ich ihn automatisch nach z.B. 3 Tagen erinnern, daß er noch was tun muß.
Gibt es dafür ein Modul oder eine Lösung ?

Danke

‹ (fast gelöst) Taxonomy - Formulare steuern [gelöst]Einfügen von individuellen DIVs ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Da wirst du wohl kein

Eingetragen von rokr (593)
am 17.10.2013 - 16:52 Uhr

Da wirst du wohl kein fertiges Modul finden, aber mit etwas Kreativität ließe sich sicher was in der Art realisieren:
Erstelle eine Rule, die per Cron alle erstellten Inhalte identifiziert, die im Workflow-Status "neu" sind, aber bereits älter als drei Tage sind. Dann wird eine E-Mail verschickt.
Aufpassen sollte man, dass nicht jede Node eine neue E-Mail erzeugt, weil es sonst nerven kann. Ebenso sollte nicht jeder Cronjob fortan eine neue Mail verschicken. Man könnte also zusätzlich noch mit Flags (und ggf. einem zusätzlichen Datumsfeld) arbeiten, um den aktuellen Benachrichtigungsstatus eines Inhaltes technisch festzuhalten. Rules Integration ist super.

Viel Erfolg, Ronald

Reinblau eG

  • Anmelden oder Registrieren um Kommentare zu schreiben

mit schedule und rules

Eingetragen von ronald (3845)
am 17.10.2013 - 18:19 Uhr

Müsste es gehen.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

also bei schedule und rules

Eingetragen von sepp68 (444)
am 17.10.2013 - 19:08 Uhr

also bei schedule und rules blicke ich nicht so richtig durch, werde wohl ein eigenes Modul schreiben.
Macht ja auch Spass ;-), melde mich wieder ...

Sepp

  • Anmelden oder Registrieren um Kommentare zu schreiben

sepp68 schrieb also bei

Eingetragen von rokr (593)
am 18.10.2013 - 22:39 Uhr
sepp68 schrieb

also bei schedule und rules blicke ich nicht so richtig durch, werde wohl ein eigenes Modul schreiben.
Macht ja auch Spass ;-), melde mich wieder ...

Du suchst also keine Lösung, sondern eine Herausforderung. Ist auch ok. :)

Reinblau eG

  • Anmelden oder Registrieren um Kommentare zu schreiben

So, hat ein bißchen gedauert

Eingetragen von sepp68 (444)
am 30.10.2013 - 19:53 Uhr

So, hat ein bißchen gedauert weil ich eine Woche auf Urlaub war ;-)

Zitat:

Du suchst also keine Lösung, sondern eine Herausforderung. Ist auch ok. :)

rokr hat nicht ganz unrecht, aber manchmal empfinde ich die Lösungen mit anderen Modulen sehr umständlich.

Es gibt eine Lösung mit Workflow Extensions, die da auch beschrieben ist, aber wohl nur für Drupal6 gilt.
Untenstehend mein Modul als Snippnet, Parameter sind der Workflowstatus und die maximale Zeit, bevor ein Event getriggert wird.
Der Event kann mir Rules verarbeitet werden.
Ist der Workflow länger als die maximale Zeit in dem vorgegebenen Status wird jeden Tag einmal der Event generiert.
Die Module Workflow und Cron müssen natürlich aktivert sein, ebenso Rules zur Weiterverarbeitung.

<?php
/**
* @file
* mymodule special functions
* Version: 7.x-1.0
*/


/**
* Implements hook_cron().
*/
function mymodule_cron() {

   
$state = "in Genehmigungsphase"; // looking for this state
   
$max_age = 259200; // maximum age of state 3 days in seconds

    // only once a day
   
$now = time();
    if (
variable_get('mymodule_cron_last_run_day',0) <> date('d',$now) ) {
   
       
variable_set('mymodule_cron_last_run_day', date('d',$now));

       
// Array with all sids of state: $state
       
$workflow_states_ids = array_keys(workflow_get_workflow_states_all(), $state);
       
//get all workflows in $state
       
$workflows_in_state = db_query('SELECT nid, sid, uid, stamp FROM {workflow_node} WHERE sid IN (:sids)', array(':sids' => $workflow_states_ids))->fetchAll();

        foreach (
$workflows_in_state as $workflow_in_state) {
           
// calculate age
           
$workflow_state_age = $now - $workflow_in_state->stamp;
           
           
// is workflow old enough ?
           
if ( $workflow_state_age > $max_age ) {
               
//load node (needed for rules)
               
$node = node_load($workflow_in_state->nid);
               
// fire event
               
rules_invoke_event('mymodule_rule_workflow_reminder', $node);
               
// write watchdog-message
               
$message = t('Workflow reminded for node %node_title', array('%node_title' => $node->title));
               
watchdog('mymodule', $message);
            }
               
        }
       
$message = t('dayli Workflow Reminder Check executed');
       
watchdog('mymodule', $message);       
    }
// for test uncomment next line
//variable_set('mymodule_cron_last_run_day', 1);   
}

/**
* Implementation of hook_rules_event_info().
* @ingroup rules
*/
function mymodule_rules_event_info() {
  return array(
   
'mymodule_rule_workflow_reminder' => array(
     
'label' => t('A workflow is in overtime'),
     
'module' => 'mymodule',
           
'group' => 'mymodule',
     
'variables' => array(
       
'node' => array(
                   
'type' => 'node',
                   
'label' => t('effected node'),
                ),
            ),
        ),
  );
}



?>

Sepp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Fragen zum update D9.5.11 zu D10.0
  • Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • [geloest] Link in Ckeditor 5 eingeben
  • Erinnerungsmail aus Date field in einem content-type und einem paragraphen
  • CKEditor 5 - Placeholder für Link im CKEditor von Titel in Tooltip ändern
  • Contact-Modul / Kategorien und Empfänger in Drupal 9
  • Drupal Entwickler / 100% Homeoffice gesucht!
  • Drupal 8 Entwickler/in Vollzeit in Hamburg gesucht
  • [gelöst] Module über Datenbank deaktivieren
  • Probleme mit Dateirechten beim Hoster IONOS
  • Beiträge Mittelspalte?
  • Drupal Freelancer gesucht
Weiter

Neue Kommentare

  • Ja hab ich getan
    vor 30 Minuten 44 Sekunden
  • Du mußt Dir die
    vor 57 Minuten 6 Sekunden
  • Danke einmal
    vor 15 Stunden 30 Minuten
  • Ich kann nur auf diese
    vor 19 Stunden 59 Minuten
  • Vermutlich fehlt die Klasse
    vor 1 Tag 2 Stunden
  • Vielen Dank Regina, Du hast
    vor 1 Tag 4 Stunden
  • Es käme natürlich auch eine
    vor 2 Tagen 5 Stunden
  • Das ist es nicht zu finden
    vor 3 Tagen 20 Minuten
  • Was klappt nicht? Bekommst Du
    vor 5 Tagen 4 Stunden
  • Das liegt am Mayo-Theme. Das
    vor 5 Tagen 11 Stunden

Statistik

Beiträge im Forum: 248961
Registrierte User: 19851

Neue User:

  • Druppi1895
  • SergGycle
  • kgdrupal

» Alle User anzeigen

User nach Punkten sortiert:
wla9344
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 10 Gäste online.

Benutzer online

  • bv

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association