Zum Hauptinhalt springen
Version: 6.18

Technische Vorlagen

Technische Vorlagen haben in ConSol CM mehrere Zwecke. Sie werden zum Definieren der Anzeigenamen von Kontakten, Ressourcen und Benutzern verwendet und dienen als Vorlagen für automatische E-Mails, die vom System verschickt werden.

Eine ConSol CM-Standardinstallation enthält bereits Systemvorlagen und einige Beispielvorlagen, die Ihnen die Definition neuer technischer Vorlagen für Ihre besonderen Anwendungsfälle erleichtern.

Technische Vorlagen werden in Freemarker geschrieben (siehe https://freemarker.apache.org/). Einige Arten von Vorlagen können HTML-Tags enthalten.

In diesem Abschnitt sind die technischen Vorlagen, die auf der Seite Technische Vorlagen in der Web Admin Suite verwaltet werden, beschrieben. Informationen zu den im Web Client verwalteten Vorlagen finden Sie in Rich-Text-Vorlagen. Diese Vorlagen werden zum Beispiel für System-E-Mails und Anzeigenamen verwendet. In der folgenden Liste sind die verfügbaren Vorlagentypen aufgeführt:

Einstellungen für technische Vorlagen

Eine technische Vorlage hat folgende Einstellungen:

  • Name: Das ist der Name, über den die Vorlage referenziert wird.
  • Gruppe: Die Gruppe bezeichnet den Bereich, in dem die Vorlage verwendet wird. Sie können eine Gruppe angeben, um Ihre Vorlagen leichter verwalten zu können. Sie können entweder eine vorhandene Gruppe aus der Liste der Autocomplete-Vorschläge auswählen oder eine neue Gruppe erstellen, indem Sie den gewünschten Gruppennamen eingeben und auf die Option Erstellen klicken, die anstelle der Autocomplete-Vorschläge angezeigt wird.
  • Typ: Der Typ bestimmt die Nutzung der Vorlage. Mögliche Werte:
    • Benutzer: Anzeigevorlage für Benutzer
    • E-Mail: Vorlage für automatische E-Mails, und manuelle E-Mails, die aus der Web Admin Suite geschrieben werden
    • Generisch: Vorlage für einen anderen Zweck
    • Kontakt: Anzeigevorlage für Kontakte, siehe Definieren von Kontaktvorlagen
    • Ressource: Anzeigevorlage für Ressourcen, siehe Definieren von Ressourcenvorlagen
  • Letzte Änderung: Dies ist das Datum, an dem die Vorlage zuletzt geändert wurde.

Grundlegende Aufgaben

Suchen nach technischen Vorlagen

Die Liste der technischen Vorlagen wird direkt nach dem Öffnen der Seite Technische Vorlagen der Web Admin Suite angezeigt. Sie können die Liste filtern, um eine Vorlage leichter zu finden:

  • Textsuche: Geben Sie Text in das Feld Suchen ein und wählen Sie Im Namen, um im Namen der Vorlagen zu suchen, oder Im Inhalt, um im Quellcode der Vorlagen zu suchen.
  • Vorlagengruppe: Wählen Sie die Vorlagengruppe in der Drop-down-Liste Alle Gruppen aus, um nur Vorlagen einer bestimmten Gruppe anzuzeigen.
  • Änderungsdatum: Wählen Sie Letzte Änderung in der Spaltenauswahl und sortieren Sie die Liste der Vorlagen nach dem Datum der letzten Änderung, um vor Kurzem geänderte Vorlagen oben in der Liste anzuzeigen.

Arbeiten mit technischen Vorlagen

Sie können für Vorlagen folgende Aktionen ausführen:

  • Neue Vorlage erstellen: Klicken Sie über der Liste der Vorlagen auf den Button Neue Vorlage. Geben Sie einen eindeutigen Namen für die Vorlage ein und wählen Sie eine Gruppe aus. Siehe Einstellungen für technische Vorlagen. Über den Ablegebereich können Sie Vorlageninhalt aus einer Datei importieren. Wenn die neue Vorlage einer vorhandenen Vorlage ähnelt, können Sie eine Kopie der Vorlage erstellen, indem Sie in der Zeile dieser Vorlage auf das Icon Duplizieren klicken. Sie müssen einen eindeutigen Namen für die Vorlage angeben.
  • Vorlagennamen oder -gruppe bearbeiten: Klicken Sie auf das Icon Bearbeiten, um den Namen oder die Gruppe einer Vorlage zu ändern.
  • Quellcode einer Vorlage bearbeiten: Klicken Sie auf die Zeile einer Vorlage, um den Quellcode zu öffnen. Der Quellcode kann direkt bearbeitet werden. Details zu den Funktionen des Vorlageneditors finden Sie in Verwenden der Funktionen des Vorlageneditors. Im Quellcodebereich sind folgende Aktionen möglich:
    • Änderungen speichern: Speichern Sie Ihre Änderungen.
    • Änderungen verwerfen: Machen Sie Ihre Änderungen rückgängig.
    • Importieren: Ersetzen Sie die Vorlage durch den Inhalt einer Datei.
    • Exportieren: Speichern Sie die Vorlage in einer Datei.
    • Vollbild: Öffnen Sie die Vorlage im Vollbildmodus, sodass das komplette Browser-Fenster für den Quellcode verwendet wird. Klicken Sie auf Zurück, um den Vollbildmodus zu verlassen.
    • Sprache: Wählen Sie die Sprache der Vorlage. Sie können für jede in ConSol CM konfigurierte Sprache eine andere Vorlage erstellen. Eine Vorlage muss immer mindestens in der Standardsprache erstellt werden.
  • Vorlage löschen: Sie können eine Vorlage löschen, indem Sie auf das Icon Löschen klicken. Beim Löschen einer Kontakt- oder Ressourcenvorlage werden die Kundengruppen oder Ressourcentypen, in denen die Vorlage referenziert ist, im Bestätigungsdialog erwähnt. Für die restlichen Vorlagen wird nicht überprüft, ob die Vorlage, die Sie löschen, in Verwendung ist.

Hinzufügen von Kontakt- und Ressourcenvorlagen

Die Anzeigenamen von Kontakten und Ressourcen im Web Client müssen mittels Vorlagen definiert werden. In den Vorlagen wird festgelegt, welche Datenfelder für den Anzeigenamen verwendet werden.

Datenfelder werden über den Namen ihrer Feldgruppe und den Feldnamen referenziert:

Best-Practice

Sie können den Code mit dem Vorlagengenerator erzeugen, indem Sie in der Kopfzeile des Editors auf das Icon Vorlagengenerator klicken und die gewünschten Felder auswählen.

Zeilenumbrüche

Der Anzeigename darf keine Zeilenumbrüche enthalten. Wenn Sie für eine bessere Lesbarkeit der Vorlage Zeilenumbrüche nutzen möchten, können Sie die Freemarker-Option <@compress single_line=true> am Anfang der Vorlage einfügen.

Die Vorlagen werden in den entsprechenden Datenmodellen den Kontaktobjekten bzw. Ressourcentypen zugewiesen.

Erweiterte Aufgaben

Verwenden der Funktionen des Vorlageneditors

Der Vorlageneditor hat folgende Funktionen:

  • Syntax-Hervorhebung: Der Editor verwendet Syntax-Hervorhebung für Freemarker.
  • Vorlagenbeispiele: Sie können STRG + Leertaste drücken, um ein Vorlagengerüst und Beispiele für verfügbare Methoden einzufügen.
  • Tastenkombinationen: Es gibt Tastenkombinationen für häufige Vorgänge. Beispiele:
    • Rückgängig machen: STRG + Z
    • Suchen: STRG + F
    • Nächstes Ergebnis suchen: STRG + G
    • Ersetzen: Umschalt + STRG + F
    • Alle ersetzen: Umschalt + STRG + R
  • Vorlagengenerator: Code für Anzeigevorlagen für Kontakte und Ressourcen auf Basis der in einem Modalfenster vorgenommenen Einstellungen generieren und einfügen
  • Texthervorhebung: Sie können auf ein Wort doppelklicken oder einen Text markieren, um dessen Vorkommen in der Vorlage farblich hervorzuheben.

Sie können auf den Button Verwendung klicken, um zu sehen, wo eine Vorlage verwendet wird. Im Popup-Fenster sind die Stellen aufgeführt, an denen die Vorlage referenziert wird, und Sie können über die Links zu den referenzierenden Objekten springen.

Verwenden von Vorlagen in Skripten

Mit den folgenden Methoden können Sie Vorlagen in Skripten referenzieren, zum Beispiel, um in einer Workflow-Aktivität eine automatische E-Mail zu senden.

  • workflowApi.renderTemplate() für einfache Vorlagen, die im Workflow verwendet werden
  • workflowApi.renderMailTemplate() für Vorlagen mit Bildern, die im Workflow verwendet werden
  • templateService.merge() für einfache Vorlagen
  • templateService.mergeAndInlineImages() für Vorlagen, die Bilder enthalten, die in Base64 umgewandelt werden sollen

Bearbeiten von Systemvorlagen

In einer Standardinstallation von ConSol CM gibt es mehrere vordefinierte Systemvorlagen:

  • attachment-type-error-mail-template: Inhalt der E-Mail, die an den E-Mail-Administrator (siehe System-Property cmas-nimh-extension, mail.on.error) gesendet wird, wenn der Attachment-Typ einer eingehenden oder ausgehenden E-Mail nicht unterstützt wird, sodass die E-Mail nicht verarbeitet werden kann.
  • engineer description template name: Darstellung des Benutzernamens. Sie können in der System-Property cmas-core-server, engineer.description.template.name einen anderen Namen für die Vorlage definieren. Das folgende Beispiel zeigt, wie man den über die Vorlage festgelegten Benutzernamen in Skripten verwendet:
      engineerService.getDisplayName(engineer, new Locale("de"));
  • mail-process-failure-template: Inhalt der E-Mail, die an den Administrator gesendet wird, wenn die Verarbeitung einer eingehenden E-Mail fehlschlägt. Enthält Details über die E-Mail und die Fehlerursache.
  • mail-receive-attachment-too-large: Inhalt der Benachrichtigungs-E-Mail, die gesendet wird, wenn eine eingehende E-Mail aufgrund der Größe ihrer Anhänge nicht verarbeitet werden konnte. Der Absender der E-Mail erhält eine Benachrichtigung, die die Größe der Anhänge, die er senden wollte, und die maximal erlaubte Größe enthält.
  • mail-receive-too-large: Inhalt der Benachrichtigungs-E-Mail, die gesendet wird, wenn eine eingehende E-Mail aufgrund ihrer Größe nicht verarbeitet werden konnte. Der Absender der E-Mail erhält eine Benachrichtigung, die die Größe der E-Mail, die er senden wollte, und die maximal erlaubte Größe enthält. Fügen Sie den Parameter From: mit der gewünschten E-Mail-Adresse zur Vorlage hinzu, um eine andere Adresse als den Wert der System-Property cmweb-server-adapter, mail.from als From-Adresse zu verwenden.
  • mail-send-failure-template: Inhalt der Benachrichtigungs-E-Mail, die gesendet wird, wenn eine manuelle E-Mail aufgrund von Problemen mit dem E-Mail-Server nicht gesendet werden konnte. Fügen Sie den Parameter ${failedEmailInfos} hinzu, um zusätzliche Informationen, wie den Absender, Empfänger und Betreff der E-Mail einzufügen.
  • missed-notification: Inhalt der E-Mail, die gesendet wird, wenn der Benutzer ausgewählt hat, dass er für jede Benachrichtigung, die gesendet wurde, während er offline war, eine E-Mail erhalten möchten (Option Eine E-Mail für jede verpasste Benachrichtigung mit dem Text im Auswahlfeld Verpasste Benachrichtigungen des Benutzerprofils).
  • password-reset-template: Inhalt der E-Mail, die gesendet wird, wenn ein Benutzer auf der Anmeldeseite des Web Clients eine Zurücksetzung des Passworts beantragt. Folgende in der Vorlage enthaltene Variable wird in den System-Properties konfiguriert:
    • urlWebclient: Wert der System-Property cmas-core-server, url.webclient.
  • representation_info_email_html: Konfiguriert den Text (HTML-Format), der zu den E-Mails hinzugefügt wird, die aufgrund einer Vertretung an einen Benutzer weitergeleitet werden (siehe Konfigurieren von Vertretungen).
  • representation_info_email_plain_text: Konfiguriert den Text (Nur-Text-Format), der zu den E-Mails hinzugefügt wird, die aufgrund einer Vertretung an einen Benutzer weitergeleitet werden (siehe Konfigurieren von Vertretungen).
  • representation-create-email: Inhalt der E-Mail, die gesendet wird, wenn eine Vertretung eingerichtet wurde (siehe Konfigurieren von Vertretungen). Die E-Mail wird sowohl an den neuen Vertreter als auch an den vertretenen Benutzer gesendet. Fügen Sie den Parameter From: mit der gewünschten E-Mail-Adresse zur Vorlage hinzu, um eine andere Adresse als den Wert der System-Property cmweb-server-adapter, mail.from als From-Adresse zu verwenden.
  • representation-delete-email: Inhalt der E-Mail, die gesendet wird, wenn eine Vertretung gelöscht wurde (siehe Konfigurieren von Vertretungen). Die E-Mail wird sowohl an den alten Vertreter als auch an den Benutzer, der vertreten wurde, gesendet. Fügen Sie den Parameter From: mit der gewünschten E-Mail-Adresse zur Vorlage hinzu, um eine andere Adresse als den Wert der System-Property cmweb-server-adapter, mail.from als From-Adresse zu verwenden.
  • today-notifications: Inhalt der E-Mail, die gesendet wird, wenn der Benutzer ausgewählt hat, dass er am Ende des Tages eine Zusammenfassung mit der Anzahl der ungelesenen Benachrichtigungen erhalten möchten (Option Eine E-Mail pro Tag mit der Anzahl der verpassten Benachrichtigungen im Auswahlfeld Verpasste Benachrichtigungen des Benutzerprofils).
  • track-password-reset-template: Inhalt der E-Mail, die an den Benutzer gesendet wird, der eine Zurücksetzung des Passworts für CM/Track angefordert hat. Folgende in der Vorlage enthaltene Variablen werden in den System-Properties konfiguriert:
    • expirationDate: Standardmäßig läuft der Link 24 Stunden nach dem Anfordern der Passwort-Zurücksetzung ab. Um diesen Wert zu ändern, erstellen Sie die System-Property cmas-core-security, resetCode.expirationPeriod mit dem gewünschten Ablaufdatum.
    • urlTrack: Wert der System-Property cmas-core-server, url.track.
  • user-profile-info-template: Definiert, welche Benutzerdaten von der Seite Benutzer im Benutzerprofil im Web Client angezeigt werden.
  • workflow-timer-failure-template: Inhalt der E-Mail, die an den Administrator gesendet wird, wenn die Verarbeitung eines Workflow-Timers fehlschlägt. Enthält Details über den betroffenen Vorgang und die Fehlerursache.

Die folgenden Variablen sind in der Benachrichtigung bei der Erstellung oder Löschung einer Vertretung verfügbar. representing steht für den Benutzer, der einen anderen Benutzer vertritt, und represented steht für den Benutzer, der von einem anderen Benutzer vertreten wird.

  • Nachname: ${representing|represented.lastname}
  • Nachname: ${representing|represented.firstname}
  • Login: ${representing|represented.name}
  • E-Mail: ${representing|represented.email}
  • Fax: ${representing|represented.fax}
  • Mobiltelefon: ${representing|represented.mobile}
  • Telefon: ${representing|represented.phone}

Bearbeiten von E-Mail-Vorlagen

Es gibt eine Reihe von Ereignissen, bei denen ConSol CM automatisch E-Mails versendet. Der Inhalt dieser E-Mails wird in E-Mail-Vorlagen definiert. In den folgenden Abschnitten sind die E-Mail-Vorlagen beschrieben, die in der Web Admin Suite definiert werden müssen. Sie können in der Web Admin Suite oder im Web Client weitere E-Mail-Vorlagen für Ihre speziellen Anwendungsfälle definieren.

Manuelle E-Mails

E-Mail-Vorlagen, die für manuell gesendete E-Mails zur Verfügung stehen sollen, müssen auf der Seite Rich-Text-Vorlagen definiert werden, siehe Rich-Text-Vorlagen.

Zuweisen von Vorgängen

Benutzer werden in automatischen E-Mails benachrichtigt, wenn ihnen ein Vorgang zugewiesen oder entzogen wird. Für jeden Fall (Zuweisen oder Entziehen) gibt es eine Vorlage, das in der entsprechenden Queue referenziert wird (siehe Queues).

Standardmäßig wird die E-Mail-Adresse des CM-Administrators (siehe System-Property cmas-core-security, admin.email) als From-Adresse verwendet. Sie können die From-Adresse auch explizit in der Vorlage setzen (siehe folgendes Beispiel).

Das folgende Beispiel zeigt eine Vorlage für die Vorgangszuweisung:

Subject: Ticket #${ticket.name} assigned to you
From: cm@example.com

<#setting number_format="0.######"/>
The ticket #${ticket.name}

"${ticket.subject}"

has been assigned to you by <#if engineer_exec??>${engineer_exec.name}<#else>the workflow</#if> <#if engineer_old??>(former engineer: ${engineer_old.name})<#else>(no former engineer)</#if>

Please take care.

URL: ${urlWebclient}/ticket/name/${ticket.name}

Zurücksetzen des Passworts

Wenn Datenbankauthentifizierung verwendet wird (siehe Authentifizierung), können die Benutzer ihre Passwörter sowohl im Web Client als auch in CM/Track zurücksetzen. Für jeden Client muss eine E-Mail-Vorlage mit einem Link zur Seite für die Passwort-Zurücksetzung definiert werden.

Web Client

Wenn ein Benutzer sein Web-Client-Passwort vergessen hat, kann er über den Link Passwort vergessen? auf der Anmeldeseite ein neues Passwort anfordern. Es wird eine E-Mail mit einem Link zu einer URL, über die der Benutzer ein neues Passwort festlegen kann, an den Benutzer gesendet.

E-Mail-Adresse

Auf der Seite Benutzer muss eine gültige E-Mail-Adresse für den Benutzer angegeben sein.

Die Vorlage mit dem E-Mail-Inhalt muss password-reset-template heißen. Das folgende Beispiel zeigt eine einfache Vorlagen, mit der das Web-Client-Passwort zurückgesetzt werden kann.

Subject: Password reset procedure
From: no-reply@consol.de

Dear ${engineer.firstname} ${engineer.lastname},
Please click the following link to reset your password:

${urlWebclient}/passwordChange?resetCode=${resetCode}

This link expires at ${expirationDate?string("yyyy.MM.dd HH:mm:ss")}.

Die folgende Variable wird in den System-Properties konfiguriert:

  • urlWebclient: Wert der System-Property cmas-core-server, url.webclient.

Die From-Adresse der E-Mail wird in der System-Property cmas-core-security, password.reset.mail.from definiert.

CM/Track

Wenn ein Kontakt sein CM/Track-Passwort vergessen hat, kann er über den Link Passwort vergessen? auf der Anmeldeseite ein neues Passwort anfordern. Es wird eine E-Mail mit einem Link zu einer URL, über die der Kontakt ein neues Passwort festlegen kann, an den Kontakt gesendet.

E-Mail-Adresse

Im entsprechenden Datenfeld im Web Client muss eine gültige E-Mail-Adresse für den Kontakt angegeben sein.

Die Vorlage mit dem E-Mail-Inhalt muss track-auth-password-reset-template heißen und manuell erstellt werden. Das folgende Beispiel zeigt eine einfache Vorlage zum Zurücksetzen des CM/Track-Passworts.

Subject: Zurücksetzen Ihres CM/Track-Passworts

<#setting number_format="0.######"/>
Hallo,

wir haben eine Anfrage erhalten, das Passwort für den mit dieser E-Mail-Adresse verknüpften CM/Track Account zurückzusetzen. An Ihrem Account wurden bisher keine Änderungen vorgenommen.

Sie können Ihr Passwort zurücksetzen, indem Sie auf den folgenden Link klicken:

${urlTrackAuth}/setNewPassword?resetCode=${resetCode}

Dieser Link verfällt am ${expirationDate?string("yyyy.MM.dd")} um ${expirationDate?string("HH:mm:ss")}. Sollten Sie dieses Ablaufdatum verpassen, initiieren Sie das Zurücksetzen bitte nochmals.

Die folgenden Variablen werden über System-Properties konfiguriert:

  • expirationDate: Standardmäßig läuft der Link 24 Stunden nach dem Anfordern der Passwort-Zurücksetzung ab. Um diesen Wert zu ändern, erstellen Sie die System-Property cmas-core-security, resetCode.expirationPeriod mit dem gewünschten Ablaufdatum.
  • urlTrack: Wert der System-Property cmas-core-server, url.track.auth.

Syntaxbeispiele

Lokalisieren von Listenwerten

Lokalisierte Werte von sortierten Listen können mit der Methode localize() in Vorlagen angezeigt werden. Diese Methode ruft den lokalisierten Listenwert ab, wie er in der Web Admin Suite definiert ist, um ihn im Web Client anzuzeigen. Ansonsten würde der interne Listenwert angezeigt.

Das folgende Beispiel zeigt eine Vorlage für eine Ressource. Das Ressourcenfeld SLA_country ist eine sortierte Liste, die eine Länderliste enthält. Die Methode localize() wird verwendet, um den Ländernamen in der im Browser eingestellten Sprache anzuzeigen.

${localize(resource.getFieldValue("SLA_Fields_basic","SLA_country"))!}
Abkürzen von Werten

Werte, die von einer Vorlage abgerufen werden, können mit der Methode abbreviate() abgekürzt werden. Dadurch werden lange Werte gekürzt, sodass alle Felder angezeigt werden, auch wenn das erste Feld einen langen Wert enthält.

Die Methode abbreviate() benötigt zwei Parameter:

  • Wert, der abgekürzt werden soll.
  • Anzahl der anzuzeigenden Zeichen. Dies ist die Anzahl aller anzuzeigenden Zeichen, d. h. einschließlich der drei Punkte. Wenn also fünf Buchstaben und drei Punkte angezeigt werden sollen, muss 8 als Parameter angegeben werden. Der Mindestwert ist 4.

Das folgende Beispiel zeigt die Vorlage für eine Firma und wie der abgekürzte Firmenname in der Vorgangsliste angezeigt wird.

${abbreviate(company.getFieldValue("ResellerCompanyData","company_name"),8)!} - ${company.getFieldValue("ResellerCompanyData","company_number")!}

Mit den Methoden linkInWebClientTo() und linkInTrackTo() können Sie Links zu Vorgängen, Kontakten und Ressourcen in eine Vorlage einfügen. Es sind folgende Methoden verfügbar:

  • Link zu einem Vorgang im Web Client: ${linkInWebClientTo(ticket)}
  • Link zu einem Kontakt im Web Client: ${linkInWebClientTo(unit)}
  • Link zu einer Ressource im Web Client: ${linkInWebClientTo(resource)}
  • Link zu einem Vorgang in CM/Track: ${linkInTrackTo(ticket)}

Das folgende Beispiel zeigt die Verwendung dieser Methoden:

[#assign ticketUrl = "${linkInWebClientTo(ticket)}"]
<p>This is a link to case: <a href="${ticketUrl?no_esc}">ticket</a></p>
Umgang mit fehlenden Werten

Sie können if-Anweisungen in Kombination mit dem Operator ?? oder dem Operator ?has_content verwenden, um zu prüfen, ob ein Objekt existiert oder ein Feld einen Wert enthält.

<#if person.getFieldValue("ResellerCustomerData","customer_name")?has_content && person.getFieldValue("ResellerCustomerData","firstname")?has_content>${person.getFieldValue("ResellerCustomerData","customer_name")!}, ${person.getFieldValue("ResellerCustomerData","firstname")!}<#else> ${person.getFieldValue("ResellerCustomerData","customer_name")!}</#if>

Alternativ können Sie einen Standardwert mit dem Operator ! definieren, um Exceptions wegen fehlender Werte zu vermeiden. Der Standardwert kann leer sein.

${person.getFieldValue("ResellerCompanyData","company_name")!} - ${person.getFieldValue("ResellerCompanyData","company_number")!}
Definieren eines Musters für Zahlenformate

Mit Freemarker können Sie ein Muster für das Zahlenformat definieren. Das folgende Beispiel zeigt ein Muster, das Zahlen mit zwei Nachkommastellen anzeigt.

<#setting number_format="0.##"/>${person.getFieldValue("groupName", "numberValueField")!}