EMails

Mailkonten

Bereits mit den Reporten wurden Mailkonten in FlexNow eingeführt. Hiermit konnten unterschiedliche Absender für die aus den Reporten generierten Mails realisiert werden. Die Mailkonten wurden jetzt vollständig in den Mailversand integriert. Das Update vom 03.12.2018, mit dem die XSL-basierten Mails erstmalig eingeführt wurden, enthält ein SQL-Skript, mit dem die bisherigen Einstellungen für den Mailversand aus der Setup-Tabelle in ein Default-Mailkonto überführt werden. Die Setup-Einstellungen werden für eine Übergangsphase noch von fn2Web verwendet, bis auch hier die Mailfunktionalität vollständig auf XSL umgesetzt ist.

Die Einstellungen der Mailkonten werden im PO-Modul unter dem Punkt „Einstellungen - Mails - Mailkonten“ vorgenommen. Hier können beliebig viele unterschiedliche Mailkonten angelegt werden, die dann im Anschluss den unterschiedlichen Mailvorlagen zugeordnet werden können. Dabei können für jedes Mailkonto folgende Einstellungen vorgenommen werden:

Bezeichnung

Server: Serveradresse (Domain oder IP-Adresse) des SMTP-Servers

Port: Port des SMTP-Servers

SSL verwenden: Bestimmen, ob die Kommunikation mit dem SMTP-Server SSL-verschlüsselt stattfindet.

Authentifizieren: Bestimmen, ob der SMTP-Server eine Authentifizierung erfordert.

Nutzername: Nutzername für die Authentifizierung

Passwort: Passwort für die Authentifizierung

Name: Name des Absenders. Dieser wird den Empfängern der Mail in ihrem Mailprogram angezeigt.

Email-Adresse: Absendeadresse der Mail

Reply To: Antwort-Adresse für die mit diesem Mailkonto versendeten Nachrichten. Wenn diese Einstellung leer bleibt, dann erfolgen die Antworten auf eine Mail an die Absendeadresse.

CC: Alle mit diesem Mailkonto versendeten Mails werden automatisch als Kopie auch an die angegebenen Mail-Adressen gesendet (kommasepariert).

BCC: Alle mit diesem Mailkonto versendeten Mails werden automatisch als unsichtbare Blindkopie auch an die angegebenen Mail-Adressen gesendet (kommasepariert).

Prefix für den Betreff: Allen Mails, die mit diesem Mailkonto abgesendet werden, wird der Betreffzeile aus der Mailvorlage das angegebene Prefix vorangestellt.

Mails

Mit dem Update vom 03.12.2018 wurden die Mail-Benachrichtigungen der FlexNow-Module grundlegend überarbeitet. Die Inhalte und die Gestaltung der Benachrichtigungen werden nun ebenso wie die Druckerzeugnisse anhand von XSL-Dateien bestimmt. Dies ersetzt die bisherigen, teilweise fest vorgegebenen und teilweise in der Datenbank gespeicherten Mailvorlagen. Mit dem Update werden XSL-Vorlagen veröffentlicht, die die bisherigen Mails vollständig, teilweise aber visuell überarbeitet, umsetzen. Diese können als Grundlage für die Anpassung an den jeweiligen Hochschulen genutzt werden.

Das neue Mailkonzept bietet eine Versionierung der Nachrichten - damit können z.b. unterschiedliche Varianten der gleichen Mail für die unterschiedlichen Fachbereiche/Fakultäten einer Hochschule realisiert werden. Darüber hinaus ist auch ein sprachabhängiger Versand möglich. Das Vorgehen beim Generieren einer Mail ist dabei folgendes:

Bestimmen der Mailversion für den gewünschten Mailtyp: Wenn die Nachricht fachbereichsspezifische Daten enthält, dann wird geprüft, ob eine Mailversion existiert, die diesem Fachbereich zugeordnet wurde. Ist dies nicht der Fall, wird eine Mailversion verwendet, die keine Anbindung an einen Fachbereich hat.

Ermitteln der XSL-Datei anhand der gewünschten Sprache für den Versand: Sofern es sich um eine Mail an einen Studierenden handelt, wird zunächst geprüft, ob dieser eine bevorzugte Sprache eingestellt hat und ob für diese Sprache eine XSL-Datei hinterlegt ist. Ist keine bevorzugte Sprache eingestellt oder für den Versand der Mail wurde anderweitig keine Sprache festgelegt, dann wird geprüft, ob eine XSL-Datei ohne Sprachzuordnung hinterlegt ist. Sofern noch immer keine XSL-Datei ermittelt wurde, wird geprüft, ob eine XSL-Datei für die Standard-Sprache (Deutsch) hinterlegt ist.

XSL-Transformation und Versand: Für den Mailversand erstellt FlexNow in Abhängigkeit vom jeweiligen Mailtyp eine XML-Datenstruktur mit Informationen, die in der Mail ausgegeben werden können. Aus dieser XML-Struktur und der zuvor ermittelten XSL-Datei wird anhand einer XSL-Transformation der eigentliche Mailinhalt erstellt, der danach gesendet wird.

Modellierung der Mails im PO-Modul

Die grundsätzliche Struktur der in FlexNow verfügbaren Mails wird im PO-Modul bearbeitet. Dies erfolgt im Explorer unter „Einstellungen - Mails - Nachrichten“. Hier werden Mails, die sich aus bestimmten Funktionen des Systems ergeben, bereits vorgegeben (z.B. Buchungsmail, Anmeldebestätigung). Diese können bearbeitet aber nicht gelöscht werden. Darüber hinaus können auch eigene Mailvorlagen angelegt werden, die bei Reporten verwendet werden können.

Bei den Mailtypen kann nur die Bezeichnung festgelegt werden. Weitere Einstellungen sind hier nicht vorhanden.

Unterhalb von jedem Mailtyp können mehrere Mailversionen angelegt werden. Hierbei können folgende Einstellungen vorgenommen werden:

Bezeichnung

Die Texte der Mail verwenden HTML zur Formatierung: Diese Option muss gesetzt sein, wenn die Mails in den XSL-Dateien HTML zur Formatierung verwenden.

Mailkonto: Das Mailkonto, mit dem dieser Mailversion gesendet werden soll.

Reply To: Hier kann abweichend vom Mailkonto eine andere Antwortadresse eingestellt werden.

CC: Hier können zusätzlich zum Mailkonto weitere Mail-Adressen (kommasepariert) eingegeben werden, an die eine Kopie der Mail gesendet wird.

BCC: Hier können zusätzlich zum Mailkonto weitere Mail-Adressen (kommasepariert) eingegeben werden, an die eine Blindkopie der Mail gesendet wird.

Inhalt: In dieser Tabelle werden die XSL-Dateien sowie ihre Sprach-Zuordnungen festgelegt. Beim Pfad kann ein Dateiname, ein relativer Pfad oder absoluter Pfad verwendet werden. Wenn nur ein Dateiname oder relativer Pfad angegeben ist, dann bezieht sich die immer auf das Verzeichnis, in dem die XSL-Dateien gespeichert sind. Standardmäßig ist das das Unterverzeichnis „mail“ im Programmordner von FlexNow - dies kann jedoch auch in der Setup-Tabelle geändert werden (siehe unten: Setup-Einstellungen).

Zuordnung zu Fakultäten/Fachbereichen: Hier wird bestimmt für welche Fachbereiche/Fakultäten diese Mailversion versendet wird. Wenn hier keine Zuordnung erfolgt, dann wird diese Mailversion verwendet, wenn keine andere Mailversion anhand ihrer Zuordnung ermittelt werden kann.

XSL-Dateien

Die inhaltliche und visuelle Gestaltung der Mail erfolgt in den XSL-Dateien. Für alle von FlexNow bereits in FlexNow existierenden Mailtypen werden XSL-Vorlagen mit ausgeliefert, die von den Hochschulen verändert oder als Beispiele für andere Mailversionen genutzt werden können. Lediglich für die Mail-Benachrichtigungen der Reporte können keine Vorlagen beretigestellt werden, da diese von den jeweiligen Einstellungen und Regeln des Reports abhängen. Diese müssen daher für den jeweiligen Report neu erstellt werden.

Der grundsätzliche Aufbau einer XSL-Datei für die Mail ist folgender:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/Data">
<mailset>
<xsl:apply-templates select="Dataset" />
</mailset>
</xsl:template>
<xsl:template match="Dataset">
<mail>
<xsl:attribute name="Dataset"><xsl:value-of select="@Dataset"/></xsl:attribute>
<subject>
Betreff
</subject>
<message>
Nachrichteninhalt
</message>
<attachments>
<file>Dateiname</file>
</attachments>
</mail>
</xsl:template>
</xsl:stylesheet>

Dabei sollten nur die Inhalte der Tags <subject>, <message> und <attachments> verändert werden. Zusätzlich zu den Vorlagen für die Mailtypen werden mit dem Update vom 03.12.2018 weitere Dateien ausgeliefert, die teilweise in die Vorlagen eingebunden sind oder die für das Erstellen neuer Mailvorlagen genutzt werden können. Diese Dateien befinden sich auch unabhängig von den Updates auf dem FTP-Server im Verzeichnis XSL/Mail und können dort heruntergeladen werden.

template.xsl
Diese kann als Ausgangspunkt für die Erstellung neuer Mailvorlagen verwendet werden. In dieser Datei wurde der oben gezeigte Aufbau mit nützlichen Erweiterungen ergänzt. Hierfür sind per Include die XSL-Dateien flexnow.xsl und custom.xsl eingebunden.

flexnow.xsl
Hierbei handelt es sich um eine Sammlung nützlicher XSL-Templates, die von FlexNow zur Verfügung gestellt werden. Dies ist gegenwärtig ein Template zur Darstellung von grafischen Icons für Prüfungsbemerkungen und ein Template für sprachspezifische Texte. Diese Datei kann in Zukunft durch Updates um weitere Templates erweitert werden und sollte daher nicht verändert werden.

custom.xsl
Dies ist eine Bibliothek mit nutzerspezifischen Templates, die in allen XSL-Vorlagen genutzt werden können. Dies ist sind z.B. Header und Footer, Anrede von Studierenden, Anzeige von Prüfungen und Prüfungsergebnissen. Diese Datei kann von den Nutzern nach eigenen Wünschen verändert und erweitert werden, da sie zukünftigen Updates nicht mehr überschrieben wird.

texte.xml
In dieser Datei werden die sprachspezifischen Texte gespeichert. Diese Datei kann beliebig erweitert werden.

icons.xml
Hier sind die grafischen Icons für die einzelnen Prüfungsbemerkungen im Base64-codiertem Format gespeichert. Die grundsätzliche Struktur sollte nicht erweitert werden. Wenn jedoch andere Grafiken für die einzelnen Icons gewünscht sind, dann können die Inhalte der Tags verändert werden.

date.add.xsl, date.months.xml und datum_beispiel.xsl
Die Datei date.add.xsl bietet ein Template, mit dem Additionen und Subtraktionen von Datumsangaben vorgenommen werden können. In der Datei datum_beispiel.xsl wird beispielhaft gezeigt, wie dieses Template zu verwenden ist. Die Datei date.months.xml wird von date.add.xsl verwendet und darf auf keinen Fall verändert werden.

XML-Struktur, System Log

Alle Informationen, die in einer Mail ausgegeben werden können, werden vor der XSL-Transformation von FlexNow in Form einer XML-Datenstruktur zusammengestellt. Auf diese Struktur kann mit XPath-Ausdrücken zugegriffen werden. Die Anzeige und Untersuchung dieser XML-Struktur kann mit dem System Log erfolgen, das ebenfalls mit dem Update vom 03.12.2018 in FlexNow zur Verfügung steht (Erklärungen zum System Log).

Neben dem Versand einer Mail an einen einzelnen Empfänger ist es in FlexNow auch möglich, dass eine Mail an eine große Gruppe von Empfängern versendet werden soll. Dies kann eine Massenmail sein, mit der alle Empfänger die gleiche Mail mit dem exakt gleichen Inhalt enthalten, oder es handelt sich um einen Massenversand, bei dem die Mail für jeden Empfänger einen individuellen Inhalt aufweist, wie z.B. bei der Buchungsmail, in der der Mailinhalt sowohl von den jeweiligen Prüfungen der einzelnen Studierenden abhängt und auch von der bevorzugten Sprache der jeweiligen Studierenden.

Ein Massenversand - sowohl mit gleichem, wie auch mit individuellem Mailinhalt - erfolgt in einem einzigen Versandvorgang. Daher werden alle Mails, die in einem Vorgang gesendet werden sollen, in einer XML-Struktur zusammengefasst. Dabei resultiert jedes Dataset-Tag in dieser Struktur in einer eigenen Mail.

Sprachunterscheidung in XSL-Datei, Sprachbezeichner

Wie bereits erwähnt, ermöglicht FlexNow den Versand mehrsprachiger Mails. Dies kann auf zwei Arten realisiert werden. Entweder werden für die unterschiedlichen Sprachen getrennte XSL-Dateien erstellt oder es existiert nur eine XSL-Datei für alle Sprachen und die Unterscheidung der Sprache erfolgt innerhalb der XSL-Datei. Hierfür wird die Sprache, in der eine konkrete Mail erstellt werden soll, in der XML-Datenstruktur für jede Mail im Dataset-Tag mit angegeben. Anhand dessen kann nun auch die Ausgabe der Inhalte und Texte gesteuert werden.

In der Bibliothek flexnow.xsl wird ein Template für die Ausgabe von sprachspezifischen Texten angeboten. Dieses kann auf folgende Art in den XSL-Dateien verwendet werden:

Diese Texte werden in der Datei texte.xml in einer XML-Struktur hinterlegt, die von den Nutzern nach eigenen Wünschen gemäß dem bereits existierenden Schema erweitert werden kann.

Beispiel aus der Vorlage für die Anmeldungsbestätigung (anmeldungsmail.xsl)

<p>
<xsl:call-template name="text"><xsl:with-param name="id" select="'anmeldungsmail_text'"/></xsl:call-template>
</p>

Damit wird auf die folgenden Texte in der Datei texte.xml zugegriffen:

<text id="anmeldungsmail_text" sprache="1">Sie wurden zur folgenden Prüfung angemeldet:</text>
<text id="anmeldungsmail_text" sprache="2">You have been registered for the following exam:</text>

Für Daten, die aus der Modellierung der Prüfungsordnungen resultieren, werden alle existierenden sprachspezifischen Bezeichner automatisch in der XML-Struktur angeboten.

Individuelle Datenbankabfragen

Ebenso wie beim Datenexport besteht nun auch in den XSL-Vorlagen der Mails die Möglichkeit Datenbankabfragen zu integrieren, mit denen auch Daten ermittelt werden können, die nicht in der XML-Struktur enthalten sind. Detaillierte Erklärungen hier zu gibt es unter Datenexport beim Druck.

Setup-Einstellungen

Im folgenden sind die für den Mailversand relevanten Parameter der Setup-Tabelle aufgelistet.

MAIL_XSL_VERZEICHNIS - Verzeichnis, in dem die XSL-Dateien für die Erstellung von Mails gespeichert sind. Dieser Parameter wird von fn2Web nicht verwendet.

MAIL_ATTACHMENT_VERZEICHNIS - Verzeichnis, in dem Dateien gespeichert sind, die als Anhang an Mails angehängt werdn können. Wenn dieser Parameter nicht gesetzt ist, dann müssen die Anhänge im gleichen Verzeichnis gespeichert sein, in dem auch die XSL-Dateien gespeichert sind. Dieser Parameter wird von fn2Web nicht verwendet.

MAIL_ANMELDUNG - Hat dieser Parameter den Wert TRUE, dann wird bei Anmeldungen, die in den Modulen PA oder PD vorgenommen wurden, nachgefragt, ob der entsprechende Studierende per Mail über diese Anmeldung informiert werden soll.

MAIL_STUDENT_BEIDE_ADRESSEN - In FlexNow können bis zu zwei Mailadressen pro Studierendenakte gespeichert sein. Standardmäßig werden Mails an Studierende immer an die erste gespeicherte Adresse gesendet. Wenn dieser Parameter jedoch den Wert „TRUE“ hat, dann erfolgt der Versand immer an beide gespeicherte Mailadressen.

Mails in fn2Web (WIP)

Die inzwischen in fn2Web umgesetzten Mail-Funktionen werden hier aufgeführt.

Anstelle des Setup-Parameters 'MAIL_XSL_VERZEICHNIS' werden die XSL-Dateien für den Mail-Versand in fn2Web im Verszeichnis {FN2XML.XSLPATH}/mail hinterlegt (FN2XML.XSLPATH befindet sich in der context.xml der tomcat-Instalation). Bitte hierzu auch die Release-Notes 2.04.08.000 beachten.

Zur Zeit können die Mails von fn2Web aufgrund technischer Begrenzungen nicht als HTML verschickt werden. Der entsprechende Haken im PO-Modul wird ignoriert.

An-/Abmeldung

Mit der SQL-Skript-Id 1160 wird im PO-Modul die Mail „An-/Abmeldung Web“ eingefügt. Unter ihr können, wie oben beschrieben, die zugehörigen Mail-Versionen hinterlegt werden.

Bei der Erstinbetriebnahme müssen einmalig die Dateien aus …/Konfigurationsdateien/FN2HOCHSCHULE/xsl/FN2XML/mail nach {FN2XML.XSLPATH}/mail kopiert werden. Die oben gelb hinterlegten Dateien werden mit dem in 2.04.08 angepassten Kopierskript jedes mal neu überschrieben, alle anderen sind frei editierbar.

In den Dateien 'Bsp_xml_fuer_an_abmeldung_LV.xml' und 'Bsp_xml_fuer_an_abmeldung_zentral.xml' werden jeweils Beispiele für die XML-Quelle bei zentralen und dezentralen An-/Abmeldungen hinterlegt. Zudem wird ab Version 2.04.08.010 das jeweils letzte Mail-XML in der Datei 'mail_quelle.xml' im tomcat-logs-Verzeichnis abgelegt, wenn der Debug-Parameter in FN2XML gesetzt ist (analog z.B. zum Datenblatt-Druck).