Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: khing am 24.11.17 - 11:11:54

Titel: Eventhandling im Backend
Beitrag von: khing am 24.11.17 - 11:11:54
Hallo mal wieder,  ;)

ich versuche gerade eine durchgängige Versionierung inkl. einer Änderungsverfolgung eines Dokumentes umzusetzen. Im Frontend gibt es da ja genügend Beispiele (https://www.ibm.com/developerworks/lotus/library/ls-object_oriented_LotusScript/  und http://sw-guide.de/lotus-notes-domino/lotusscript-history/).

Mein großes Problem ist hiebei das Backend und die Bearbeitung von Dokumenten durch Agenten. Ich habe keine Möglichkeit gefunden, synchron dem Querysave vom Frontend zu arbeiten. Also versuchte ich es mit einem Agenten mit dem Ereignis "Nachdem Dokument erstellt oder bearbeitet wurde". Mit einigen ini-Parametern habe ich es auf knapp 90 Sekunden Reaktionszeit geschafft.

Wenn ich das nun auf mehrere DBs ausrolle bekomme ich Bauchschmerzen, weil zum einen 90 Sekunden eine lange Zeit ist, wo der Benutzer schon wieder etwas geändert haben kann und zum anderen es den Server sicher viel mehr belastet.  :-:

Habt ihr da bessere Lösungsansätze?

Gruß zum Wochenende  ;)
Kristian
Titel: Re: Eventhandling im Backend
Beitrag von: ronka am 24.11.17 - 22:28:31
Du möchtest ein version zusätzlich speichern, beim speichern durch ein Agent ?

Habe ich das richtig verstanden ?
Titel: Re: Eventhandling im Backend
Beitrag von: khing am 26.11.17 - 17:40:02
Ja, genau. Im Frontend funktioniert das automatisch über die Versionskontrolle der Maske ganz gut.
Das soll alles im Backend natürlich automatisch passieren, ohne das ich jetzt jeden Agenten neu anfassen muss.
Titel: Re: Eventhandling im Backend
Beitrag von: Gutierrez am 29.11.17 - 17:51:16
Moin, kannst du nicht einfach eine Klasse schreiben, über die du auf Dokumente zugreifst (Kapseln)? Und wenn gespeichert werden soll, dann rufst du die Methode "Save()" der Klasse auf, die wiederum eine Historie schreibt?

Beste Grüße
Gutierrez
Titel: Re: Eventhandling im Backend
Beitrag von: Peter Klett am 29.11.17 - 19:44:20
Moin, kannst du nicht einfach eine Klasse schreiben, über die du auf Dokumente zugreifst (Kapseln)? Und wenn gespeichert werden soll, dann rufst du die Methode "Save()" der Klasse auf, die wiederum eine Historie schreibt?

Beste Grüße
Gutierrez
Das hilft aber nichts, wenn irgendjemand ein Dokument per SmartIcon oder selbstgeschriebenem Agenten ändert
Titel: Re: Eventhandling im Backend
Beitrag von: khing am 30.11.17 - 10:24:57
Dann würde m. E. wieder die Versionskontrolle ziehen und ein neues Dokument erstellen. Anschließend könnte man diese Antwort-Dokumente ermitteln und wie gewünscht bearbeiten. Nur leider braucht man so ein generelles Ereignis am Server. Es würde schon reichen, wenn der Server sich hier an die Versionsdefinition vom Frontend halten würde...  ::)
Titel: Re: Eventhandling im Backend
Beitrag von: Gutierrez am 30.11.17 - 10:41:21
@Peter
Ja, in dem Fall geht das natürlich nicht :-)

@khing
Ist eventuell das hier etwas für dich? (Ich weiß nicht, wie diese Versionskontrolle / Historie in Notes arbeitet - noch nie ausprobiert)

http://www-12.lotus.com/ldd/doc/domino_notes/9.0/api90ref.nsf/f961929dc6dc14dc852561bf0067d1c4/00340050004d005985256253005125cc?OpenDocument
Titel: Re: Eventhandling im Backend
Beitrag von: khing am 04.12.17 - 12:14:39
So, ich bin zurück im Büro. Vielen Dank für die Anworten.
Da werde ich mir wohl mal die C-API zu Gemüte führen müssen.
Gab es da vielleicht noch irgendwo ein Tutorial? ...
Achja, gefunden : https://www.openntf.org/Projects%5Cpmt.nsf/0/6EF6E1EECE4E1484862576E3005A7F52/$file/ec10-capi.pdf
Titel: Re: Eventhandling im Backend
Beitrag von: Pyewacket am 04.12.17 - 14:15:02
Hallo Kristian,
schau dir mal auf OpenNTF das Projekt TriggerHappy an.
https://www.openntf.org/main.nsf/project.xsp?r=project/Trigger%20Happy

Gruss
 Peter
Titel: Re: Eventhandling im Backend
Beitrag von: khing am 04.12.17 - 14:21:44
Oooohhh, ich glaub das ist es  :D :D :D :D
Danke!!! ;D
Titel: Re: Eventhandling im Backend
Beitrag von: khing am 04.12.17 - 14:56:45
Klappt super!
Da bestätigt sich wieder meine Aussage: "Notes kann alles!"  :D
Man muss nur wissen, wo man es findet.