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

  • Anmelden oder Registrieren um Kommentare zu schreiben

mit schedule und rules

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

Müsste es gehen.

  • 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 ...

  • 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. :)

  • 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'),
                ),
            ),
        ),
  );
}



?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 3 Tagen 9 Stunden
  • Hey danke
    vor 4 Tagen 3 Stunden
  • Update: jetzt gibt's ein
    vor 4 Tagen 21 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 2 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 2 Tagen
  • Kannst doch auch alles direkt
    vor 1 Woche 6 Tagen
  • In der entsprechenden View
    vor 1 Woche 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 6 Tagen
  • gelöst
    vor 4 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 17 Gäste online.

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