Autor Thema: auf bestimmtes Event (create/update/remove Termin/Aufgabe) reagieren?  (Gelesen 5068 mal)

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Hallo zusammen...

Ich bin neu hier im Forum und auch ein Neuling in der Lotus Notes-Welt.
Lotus Notes 8 soll bei uns eingeführt werden und es gilt im Vorfeld einiges an Fragen abzuklären.
Eine wichtige Frage ist diese:

Kann Notes auf ganz bestimmte Events, bspw. create/update/delete eines Termins od. Aufgabe, entsprechend reagieren und eine entsprechende Aktion ausführen?

Erklärung:
Um die Interaktion mit einem ERP-System zu realisieren, sollte folgendes irgendwie möglich sein?!
Es wird in Notes ein (neuer) Termin angelegt (oder auch verändert oder gelöscht). Das wird irgendwie von/in Notes registriert und alle Angaben zu solch einem neuen Termin sollen dann in eine externe SQL-Datenbank geschrieben werden.
Diese SQL-Datenbank wird, unabhängig von Notes, mittels eines Connectors ausgewertet und entsprechende Aktionen für das ERP-System angestoßen (das ist aber nicht relevant für die Frage ansich).

Ich könnte mir vorstellen, dass eine Art "EventListener" auf solche Aktionen, wie create/update/delete von Terminen/Aufgaben, lauscht. Beim Erkennen eines solchen Events in Notes werden dann die Daten des Events aus der Notes-DB ausgelesen und in die SQL-DB übertragen. Der Rest ist dann nicht mehr Notes-Angelegenheit...

Kann man so ein Anliegen generell überhaupt realisieren?
Ich habe etwas über Agents und Triggered Agents gelesen... wäre das damit machbar?


Vielen Dank und Gruß


PS: Für die Implementierung unsererseits wird ausschließlich JAVA benutzt werden!
Lotus Notes 8.0.2

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Ok, ich schildere mal einen ganz konkreten Fall zur Veranschaulichung:


Ein Domino-User erstellt einen neuen Termin mit sämtlichen Angaben dazu. Hierbei wird ja dann ein neues Dokument in der Domino-DB gespeichert?!

Ein JAVA-Agent (ich gehe im folgenden von einem importierten, in Eclipse implementierten Agent aus), der bei einer Terminerstellung wirksam werden soll (geht das überhaupt?) wird aktiviert. Dieser JAVA-Agent liest einige/alle Angaben zu eben diesem gerade neu erstellten Termin/Dokument aus und überträgt diese Angaben in eine externe SQL-DB.

Das alles sollte in der Funktionalität des JAVA-Agent implementiert werden können:
- auslesen eines Dokuments und dessen Feldern (-Values)
- Verbindung mit externer SQL-DB
- schreiben der Feld-Values in die externe SQL-DB
- Verbindungschecks, Prüfmechanismen etc. sollten im JAVA-Agent implementierbar sein

1. Ist solch ein konkreter Anwendungsfall realisierbar?
2. So wie ich das gelesen und verstanden habe, können JAVA-Agents nahezu alle Funktionalitäten, die Java bietet, implementieren - richtig?
3. Den JAVA-Agent kann ich mittels Eclipse entwickeln. Dieser kann auch mehrere "Helper-Klassen" enthalten, die mir meine Funktionalitäten und Logik, bspw. SQL-Arbeit, Verbindungschecks usw., implementieren. Ich brauche den JAVA-Agent lediglich in Domino zu importieren. Richtig?

Bleibt nur noch zu (er)klären, ob/wie es möglich ist, einen importierten JAVA-Agent genau dann auszuführen, wenn eben ein neuer Termin erstellt bzw. als Dokument gespeichert wurde...

Was sagt ihr zu meinem konkreten Anwendungsfall und meinen Fragen?


Vielen Dank
Lotus Notes 8.0.2

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Prinzipiell wird das funktionieren. Ich würde das Triggern aber zentral halten und nicht per Agent in jeder Maildatenbank. Für solche Zwecke bietet sich Trigger Happy ( auf openntf.org ) an. Damit kann man praktisch jedes Event im DOmino abfackeln. Geht ein bisschen weiter als die Möglichkeiten bei den Agenten.
Das Ereignis triggert dann den / die Agenten ( Java Agenten sollten auch möglich sein ). Nachteil. läuft nur auf Windows Servern.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Nachdem es sich wieder einmal um eines der beliebten Doppelpostings handelt, haben ich meinen Beitrag hierzu wieder gelöscht.
http://www.dominoforum.de/modules/newbb/viewtopic.php?topic_id=19316&forum=55

Eigentlich bin ich davon ausgegangen, dass Java-Programmierer lesen können. Werter magic_halli (ohne galli?), Du hast bei Deiner Anmeldung hier u.a. folgende Forumsregel akzeptiert:

Zitat
2.3 Crosspostings in mehreren Webforen oder Newsgroups
     Es verstößt gegen die gültige Netiquette von Newsgroups und Onlineforen, Probleme zeitnah in mehreren verschiedenen Webforen gleichzeitig zu posten.
Bitte entscheidet Euch deshalb zunächst, in welchem Forum Ihr Euer Problem posten wollt, bevor Ihr ein Thema einstellt.
Bekommt Ihr in diesem Forum keine befriedigende Antwort, so könnt Ihr die Frage einige Tage später gerne in einem weiteren Forum stellen - mit Querverweis und Link auf den ursprünglichen Beitrag.
Sollte es einmal Gründe dafür geben, ein Problem gleichzeitig in verschiedenen Foren einzustellen, so ist in jedem Forum ein Querverweis mit Link auf die jeweils anderen Forumsbeiträge zu erstellen.
Genauso sind gefundene Lösungen in den jeweiligen Foren als Querverweis mit Link einzustellen.


Ich bin damit aus dem (durchaus interessanten) Thema draußen.
« Letzte Änderung: 30.10.08 - 09:51:56 von m3 »
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Zitat
Also nix mit lokalen Repliken und offline-Editing.
Doch, sobald repliziert wird, werden die Events getriggert
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
@all
Ich entschuldige mich für das Doppelposting!!! Ich habe einfach vorschnell losgeschossen, was wohl daraus resultiert, dass ich im Zuge der Informationsfindung etwas ungeduldig war/bin. Ich konzentriere mich nun voll und ganz auf ein Forum/Posting!
Ich gelobe Besserung und hoffe auf Verständnis!!!

Danke und Gruß
Lotus Notes 8.0.2

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Nach einer sehr freundlichen PN:

Achte bei Deinen Java-Aktionen auf die korrekte JDK/JRE-Version und die daher (nicht) verfügbaren Funktionalitäten:
1.0 to 3.x:
    N/A
4.5 to 4.6.7a:
    JRE/JDK 1.1
5.0 to 5.0.13a:
    JRE/JDK 1.1.8
6.0 to 6.5.6:
    JRE/JDK 1.3.1
7.0 to 7.0.3:
    JRE/JDK 1.4.2
8.0 to 8.0.1:
    JRE/JDK 1.5.0
Siehe
http://johankanngard.net/2006/02/09/java-versions-in-lotus-domino-and-notes/
und
http://www.ibm.com/support/docview.wss?uid=swg21188789


Um den Agent zu starten hast Du IMHO zwei Optionen:
1) On Document Create - wobei Du dann checken musst, ob es Kalendereintrag erstellt wurde (Achtung bei wiederholenden Einträgen -> mehrere Dokumente). Geht halt teilweise auf die Performance.
2) Im PostSave des Calender-Forms. Ist halt eine Änderung an der Standardschablone, das macht man ungern.

Was Du Dir IMHO prinzipiell überlegen musst:
a) Wie gehst Du damit um, wenn ein Kalendereintrag "nur" gespeichert, also geändert wurde. Er kann ja den Eintrag auch schon speichern, wenn der Event nicht komplett ausgefüllt wurde.
b) Wo läuft der Agent? In der Mail-DB am Server oder auch in der lokalen Replik am Client? Wie gehst Du damit um, wenn ein Kalendereintrag beispielsweise auf einem Laptop offline erzeugt wird.

@Ulrich: TriggerHappy hat aber auch den "Nachteil", dass eine DLL auf dem Server installiert werden muss (was Admins ungern machen) und die ganzen Aktionen dann auch auf dem Server stattfinden müssen, soweit ich das Tool korrekt verstanden habe. Also nix mit lokalen Repliken und offline-Editing.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz