Synchronisation von Lotus-Notes Kalendereinträgen

  • Guten Abend,
    wir haben vor einiger Zeit angefangen eine Schnittstelle zwischen dem Terminkalender in unserer Applikation und Lotus-Notes zu entwickeln.


    Jetzt sind wir an einem Punkt angelangt, an dem es um Feinheiten in der Synchronisierung geht.


    Da ich hier nicht weiter komme, möchte ich meine beiden Fragen mal hier stellen.


    1. In LN wird eine Besprechung mit Einladung anderer Nutzer erstellt. Wird dieser Termin innerhalb unserer Anwendung zeitlich verschoben oder gar gelöscht, werden die Informationen nach LN synchronisiert. So weit so gut! Mein Problem ist, dass die eingeladenen Nutzer über diese Änderung nicht automatisch durch LN informiert werden. Im Gegensatz zur Information, die der eingeladene Nutzer durch LN erhält wenn ich eine Besprechungseinladung innerhalb von LN ändere. Gibt es einen Methodenaufruf über die COM-Api der dies ermöglicht?


    2. Wenn wir einen Termin über die Schnittstelle anlegen, wird automatisch ein Eintrag in den Entwürfen erzeugt. Kann man dies über ein Property in der API verhindern?


    Ich bedanke mich schonmal in vorraus für jede Hilfe.
    Mit freundlichen Grüßen
    Frank Link

  • Zu Punkt 1:


    Einen direkten Aufruf gibt es da nicht. Da wirst du die Funktionalitäten die hinter den Kalendereinträgen steckt nachbilden müssen.
    Als Vorlage kannst du den Code in der Notes Mailschablone nehmen.


    Zu Punkt 2:


    Wenn der Eintrag unter den Entwürfen auftaucht dann hast du einen Wert des erstellten Dokumentes falsch oder nicht gesetzt.
    Bist du da nach dem Redbook von IBM zu Calendering & Scheduling vorgegangen ?

  • Danke, hatte ich bereits getan, bzw. Google war der Hilfe gebende wenn man weiß wo nach man suchen muss.


    Das Thema Entwürfe habe ich bereits im Griff. War letztendlich nur ein falsche Eintrag. Im Internet gibt es Varianten, wo für ExcludeFromView ein Eintrag 'D;S' verwendet wird. Der funktioniert leider nicht. Ich muss tatsächlich ein Varianten Array anlegen und die beiden Werte jeweils in eine Position setzten.


    Gruß
    Frank

    • Offizieller Beitrag

    ich schau mir in solchen Fällen immer die Eigenschaften eines vorhandenen Dokumentes an, dort sieht man, dass das Feld ein Mehrfachwertefeld ist.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Habe ich letzlich getan, aber die Frage der Interpretation des Doings. Naja, ist erledigt.


    Aber, meinen 1. Punkt konnte ich noch nicht abschliessend klären.
    Ich habe es mir im ersten Versuch einfach gemacht, und die Methode send des Termins aufgerufen. Als Parameter habe ich neben der Boolschen Variable noch die Liste der Recipients mit gegeben. Funktioniert auch einwandfrei.


    Leider hat es nicht den gewünschten Effekt. Der Eingeladene erhält eine Mail auch gut, aber nicht über eine Änderung sondern über einen neuen Termin. Zusätzlich wird auch ein neuer Beschrechungseintrag in LN angelegt. Das ist leider nicht der Effekt den ich wünsche.


    Meine Frage ist jetzt, wie kann ich den Workflow, der hinter einer Terminverschiebung von LN liegt bei einer Besprechungsterminänderung der in unserer Applikation erfolgt, anstoßen. Mir würde letzlich reichen, wenn ich weiß wo ich es nachlesen kann. Bzw. wenn ich ein paar Codeschnipsel bekommen würde, wäre das natürlich super.


    Danke für die bisherige Hilfe.
    Gruß
    Frank

    • Offizieller Beitrag

    es handelt sich nicht um ein RedBook sondern um die Dokumentation "Lotus Notes Calendar & Scheduling Schema"


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Hallo Dirk,
    genau das Dokument habe ich auch gefunden. Wenn ich von dessen Existens vor einem halben Jahr gewußt hätte, hätte ich mir viel Zeit für Error and Retry sparen können :(


    Danke aber für den Tip.


    Gruß
    Frank

  • Hallo,
    folgende Lösung verwende ich um den Anwender bei einer Änderung eines Besprechungstermine mit Einladung durch den Terminkalender in unserer Applikation zu informieren:



    Dieser Code sendet an die eingeladenen Personen eine EMail mit dem Inhalt "Besprechungsänderung" inkl. der neuen Daten des Termins. Leider integriert sich das Mail nicht in den Änderungsworkflow. D.h. der Anwender kann die Terminänderung nicht über das Mail annehmen oder ablehnen sondern, muss den Termin der Besprechung aktiv ändern.


    Vielleicht hat ja noch jemand eine andere Idee bzw. kennt die notwendige Kennzeichnung um auch das noch zu erreichen.


    Gruß und Danke für die Hilfe
    Frank Link

  • Hi,
    kannst Du Mailschablone etwas eingrenzen? Ich habe mir gerade im Designer den Bereich angesehen. Da bin ich Tage mit beschäftigt, den richtigen Punkt zu finden.


    Es würde mir reichen in etwa zu wissen wo wir suchen müssen.


    Aktionen, Masken oder ....


    Gruß
    Frank Link

  • Indem du mal ganz einfach bei der Maske Appointment anfängst. Dort sind dann ein paar Script Bibliotheken eingebunden und in denen ist dann der entsprechende Code drin.


    Wo genau müsste ich auch erst suchen

  • Hi,
    ich mag mich jetzt sehr blond anstellen, aber, wo finde ich diese Maske in R7 Designer.


    Ich muss dazu sagen, ich bin kein Notes-Spezialist. Alles was ich bisher in dieser Schnittstelle an Wissen gesammelt habe ist autodidaktisch aus den unterschiedlichsten Quellen gesammelt und ausprobiert.


    Wenn Du mir einen Screenshot senden könntest bzw. die DB benennen könntest wo ich das Teil finde, wäre super.


    Wobei ich Mail bereits nachgesehen habe.


    Gruß
    Frank Link

  • Mail Datenbank im Designer öffnen, Links Masken auswählen und dann ist die Maske Appointment ziemlich weit unten.
    Eventuell hat die auch nur den Alias Appointment, d.h. in der zweiten Spalte

  • Ich hab das Präfix mal auf 'offen' zurück gestellt, da das Thema scheints noch nicht gegessen ist.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Hallo,
    ich habe mir jetzt mal über den Designer alle relevanten Codeschnipsel angesehen. Aber so wirklich weitergekommen bin nicht.


    Ich finde die Stelle, an der LN den Prozess für eingeladenen Anwender initialisiert nicht. Das mag an meiner Unkenntnis des hinterliegenden Codes liegen oder auch daran, dass diese Informationen dort nicht zu finden sind.


    Kann mir jemand mit ein paar weiteren Tipps unter die Arme greifen.


    Gruß und Danke
    Frank Link

  • Müsste meines Wissens nach in den Klassen CSEvent und CSEventNotes/CSEventWeb zu finden sein.


    Allerdings wirst du da auf jeden Fall tiefergehende Notes Programmierkenntnisse brauchen, weil das ganze recht komplex aufgebaut ist