Hallo Ulrich.
Du sprichst von deiner eigenen Extension, kannst also selbst entscheiden was du
machst und was nicht?
Ich würde ebenfalls vorschlagen, dass du einen schedulerbasierte Lösung
verwendest.
Grundsätzlich kennt man dieses Verfahren ja von diversen Foren: Sobald man
einen Thread abonniert hat, wird man per E-Mail über neue Posts benachrichtigt
-- allerdings nur einmal, bis man wieder einen Klick auf der Webseite gemacht
hat.
Das ist zwar eine schöne Variante, allerdings auch recht aufwändig. Du müsstest
dir dazu ja pro Benutzer merken, ob er bei der nächsten Änderung wieder
benachrichtigt werden muss oder nicht. Im einfachsten Fall ist das ein Attribut
des fe_users (nodificationSent), das auf TRUE gestellt wird wenn sobald er eine
Benachrichtigung erhalten hat, auf FALSE bei jedem Click und das dafür sorgt,
dass Änderungsbenachrichtigungen nur dann verschickt werden, wenn der Benutzer
in diesem Feld FALSE stehen hat. Wenn der Benutzer Mitglied mehrere Gruppen
sein kann, müsste das Flag nicht an den fe_user sondern an eine Relation
zwischen Benutzer.
Kurz: Das ist viel Aufwand, den zu betreiben sich ggf. nicht lohnt.
Sollten deine Änderungen nicht allzu zeitkritisch sein, würde ich einen
Scheduler basteln, der einen Daily Report verschickt. Sehr aktive Redakteure
sehen ohnehin öfter vorbei, wenig aktive Redakteure sind bei einer
Änderungsbenachrichtigung pro fünf Minuten trotzdem nicht dazu zu bewegen,
häufiger als einmal täglich die Änderungen zu lesen.
Abhängig von der erwarteten Änderungsrate und der gewünschten längsten
Benachrichtigugnsverzögerung (also wenn du z.B. den Scheduler alle fünf Minuten
laufen lässt und zu Peakzeiten praktisch minütlich Änderungen hast) ist das
allerdings auch keine benutzerfreundliche Variante. Dann wiederum zwingt sich
die umfangreiche Variante mit per-user-Flag eigentlich auf.
Wenn du viele Benutzer hast und alle persönlich ansprechen willst, also jedem
Benutzer eine einzelne E-Mail zukommen lassen willst, in der jeweils er und nur
er im TO-Feld genannt ist, wirst du ebenfalls nicht um einen Scheduler herum
kommen. Der durchschnittliche Redateur will jedenfalls keine 15 Sekunden auf
den Speicher-Button warten, nur damit 600 Benachrichtigungs-E-Mails verschickt
werden können. Ein Scheduler-Task (auch wenn der einmal pro Minute läuft)
entkoppelt das und erzeugt für den aktiven Redakteur eine flüssigere
Benutzerführung. Dass für ihn fremde Leute erst eine Minute später
benachrichtigt werden ist dem Redakteur dagegen vermutlich recht egal.
Mit powermail wirst du hier nichts reißen können. Ich wüsste nicht, wie man das
sinnvoll ansteuern kann.
Schreib dir stattdessen einen kleines Extbase-Element. Der Scheduler-Task
hierfür ist recht rudimentär ausgestattet um sinnvoll z.B. Links verwenden zu
können brauchst du ein minimales TSFE. Anders funktioniert der
TypoLink-Mechanismus nicht. Meiner Erfahrung nach bietet sich hier an, die
eID-Tools im Scheduler-Task zu missbrauchen.
Das Vorgehen ist dann innerhalb des Tasks recht einfach:
* Mit den eID-Tools das TSFE booten
* Liste der zu benachrichtigenden fe_user aus der Datenbank holen
* Liste der geänderten pages aus der Datenbank holen
* Fluid-Standalone-Template mit den geänderten pages füllen und einmal pro
fe_user rendern lassen
* Ein t3lib_mail_Message-objekt erzeugen und das je fe_user einmal mit dem
zugehörig gerenderten Templateoutput füllen und $mail-send() aufrufen
Wenn es genügt dass alle Benutzer die gleiche E-Mail erhalten kannst du auch
einfach eine Dummy-E-Mail-Adresse als To verwenden, alle fe_user als BCC
angeben und nur eine E-Mail verschicken. Der Vorteil daran ist, dass du nur ein
einziges Template rendern musst und PHP-Seitig nur eine einzige E-Mail
verschickt wird. Die Last liegt also nicht auf dem PHP-Server. Der Nachteil ist
allerdings, dass die E-Mail-Inhalte dann nicht personalisiert werden können.
Gruß,
Stephan Schuler
Web-Entwickler
Telefon: +49 (911) 539909 - 0
E-Mail: stephan.schu...@netlogix.de
Website: media.netlogix.de
--
netlogix GmbH Co. KG
IT-Services | IT-Training | Media
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: i...@netlogix.de | Internet: http://www.netlogix.de
netlogix GmbH Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt
-Ursprüngliche Nachricht-
Von: typo3-german-boun...@lists.typo3.org
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von ulrich
Gesendet: Mittwoch, 7. August 2013 12:18
An: German TYPO3 Userlist
Betreff: [TYPO3-german] Email an FE-User nach Contentupdate
Hallo Liste,
bin gerade dabei mein erstes Typo3 6.x Projekt zu planen.
Dabei hab ich nun eine Frage:
Es gibt eine FE-Usergruppe die in einem bestimmten Bereich Daten eingeben
können.
Nach