Domino 9 und frühere Versionen > ND6: Entwicklung

!!HELP!! Version 1.0.9 released

<< < (3/6) > >>

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