Zielgruppe Site AdminVersion: GSB10.1Newsletter
Beispielhafte Erstellung und Konfiguration eines Newsletters in der GSB-Standardlösung
Einrichtung einer Mailingliste
Im Content der Standardlösung ist bereits die erforderliche Mailing-Liste vorhanden: /standardlsg/DE/Service/Newsletter/standardlsg_newsletter
Sie wird beim Content-Import über die EventDispatcher-Synchronisation automatisch im MailDistributor angelegt und ist von da an im Newsletter-Portlet des Adminportals vorhanden und konfigurierbar. Weitere Mailing-Listen können über die Erstellung von Dokumenten vom Typ Mailing-Liste
hinzugefügt werden. Dabei ist zu beachten, dass der Name einer Mailing-Liste nur einmal vergeben werden kann, es dürfen also keine zwei Mailing-Listen-Dokumente mit gleichem Namen im Content existieren.
Um die Konfiguration der vorhandenen Liste zu vervollständigen sind noch folgende Attribute und Attribut-Werte hinzuzufügen:
Format
- html
- text
Themen
- thema1
- thema2
Dazu wird in der Newsletter-Administration des Adminportals die standardlsg_newsletter-Liste
bearbeitet (Stift Symbol in der Übersicht). Es öffnet sich folgende Ansicht:
Im oberen Bereich können die Stammdaten der Mailing-Liste bearbeitet werden:
- GSB-ID: Die Dokument-Id des Mailing-Listen-Dokuments. Die Id kann nicht geändert werden
- Name: Der Name der Mailing-Liste. Der Name kann nur über das Umbenennen des zugehörigen Dokuments geändert werden.
- Liste-Addresse: über alle Mandanten eindeutige E-Mail-Adresse der Mailing-Liste
- Sender-Name: Bezeichnung für die Listen-Adresse, die der Adresse im Sender-Header vorangestellt wird. z.B. 'Bezeichnung der Listen-Adresse' < listaddress@example.com>
- From-Header-Adresse: FROM-Header-Adresse für Newsletter-Mails dieser Liste. Überschreibt einen gesetzten Sender-Name. Falls leer, wird automatisch die Listen-Adresse eingesetzt. Falls verschieden zur Listen-Adresse erscheint in Outlook: 'listaddress@example.com im Auftrag von fromaddress@example.com'.
- To-Header-Adresse: TO-Header-Adresse für Newsletter-Mails dieser Liste. Falls nicht die Listen-Adresse.
- Bounce-Punkte-Grenze: Grenzwert für die automatische Deaktivierung von Abonnenten bei Überschreitung.
- Bounce-Ignore-Zeitraum (h): Zeitraum in Stunden, in der weitere Bounce-Mails keine Auswirkung auf den Punktestand haben.
- Empfänger pro SMTP-Session: Anzahl von Empfängern, die in einer SMTP-Session an den SMTP-Server übertragen werden.
Im unteren Bereich werden die Attribute und Attribut-Werte der Mailing-Liste in einer tabellarischen Darstellung verwaltet. Attribute werden mit einem eindeutigen Namen für die Mailing-Liste angelegt. Attribut-Werte werden mit einem eindeutigen Wert für ein Attribut und mit der Option angelegt, ob der Attribut-Wert auf der Site abonnierbar sein soll. Beide Objekte können über die entsprechenden Schaltflächen umbenannt, in der Reihenfolge umsortiert oder wieder entfernt werden.
Die erforderliche Konfiguration der Mailing-Liste ist damit abgeschlossen.
An-/Abmelde Formulare
Das An-/ und Abmelde-Formular ist bereits entsprechend der Konfiguration der standardlsg_newsletter
-Mailing-Liste mit den Format- und Themen-Attributen vorbereitet und muss nicht weiter angepasst werden.
Das Formular zur Bestellung des Newsletters (/standardlsg/SiteGlobals/Forms/Newsletter/Newsletter_Bestellen_Formular
) ist so konfiguriert, dass die vorhandenen Attribut-Werte der Attribute Format
und Themen
automatisch als Checkboxen im Formular dargestellt werden. Dafür sind die Formularelemente format
und themen
in Zusammenhang mit dem Layout verantwortlich. Die Elemente referenzieren Dynamische Checkbox Gruppen, die mit Hilfe einer Formular-Füll-Klasse und den Eigenschaften listName
und attributeName
die Attribut-Werte dynamisch vom MailDistributor abrufen. Das gewählte Layout stellt die beiden Checkbox-Gruppen im Kontext des Bestellen-Formulars dar, so dass sich nachfolgendes Bestellen-Formular ergibt:
Um andere Labels für die Ausgabe zu verwenden, müssen diese mit folgendem Namensschema angelegt werden:
Attribut:
NLA_<Name der Mailing-Liste>_<Name des Attributs>
Also in diesem Fall:
NLA_standardlsg_newsletter_format
Attribut-Wert:
NLAV_<Name der Mailing-Liste>_<Name des Attributs>_<Name des Attribut-Werts>
oderNLAV_<Name der Mailing-Liste>_<Name des Attribut-Werts>
Also in diesem Fall:
NLAV_standardlsg_newsletter_format_text
oderNLAV_standardlsg_newsletter_text
EventDispatcher Konfiguration
Die EventDispatcher Konfiguration ist, wie die Mailing-Liste auch, bereits im Content der Standardlösung enthalten und nach dem Import im EventDispatcher-Portlet verfügbar. Die Konfiguration ist standardmäßig deaktiviert und muss erst über die Bearbeitung der Konfiguration im Adminportal aktiviert werden. Über das TestModus-Flag kann der TestModus aktiviert werden, so dass ein erfolgreicher Versandvorgang nur als Log-Event im Eventdispatcher-Porlet erkennbar ist und kein weiterer E-Mail-Versand angestoßen wird. Die Konfiguration des Performers (Bean mit class="de.bund.gsb.eventdispatcher.performer.newsletter.RESTNewsletterPerformer"
) erfolgt im XML-Format und es sind standardmäßig folgende Parameter in der Konfiguration hinterlegt (im Content zu finden unter: /standardlsg/SiteGlobals/_extensions/configs/eventdispatcher/standardlsgPerformer
):
customer
: Definition des Mandanten-NamenseventsToHandle
: Definition der Events, auf die der Performer reagiert:DocumentPublishedEvent
includedPathsRegex
: Definition des Basis-Pfades eines Dokuments per regulärem Ausdruck:/standardlsg/SharedDocs/Newsletter/.*
includedDocumentTypes
: Definition des Dokumenttyps:Newsletter
allowedGroups
: Definition der erlaubten Gruppen eines Benutzers:mandant_standardlsg@standardlsg
allowedUsers
: Definition der erlaubten Benutzer:workflow@standardlsg
subjectsForDocumentTypes
: Definition eines E-Mail-Subjects pro Dokumenttypcl2PropertyForTopicValues
: Die cl2-Property, in der Dokumente, die die Attribut-Werte des Themen-Attributs liefern, eingehängt werden könnencl2ClassifierTitleForTopicValues
: Der cl2-Classifier-Title für die relevanten verlinkten Dokumente, die die Attribut-Werte des Themen-Attributs liefernlinkedDocumentPropertyForTopicValue
: Die Property des verlinkten Dokuments in der der Attribut-Wert für das Themen-Attribut hinterlegt istrestConfiguration
: Definition der zugehörigen Rest-Konfiguration (Referenz auf Bean mitclass="de.bund.gsb.eventdispatcher.rest.RESTConfigProperties"
)
Hinweis: |
---|
Ist ein Testversand vorgesehen, dann muss für
|
Die Rest-Konfiguration (Bean mit class="de.bund.gsb.eventdispatcher.rest.RESTConfigProperties"
) definiert unter anderem Folgende Properties:
listName
: den Namen der Mailing-Liste, die für den Versand genutzt werden sollformatAttributeName
: Name des Format-AttributshtmlAttributeValueName
: Name des HTML-Format-WertsplainAttributeValueName
: Name des Text-Format-WertstopicAttributeName
: Name des Themen-AttributshtmlTemplateName
: Name des Templates, das zum renderen des Newsletter-Contents im HTML-Format verwendet wirdplainTemplateName
: Name des Templates, das zum renderen des Newsletter-Contents im Text-Format verwendet wird
Newsletter Generierung
Der Versand eines Newsletters an die Abonnenten einer Mailing-Liste kann standardmäßig über zwei Verfahren angestoßen werden.
- Push-Versand
- Workflow-Basierte Erstellung und Versand
Push-Versand
Der Push-Versand wird vom Redakteur aktiv angestoßen, in dem er Dokumente publiziert. Die Regeln, ob ein Dokument dabei per Newsletter verschickt wird und über welche Mailing-Liste, werden über die Eventdispatcher-Performer-Konfiguration festgelegt. Die hinterlegte Konfiguration (standardlsgPerformer
) sieht vor, dass nur Newsletter-Dokumente unterhalb von /standardlsg/SharedDocs/Newsletter/.*
berücksichtigt werden, wie im vorherigen Abschnitt beschrieben.
In der gelieferten Standardlösungs-Konfiguration kann aufgrund der Performer-Konfiguration des EventDispatchers daher das folgende Dokument für den Versand eines Newsletters publiziert werden: /standardlsg/SharedDocs/Newsletter/DE/bsp_newsletter1
Damit ein unbeabsichtigter Versand von Newsletter nicht ohne weiteres erfolgt, muss an dem Dokument der Newsletterversand aktiviert werden. Dazu muss auf dem Metadaten-Reiter des Dokumentes in der Klassifikation bei Newsletter versenden
der Wert ja
ausgewählt werden:
Dieser Sicherheitsmechanismus wurde für das Beispiel in der Standardlösung im Performer konfiguriert (siehe Screesnhot):
<bean id="standardlsgCheckEmail"
class="de.bund.gsb.eventdispatcher.propertychecks.CL2PropertyCheck" scope="singleton">
<property name="fieldName" value="cl2Categories"/>
<property name="propertyNameInReferredDoc" value="title" />
<property name="requiredValue" value="Ja" />
<property name="linkClassifierTitle" value="EMail"/>
</bean>
Darin wird definiert, dass im Feld cl2Categories
in der Dokumentliste des Klassifizierers EMail
ein Dokument verlinkt sein muss, das im Property title
, also im Titel-Feld, den Wert Ja
haben muss (in diesem Fall ist dies die Dokumentkategorie Ja
)
Über die Themenzuordnung (Klassifikation: Themen) des Dokumentes wird ausgewählt an welche Empfänger der generierte Newsletter versendet werden soll. Benutzer die sich bspw. für das Thema1 registriert haben bekommen bei Versand dieses Beispieldokumentes dann entsprechend den Newsletter. Benutzer, die sich nur für das Thema2
registriert haben erhalten keine E-Mail.
Der Inhalt des Newsletters ergibt sich aud dem ebenfalls im Content gepflegten Seitenaufbau-Template. Dieses wird ermittelt über den Konfigurations-Eintrag NewsletterLayoutHtml
. Dieser Konfigurations-Eintrag wird rekursiv ermittelt, sodass dieser für Unterordner noch anders definiert werden könnte. In der Standardlösung befindet sich der Eintrag im obersten _config Ordner, sodass er für alle Newsletter Dokumente genutzt wird, um das Template zu bestimmen:
Das darin verlinkte Layout: /standardlsg/SiteGlobals/Layout/PageStructure/Newsletter/NewsletterHtml
gibt die folgende Inhalte des zu versendenden Newsletter-Dokumentes aus, sofern diese befüllt wurden (in Klammern ist jeweils der technische Name des Properties genannt):
- Ausgabe (
volume
) - Erscheinungsdatum (
dateOfIssue
) - Titel (
title
) - Unterüberschrift (
header
) - Haupttext (
bodyText
)
Für jedes im zu versendenden Newsletter verlinkte Dokument in der Liste "Dokumente" (documentCmpnts) wird folgendes ausgegeben:
- Titel (
title
) - Kurzbeschreibung (
teaserText
) - Mehr Link auf das verlinkte Dokument
Diese Ausgaben sind im folgenden Screenshot des Seitenaufbau-Templates im Velocity zu erkennen (dort kann das Layout dann auch entsprechend angepasst werden):
Workflow-Basierte Erstellung und Versand
Der Workflow zum Erstellen wird über eine Newsletter-Konfiguration gesteuert und der spezielle Workflow kann nur auf Dokumenten von diesem Typ aufgerufen werden.
In der Newsletter-Konfiguration sind folgende Parameter zu definieren:
Konfiguration:
- Freigabe-Mechanismus: Auswahl der Freigabe des Workflows (mit oder ohne QS)
- Auswahlkriterium: Eine Suchergebnisliste mit Inhalten, die im Newsletter mitgesendet werden sollen
- Benennungsschema: Das Schema für die Benennung neuer Newsletter-Dokumente
- Speicherort: Der Ort, an dem generierte Newsletter-Dokumente abgelegt werden
- Schablone: Die Vorlage in Form eines Newsletter-Dokuments, die vom Workflow genutzt wird
Termindaten
- Starttermin: Der Anfangstermin, an dem die automatische Generierung beginnen soll
- Endtermin: Der Endtermin, an dem die automatische Generierung ausläuft
- Ausführungsintervall (
periodicity
): Die Periode von zwei Generierungen - Ausführungsintervall (
timeoutValue
): Der Timeout zwischen zwei Generierungen - Zeiteinheit: Die Zeiteinheit, auf die sich das Ausführungsintervall bezieht.
Eine Beispiel-Konfiguration ist in der Standardlösung unterhalb von /standardlsg/SharedDocs/Newsletter
hinterlegt. Dort existiert eine Newsletter-Konfiguration newsletter_konfiguration
mit der zugehörigen Schablone newsletter_schablone
.
Die Erstellung des Workflows zum Versenden von Newslettern ist nur auf Newsletter-Dokumenten möglich. Im Kontext des Workflows kann dann ein Ausführungszeitpunkt angegeben werden, an dem der Newsletter versendet wird.