Domino 9 und frühere Versionen > ND8: Entwicklung

Server script

<< < (2/4) > >>

wupperhannes:
Danke für die Antwort soweit. Mir ist noch nicht ganz klar, wie man ein Lotus Script anstoßen könnte, wenn man sich am PC oder an der Domäne einloggt. Aber das ist ja auch nicht mein Problem. Dass am Client erst frühestens ein Script gestartet werden kann, wenn eine Datenbank geöffnet wird, ist soweit auch klar. Löst aber auch nicht mein Problem, schon garnicht, wenn der Client offline gestartet wird.

Also wenn jemand seinen Lotus Client online startet, dann muss er sich dort einloggen (oder eben anmelden). Dann  sollte etwa folgendes ablaufen. Server starte eine Session für den neuen User. "Ahh da bist Du ja wieder. Lass mal sehen, was der Stand Deiner Daten in Datenbank xy ist. Hmmm, da hab ich hier was neueres. Ich überspiel Dir das mal schnell, dann bist Du wieder auf dem neuesten Stand!"

Replizieren hilft, wie schon gesagt, nicht, da die Daten vorher noch bearbeitet werden müssen. Außerdem sind sie userabhängig.

Ich möchte vermeiden, dass der ganze Vorgang erst auf einen Tastendruck des Users hin angestoßen wird. Es soll also automatisch erfolgen weil sowieso niemand (zumindest nicht hier im Büro) erst mal eine bestimmte Datenbank aufruft um dann einen "Transfer" oder "Update" Knopf zu drücken. Als Konsequenz würde er eine ganze Weile veraltete Daten benutzen...

Axel:

--- Zitat von: Wupperhannes am 06.01.11 - 18:40:42 ---Replizieren hilft, wie schon gesagt, nicht, da die Daten vorher noch bearbeitet werden müssen. Außerdem sind sie userabhängig.

--- Ende Zitat ---

Einmal schreibst du was von "wenn der Client offline gestartet wird", dann wieder was von "Server starte eine Session für den neuen User. "Ahh da bist Du ja wieder. Lass mal sehen, was der Stand Deiner Daten in Datenbank xy ist. Hmmm, da hab ich hier was neueres. Ich überspiel Dir das mal schnell, dann bist Du wieder auf dem neuesten Stand!""

Ja was denn nun?  :-:

Und du sagt auch nichts zu den Daten die vorher bearbeitet werden sollen/müssen.

Ich bin immer noch davon überzeugt, dass über die Replikation geregelt zu bekommen. Wenn es unbedingt ein Script sein muss, dann wäre die einzigste automatische Möglichkeit das Query- oder PostOpen-Event der Datenbank die als Homepage festgelegt ist (standardmäßig die Bookmark.nsf).

Aber..., du solltest erstmal genauer beschreiben was das Ganze soll und was das für Daten sind, die vorher bearbeitet werden sollen.

Axel

wupperhannes:
Hhhhmmm, tut mir wirklich leid, dass ich mich so unklar ausdrücke. Ich kann mir halt nicht vorstellen, warum für dieses Problem die Art der Daten eine Rolle spielt. Ob es Preislisten sind, user bezogene Blutzuckerwerte oder Ort und Zeit der nächsten Sonnenfinsternis  ;D sollte für die Lösung eigentlich keine Rolle spielen.

Ich weiß noch, dass man bei Agenten bestimmen kann, wann und wo sie starten sollen. Ob lokal, auf einem Server, bei Eintreffen einer neuen Email etc. pp. Alles natürlich immer auf eine Datenbank bezogen. Was mir fehlt ist ein Agent, der startet, wenn ein User eine Verbingung zu Server aufbaut. Ich glaube das gegenseitige Unverständnis beruht darauf, dass ich keine Ahnung habe, was sich im Server so abspielt. (Wobei ich immer den Domino Server meine).

Der Tip mit der Bookmarks.nsf klingt vielversprechend. Muss ich halt von meinen starren Vorstellungen  8) abweichen. Ich könnte ja den Client feststellen lassen, ob er online oder offline läuft und im Falle von online einfach stumpf die Daten bei der Domino Datenbank anfordern. Sollte eigentlich funktionieren.

Eine weitere Möglichkeit, an die ich gedacht hatte, war, jede Nacht einen zeitgesteurten Agenten in der Quelldatenbank zu starten, der dann ein spezielles Dokument in der Email Datenbank jedes Users ablegt, das wiederum bei nächster Gelegenheit repliziert (ta taahh  ;)) werden kann. Dieser Ansatz gefällt mir aber ned so gut.

Danke nochmals. Manchmal sieht man den Wald vor lauter Bäumen nicht ......

Ach ja: Bei den Daten handelt es sich um ein HTML Template, bei dem vor dem Versand vom Server userbezogene Daten in Platzhalter Felder eingefügt werden sollen. Schlussendlich soll dann alles in einer lokalen html Datei landen. Wieso das jetzt weiterhelfen soll versteh ich ned so richtig ...

Peter Klett:
Ein anderer Denkansatz wäre, die Anwendung anzufassen, die die Daten verwendet. Wenn es sich um Adressdaten handelt, die von einer bestimmten Anwendung (oder Routine) verwendet werden, könntest Du doch beim Starten dieser Anwendung prüfen, ob ein Abgleich der Aktualität heute schon erfolgt ist (falls es nicht permanent erfolgen soll) und ob der Client offline ist. Falls nicht, gleichst Du die Daten in dem Augenblick ab.

Auch mit der Replikation, finde ich, gibt es bestimmt einen Lösungsansatz. Wenn die userbezogenen Einstellungen, die gerechnet werden müssen (was immer das auch sein mag, es werden wohl nicht die aktuellen Blutzuckerwerte des Users sein), zentral für alle Mitarbeiter in einer Datenbank per Agent täglich aktualisiert werden und die Dokumente mit Lesezugriff versehen werden, kannst Du die Datenbank replizieren. Beim Starten repliziert sich der User dadurch sein Einstellungsdokument in eine lokale Replik.

Es gibt sicher noch mehrere Möglichkeiten, Dein Problem zu lösen, ohne dass bei der ersten Onlineverbindung zum Server ein Script gestartet wird (ich wüßte nicht, wo ich dort am sinnvollsten ansetzen würde). Deshalb ist die Frage nach der Art der Daten oder dem Sinn der Anwendung ausschlaggebend für gute Lösungsvorschläge.

koehlerbv:

--- Zitat von: Peter Klett am 06.01.11 - 21:24:48 ---Ein anderer Denkansatz wäre, die Anwendung anzufassen, die die Daten verwendet.
--- Ende Zitat ---

Das ist der casus cnactus: Welche Anwendung braucht diese HTML-Datei? Ist es eine Notes-Anwendung oder etwas ganz anderes?
Wenn Notes, dann geht es über die Prinzipien, die Peter beschrieben hat. Ist es nicht Notes, wird es schwieriger bis unmöglich. Man kann sich einen Hook bauen (API!), der auf Replikation oder Anmeldung reagiert. Aber mit reinen Bordmitteln gibt es kein Event, was derartig reagieren könnte.
Auch die Sache mit der Bookmark kann man getrost vergessen - obwohl das "eigentlich" eine normale Notes-DB ist, verhält die sich sehr anders, und viele gewohnte Events machen dort - nichts. Zumindest nix, was man ausnutzen könnte.

das einfachste wäre, wenn wir jetzt wirklich mal erfahren würden, wozu die HTML-Datei benötigt wird. Sonst wird das für uns eine Stocherei im Nebel - und wir können dann eigentlich nur sagen: Deine Ausgangsfrage muss mit "Geht nicht" beantwortet werden.

Bernhard

PS: "HTML-Datei mit personenbezogenen Angaben" klingt für mich sehr nach "persönlicher Signatur". Wenn es das tatsächlich ist - das braucht es mit Version 8(.5) ja nun wirklich nicht mehr.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln