Ist es möglich, einen mehrstufigen Übermittlungsworkflow mit Webform oder Entityform aufzurufen ? Hier ist das Szenario von Workflows:
- Ein Mitarbeiter sendet das Formular
- Der Supervisor erhält eine Benachrichtigung, nachdem er das Formular überprüft hat, genehmigt er es entweder oder lehnt die Anfrage bei derselben Einreichung ab.
- Wenn dies genehmigt wird, wird eine E-Mail-Benachrichtigung an Director gesendet, der seinerseits dieselbe Übermittlung genehmigt oder ablehnt.
- Wenn dies vom Vorgesetzten abgelehnt wird, wird eine E-Mail an einen Mitarbeiter gesendet.
In diesem Szenario werden mehrere Rollen an dieselbe Anforderung gesendet. Ich könnte Genehmigungsfelder für die Mitarbeiterrolle ausblenden, aber wie würde man über Benachrichtigungszwecke über Regeln auf die Webformular-Genehmigungsfeldkomponente zugreifen? Wie würde ich den Formularstatus einfrieren?
Sollte ich lieber Entityforms verwenden, da jede Formularkomponente verfügbar ist? Als letzten Ausweg könnte ich meine eigene Lösung mit forms_api implementieren. Aber ich möchte zuerst wissen, ob es möglich ist, Webform oder Entityforms zu verwenden.
Antworten:
Die Implementierung dieses Workflows ist durch die Verwendung einer Kombination dieser Module möglich (und regulärer Inhaltstypen, für die keine "Webformulare" erforderlich sind):
In meiner Antwort in der Frage " Wie kann ich anonymen Besuchern erlauben, Inhalte einzureichen? " Finden Sie Beispiele (und weitere Details) zur Verwendung dieser 4 Module zusammen (diese Frage hier scheint eine Variation dieser Frage zu sein).
Im Folgenden finden Sie einige Details, um Ihren Workflow mit einem ähnlichen Ansatz zu implementieren:
Mitarbeiter erstellen einen Knoten von Inhaltstyp (sagen wir) „Request“ (Use Content Access alle Arten von Berechtigungen über „finetune welche Rolle erlaubt ist , solche Typen zu erstellen, wenn Sie mehrere Arten von Anfragen müssen Sie nur multipple Inhaltstypen erweitern).
Verwenden Sie Regeln, um "eine E-Mail zu senden" (= Aktion) an Supervisor "Nachdem der Inhalt vom Typ" Anfrage "gespeichert wurde" (= Ereignis). Geben Sie in der (benutzerdefinierten) E-Mail für den Supervisor alle relevanten Details zur Anforderung an (abhängig von den verschiedenen Daten, die Regeln zur Verfügung stehen). Zum Beispiel eine URL des zu überprüfenden Knotens.
Um sicherzustellen, dass der Anforderer die Anforderungsdaten nicht ändern kann (während der Überprüfungsprozess noch aussteht), fügen Sie derselben (vorherigen) Regel eine zusätzliche Aktion hinzu, die den Zugriff auf die Anforderung aktualisiert (damit sie nur für den Anforderer schreibgeschützt ist).
Verwenden Sie das Flag- Modul, damit der Supervisor den übermittelten Knoten mit Flags wie "Genehmigt (vom Supervisor)" oder "Verweigert (vom Supervisor)" (Abgelehnt?) Markieren kann. Die Berechtigung zum Setzen dieser Flags ist auf den / die Supervisor (s) beschränkt.
Verwenden Sie Regeln (erneut), damit "Nachdem ein Knoten mit" Genehmigt (vom Supervisor) "gekennzeichnet wurde (= Ereignis), ein ähnliches" Senden einer E-Mail "(= Aktion) an Director erfolgt. Geben Sie in der (benutzerdefinierten) E-Mail für den Director alle relevanten Details zur Anforderung an (abhängig von den verschiedenen Daten, die den Regeln zur Verfügung stehen). Zum Beispiel eine URL des zu überprüfenden Knotens.
Verwenden Sie das Flag- Modul (erneut), damit der Director den übermittelten Knoten mit Flags wie "Genehmigt (vom Director)" oder "Verweigert (vom Director)" markieren kann. Die Berechtigung zum Setzen dieser Flags ist auf den Director beschränkt.
Verwenden Sie Regeln, um "eine E-Mail zu senden" (= Aktion) an den Anforderer "Nachdem der Inhalt vom Typ" Anforderung "als abgelehnt (vom Director) gekennzeichnet wurde" (= Ereignis).
Also nur ein paar grundlegende Regeln / Flaggen ...
Es enthält (noch) nichts im Zusammenhang mit Node Convert . Dieses Modul muss nur zu dieser Mischung hinzugefügt werden, wenn Sie das Obige mit bestimmten "Feldern" weiter verfeinern möchten, die einige der Workflow-Teilnehmer überhaupt nicht "sehen" sollten (um zu vermeiden, dass Sie "Feldberechtigungen" verwenden müssen). das könnte eine Alternative dazu sein.
Mögliche Verbesserungen
Formularblock
Ich habe keine Erfahrung mit dem Formularblock- Modul. Auf der Projektseite heißt es: " Ermöglicht die Darstellung von Benutzerregistrierungs-, standortweiten Kontakt- oder Knotenerstellungsformularen in Blöcken. Dies ist besonders nützlich, um Formulare in Bedienfeldern einzuschließen. "
Es scheint mir, dass wenn Sie Panels verwenden, es möglicherweise einen Mehrwert gibt, wenn Sie dieses Modul verwenden. Ich bin jedoch (noch) nicht von dem tatsächlichen Mehrwert dieses Moduls überzeugt.
Es gibt jedoch einige Dinge, die mir wie rote Fahnen erscheinen (= Ich würde zweimal überlegen, bevor ich dieses Modul verwende):
Wo ist die Dokumentation?
Abgesehen von dem, was auf der Projektseite steht, gibt es (a) keine Community-Dokumentation (zumindest nicht verlinkt von der Projektseite) und (b) eine readme.txt, die mit dem Modul geliefert wird, aber keinen "echten" Inhalt .
Wo ist die D7-Version?
Für D6 ist eine offizielle Version verfügbar. Eine D7-Version gibt es jedoch nur als alfa 1, die über ein Jahr alt ist. Und dann gibt es bereits eine D8-Version im Beta-Status. Ich bin mir nicht sicher, was in D8 auf mich zukommt, aber für D7 scheint etwas nicht zu stimmen. Wird es jemals eine offizielle D7-Version geben? In der Nutzungsstatistik gibt es jedoch viele D7-Sites. Nahezu 10 KB gemeldete Installationen für diese D7-alfa-Version. 10K-Sites, die die Module verwenden, können nicht falsch sein, daher muss es so etwas wie "Diese alfa1-Version ist praktisch eine offizielle Version, die so gekennzeichnet werden sollte" sein.
Die obigen Aufzählungszeichen sind nur einige der Kriterien, anhand derer ich mich häufig für beigesteuerte Module entscheide. Weitere Informationen finden Sie in der Community-Dokumentation zu Maintenance Scorecards . Hier ist das Intro dazu (von dieser Seite):
Offensichtlich beziehen sich diese Scorecards auf "Diagrammmodule", aber IMHO gelten dieselben Kriterien, IMHO, auch wenn Sie sich zwischen mehreren Modulen entscheiden müssen.
Bohne
Vielleicht sollten Sie ein weiteres Modul im Bereich Blöcke hinzufügen, indem Sie sich das Bean- Modul ansehen. Hier ist ein Zitat über seine Projektseite:
In Kombination mit den verfügbaren Optionen zum Erteilen der entsprechenden Bean-Berechtigungen sollte dies Ihnen viel Flexibilität geben, wie genau Sie dieses (großartige) Modul in Ihrem speziellen Fall verwenden möchten. Als Bonus funktioniert das Bean-Modul auch hervorragend in Kombination mit den Modulen UUID und UUID Features Integration . Nachdem Sie sich mit dem Bean-Modul vertraut gemacht haben, finden Sie möglicherweise andere Fälle auf Ihrer Site, in denen Sie auch das Bean-Modul verwenden möchten (was die Tatsache kompensiert, dass Sie ein weiteres Modul hinzufügen müssen).
Videoanleitungen
Wenn Sie mit Regeln nicht vertraut sind , lesen Sie die Video-Tutorials. Lernen Sie das Regelwerk kennen . Und / oder ähnliche 8 Video-Tutorials zum Flag- Modul.
Das Video-Tutorial Drupal Bean-Modul-Tutorial - Verwenden der Bean Admin-Benutzeroberfläche bietet eine großartige Einführung, um die Leistungsfähigkeit des Bean- Moduls und die Art der Dinge, die Sie damit tun können , wirklich zu verstehen (indem Sie nur Techniken zum Erstellen von Websites verwenden, ohne dass eine benutzerdefinierte Codierung erforderlich ist). Es zeigt auch, wie das Bean-Modul Drupal-Blöcke in feldfähige Entitäten umwandelt.
quelle