Warteliste mit Mail-Benachrichtigung durch Redakteur
am 20.08.2017 - 21:17 Uhr in
Auf einer Seite sollen sich Benutzer (auch Gäste) bei Veranstaltungen (Nodes von diesem Typ) registrieren können in dem sie die Teilnahme an dieser Veranstaltung bestellen und auch dafür gleich bezahlen.
Aber wenn nun eine Veranstaltung ausgebucht ist (dieser Teil betrifft jetzt meine Frage), dann soll sich diese Node-Page automatisch verändern und die Nutzer sollen die Möglichkeiten haben, bei der ausgebuchten Veranstaltung ihre Daten (E-Mail, Name, Telefon) auf einer Warteliste zu hinterlassen.
Und falls das Kontigent der Veranstaltung später erhöht wird oder jemand ausfällt, kann der Admin/Redakteur auf einfache Weise eine E-Mail an die Warteliste schicken mit der Information, dass Plätze frei sind und sie sich jetzt wieder registrieren können. (Benachrichtung geht an alle E-Mails auf dieser Warteliste für diese Veranstaltung/diese Node).
Meine Frage ist:
- Wie kann man in Drupal 8 am besten diese Warteliste realiseren?
- Wie löst man es, dass der Redakteur dann sehr einfach mit anpassbarem Text die Leute auf der Warteliste durch Aussendung einer Mail an alle auf genau dieser Warteliste informieren kann?
- Es gibt viele Veranstaltungen (=Nodes) und jede Veranstaltung bekommt also seine eigene Warteliste, die automatisch erscheint, wenn der Event ausgebucht ist und wieder verschwindet, wenn der Redakteur neue Plätze freigibt (Teilnehmeranzahl erhöht).
Jetzt gibt es Module unter Drupal 8, die ähnliches machen, aber ich muss es genau so wie beschrieben umsetzen und nicht nur ähnlich.
Daher würde ich einen Teil selbst programmieren. Aber die Warteliste und die Möglichkeit das Versenden einer Nachricht an die Warteliste (Node-bezogen) sollte doch mit Drupal 8 Mitteln und Modulen irgendwie möglich sein. Hat jemand Ideen oder Tipps für Module etc.? Danke.
- Anmelden oder Registrieren um Kommentare zu schreiben
Klingt für mich nach einem
am 21.08.2017 - 05:05 Uhr
Klingt für mich nach einem Einsatz für rng Event registration, Rules und eventuell Webform. Brauchst du Mails mit HTML Template kannst du noch Simplenews hinzuziehen.
Rules und Simplenews sind zwar in der Alpha, können aber trotzdem schon eingesetzt werden.
Wie und was genau du einsetzt hängt davon ab, wie das Endergebnis genau aussehen soll.
Am kompliziertesten dürfte das Erstellender entsprechenden Rules und das Umsetzen eines Mail-templates für Simplenews werden. Den Rest bringt das RNG-Framework mit. Webform kannst du dir eventuell sogar sparen. Um das genau beurteilen zu können, habe ich RNG noch zu wenig in den Fingern gehabt. Alles in allem klingt das nach einer spannenden und vor allem lösbaren Geschichte.
https://drupal-tv.de
Drupal sehen und lernen
Mail an alle Webform-Einträge senden
am 22.08.2017 - 09:22 Uhr
Danke, ich werde mir die Module genauer anschauen.
Geht es allerdings auf einfachere Art nicht?
Das Webform Modul aktivieren und Webforms für den Inhaltstyp Veranstaltung aktivieren.
Bei jeder Veranstaltung erscheint nur dann, wenn sie ausgebucht ist (dieser Teil würde selbst programmiert werden), das Webformular, mit dem man sich auf die Warteliste setzen kann.
Jetzt fehlt eigentlich nur noch eine Funktion:
Wie kann der Redakteur eine Mail-Nachricht an alle schicken, sie sich über das Webformular auf die Warteliste für genau diese eine Veranstaltung (Node) gesetzt haben?
Am besten wäre es, wenn dies eine Art Formular wäre mit ausgefüllten aber veränderbaren Feldern, ähnlich also würde man unter /node/add neuen Content hinzufügen. Sobald das Formular vom Editor abgeschickt wird (nachdem er den Text angepasst hat), erhalten alle auf der Warteliste dieser Node die Mail.
Kann das Webform-Modul in irgendeiner Weise genau diesen letzten Teil?
Kann man diesen letzten Teil an selbst programmieren? Wie würde man das angehen ungefähr?
Die Mail-Funktion bring den
am 22.08.2017 - 12:49 Uhr
Die Mail-Funktion bring den Screenshots nach die RNG-Modulreihe mit. Dein Anzeigeproblem ließe sich mittels Rules lösen. Darum war ich auch nicht sicher, ob du Webform zwingend benötigst. Das Versenden einervMassmail kannst du zu Not in einer View umsetzen, indem du die Benutzer vorher gilt erst. Ganz ähnlich wie in Der Ansicht, die die Auf der Seite Benutzer angezeigten Benutzer ausgeübt. Notfalls kannst du auch einen guten Text formulieren und diesen entweder per Rules oder Actons automatisiert versenden.
https://drupal-tv.de
Drupal sehen und lernen
Rules fällt weg, Mail an ganze Warteliste nicht einzeln
am 22.08.2017 - 21:58 Uhr
Die Mail-Funktion bring den Screenshots nach die RNG-Modulreihe mit.
Ja, es gibt hier Screenshots https://www.drupal.org/files/project-images/message_ui.png, aber die zeigen doch alle was anderes an:
Man kann eine Mail an die Person schicken, die sich gerade bei diesem Event (Node) registriert hat.
Ich brauche aber was anders: Zu einem belieben Zeitpunkt, den der Editor selbst bestimmt, schickt er eine Mail an alle, die sich für das eine Event (Node) registriert haben (sozusagen auf der Warteliste sind).
Das geht wohl nicht und geht wohl auch nicht im Webform Modul (welches auch Bestätigungsmails versendet, aber die brauch ich hier ja nicht).
Dein Anzeigeproblem ließe sich mittels Rules lösen. Darum war ich auch nicht sicher, ob du Webform zwingend benötigst.
Habe heute stundenlang Rules und VBO und Views getest und herausgefunden, dass in Rules für Drupal 8 noch folgende Dinge fehlen:
- VBO Integration
- Schleifen bei den rules actions.
Damit lässt sich die in Views erstellte VBO Liste in Rules nicht verwenden, und außerdem müsste man dort ja enie rules Schleife über alle Mailadressen machen, Schleifen gibt es in Rules D8 noch nicht.
Rules fällt für meinen speziellen Fall damit weg, um damit eine Mail an alle auf der Warteliste zu schicken, dann wenn der Editor das will.
Das Versenden einervMassmail kannst du zu Not in einer View umsetzen, indem du die Benutzer vorher gilt erst. Ganz ähnlich wie in Der Ansicht, die die Auf der Seite Benutzer angezeigten Benutzer ausgeübt. Notfalls kannst du auch einen guten Text formulieren und diesen entweder per Rules oder Actons automatisiert versenden.
Das verstehe ich vielleicht nicht ganz, denn kann man eine Massenmail mit einer View verschicken?
Also Rules (D8) fällt weg.
Es sollte doch möglich sein per PHP code und der mail() Funktion einfache diese Mail selbst zu versenden, wenn es hier anscheinend keine andere Lösung gibt.
Bleibt noch wie das Verwenden ausgelöst und durchgeführt werden kann:
Eine Idee wäre, dass der Editor einen Kommentar an die betroffene Node (=Event) anfügt und dann diese Kommentar an alle auf der Warteliste verschickt wird.
Oder es gibt einen eigenen Inhaltstyp 'notify_event_waitlist'. Erstellt der Editor einen Inhalt dieses Typs, dann wird das, was er schreibt an die Warteliste des noch auszuwählenden Events geschickt. Hier könnte man mit prepopulate dem Editor schon einen Link zur Verfügung stellen, so dass die Node-ID des Events an dieses /node/add/notify_event_waitlist übergeben wird, damit er ganz bestimmt nur an seine eigene Warteliste die Mail verschickt.
Oder?
Also, ich hab mich jetzt mal
am 23.08.2017 - 19:07 Uhr
Also, ich hab mich jetzt mal 3 Stunden hingesetzt und versucht, das Problem, mit der aktuellen Drupal Version anzugehen.
Ich glaube, dass du mir zustimmen wirst, wenn ich sage, das du an Webform nicht vorbeikommst. RNG hatte ich heute ausprobiert und ich muss sagen, so toll, wie es auf den ersten Blick aussieht ist es nicht.
An Rules kommst du leider auch nicht ohne weiteres vorbei, weil du ja selbst schreibst:
dann soll sich diese Node-Page automatisch verändern und die Nutzer sollen die Möglichkeiten haben, bei der ausgebuchten Veranstaltung ihre Daten (E-Mail, Name, Telefon) auf einer Warteliste zu hinterlassen.
Das bedeutet im klartext: Wenn Kontingent von Formular 1 voll, dann Zeige Formular 2 Das ließe sich eventuell auch mit einem einfachen Redirect lösen. Sobald die Nachricht von Webform angezeigt wird, die definiert wurde, um den Beuscher zu informieren, dass die Registrierung für das Aktuelle Formular nicht mehr notwendig ist.
Wenn du wirklich eine Warteliste in Drupal 8 realisieren musst, geht es vor allem Darum bestimmte Daten, vor allem die Email-Adressen der Teilnehmer auf dem 2. Formular in irgendeiner Form zu sammeln. Das geht hiermit ganz Fabelhaft
https://www.drupal.org/project/webform_views
Ob du wirklich eine Warteliste darstellen willst, bleibt dir ja überlassen. Im Grunde reichen 2 Webforms üro Veranstaltung.
Das erste um die Daten der Teilnehmer zu erhalten
und das zweite, das eben dann zum Enstaz kommt, wenn die Veranstaltung ausgebucht ist und es zum Beispiel die Möglichkeit gibt, sich für die Vergabe zurückgegebener Tickets vormerken zu lassen.
Es gibt sogar ein Modul namens views_send, mit dem man angeblich aus einer View heraus E-Mails an benutzer versenden kann. Das Problem, auf das ich dabei gestßen bin, ist, das diese Modul den Wert der E-Mail-Adresse aus einem Webform nicht als gültige E-Mail-Adresse annimmt. Alles andere lässt sich so wie beschrieben umsetzen.
Wenn du tatsächlich deinem Redakteure die Möglichkeit geben willst, direkt aus Drupal heraus zu versenden, würde ich entweder mal beim Maintainer von views_send nachfragen, ob du Ihn unterstützen kannst oder warten, bis das Rules-Modul wieder einsatzfähig ist und die E-Mail-Adressen aus der View ziehen und anschließend mit der Aktion Email-Versenden, die das Actions-Modul anbietet dem Redakteur eine Eingabemöglichkeit zur Verfügung stellen.
Da Rules in 8.4 allerdings noch sehr fehlerbehaftet ist und ein notwendiger fix noch den Status test needs review besitzt, könnte es noch etwas dauern, bis du dasGanze ausprobieren kannst.
https://drupal-tv.de
Drupal sehen und lernen
Danke
am 23.08.2017 - 21:04 Uhr
Danke, Du hast Dir ja recht viel Mühe gemacht.
Ich habe heute vormittag den ersten Teil schon gelöst:
Abhängig davon, ob die Veranstaltung ausgebucht ist oder nicht, zeige ich unten bei der Veranstaltung entweder den "Teilnehmen" - Link an oder eben das Formular für die Warteliste (mit Erklärungstext).
Es ist etwas anders bei mir, das erste Formular ist kein Formular sondern eben Commerce Shop, mit dem man direkt ein Ticket kaufen kann.
Die Warteliste ist ein Webform-Formular. Ich schalte per selbst geschriebenen Code um, wenn ausgebucht ...
Deine weiteren Vorschläge sind gut, ich werde das demnächst versuchen. Webform Views schaue ich mir genau an, vielleicht gibt es doch noch eine Möglichkeit, Maildressen so auszugeben, dass man über Views Send die "Massenmail" an alle auf der Warteliste abschicken kann. Vielleicht muss man die views rows etwas anpassen mit ein paar Zeilen Code oder ähnlich. Views Send muss ich mir erst anschauen.
Bin zuversichtlich, sonst gibt es immer noch die Möglichkeit, das eine oder andere (meist geschickt auf Fields andockend) durch ein paar Zeilen PHP-Code uimzusetzen. Rules konnte ich hier auch gut ersetzen durch weniger als 10 Zeilen Code ....
.