Workflow-Komponenten: Aktivitäten

In diesem Kapitel werden folgende Themen behandelt:

Einführung in Aktivitäten

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 37: ConSol CM Process Designer - Manuelle Aktivität im Workflow

Abbildung 38: 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 39: ConSol CM Process Designer - Automatische Aktivitäten

Eigenschaften einer Aktivität

Um die Eigenschaften einer Aktivität anzuzeigen und zu editieren, markieren Sie die Aktivität im Process Designer.

Abbildung 40: ConSol CM Process Designer - Aktivität

Der Eigenschaften-Editor wird für diese Aktivität geöffnet.

Abbildung 41: ConSol CM Process Designer - Eigenschaften einer Aktivität

Eine Aktivität kann folgende Eigenschaften haben:

Prozesslogik von Aktivitäten

Folgende Prozesslogik gilt für Aktivitäten:

  1. Wenn ein Ticket eine Aktivität durchlaufen hat, wartet es nach dieser Aktivität (nicht vor der nächsten Aktivität!).
  2. Wenn ein Ticket eine Aktivität durchlaufen hat, überprüft es, ob eine der möglichen Folgeaktivitäten eine automatische Aktivität ist. Wenn ja, durchläuft es auch diese automatische Aktivität. Deshalb kann es nur eine automatische Aktivität in einem Prozessschritt geben.
  3. Das Ticket läuft automatisch durch (automatische) Aktivitäten, solange es neue automatische Aktivitäten gibt. Es hält an, sobald es eine oder mehrere manuelle Aktivitäten gibt, für die eine Aktion des Bearbeiters erforderlich ist.
  4. Wenn eine oder mehrere der folgenden manuellen Aktivitäten ein Bedingungsskript haben, wird dieses Skript ausgeführt, um zu entscheiden, ob die Aktivität im Web Client angezeigt wird oder nicht.
  5. Wenn der Bearbeiter die Aktivität im Web Client auswählt, wird das Skript der Aktivität ausgeführt.
  6. Wenn es ein postActivityScript gibt, wird das Skript sofort nach der Ausführung des Aktivitätsskripts ausgeführt.
  7. Das Ticket wartet nach der manuellen Aktivität. Wenn sich die folgende Aktivität in einem neuen Bereich befindet, tritt das Ticket nicht in den neuen Bereich ein. Es wartet immer nach der alten Aktivität und nicht vor der neuen Aktivität!

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!

Beispiele für Aktivitäten

Beispiel 1: Bedingung für die Anzeige der Aktivität "Teamleitung informieren"

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 42: 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 43: ConSol CM Admin Tool - Datenobjektgruppenfeld "vip" (CM-Version 6.9)

Abbildung 44: ConSol CM Web Client - Bedingung: Rückgabewert TRUE

Abbildung 45: ConSol CM Web Client - Bedingung: Rückgabewert FALSE

Beispiel 2: Senden einer E-Mail an den Hauptkontakt, wenn das Ticket erstellt wurde

Wenn ein Ticket erstellt wurde, soll eine E-Mail an den Hauptkontakt des Tickets gesendet werden.

Abbildung 46: 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

Beispiel 3: Zuweisen des Tickets an den aktuellen Bearbeiter

Das Ticket soll dem Bearbeiter zugewiesen werden, der die Aktivität Neues IT-Ticket durchführt.

Abbildung 47: ConSol CM Process Designer - Workflow-Aktivität, bei der der Bearbeiter zugewiesen werden soll

Abbildung 48: 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 einer der folgenden Methoden abrufen.

Mit workflowApi:

// Java notation

def curr_eng = workflowApi.getCurrentEngineer()

// Groovy notation

def curr_eng = workflowApi.currentEngineer

Mit engineerService:

// Java notation:

def curr_eng = engineerService.getCurrent()

//Groovy notation

def curr_eng = engineerService.current

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