GSB 7.0 Standardlösung

Newsletter

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:

Mailingliste editieren Mailingliste editieren Mailingliste editieren

Im oberen Bereich können die Stammdaten der Mailing-Liste bearbeitet werden:

  1. GSB-ID: Die Dokument-Id des Mailing-Listen-Dokuments. Die Id kann nicht geändert werden
  2. Name: Der Name der Mailing-Liste. Der Name kann nur über das Umbenennen des zugehörigen Dokuments geändert werden.
  3. Liste-Addresse: über alle Mandanten eindeutige E-Mail-Adresse der Mailing-Liste
  4. 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>
  5. 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'.
  6. To-Header-Adresse: TO-Header-Adresse für Newsletter-Mails dieser Liste. Falls nicht die Listen-Adresse.
  7. Bounce-Punkte-Grenze: Grenzwert für die automatische Deaktivierung von Abonnenten bei Überschreitung.
  8. Bounce-Ignore-Zeitraum (h): Zeitraum in Stunden, in der weitere Bounce-Mails keine Auswirkung auf den Punktestand haben.
  9. 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:

Newsletter bestellen Newsletter bestellen

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> oder NLAV_<Name der Mailing-Liste>_<Name des Attribut-Werts>

    Also in diesem Fall: NLAV_standardlsg_newsletter_format_text oder NLAV_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-Namens
  • eventsToHandle: 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 Dokumenttyp
  • cl2PropertyForTopicValues: Die cl2-Property, in der Dokumente, die die Attribut-Werte des Themen-Attributs liefern, eingehängt werden können
  • cl2ClassifierTitleForTopicValues: Der cl2-Classifier-Title für die relevanten verlinkten Dokumente, die die Attribut-Werte des Themen-Attributs liefern
  • linkedDocumentPropertyForTopicValue: Die Property des verlinkten Dokuments in der der Attribut-Wert für das Themen-Attribut hinterlegt ist
  • restConfiguration: Definition der zugehörigen Rest-Konfiguration (Referenz auf Bean mit class="de.bund.gsb.eventdispatcher.rest.RESTConfigProperties")
Hinweis:

Ist ein Testversand vorgesehen, dann muss für allowedGroups ALL konfiguriert werden:

<property name="allowedGroups">
      <set>
        <value>ALL</value>
      </set>
</property>

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 soll
  • formatAttributeName: Name des Format-Attributs
  • htmlAttributeValueName: Name des HTML-Format-Werts
  • plainAttributeValueName: Name des Text-Format-Werts
  • topicAttributeName: Name des Themen-Attributs
  • htmlTemplateName: Name des Templates, das zum renderen des Newsletter-Contents im HTML-Format verwendet wird
  • plainTemplateName: Name des Templates, das zum renderen des Newsletter-Contents im Text-Format verwendet wird


Newsletterversand Konfiguration im Content (Performer) Newsletterversand Konfiguration im Content (Performer) Newsletterversand Konfiguration im Content (Performer)

Die Konfiguration für den EventDispatcher kann letztlich auch im Content des Mandanten eingesehen werden.

Newsletter Generierung

Der Versand eines Newsletters an die Abonnenten einer Mailing-Liste kann standardmäßig über zwei Verfahren angestoßen werden.

  1. Push-Versand
  2. 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:

Newsletterversand aktivieren Newsletterversand aktivieren

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:

Newsletter Layout-Konfiguration Newsletter Layout-Konfiguration

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):

Newsletter Layout Newsletter Layout Newsletter Layout

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.