Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: semtex am 31.05.05 - 09:21:51
-
Hallo erstmal,
ich habe mal wieder ein Problem, und zwar:
Wir haben in unseren E-Mails eine HTML-Signatur.
Diese soll in unregelmäßigen Abständen aktualisiert werden. Dazu bekommen die Benutzer einen Agenten, der die enstprechende HTML-Datei in ihr Notes-Verzeichnis auf dem Client kopiert. Die Original-HTML-Dateien liegen auf dem Domino-Server.
Meine Frage wäre nun, wie kann ich auf die HTML-Datei (auf dem Domino-Server) so zugreifen, dass ich sie auf den Client kopieren kann. Der Name des Servers ist bekannt, kann ich damit irgendwie auf das "Dateisystem" des Servers zugreifen? Oder funktioniert das ganz anders?
Wie immer bin ich für jede Hilfe dankbar! :D
Love, Peace & Code
semtex
-
So ein Agent müsste dann ja aufs FS vom Client und Server gleichzeitig zugreifen können. Das funktioniert nicht in ND. Da müsste dann schon ein Fileserver auf derselben Maschine wie der Domino laufen.
A-Bär: was spricht dagegen, diese Signatur in eine Datenbank entweder als Textfeld in einem Dokument oder in einem Attachement zu platzieren und sie dann von dort her aufs FS beim Client zu installieren?
-
@Semeaphoros: Unmöglich ist so ein unterfangen nicht, auch wenn Deine Lösung die wesentlich elegantere und in meinen Augen vorzuziehende ist...
Aber eine Lösung für das Problem könnte in etwa so aussehen:
Der User klickt einen Knopf, der per Script im Backand ein Dokument erstellt.
Dann ruft das Script über RunOnServer einen Agenten auf und übergibt als Parameter die DocID des soeben erstellten Dokumentes. Der Server- Agent liest das HTML- File ein, attacht das File im Dokument und wird beendet. Im "Client-Seitigen" Code kann ich nun das Dokument wieder anfassen, die HTML- Datei abhängen und mein "temp-Dokument" löschen.
Ist zwar sehr komplex und mit einigen Haken und Ösen (vor allem Zugriffs- Rechte) versehen, kann aber funktionieren.
Gruß
Tode
P.S.: Nochmal: Das ganze grundsätzlich in einer Notes- Datenbank zu halten halte ich auf jeden Fall auch für viel Komfortabler... Da liessen sich Sachen denken wie: Grundgerüst mit Platzhaltern vorgeben, und dann pro User automatisch das korrekte Dokument per Knopfdruck generieren, etc. etc.
-
Hey, das ging ja mal wieder schnell... Danke!
Ok, das mit dem FS-Zugriff war wohl etwas "blauäugig".
Aber die Idee mit dem Attachment ist gar nicht schlecht, das werde ich mal versuchen.
Anonsten kann ich ja auch mal den komplexeren Umweg von Tode versuchen. Aber wahrscheinlich hast Du recht, da gibt's sicherlich einige "Haken und Ösen". ;)
Ich melde mich dann noch mal hier, ob's geklappt hat oder nicht.
Danke noch mal!
-
Klar, Torsten, geht das, wenn man ein paar Verrenkungen hinter dem Rücken macht, und ich hab ja auch gesagt, nur auf dem Client geht das nicht. Deine Aufteilung in zwei Agenten ermöglicht das schon ..... wenn das dann rechtemässig entsprechend abgedeckt ist, und das halte ich eigentlich schon für etwas heikel. Deine Lösung ist etwa wie 100Meter Weltmeisterschaft im Handstand zu absolvieren: Das Ziel wird man erreichen, aber nicht als Sieger ... ;D
-
Also, falls es jemanden interessiert, hier meine "Lösung".
Wie bereits oben vorgeschlagen greife ich nicht auf das Filesystem zu, sondern lege die benötigten Dateien in einer eigenen Signatur-Datenbank in einem Dokument ab.
In die Mail-DB füge ich einen Agenten ein, der sich die benötigten Dateien aus der Signatur-DB holt und dem User in sein Notes/Data-Verzeichnis auf dem Client kopiert. Von dort kann dann die HTML-Signatur ganz normal verwendet werden (auch wenn der Rechner vom Netz getrennt ist).
Damit ich nicht für jeden Benutzer ein eigenes Dokument mit eigener HTML-Datei in der Signatur-DB anlegen muss, habe ich nur ein Dokument mit einer "HTML-Vorlage". Diese HTML-Vorlage enthält Platzhalter, die vor dem Kopieren in das Client-Verzeichnis durch entsprechende Einträge aus dem Domino-Directory ersetzt werden (z.B. Telefonnumer, Faxnummer, Abteilung, etc). Voraussetzung ist natürlich, dass das Domino-Directory enstprechend gepflegt ist.
Jetzt muss ich nur noch testen, ob das ganze auf den MAC-Clients auch problemlos funktioniert. Aber eigentlich sollte es das (toi, toi, toi).
Danke noch mal für die Tipps!
-
Das tönt doch eigentlich nach einer verhältnismässig einfachen, nützlichen Lösung. Danke, dass Du die Lösung hier noch skizziert hast.