Worum es geht
Jede Mail hat je Sprache genau eine Standardfassung. Dazu kann ein Mandant seine eigene Fassung haben, die für ihn statt der Standardfassung gilt. CIAS muss für jede Mail genau eine Vorlage auswählen. Es sucht dafür vom Speziellen zum Allgemeinen: zuerst die Fassung des Mandanten, dann die Standardfassung, jeweils zuerst in der genauen Sprache.
Woher die Vorlagen kommen
Mit CIAS werden Vorlagen für jede Mail auf de und en ausgeliefert. Beim Start übernimmt CIAS sie in die Datenbank, jede als Standardfassung ihrer Mail und Sprache. So findet, wer Texte pflegt, jede Mail in der Datenbank, nicht nur die schon geänderten.
-
1CIASliest die ausgelieferten Vorlagen: die eigenen und die, die andere Module mit einer
PackagedMailKeys-Bean anmelden -
2CIAS→Datenbanklegt jede fehlende Standardfassung an, als ausgeliefert markiert
-
3CIAS→Datenbankbringt ausgelieferte Fassungen, die niemand geändert hat, auf den Text der neuen VersionErgebnis: Geänderte Fassungen bleiben, wie sie sind. Ein neuer ausgelieferter Text wird dazu einmal im Log gemeldet.
Ob eine Fassung noch ausgeliefert oder schon geändert ist, zeigt das Feld origin (PACKAGED oder EDITED). Laufen mehrere Instanzen gleichzeitig an, entscheidet die Datenbank, wer eine Zeile anlegt. Ein Fehler dabei hält den Start nicht auf.
Woher die Merkmale einer Mail kommen
| Merkmal | bei Mails der Registrierung | Beispiel |
|---|---|---|
| Mandant | der Mandant, dem die Person beitritt. Fehlt, wenn noch keiner feststeht | nordbau |
| Sprache | die Sprache der Anfrage, ohne Angabe Deutsch | de-AT |
Die Treppe
-
CIASMandant + Sprache
nordbau+de-AT: die Fassung dieses Kunden, genau in dieser Sprache↳ nein weiter -
CIASMandant + Sprachcode
nordbau+de: die Fassung dieses Kunden in der Sprache ohne Land↳ nein weiter -
CIASStandard + Sprache
de-AT: die Standardfassung↳ nein weiter -
CIASStandard + Sprachcode
de: die Standardfassung ohne Land↳ nein weiter -
CIASStandard in der Rückfallsprachedie Rückfallsprache, ohne Einstellung Deutsch↳ nein Fehler: keine Vorlage
- Vorlage gefunden, Mail wird erzeugt
Schritte, deren Merkmal fehlt, entfallen. Hat eine Mail keinen Mandanten, beginnt die Suche bei der Standardfassung. Ist die Sprache schon nur ein Sprachcode wie de, entfallen die Schritte mit Sprachcode.
Zwei Quellen je Schritt
An jedem Schritt fragt CIAS zwei Quellen, in dieser Reihenfolge:
- die Datenbank: die Standardfassungen und die Fassungen der Mandanten, siehe Vorlagen bearbeiten,
- den Klassenpfad: die mit der Anwendung ausgelieferten Dateien.
Weil die Standardfassungen beim Start in die Datenbank kommen, antwortet fast immer schon die Datenbank. Der Klassenpfad springt ein, wenn eine Zeile fehlt oder sich nicht erzeugen lässt, oder wenn die Installation ohne Datenbank für Vorlagen läuft. Die ausgelieferten Dateien liegen hier, je Sprache eine Datei für den Betreff und eine für den Text:
cias/mail/{KEY}/{sprache}.subject.ftl Standard
cias/mail/tenant/{mandant}/{KEY}/{sprache}.… Mandant
Der Text heißt {sprache}.body.ftl für reinen Text oder {sprache}.body.html.ftl für HTML. Gibt es beides, gewinnt der reine Text.
Anwendung und Ablauf: Platzhalter statt eigener Vorlagen
Eine Registrierung weiß, aus welchem Produkt eine Person kam (application, etwa auditoor) und über welchen Ablauf sie läuft (flow, etwa SELF_SERVICE oder TENANT_ADMIN). Beides sind keine Merkmale einer Vorlage. Sie stehen in jeder Mail als Platzhalter ${application} und ${flow} zur Verfügung, leer, wenn der Absender keinen Wert hat. Eine Vorlage kann darauf verzweigen:
<#if flow == "TENANT_ADMIN">
Sie wurden von Ihrem Administrator eingeladen.
<#else>
Sie haben sich selbst registriert.
</#if>
Die Ausprägungen
Wann: Nordbau hat eine eigene Willkommensmail auf de-AT.
Ergebnis: diese Vorlage, nur für Nordbau
Wann: Nordbau hat eine eigene Willkommensmail auf de, die Person hat de-AT gewählt.
Ergebnis: Nordbaus Fassung auf de. Der eigene Wortlaut des Kunden schlägt eine Standardfassung in der genaueren Sprache
Wann: Kein eigener Wortlaut des Mandanten, die Person hat en gewählt.
Ergebnis: die englische Standardfassung
Wann: Die Person hat de-AT gewählt, es gibt nur de.
Ergebnis: die Standardfassung auf de
Wann: Die Person hat fr gewählt, es gibt keine französische Vorlage.
Es gilt die Rückfallsprache. Sie ist Deutsch, einstellbar mit codamai.cias.notification.fallback-language.
Ergebnis: die Standardfassung in der Rückfallsprache
Wann: Die Willkommensmail soll für auditoor anders klingen.
Statt einer eigenen Vorlage verzweigt die Standardfassung auf ${application}.
Ergebnis: eine Vorlage für alle Produkte, mit unterschiedlichem Text
Wann: Eine gefundene Vorlage lässt sich nicht erzeugen, etwa eine ältere Zeile mit einem Tippfehler in der Vorlagensprache.
CIAS schreibt eine Warnung ins Log, überspringt die Vorlage und sucht weiter: zuerst in der ausgelieferten Datei derselben Stufe, dann auf der nächsten Stufe. Neue kaputte Vorlagen lassen sich gar nicht erst speichern, siehe Vorlagen bearbeiten.
Ergebnis: nächste Quelle oder nächste Stufe
Erst wenn auch die Standardfassung in der Rückfallsprache fehlt oder kaputt ist, scheitert das Erzeugen der Mail. Das ist ein Fehler der Auslieferung, kein fachlicher.