Action Framework - Suche-Aktionen

Einführung in Suche-Aktionen

Es ist möglich, Aktionen für Suchergebnisse zu definieren. Diese Aktionen werden so ähnlich dargestellt wie Workflow-Aktivitäten. Sie beziehen sich auf die Ergebnislisten mit:

Suche-Aktionen werden für den gesamten Satz an Suchergebnissen ausgeführt. Sie können Suche-Aktionen konfigurieren, um den ConSol CM-Bearbeitern verschiedene Massenaktionen anzubieten, z. B. Zuweisen aller Tickets in der Ergebnisliste zum aktuellen Bearbeiter (siehe folgende Abbildung), Senden einer bestimmten E-Mail an alle Kunden in der Ergebnisliste, oder Erstellen eines Wartungstickets für alle PCs (Ressourcen) in der Ergebnisliste.

Abbildung 314: ConSol CM Web Client - Suche-Aktionen für Tickets

Eine Suche-Aktion (Suchergebnis-Aktion) wird im Web Client nur angezeigt, wenn

Jede Suche-Aktion wird auf Grundlage von Admin-Tool-Skripten der folgenden Skripttypen implementiert.

Beachten Sie, dass Suche-Aktionen für folgende Mengen durchgeführt werden können:

a) nur für den momentan angezeigten Teil der Ergebnisliste, z. B. für 20 von 100 Ergebnissen

ODER

b) für die gesamte Ergebnisliste, z. B. alle 100 Ergebnisse

Das Verhalten der Suche-Aktion hängt von Folgendem ab:

Konfigurieren von Suche-Aktionen mit dem Admin Tool

Suche-Aktionen werden im Admin Tool definiert. Je nach Typ der Suche-Aktion müssen Sie zur Implementierung zwei oder drei Schritte ausführen.

Für die Implementierung einer Suche-Aktion für Tickets durchzuführende Schritte

  1. Definieren und schreiben Sie das Admin-Tool-Skript
  2. Abbildung 315: ConSol CM Admin Tool - Skript für Ticket Suche-Aktion

    Beispielskript

    // Assign all tickets in the result list to the current engineer

    import com.consol.cmas.core.server.service.action.PostActionType

    import com.consol.cmas.common.model.ticket.Ticket

     

    def engineer = engineerService.getCurrent();

    tickets.each { ticket ->

    ticket.setEngineer(engineer);

    };

    return actionScriptResultFactory.getPostAction("success", "cmweb.search.assigned").withRefreshContent();

    Code-Beispiel 44: Suche-Aktionsskript für Tickets

    Eine detaillierte Erklärung über das Schreiben von Skripten für das ConSol CM Action Framework finden Sie in Skripte für das Action Framework.

  3. Definieren Sie die Suche-Aktion im Navigationselement Suche-Aktionen der Navigationsgruppe Tickets. Dabei wird das Ausführungsskript für die Suche-Aktion zugewiesen. Optional wird auch ein Bedingungsskript zugewiesen.

    Abbildung 316: ConSol CM Admin Tool - Definieren einer neuen Suche-Aktion für Tickets

Für die Implementierung einer Suche-Aktion für Ressourcen durchzuführende Schritte

  1. Definieren und schreiben Sie das Admin-Tool-Skript
  2. Beispielskript, mit dem das nächste Wartungsdatum aller gefundenen HP-Drucker auf ein Datum in zwei Wochen gesetzt wird:

    // Schedule maintenance date for all selected HP printers to a date in two weeks from today

     

    import groovy.time.TimeCategory

    import com.consol.cmas.core.server.service.action.PostActionType

     

    println 'RUNNING Search action resources script!'

     

    def now = new Date()

     

    use(TimeCategory) {

    nextMaintenanceDate = now + 2.weeks

    }

     

    resources.each { res ->

    res.setFieldValue("HP_Printer_Fields_basic", "NextMaintenanceDate", nextMaintenanceDate)

    }

     

    return actionScriptResultFactory.getPostAction(PostActionType.SUCCESS, "cmweb.search.assigned").withRefreshContent();

    Code-Beispiel 45: Suche-Aktionsskript für Ressourcen

    Eine detaillierte Erklärung über das Schreiben von Skripten für das ConSol CM Action Framework finden Sie in Skripte für das Action Framework.

  3. Definieren Sie die Suche-Aktion im Navigationselement Aktionen der Navigationsgruppe Ressourcen. Dabei wird das Ausführungsskript für die Suche-Aktion zugewiesen. Optional wird auch ein Bedingungsskript zugewiesen.
  4. Abbildung 317: ConSol CM Admin Tool - Definieren einer Suche-Aktion für Ressourcen

  5. Weisen Sie die Aktion einem oder mehreren Ressourcentypen zu (Navigationsgruppe Ressourcen, Navigationselement Datenmodelle, Tab Suche-Aktionen jedes einzelnen Ressourcentyps).

    Abbildung 318: ConSol CM Admin Tool - Zuweisen einer Suche-Aktion zu einem Ressourcentyp

  6. Überprüfen Sie im Web Client, dass die Aktion funktioniert.

    Abbildung 319: ConSol CM Web Client - Suche-Aktion für Ressourcen, 1

    Abbildung 320: ConSol CM Web Client - Suche-Aktion für Ressourcen, 2

Für die Implementierung einer Suche-Aktion für Datenobjekte (= Units = Kunden) durchzuführende Schritte

  1. Definieren und schreiben Sie das Admin-Tool-Skript
  2. Beispiel für ein Aktionsskript, mit dem für jeden Kontakt in der Ergebnisliste ein Ticket erstellt wird:

    // For all contacts in the result set, a new ticket in the queue Service Desk will be created

    import com.consol.cmas.core.server.service.action.PostActionType

    import com.consol.cmas.common.model.ticket.Ticket

    import com.consol.cmas.common.model.customfield.Unit

    import com.consol.cmas.common.model.resource.*

    import com.consol.cmas.common.service.resource.*

    import com.consol.cmas.common.model.ticket.Queue

    import com.consol.cmas.common.model.resource.meta.*

    import com.consol.cmas.core.server.service.action.*

    import groovy.time.TimeCategory

     

    println 'Search Result Action Script CreateAnSDTicketForAllSelectedContacts STARTED ... '

    // deadline is a required field in Service Desk tickets!

    def now = new Date()

    def deadline

    use(TimeCategory) {

    deadline = now + 2.weeks

    }

     

    Queue qu = queueService.getByName("ServiceDesk")

    units.each{ cont ->

    def cont_name = cont.customer_name

    println 'Customer name is now : ' + cont_name

    Ticket newtic = new Ticket()

    newtic.setQueue(qu)

    newtic.set("serviceDesk_fields.desiredDeadline", deadline)

    newtic.setSubject("New Ticket due to Search Result for customer" + cont_name)

    newtic.set("helpdesk_standard.priority","low")

    ticketService.createWithUnit(newtic,cont)

    println 'New Ticket created for customer ' + cont_name

    }

    return actionScriptResultFactory.getPostAction("success", "cmweb.search.assigned").withRefreshContent();

    Code-Beispiel 46: Suche-Aktionsskript für Units

    Stellen Sie sicher, dass ...

    Beispiel für ein Bedingungsskript, mit dem die Suche-Aktion nur angezeigt wird, wenn die Liste mehr als fünf Einträge enthält.

    if (units.size() >= 5){

    return true

    } else {

    return false

    }

    Code-Beispiel 47: Suche-Bedingungsskript für Units

    Eine detaillierte Erklärung über das Schreiben von Skripten für das ConSol CM Action Framework finden Sie in Skripte für das Action Framework.

  3. Definieren Sie die Suche-Aktion im Navigationselement Aktionen der Navigationsgruppe Kunden. Dabei wird das Ausführungsskript für die Suche-Aktion zugewiesen. Optional wird auch ein Bedingungsskript zugewiesen.

    Abbildung 321: ConSol CM Admin Tool - Definieren einer Suche-Aktion für Units

  4. Fügen Sie das Bedingungsskript hinzu.
  5. Abbildung 322: ConSol CM Admin Tool - Definieren einer Suche-Bedingung

  6. Weisen Sie die Aktion einer oder mehreren Kundengruppen zu (Navigationsgruppe Kunden, Navigationselement Kundengruppen, Tab Suche-Aktionen jeder einzelnen Kundengruppe). Weisen Sie die Aktionen den Kontakten (Kontakt-Suche-Aktionen) und/oder Firmen (Firmen-Suche-Aktionen) dieser Kundengruppe zu.
    Beachten Sie, dass in der Tabelle sowohl die Aktions- als auch die Bedingungsskripte angeboten werden.

    Abbildung 323: ConSol CM Admin Tool - Zuweisen einer Suche-Aktion zu einem Kontaktobjekt innerhalb einer Kundengruppe

  7. Überprüfen Sie im Web Client, dass die Aktion funktioniert.

    Abbildung 324: ConSol CM Web Client - Suche-Aktion für Units (hier: Kontakte), 1

    Abbildung 325: ConSol CM Web Client - Suche-Aktion für Units (hier: Kontakte), 2

    Abbildung 326: ConSol CM Web Client - Suche-Aktion für Units (hier: Kontakte), 3

Tipps und Tricks für Admin-Tool-Skripte mit Suche-Aktionen

Implizit verfügbare Objekte in Admin-Tool-Skripten für Suche-Aktionen

Einige Objekte sind implizit in Admin-Tool-Skripten verfügbar, d. h. Sie müssen weder bestimmte Groovy-Klassen importieren, noch das Objekt der Klasse instanziieren.

Implizit (ohne expliziten Import oder Instanziierung) verfügbare Objekte in Admin-Tool-Skripten:

Alle Suche-Aktionsskripte

Skripttypen Ticket Suche-Aktion und Ticket Suche-Bedingung

Skripttypen Ressourcen Suche-Aktion und Ressourcen Suche-Bedingung

Skripttypen Datenobjekt Suche-Aktion und Datenobjekt Suche-Bedingung

Der Ergebnissatz in Admin-Tool-Skripten für Suche-Aktionen

Die Suche-Aktion kann für unterschiedliche Interpretationen des Ergebnissatzes ausgeführt werden. Das Verhalten der Suche-Aktion hängt von der Implementierung des Admin-Tool-Skripts ab.

Die Suche-Aktion kann durchgeführt werden:

a) nur für den momentan im Web Client angezeigten Teil der Ergebnisliste, z. B. für 20 von 100 Ergebnissen. Dies hängt also von der vom Bearbeiter ausgewählten Anzahl der Treffer pro Seite und, sofern die Zeilenauswahl aktiviert ist, von den vom Bearbeiter ausgewählten Zeilen ab (siehe Abschnitt Seitenanpassung, enableRowSelection).

Im Admin-Tool-Skript wird dies durch die Liste der implizit verfügbaren Objekte dargestellt, d. h. Ressourcen, Tickets oder Units

ODER

b) für die gesamte Ergebnisliste, z. B. alle 100 Ergebnisse Dies kann durch die Verwendung des Objekts criteria erreicht werden.

Der Rückgabecode in Admin-Tool-Skripten für Suche-Aktionen

Verwenden Sie die allgemeine Feedback-Komponente, um die neuen PostActionTypes zu verarbeiten: SUCCESS und FAILURE.

Beispiel für positives Feedback:

return actionScriptResultFactory.getPostAction(PostActionType.SUCCESS, "cmweb.search.assigned").withRefreshContent();

Code-Beispiel 48: Positives Feedback

Eine detaillierte Erklärung über das Schreiben von Skripten für das ConSol CM Action Framework finden Sie in Skripte für das Action Framework.

Abbildung 327: ConSol CM Web Client - Erfolgsmeldung nach Suche-Aktion

Beispiel für negatives Feedback:

Eine detaillierte Erklärung über das Schreiben von Skripten für das ConSol CM Action Framework finden Sie in Skripte für das Action Framework.

return actionScriptResultFactory.getPostAction(PostActionType.FAILURE, "cmweb.search.assigned").withRefreshContent();

Code-Beispiel 49: Negatives Feedback

Abbildung 328: ConSol CM Web Client - Fehlermeldung nach Suche-Aktion