Beta Tester gesucht!
Posted: Sun Jul 20, 2008 11:46 pm
Da das Projekt FEU Mass Mail bisher leider noch keine Version veröffentlicht hat, ich diese Funktion aber dringend brauche, mir aber bei Newsletter Made Simple mit Kanonen auf Spatzen geschossen wird und mein derzeitiger Kunde damit noch weniger klarkommt als ich, habe ich kurzerhand beschlossen mein eigenes Modul zu schreiben.
Herausgekommen ist ein kleines aber feines Mailer Modul mit dem man sehr einfach eine E-Mail an alle User (bzw. an User aus bestimmten Gruppen) des FrontendUser Moduls senden kann:
-> FrontendUser Mailer <-
Eine Art einfaches Kontaktformular mit Speicherfunktion.
Die Doku ist momentan leider nur englisch.
Die deutsche Übersetzung reiche ich noch nach.
Im Text der Nachricht kann der Smarty-Syntax verwendet werden.
Mit dem Smarty-Syntax kann man somit auch auf die Daten der User zugreifen.
Um einen Timeout von Seiten des Servers zu vermeiden (was ja bei 1000 Usern vorkommen kann) verwendet das Modul einen einfachen AJAX Request. Allerdings habe ich bewusst auf den Einsatz von AJAX Made Simple verzichtet, da ich das Modul nicht von zu vielen anderen Modulen abhängig machen wollte.
Benötigt wird lediglich das CMS Mailer und FrontendUsers Modul.
Falls es dennoch zu einem Timeout oder anderen Übertragungsproblemen kommen sollte, wird die momentan versendete Mail mit der ID des letzten Users, dem eine Mail zugesandt werden konnte, temporär in der Datenbank zwischengespeichert.
Somit kann man beim erneuten Versenden die Mail lediglich an die User senden, die diese noch nicht erhalten haben.
Insbesondere hier besteht noch Klärungsbedarf, da es mit ziemlicher Sicherheit vorkommen kann, dass eben dieser letzte User beim erneuten Versenden die Nachricht zweimal bekommt, da die ID entweder vor oder nach dem Versand gespeichert wird. Je nachdem an welcher Stelle es zu einem Timeout kommt, steht die ID des letzten oder des vorletzten Users in der Datenbank. Ich habe bisher noch keine Möglichkeit gefunden, das zu umgehen bzw. zu testen. Aber lieber ein User mit zwei Mails als einer der sie garnicht erhält.
Nach efolgreichem Versandt an alle User werden die temporären Mails wieder gelöscht und bei Bedarf im Archiv gespeichert.
Man kann sowohl archivierte als auch temporäre Nachrichten bearbeiten und erneut versenden.
Da ich offline nicht testen kann, ob die Mails alle tatsächlich ankommen bzw. wie belastbar das Modul bezüglich der Anzahl der User ist und ich außerdem gerade über keine Seite mit ausreichend FrontendUsern verfüge deren Postfach ich ständig mit Testmails bombardieren kann, bin ich auf Eure Hilfe angewiesen.
Weiterhin ist dies mein erstes Projekt bei dem ich AJAX verwende. Daher möchte ich das Modul rundum auf Fehleranfälligkeit, Browserkompatiblität usw. testen.
Ziel ist es, eine stabile Version mit einer kleinen API zu erstellen, die auch von anderen Modulen genutzt werden kann.
Für jede Art von Feedback wäre ich sehr dankbar.
Herausgekommen ist ein kleines aber feines Mailer Modul mit dem man sehr einfach eine E-Mail an alle User (bzw. an User aus bestimmten Gruppen) des FrontendUser Moduls senden kann:
-> FrontendUser Mailer <-
Eine Art einfaches Kontaktformular mit Speicherfunktion.
Die Doku ist momentan leider nur englisch.
Die deutsche Übersetzung reiche ich noch nach.
Im Text der Nachricht kann der Smarty-Syntax verwendet werden.
Mit dem Smarty-Syntax kann man somit auch auf die Daten der User zugreifen.
Um einen Timeout von Seiten des Servers zu vermeiden (was ja bei 1000 Usern vorkommen kann) verwendet das Modul einen einfachen AJAX Request. Allerdings habe ich bewusst auf den Einsatz von AJAX Made Simple verzichtet, da ich das Modul nicht von zu vielen anderen Modulen abhängig machen wollte.
Benötigt wird lediglich das CMS Mailer und FrontendUsers Modul.
Falls es dennoch zu einem Timeout oder anderen Übertragungsproblemen kommen sollte, wird die momentan versendete Mail mit der ID des letzten Users, dem eine Mail zugesandt werden konnte, temporär in der Datenbank zwischengespeichert.
Somit kann man beim erneuten Versenden die Mail lediglich an die User senden, die diese noch nicht erhalten haben.
Insbesondere hier besteht noch Klärungsbedarf, da es mit ziemlicher Sicherheit vorkommen kann, dass eben dieser letzte User beim erneuten Versenden die Nachricht zweimal bekommt, da die ID entweder vor oder nach dem Versand gespeichert wird. Je nachdem an welcher Stelle es zu einem Timeout kommt, steht die ID des letzten oder des vorletzten Users in der Datenbank. Ich habe bisher noch keine Möglichkeit gefunden, das zu umgehen bzw. zu testen. Aber lieber ein User mit zwei Mails als einer der sie garnicht erhält.
Nach efolgreichem Versandt an alle User werden die temporären Mails wieder gelöscht und bei Bedarf im Archiv gespeichert.
Man kann sowohl archivierte als auch temporäre Nachrichten bearbeiten und erneut versenden.
Da ich offline nicht testen kann, ob die Mails alle tatsächlich ankommen bzw. wie belastbar das Modul bezüglich der Anzahl der User ist und ich außerdem gerade über keine Seite mit ausreichend FrontendUsern verfüge deren Postfach ich ständig mit Testmails bombardieren kann, bin ich auf Eure Hilfe angewiesen.
Weiterhin ist dies mein erstes Projekt bei dem ich AJAX verwende. Daher möchte ich das Modul rundum auf Fehleranfälligkeit, Browserkompatiblität usw. testen.
Ziel ist es, eine stabile Version mit einer kleinen API zu erstellen, die auch von anderen Modulen genutzt werden kann.
Für jede Art von Feedback wäre ich sehr dankbar.