News-Skripte
Mit Skripten des Typs News wird festgelegt, welche News auf dem Dashboard des Web Clients bzw. der Startseite von CM/Track angezeigt werden. Die vom Skript zurückgegebenen News können aus verschiedenen Quellen abgerufen werden, zum Beispiel aus Vorgangskommentaren oder RSS-Feeds, oder direkt im Skript erstellt werden.
Das News-Skript gibt eine Liste mit News-Einträgen zurück, die im Web Client bzw. CM/Track angezeigt werden. Diese Liste kann auf zwei Wegen erstellt werden:
- Erstellen Sie eine Liste mit Objekten der Klasse
NewsItem
. - Verwenden Sie die Convenience-Methode
getNewsFromTicketEntries
der KlasseNewsService
, um News direkt aus Vorgangskommentaren abzurufen.
Falls Sie getNewsFromTicketEntries
verwenden, müssen Sie im News-Skript Folgendes definieren:
- Queues, die die News-Vorgänge enthalten
- Bereiche, in denen sich die Vorgänge befinden müssen
- Textklassen, mit denen die Kommentare markiert sein müssen
- Enum-Wert, der für ein definiertes Datenfeld gesetzt sein muss (optional)
Aus jedem Vorgang wird der neueste Kommentar, der mit einer der Textklassen markiert ist, in den News angezeigt. In News-Skripten können nur Protokolleinträge des Typs Kommentar verwendet werden. Wenn ein anderer Eintrag, zum Beispiel eine E-Mail, mit der konfigurierten Textklasse markiert ist, wird der Eintrag ignoriert.
Die Standardwerte für News-Einträge aus Vorgangskommentaren sind:
- subject: Der Name und Betreff des Vorgangs, zu dem der Kommentar gehört.
- author: Der Benutzer oder Kontakt, der den Kommentar hinzugefügt hat.
- content: Der neuste Kommentar im Vorgang, der die angegebene Textklasse hat. Inline-Bilder und Formatierungen werden übernommen.
- creation date: Das Datum, an dem der Kommentar hinzugefügt wurde.
- update date: Das Datum, an dem der Kommentar aktualisiert wurde.
- color: Die Hintergrundfarbe der Textklasse.
Schritte zur Verwendung eines News-Skripts:
- Schreiben Sie auf der Seite Skripte ein Skript des Typs News.
- Weisen Sie das Skript in der News-Konfiguration zu:
- Web Client: Weisen Sie das Skript dem News-Widget in der Seitenanpassung zu (siehe TODO News-Widgets).
- CM/Track: Referenzieren Sie das Skript in der Portalkonfiguration (siehe TODO Widgets auf Startseite).
- Passen Sie die Standardwerte zum Anzeigen von News in der News-Konfiguration an (optional).
Programmierbeispiele
Pseudocode zum Abrufen von News
Das folgende Pseudocode-Beispiel zeigt, wie eine Liste von NewsItems
aus einem RSS-Channel erstellt wird.
def newsList = []
def url = "myurl"
Locale.setDefault(Locale.US)
try{
def rss = new XmlSlurper().parseText(url)
rss.channel.item.each {
def date = new Date().parse("EEE, dd MMM yy HH:mm:ss", "${it.pubDate}".substring(0, 23))
newsList.add(new NewsItem("${it.title}" as String, null, "${it.description}", date, null, null))
}
}catch(Exception e){
newsList.add(new NewsItem("No response from server" as String, ""))
}
return newsList
Abrufen von News aus Vorgangskommentaren
Das folgende Beispiel zeigt ein Skript des Typs News, mit dem News aus Vorgangskommentaren abgerufen werden:
Set queues = ["Frequently_Asked_Questions"]
Set scopes = ["defaultScope/faq/published", "defaultScope/faq/new"]
Set textClasses =["Solution"]
enumValue = enumService.getValueByName("countryEnumGroup", "germany")
Set<AbstractField> newsFields = Collections.singleton(new EnumField(new FieldKey("helpdesk_standard", "country"), enumValue))
return newsService.getNewsFromTicketEntries(queues, scopes, textClasses, newsFields)
The script retrieves the entries as objects of the class TicketEntryNewsItem
. It is possible to extract data from the retrieved entries and modify them as desired.