Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Inhalt

1. Einleitung

Das Outlook-Addin kümmert sich um den kompletten Ablauf - von der UI in Outlook über das selektieren der jeweiligen Mails und die Übergabe nach Domino.
Die Mails werden dabei durch das Addin zunächst in die Outlook-Addin-Datenbank (oa.nsf) erstellt - diese repräsentiert sich für den Entwickler wie eine Mail-Datenbank in Domino.
In Domino kann sich der Entwickler somit auf seine Verarbeitung der heruntergeladenen/vorbereiteten Mails konzentrieren.
Für den Entwickler haben wir es dabei so einfach wie möglich gemacht: alles für die Verarbeitung ist per LotusScript und dort über LotusScript-Klassen realisiert!

...

  • per einfacher LotusScript-gesteuerter UI

  • per teamworkR teamWorkr von unserem Entwicklungspartner Team Technology

2. Nutzung per

...

teamWorkr

2.1. Backend

Um im Backend entwickeln zu können, wird zunächst eine Basisklasse bereitgestellt: die COA_CAgent_STW (LotusScript-Bibliothek).
Wir befinden uns hier also im Kontext eines (LotusScript-)Agenten.
Für jede Mail, welche verarbeitet werden soll, wird die Methode “UploadOneDocument” aufgerufen (siehe nachfolgenden Beispielcode).

2.2. Beispiel LotusScript-Bibliothek

Für jede Mail, welche verarbeitet werden soll, wird die Methode “UploadOneDocument” aufgerufen (siehe nachfolgenden Beispielcode).
Das Dokument “odocControl” ist dabei das “Austauschdokument” welches zwischen der UI und dem Backend abgeglichen wird.
Die Kommunikations-Klasse (siehe Abschnitt 3) wird über die Objekt-Variable oExchange zu Verfügung gestellt.

Option Public
Option Declare
Use "COA_CAgent_STW"

...

Codeblock
End Sub	

End Class

3. CTOOL_CExchange - Klasse

3.1. Einleitung

Mit dieser Klasse wird die Arbeit mit dem Prozess des Herunterladens und der Übergabe in die Zieldatenbank ermöglicht - und natürlich auch die Interaktion mit dem UI gesteuert.
Für jede Aktion gibt es eine Methode, welche nachfolgend beschrieben wird.
Die Klasse wird über die Objekt-Variable oExchange zu Verfügung gestellt.

3.2. Eigenschaften (Properties)

  • odocControl (NotesDocument) = das “Austauschdokument” welches zwischen der UI und dem Backend abgeglichen wird.

  • nUploaded = die Gesamtanzahl der in die Zieldatenbank hochgeladenen/übertragenen Dokumente

  • nNotUploaded = die Gesamtanzahl der in die Zieldatenbank (noch) nicht hochgeladenen/übertragenen Dokumente

  • nProcessed = die Gesamtanzahl der als abgearbeitet markierten Dokumente

  • nNotProcessed = die Gesamtanzahl der als (noch) nicht abgearbeitet markierten Dokumente

  • lAllUploaded
    true = alle Dokumente wurden in die Zieldatenbank hochgeladen/übertragen
    false = (noch) nicht alle Dokumente wurden in die Zieldatenbank hochgeladen/übertragen

  • lAllProcessed
    true = alle Dokumente wurde als abgearbeitet markiert
    false = (noch) nicht alle Dokumente wurde als abgearbeitet markiert

3.3. Methoden

3.3.1. Entries_

...

SetNthEntryStatus( nEntry, odocUploaded As NotesDocument, lNoWEBURL, lNoNotesURL,

...

cStatus,

...

cStatusInfo )

Mit dieser Methode wird der Klasse mitgeteilt, welcher Eintrag in die Zieldatenbank hochgeladenübertragen/übertragen verarbeitet wurde.

  • nEntry = Nummer des Eintrages

  • odocUploaded = das Dokument welches in die Zieldatenbank übertragen wurde

  • lNoWEBURL
    true = es soll keine Browser-URL für das Anzeigen des hochgeladenen Dokumentes an die UI übergeben werden
    false =es soll eine Browser-URL für das Anzeigen des hochgeladenen Dokumentes an die UI übergeben werden

  • lNoNotesURL
    true = es soll keine Notes-Client-URL für das Anzeigen des hochgeladenen Dokumentes an die UI übergeben werden
    false =es soll eine Notes-Client-URL für das Anzeigen des hochgeladenen Dokumentes an die UI übergeben werden

  • lWarning2User
    true = es soll ein Hinweistext (per CSS definiert) an den Benutzer in die UI übergeben werden
    false = es soll keein Hinweistext (per CSS definiert) an den Benutzer in die UI übergeben werden

  • cInfo = zusätzlicher Text für den Status “hochgeladen”

3.3.2. Entries_GetNthEntryUploaded( nEntry, cInfo )

Mit dieser Methode kann man abfragen ob ein Eintrage hochgeladen wurde und die Info dazu zurückgeben lassen

  • nEntry = Nummer des Eintrages

  • cInfo = zusätzlicher Text für den Status “hochgeladen”

Rückgabe

  • true = Eintrag steht als hochgeladen in der Klasse

  • False = Eintrag steht als nicht hochgeladen in der Klasse

3.3.3. Entries_SetNthEntryNotUploaded( nEntry, cInfo )

Mit dieser Methode wird der Klasse mitgeteilt, welcher Eintrag nicht in die Zieldatenbank hochgeladen/übertragen werden konnte.

  • nEntry = Nummer des Eintrages

  • cInfo = zusätzlicher Text für den Status “nicht hochgeladen”

...

  • cStatus
    mit dem Status wird der Verarbeitungszustand eines einzelnen Eintrages gesetzt.
    Hierfür gibt es 4 Möglichkeiten, welche man übergeben kann:
    oExchange.cStatus_Pending = der initiale Status (Element wurde in der UI durch den Benutzer zur Liste hinzugefügt)
    oExchange.cStatus_Processed = das Dokument wurde erfolgreich verarbeitet und es werden keine weiteren Eingriffe benötigt
    oExchange.cStatus_Warning = das Dokument wurde erfolgreich verarbeitet, es werden aber vom Benutzer noch Aktionen/Eingriffe benötigt - die Info dazu wird über cStatusInfo übergeben
    oExchange.cStatus_Error = das Dokument wurde nicht verarbeitet - die Info dazu wird über cStatusInfo übergeben

  • cStatusInfo = zusätzlicher Text für den Status

3.3.2. Entries_GetNthEntryStatus( nEntry, cInfo )

Mit dieser Methode kann man abfragen ob in welche Status sich ein Eintrage (noch) nicht hochgeladen wurde und befindet - die Info dazu zurückgeben lassen

  • nEntry = Nummer des Eintrages

  • cInfo = zusätzlicher Text für den Status “nicht hochgeladen”

Rückgabe

  • true = Eintrag steht als nicht hochgeladen in der Klasse

  • False = Eintrag steht als hochgeladen in der KlasseStatus