[TYPO3-german] Email an FE-User nach Contentupdate

2013-08-07 Diskussionsfäden ulrich
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 Eingabe der Daten, soll eine Mail an alle FE-User der Gruppe mit den
Daten rausgehn.

Was wäre denn der beste Ansatz sowas zu machen?
Funktioniert das zb mit sowas wie Powermail (hab noch nicht damit
gearbeitet)? Empfänger ist dann einfach die FE-Gruppe?
Oder muss ich dafür den Weg über den Scheduler gehen?
Oder beides?

Vielen Dank und viele Grüße
Ulrich
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Email an FE-User nach Contentupdate

2013-08-07 Diskussionsfäden Stephan Bauer

Hallo Ulrich,

ich denke, der Scheduler hat den Vorteil, dass nicht sofort die Email 
versendet wird. Wird kurz hintereinander ein Änderung gemacht, dann 
gehen auch mehrere Emails raus.


Grüße

Stephan

schrieb ulrich:

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 Eingabe der Daten, soll eine Mail an alle FE-User der Gruppe mit den
Daten rausgehn.

Was wäre denn der beste Ansatz sowas zu machen?
Funktioniert das zb mit sowas wie Powermail (hab noch nicht damit
gearbeitet)? Empfänger ist dann einfach die FE-Gruppe?
Oder muss ich dafür den Weg über den Scheduler gehen?
Oder beides?

Vielen Dank und viele Grüße
Ulrich


___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Email an FE-User nach Contentupdate

2013-08-07 Diskussionsfäden Stephan Schuler
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