In diesem Kapitel werden folgende Themen behandelt:
Eine Aktivität stellt eine Aktion im Workflow dar. Eine Aktivität befindet sich in einem Bereich und hat einen der folgenden Typen:
Eine manuelle Aktivität muss durch eine manuelle Aktion des Bearbeiters im Web Client erfolgen. Die Aktivität wird im Web Client als Workflow-Aktivität angezeigt (sofern mindestens eine der Rollen des Bearbeiters die Berechtigung Ausführen hat (siehe ConSol CM Administratorhandbuch, Abschnitt Rollenverwaltung). Im Process Designer ist die Aktivität mit dem Icon Hand gekennzeichnet.
Abbildung 36: ConSol CM Process Designer - Manuelle Aktivität im Workflow
Abbildung 37: ConSol CM Web Client - Manuelle Aktivität
Eine automatische Aktivität wird automatisch vom System durchgeführt und nicht im Web Client angezeigt. Im Process Designer ist eine automatische Aktivität nicht mit einem speziellen Icon gekennzeichnet.
Abbildung 38: ConSol CM Process Designer - Automatische Aktivitäten
Um die Eigenschaften einer Aktivität anzuzeigen und zu editieren, markieren Sie die Aktivität im Process Designer.
Abbildung 39: ConSol CM Process Designer - Aktivität
Der Eigenschaften-Editor wird für diese Aktivität geöffnet.
Abbildung 40: ConSol CM Process Designer - Eigenschaften einer Aktivität
Eine Aktivität kann folgende Eigenschaften haben:
CM-Version 6.9 und höher:
Wenn Sie mit Datenobjektgruppenfeldern arbeiten, d. h. mit Datenfeldern, die Kundendaten enthalten, sollten Sie daran denken, dass möglicherweise die Datenmodelle von unterschiedlichen Kundengruppen berücksichtigt werden müssen, wenn ein Workflow für Queues verwendet wird, denen mehr als eine Kundengruppe zugewiesen ist!
Folgende Prozesslogik gilt für Aktivitäten:
Sofern die Aktivität ein ACF hat, muss auch die Geschäftslogik von ACFs berücksichtigt werden.
Ein Ticket wartet immer nach der letzten Aktivität, die ausgeführt wurde, und nicht vor der nächsten Aktivität!
Falls ein Ticket von einem VIP-Kontakt geöffnet wurde, d. h. von einem Kontakt, bei dem das Boolean-Feld vip auf true gesetzt ist, soll die Teamleitung informiert werden. Wenn er kein VIP ist, soll die Aktivität nicht angeboten werden. Dafür wird das Datenobjektgruppenfeld vip, das zum Kundendatenmodell gehört, geprüft.
Abbildung 41: ConSol CM Process Designer - Workflow-Aktivitäten (eine mit Bedingungsskript)
// Get the main contact of the ticket. The unit object (can be a customer or a company) is provided;
// here it has to be a customer, i.e. a contact:
Unit contact = ticket.mainContact
// Check the Custom Field "vip" of the main contact. (see next image)
// If it is set to true, return true, i.e. the condition is TRUE.
// Else return false, i.e. the condition is FALSE:
if (contact.get("vip")) {
return true
} else {
return false
}
Code-Beispiel 2: Bedingungsskript: Aktivität soll nur für VIP-Kunden angezeigt werden
Abbildung 42: ConSol CM Admin Tool - Datenobjektgruppenfeld "vip" (CM-Version 6.9)
Abbildung 43: ConSol CM Web Client - Bedingung: Rückgabewert TRUE
Abbildung 44: ConSol CM Web Client - Bedingung: Rückgabewert FALSE
Wenn ein Ticket erstellt wurde, soll eine E-Mail an den Hauptkontakt des Tickets gesendet werden.
Abbildung 45: ConSol CM Process Designer - Automatische Aktivität, bei der eine Empfangsbestätigung gesendet wird
// Get the main contact of the ticket:
def mycontact = ticket.mainContact
// Get the value of the Custom Field "email" of the main contact:
def mycontact_e = mycontact.get("email")
// Use as text the e-mail template with name "receipt_notice_ServiceDesk".
// Can be located in the Template Designer or in the Admin-Toool.
// Usually e-mail templates are stored in the Template Designer:
def text = workflowApi.renderTemplate("receipt_notice_ServiceDesk")
// Get the reply-to address for the e-mail.
// This is stored in the system property "cmweb-server-adapter","mail.reply.to":
def replyto = configurationService.getValue("cmweb-server-adapter","mail.reply.to")
// Build the string for the ticket subject.
// Keep in mind that the regular expression which defines the ticket identifier has to be in this subject.
// Otherwise, an e-mail cannot be assigned to the correct ticket.
def subj = "Your request has been received: ticket (" + ticket.getId() + ")"
//Send out the e-mail
workflowApi.sendEmail(contact_e,subj,text,replyto,null)
Code-Beispiel 3: Skript für automatische Aktivität, bei der eine Empfangsbestätigung gesendet wird, Variante 1
// all lines of code identical to variant 1 except for the last line:
new Mail().setSubject( subj ).setTo( contact_e ).setReplyTo( replyto ).setText( text ).setTicketAttachments( null ).send()
Code-Beispiel 4: Skript für automatische Aktivität, bei der eine Empfangsbestätigung gesendet wird, Variante 2
Das Ticket soll dem Bearbeiter zugewiesen werden, der die Aktivität Neues IT-Ticket durchführt.
Abbildung 46: ConSol CM Process Designer - Workflow-Aktivität, bei der der Bearbeiter zugewiesen werden soll
Abbildung 47: ConSol CM Web Client - Ticket hat die Aktivität, bei der der Bearbeiter zugewiesen wird, durchlaufen
// Get the engineer who is executing the activity:
def curr_eng = workflowApi.getCurrentEngineer()
// Assign the ticket to the current engineer
ticket.setEngineer(curr_eng)
Code-Beispiel 5: Skript zum Zuweisen des Tickets an den aktuellen Bearbeiter
Stellen Sie sicher, dass Sie immer das richtige Bearbeiterobjekt verwenden!
Der aktuelle Bearbeiter ist der Bearbeiter, der angemeldet ist und die aktuelle Aktivität durchführt. Sie können das Objekt mit der folgenden Methode abrufen:
// Java notation
def curr_eng = workflowApi.getCurrentEngineer()
// Groovy notation
def curr_eng = workflowApi.currentEngineer
Der Ticketbearbeiter ist die Person, der das Ticket (zu diesem Zeitpunkt) zugewiesen ist und die für das Ticket verantwortlich ist. Sie können das Objekt mit der folgenden Methode abrufen:
//Java notation
def tic_eng = ticket.getEngineer()
//Groovy notation
def tic_eng = ticket.engineer