Domino 9 und frühere Versionen > ND6: Entwicklung
!!HELP!! Version 1.0.9 released
Coach:
Hi,
ich werde morgen noch mal nachschauen. Im Moment melden sich unsere 30 neuen griechischen Mitarbeiter, das gibt ne Menge Arbeit.
Nils
Thomas Schulte:
na dann kalinichta.
eknori:
Habe den Dispatcher gerade noch einmal vorwärts und rückwärts getestet; ich kann keinen Fehler finden ...
EDIT:
@Coach:
Kann es sein, daß wir aneinander vorbeischreiben ?.
Ich vermute mal, daß du die Benachrichtigungsfunktion des NewCall Agenten meinst. Diese Funktionalität wird momentan noch nicht vom Dispatcher übernommen.
Der Dispatcher erfüllt z.Zt. 2 Funktionen.
Calls, die per normaler Mail in die DB gelangen werden in Tickets umgewandelt.
Antworten auf Mails, die aus einem ticket heraus an den Fragenden geschickt werden, werden nach Beantwortung wieder dem Ticket zugeordnet. Dabei wird auch eine InfoMail an den Supporter geschickt.
Im ersteren Fall sollte es aber nicht allzu schwierig sein, den Code so anzupassen, daß zumindest eine InfoMail an den DEFAUKT Supporter geschickt wird.
Ulrich
eknori:
je tiefer ich drüber nachdenke, desto mehr glaube ich, daß du genau das meinst.
OK. dann baue ich den NewMailInformer auch noch in den Dispatcher ein.
Vom Ablauf sieht das dann so aus.
Der Dispatcher verrichtet seine geplante Arbeit und odnet Antworten auf Tickets entsprechend zu. Übrig bleiben die Tickets, die aus einer Mail in ein Ticket "transformed" wurden und die Tickets, die über die Maske "Helpdeskanfrage" eingereicht wurden.
In Phase 2 geht der Dispatcher dann hin und holt sich diese docs in eine docCollection. Für jeden Eintrag in der DocCollection sendet er eine Mail an die Personen / Gruppen, die im (neuen) Config Doc "NewCallMailSendTo" eingetragen sind. Die Texte für das Subject und den Body der Mail müssen dann aus entsprechend anzulegenden Sprachschlüsseln geholt werden.
Die Docs werden dann tagged, sodaß bei einem neuerlichen Durchlauf des Dispatchers keine doppelten Benachrichtigungen verschickt werden.
Überlege schon die ganze Zeit, ob man nicht an verschiedenen Stellen sog. "UserExits" einbauen soll.
Da könnte dann der geneigte Entwickler eigenen Code zur Erweiterung der Funktionalität einbauen, ohne in den Core Code eingreifen zu müssen.
EDIT
ich habe jetzt rrst einmal den completten Code in eine neue ScriptLib ausgelabert ( lib.agent.dispatch ) Das erspart das ewige neu starten des Agenten nach einer Änderung.
Der "Dispatch" sieht dann so aus
Sub Initialize
On Error goto EXITPOINT
Dim s As New NotesSession
Call UnprocessedTickets
EXITPOINT:
Exit Sub
ERRHANDLE:
Dim TheError As String
Dim TheProc As String
'TheProc = Getthreadinfo(LSI_THREAD_PROC)
TheError = Getthreadinfo(LSI_THREAD_PROC) & ": " &Trim$(Str$(Err)) & " on line " & Cstr(Erl) & ": " & Error$
If UseOpenLog Then
Call LogError
Elseif LogScriptErrors Then
Dim agent As NotesAgent
Set agent = s.CurrentAgent
TheProc = agent.Name
Dim L As New LogProfile ( s.CurrentDatabase, TheProc,LOG_NORMAL, s.CurrentDatabase.Server)
Call L.LogAction( TheError ,LOG_NORMAL)
End If
'In all cases
Print TheError
If ResumeMethodNext Then
Resume Next
Else
Resume EXITPOINT
End If
End Sub
Die Pflege des Codes wird dadurch auch einfacher. Der bisherige Code ist jetzt in eine Sub innerhalb der lib gewandert.
Die "main()" der lib.agent.dispatch sieht dann so aus
Sub UnprocessedTickets
Call ProcessMailTicketsAndResponses
' more subs to come
End Sub
Hier kann dann die von Coach geforderte Funktionalität als neue Sub eingebunden werden.
Grundsätzlich lässt sich dann der Dispatcher um beleibige Funktionen erweitern. ( neue Sub schreiben und in die "Sub unprocessedTickets" einbinden.
Coach:
Hi,
ja Ulli, du hast meine Frage richtig interpretiert. Tut mir leid, aber ich hatte in einer anderen Diskussion es so verstanden, dass die NewCall Agentfunktionalität schon in nden Dispatcher integriert wurde.
Dann Freue ich mich jetzt schon auf Version1.10.
Nils
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln