Im ConSol CM Web Client werden Kundendatensätze an mehreren Stellen in der auf den Templates basierenden Kurzform angezeigt. In der Ticketliste wird möglicherweise der Kontaktname und der Firmenname benötigt, wohingegen im Kundendatenbereich des Tickets der Name, Vorname und die Telefonnummer eines Kontakts gebraucht werden. In diesem Abschnitt wird erklärt, wo die Kurzformen verwendet werden, und wie Sie die zugehörigen Templates mit dem Admin Tool konfigurieren können.
Die Konfiguration basiert auf folgendem Prinzip:
Abbildung 230: ConSol CM Admin Tool - Template-Annotationen für Datenobjekt (hier: Firma)
In den folgenden Absätzen werden die Syntax und das Coding für Templates sowie alle möglichen Template-Typen erklärt.
Die Templates werden in der FreeMarker-Notation geschrieben. Detaillierte Informationen dazu finden Sie auf der FreeMarker-Website.
Innerhalb der Templates arbeiten Sie mit drei Objekttypen:
Die folgende Abbildung zeigt ein Beispiel dafür:
Abbildung 231: ConSol CM Admin Tool - Schreiben von Kunden-Templates
Die Kunden-Templates dürfen nur eine Zeile haben! Zeilenumbrüche sind nicht zulässig!
Hier sind einige Beispiele für Templates:
<#if ResellerCustomer.getFieldValue("ResellerCustomerData","customer_name")?has_content &&
ResellerCustomer.getFieldValue("ResellerCustomerData","firstname")?has_content>
${ResellerCustomer.getFieldValue("ResellerCustomerData","customer_name")!},
${ResellerCustomer.getFieldValue("ResellerCustomerData","firstname")!}
<#else> ${ResellerCustomer.getFieldValue("ResellerCustomerData","customer_name")!}</#if>
Code-Beispiel 18: Beispiel für ein Kunden-Template mit dem Kundenname (muss in eine Zeile geschrieben werden!)
${company.getFieldValue("company", "name1")!}${company.getFieldValue("company", "name2")!}
${company.getFieldValue("company", "mainaddr_city")!},${customer.getFieldValue("customer", "firstname")!}
${customer.getFieldValue("customer", "name")!}
Code-Beispiel 19: Beispiel für ein Template mit dem Firmenkontakt (muss in eine Zeile geschrieben werden!)
<#if company??>${company.getFieldValue("company", "name1")!}${company.getFieldValue("company", "name2")!}
${company.getFieldValue("company", "mainaddr_city")!},
</#if>${customer.getFieldValue("customer", "firstname")!}${customer.getFieldValue("customer", "name")!}
Code-Beispiel 20: Beispiel für ein Kundensuche-Template (muss in einer Zeile geschrieben werden!)
<#setting number_format="#"/>${customerModelCompany.getFieldValue("groupName", "numberValueField")!}
Code-Beispiel 21: Einstellen des Zahlenformats: Entfernen von "." in der Anzeige von Zahlen
Ab ConSol CM-Version 6.10.5.4 können Werte von Sortierten Listen (Enums) lokalisiert werden, d. h. Sie können die lokalisierten Werte im Web Client anzeigen lassen. Die Sortierte Liste "salutation" enthält die technischen Werte "mr" und "mrs", aber im Web Client soll die richtige Anrede in der im Browser einstellten Sprache angezeigt werden. Wenn im Browser keine Sprache eingestellt ist, wird die Standardsprache von CM verwendet.
Das folgende Beispiel zeigt dies anhand der Sortierten Liste "salutation".
${localize(customer.getFieldValue("customer", "salutation"))!} ${customer.getFieldValue("customer", "firstname")!} ${customer.getFieldValue("customer", "name")!}
Abbildung 232: ConSol CM Web Client: Anzeige eines Wertes einer Sortierten Liste mittels Kunden-Template
Dieses Template, bzw. Format, wird an allen folgenden Stellen verwendet, für die keine speziellen Templates definiert wurden, d. h. alle anderen speziellen Templates können weggelassen werden, wenn ein Standard-Template definiert ist.
Wenn für eine bestimmte Stelle im Web Client kein Template definiert ist und es auch kein Standard-Template gibt, wird eine Fehlermeldung in die Log-Datei geschrieben und im Web Client wird an dieser Stelle -- unknown -- angezeigt.
Stellen Sie also sicher, dass mindestens ein Standard-Template definiert wird. Bei einem zweistufigen Kundendatenmodell muss dies für die Firmenstufe und für die Kontaktstufe erfolgen!
Dieses Template konfiguriert die Darstellung der Kundendaten über die REST API. In der Standardkonfiguration werden keine Kundendaten im CM-Portal CM.Track angezeigt, das auf der REST-API basiert. Dieses Template gilt nur dann, wenn die REST-API direkt angesprochen wird, z. B. bei der Programmierung von CM-Schnittstellen. Die folgenden Beispiele zeigen eine Abfrage von Kundendaten durch einen REST-Client und die entsprechende Antwort des CM-Servers über die REST-API. Der Wert im Tag <mark> der XML-Ausgabe ist die Kundeninformation, die mit dem REST-Template formatiert wurde. In diesem Beispiel umfasst das Template den Firmennamen ("ConSol*") und die Firmennummer ("4711").
${ResellerCompany.getFieldValue("ResellerCompanyData","company_name")!} ${ResellerCompany.getFieldValue("ResellerCompanyData","company_number")!}
Code-Beispiel 22: REST-Template
Abbildung 233: REST API - Abfrage aller Units
Abbildung 234: REST API - Abfrage einer Unit nach ID
Ab CM Version 6.10.3 unterstützt die ConSol CM REST API zahlreiche Request-Parameter bezüglich Objekten aus CM.Resource Pool. Wenn möchten Sie diese Objekte via REST API ansprechen möchten, stellen Sie bitte sicher, dass für jeden Ressourcentyp ein REST-Template oder wenigstens ein Standard-Template zur Verfügung steht.
Beachten Sie: CM.Track nutzt ebenfalls die REST API und benötigt somit REST-Templates (oder wenigstens Standard-Templates).
Mit diesem Template wird das Format der Kundendaten definiert, das beim Ziehen von Datensätzen verwendet wird, zum Beispiel vom Bereich Kunden in die Favoriten.
Abbildung 235: ConSol CM Web Client - Kunden-Template vom Typ Dragged
Der Ticket-E-Mail-Editor liefert automatische Suchergebnisse in Form einer Drop-down-Liste. Das Format dieser Suchergebnisse kann mit diesem Template konfiguriert werden.
Abbildung 236: ConSol CM Web Client - Kunden-Template vom Typ E-Mail
<#if customer.getFieldValue("customer","name")?has_content
&& customer.getFieldValue("customer","firstname")?has_content
&& customer.getFieldValue("customer","division")?has_content>
${customer.getFieldValue("customer","name")!},
${customer.getFieldValue("customer","firstname")!},
${customer.getFieldValue("customer","division")!}
<#else> ${customer.getFieldValue("customer","name")!},
${customer.getFieldValue("customer","division")!}</#if>
Code-Beispiel 23: E-Mail-Template (muss in eine Zeile geschrieben werden!)
Mit diesem Template wird das Format der Suchergebnisse für Kontakte und Firmen in der Schnellsuche definiert. Das Template muss kurz und einzeilig sein.
Abbildung 237: ConSol CM Web Client - Kunden-Template vom Typ Schnellsuche
Mit diesem Template werden die Suchergebnisse für automatische Suchen in Autovervollständigen-Feldern definiert.
Abbildung 238: ConSol CM Web Client - Kunden-Template vom Typ Datenobjektsuchergebnis
Folgendes Template wird angewendet:
${ResellerCompany.getFieldValue("ResellerCompanyData","company_name")!}
${ResellerCompany.getFieldValue("ResellerCompanyData","company_number")!}
Code-Beispiel 24: Suchergebnis-Template von ResellerCompany (muss in eine Zeile geschrieben werden!)
Auf der Ergebnisseite der Detailsuche werden die gefundenen Tickets in einer Liste angezeigt. Eine Spalte dieser Liste enthält den Hauptkunden des Tickets. Das Template Ticket-Suchergebnis definiert das Layout der Kundendaten in dieser Spalte.
Abbildung 239: ConSol CM Web Client - Kunden-Template vom Typ Ticketsuchergebnis
Mit diesem Template wird die Darstellung der Kundendaten im Kundenbereich eines Tickets definiert. Das Template steuert die Darstellung der Kundendaten dabei nur auf dem kleinsten Sichtbarkeitslevel.
Im mittleren und großen Sichtbarkeitslevel wird die erste Zeile (Positionen 0;x) der Definition der Datenobjektgruppenfelder angezeigt. Dies greift nur, wenn die Annotation position tatsächlich gesetzt ist. Wenn keine Annotation position gesetzt ist und der Web Client die Anordnung der Benutzerdefinierten Felder automatisch rendert, werden daher nicht die Datenfelder der ersten Zeile als Template verwendet!
Abbildung 240: ConSol CM Web Client - Kunden-Template vom Typ Ticket
Mit diesem Template wird die Darstellung der Kundendaten in der Ticketliste definiert.
Wenn Sie mit diesem Template-Typ arbeiten möchten, muss der Seitenanpassungsparameter accordionTicketList.mainCustomerDescriptionVisible auf true gesetzt sein. Andernfalls können die Kundendaten nicht in der Ticketliste angezeigt werden.
Abbildung 241: ConSol CM Web Client - Kunden-Template vom Typ Ticketliste
Mit diesem Template wird die Darstellung der Kundendaten in Ticketreferenzen im Bereich Verknüpfte Tickets eines Tickets definiert. Denken Sie daran, dass die Kundendaten von referenzierten Tickets nur im Sichtbarkeitslevel Erweitert angezeigt werden.
Abbildung 242: ConSol CM Web Client - Kunden-Template vom Typ Ticketrelation
Mit diesem Template wird die Darstellung der Kundendaten in den Favoriten eines Tickets definiert.
Abbildung 243: ConSol CM Web Client - Kunden-Template vom Typ Favoriten
Mit diesem Template wird die Darstellung der Kundendaten im Ticketprotokoll, d. h. dem Protokollbereich eines Tickets definiert.
Abbildung 244: ConSol CM Web Client - Kunden-Template vom Typ Protokoll
Mit diesem Template wird die Darstellung der Kundendaten in den Vorschlägen definiert, die bei der Erstellung eines Tickets angezeigt werden.
Abbildung 245: ConSol CM Web Client - Kunden-Template vom Typ Vorschläge
Siehe Abschnitt CM.Phone: CTI mit ConSol CM.
Siehe Abschnitt CM.Phone: CTI mit ConSol CM.