Autor Thema: Escalation in 1.0.10  (Gelesen 6211 mal)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Escalation in 1.0.10
« am: 20.10.05 - 18:24:32 »
Also gut. nachdem mich heute schon der Dritte angesprochen hat, wo denn der Fehler im Eskalationsmanagement liegt, hier die Auflösung.

Man hat 2 Möglichkeiten, Eskaltionsprofile zu erstellen:

"Klick-And-Escalate" und die "User-Defined-Escalation"

Über die erste Möglichkeit brauchen wir uns nicht weiter zu unterhalten. Interessant wird es bei der zweiten Variante.

Die Eskalationsprofile können Platzhalter in der Form <<supporter>> enthalten. Das bedeutet, daß die über die Formel gefundenen Tickets jeweils an den zuständigen Supporter geschickt werden, um ihn über die Überschreitung einer Frist zu informieren.

Die Tickets können dann über das "Stamp Documents" Feld entsprechen markiert werden. Eskalationsdatum setzen etc.

Funktioniert auch , aBär :

werden bei "Send Message To" statt der Platzhalter richtige Namen eingetragen, funktioniert das Stamp nicht richtig; die Docs werden einfach nur mit einem Kennzeichen versehen, DASS sie schon einmal eskaliert sind.

Wer seine Installation dahingehend vor dem neuen Release upgraden möchte, sollte folgendermaßen vorgehen.

- Datenbank sichern
- in die lib.appl.functions folgende Funktion einfügen

Function CommonNameString (strName As String) As String
   On Error Goto ERRHANDLE
   Set nn = New NotesName( strName )
   strPersonName = nn.Common
   
   CommonNameString = strPersonName
   
EXITPOINT:
   Exit Function
ERRHANDLE:
   xProc = Getthreadinfo(LSI_THREAD_PROC)
   xError = xProc  & ": " &Trim$(Str$(Err)) & " on line " & Cstr(Erl) & ": " & Error$
   If UseOpenLog Then
      Call LogError
   Elseif LogScriptErrors Then
      Call ThrowException ( xProc, xError  )
   End If
   Print xError   'In all cases
   If ResumeMethodNext Then
      Resume Next   
   Else
      Resume EXITPOINT
   End If      
End Function

- die "lib.notification.escalation" mit dem Code der angehängten Datei ersetzen.

In den Eskalationsmails wird der Platzhalter ~NAMES für die Auflösung der Namen verwendet.
Im weiteren Text können wie gewoht die <<...>> Platzhalter verwendet werden.

Bsp.

Sehr geehrte(r) ~NAMES,

Folgendes Ticket von <<user>>  ( <<From>> ) wurde nicht binnen einer Stunde von einem Helpdeskmitarbeiter angenommen.
Bitte sorgen sie dafür, daß die Tickets umgehend bearbeitet werden.


Ich hoffe, das war einigermaßen verständlich  :D
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline baces

  • Aktives Mitglied
  • ***
  • Beiträge: 148
  • Geschlecht: Männlich
Re: Escalation in 1.0.10
« Antwort #1 am: 26.10.05 - 15:37:24 »
Die Eskalationen machen wirklich Spaß  ;D

Als Vorschlag möchte ich noch unterbreiten: Ein Ticket mit vorhandenen ToDo´s kann auch ab dem spätesten ToDoUntil-Termin eskaliert werden.

Wenn kein ToDo vorhanden ist, dann eben auf die Bearbeitungszeit.

BaCeS

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Escalation in 1.0.10
« Antwort #2 am: 26.10.05 - 15:59:42 »
Die Eskalationen machen wirklich Spaß ;D

Als Vorschlag möchte ich noch unterbreiten: Ein Ticket mit vorhandenen ToDo´s kann auch ab dem spätesten ToDoUntil-Termin eskaliert werden.

Wenn kein ToDo vorhanden ist, dann eben auf die Bearbeitungszeit.


Ich weis nicht ob wir das so realisieren können ohne das EskalationsManagement Teil sehr speziell zugeschnitten auf !!Help!! gestalten zu müssen. Letzten Endes müsste man nicht auf ein Dokument selber prüfen sondern auf ein beliebiges anderes Dokument das diesen Dokument zugeordnet ist und von dem es mehr als ein Stück geben kann (also auch noch vergleichen welchen der x Werte er zum triggern denn nun braucht).

Soweit ich weis ist es selbst in großen Workflow Lösungen so, das sie nur auf Inhalte des Dokumentes in dem sie sich gerade befinden triggern können und nicht auf den Inhalt anderer Dokumente. Von daher wäre der Ansatz durchaus als Interessant zu bezeichnen.

Aber das muss Ulrich wissen ob er das gebrauchen kann.

Es wird in der nächsten Version ein Ticket lösen bis zum / um geben. Das kann man dann für so etwas nutzen, ohne große Verrenkungen machen zu müssen.
« Letzte Änderung: 26.10.05 - 16:03:06 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline baces

  • Aktives Mitglied
  • ***
  • Beiträge: 148
  • Geschlecht: Männlich
Re: Escalation in 1.0.10
« Antwort #3 am: 10.11.05 - 09:34:21 »
Hiho,

nochmal kurz zu Eskalationen. Wir haben Eskalationsprofile für "offene" und für "in Bearbeitung" Aufgaben.

Szenario: Eine offene Aufgabe ist eskaliert. Sie bekommt somit "Escalated 1" und wird im View "Eskalierte Items" angezeigt. Wenn ich diese Aufgabe nun annehme, wird die Aufgabe aktiv und dann sollte er doch Escalated wieder auf 0 setzen....das hätte ich zumindest gedacht ???

Aber das ist bei uns nicht der Fall. Wenn man eine offene, eskalierte Aufgabe annimmt, dann bleibt sie eskaliert. Das gefällt mir nicht so gut. Ich hätte es lieber, dass er bei "Ticket annehmen" und "Ticket abschließen" jeweils Escalated wieder auf 0 setzt.

Die Option ReassignEscalationHandling steht auf RESET  :-:

Habe wie immer ein Brett vorm Kopf  ;D

danke & grüße
BaCeS

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Escalation in 1.0.10
« Antwort #4 am: 10.11.05 - 10:01:42 »
Nein du hast kein Brett vor dem Kopf das gibt es an dieser Stelle tatsächlich nicht. Das kann man aber ganz einfach selber beheben indem man
das hier:
If Ucase(GetConfigDocByKey("ReassignResetStatus"))="YES" Then
      uidoc.document.Status = "0" ' the document is set to Status new again
   End If
   ' Check if there is an escalation pending. if so there are three possible reactions. do not touch, touch and set escalation date to resubmission date, touch and set back to no escalation
   If uidoc.document.escalated(0) <> "0" Then
      EscalationConfig = GetConfigDocByKey("ReassignEscalationHandling")
      If Escalationconfig = "RESET" Then
            ' set all escalated values back to zero or in the starting position
         uidoc.Document.escalated ="0"            
         uidoc.Document.escalationDate = ""
         uidoc.Document.removeitem("escalationFormula")
         uidoc.Document.removeitem("escalationUsedTemplate")
         uidoc.Document.removeitem("secondEscalatedTo")
         uidoc.Document.removeitem("firstEscalatedTo")
      Elseif Escalationconfig = "START" Then
         Set newescalationdate = New notesDatetime(DateResubmit + " " + TimeResubmit)
         uidoc.Document.escalationDate = newescalationdate
      End If
   End If
vor dier Stelle hier:
'set the doc
in der Aktion re-Assign Ticket einfügt.

Ach ja und die beiden Dims hier:
Dim escalationConfig As String
Dim newescalationdate As New NotesDateTime("")

darf man auch nicht vergessen.
Wobei mit gerade einfällt das START für das Einstellungsdokument ReassignEscalationHandling im Moment ein ziemlich blöde Kiste ist. Da muss ich noch mal drüber nachdenken wie sich das regeln lässt.
« Letzte Änderung: 10.11.05 - 10:06:47 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline baces

  • Aktives Mitglied
  • ***
  • Beiträge: 148
  • Geschlecht: Männlich
Re: Escalation in 1.0.10
« Antwort #5 am: 10.11.05 - 10:07:59 »
okay das werden wir dann gleich mal probieren

An dieser Stelle nochmal einen großen Dank für eure tolle Unterstützung zu all unseren Fragen  O0
BaCeS

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Re: Escalation in 1.0.10
« Antwort #6 am: 10.11.05 - 11:12:50 »
Zitat
Ein Ticket mit vorhandenen ToDo´s kann auch ab dem spätesten ToDoUntil-Termin eskaliert werden.

Grundsätzlich ist das möglich ( it's only code ! ). Werde mir das mal genauer ansehen.

Frage mich nur, ob das Sinn macht. Prinzipiell müsstest du ja bereits die Aufgaben selber eskalieren; und dann bist du schon wieder beim Ticket.

Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline baces

  • Aktives Mitglied
  • ***
  • Beiträge: 148
  • Geschlecht: Männlich
Re: Escalation in 1.0.10
« Antwort #7 am: 29.11.05 - 14:58:05 »
Hallo eknori,

ich hätte da noch eine Frage zu den E-Profilen:

Im Standard reagiert die 1. Eskalationsstufe teilweise auf das Feld @created). In meinen Augen nicht ganz richtig, weil es ja ein Feld todountil gibt.  Darauf reagiert aber die Eskalierung nicht, weil in todountil nur das Datum drin steht.

Kann im Profil angeben "nimm das feld todountil und eskalier immer um 9:00" oder ähnliches?

Gruß, baces

BaCeS

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Re: Escalation in 1.0.10
« Antwort #8 am: 03.12.05 - 11:14:07 »
Hallo,

da fehlt in der Tat die Zeitangabe; die Frage ist, ob man das wirklich so fein gliedern will, daß man auch noch die Zeit für die Erledigung einer Aufgabe setzen will ...

OK, nun zu der Problemlösung:

Nehmen wir an, du willst alle ToDo, die ein ToDoUntil mit Datum x haben und nicht angenommen wurden am nächsten Tag um 09:00 eskalieren. Da wir ja keine Zeitangabe zum Vergleich haben, gibt es nun 2 Möglichkeiten.

Entweder fügt man dem Feld ToDoUntil in der Selektionsformel den String 09:00:00 hinzu ( das würde bedeuten, daß alle Todo immer um 09:00 erstellt wurden, oder man nimmt die Zeitkomponente aus @Created und hängt diese hinter ToDoUntil.

Im Fall 1 sieht die Formel dann so aus:

(Escalated ="0" & Status = "0") &
(@UpperCase(Form) = "BUGTODO") &
@TextToTime(@Text(todountil) + " 09:00:00") <=
@TextToTime(@Text(@Date(@Adjust(@Now;0;0;-1;-0;0;0))) + " 09:00:00")

Wichtig dabei ist, daß ToDoUntil ein DatumsFeld ist ( da hattest du in deiner Formel schon einen falschen Ansatz )

und für die + @Time(@Created) Variante sieht die Formel dann so aus

(Escalated ="0" & Status = "0") &
(@UpperCase(Form) = "BUGTODO") &
@TextToTime(@Text(todountil) +" " + @Text(@Time(@Created))) <=
@TextToTime(@Text(@Date(@Adjust(@Now;0;0;-1;-0;0;0))) + " 09:00:00")

Hoffe, das hilft dir einigermassen weiter ..

Zitat
Die Eskalationen machen wirklich Spaß

Ja, da merke ich auch mehr und mehr. Habe das Modul ohne Änderung in mehreren Datenbanken im Unternehmen laufen und kann bisher alle Anforderungen lösen, ohne Codeänderung nur durch Einsatz geschickter Selectionsformeln.
« Letzte Änderung: 03.12.05 - 15:38:25 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline baces

  • Aktives Mitglied
  • ***
  • Beiträge: 148
  • Geschlecht: Männlich
Re: Escalation in 1.0.10
« Antwort #9 am: 05.12.05 - 09:13:57 »
(Escalated ="0" & Status = "0") &
(@UpperCase(Form) = "BUGTODO") &
@TextToTime(@Text(todountil) +" " + @Text(@Time(@Created))) <=
@TextToTime(@Text(@Date(@Adjust(@Now;0;0;-1;-0;0;0))) + " 09:00:00")

Hoffe, das hilft dir einigermassen weiter ..

Hi eknori,
vielen Dank für die Formeln. Habe diese hier gleich mal eingebaut.

Grüße,
BaCeS

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz