Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: joki am 27.09.05 - 09:16:47

Titel: Url von DB1 ind Feld von Db2 per Url schreiben
Beitrag von: joki am 27.09.05 - 09:16:47
Hallo und moin zusammen.

Ich bräuchte euren Rat zu folgendem Problem.

Ich möchte aus dem Browserfenster durch eine Url mit einem Parameter die Url des Dokumentes aus DB1 in ein Feld von DB2 schreiben. Über PHP ist sowas mit GET lösbar. Aber wie funktioniert sowas in Notes.

Vorab schonmal vielen Dank für die Hilfe.
Titel: Re: Url von DB1 ind Feld von Db2 per Url schreiben
Beitrag von: Driri am 27.09.05 - 09:19:40
Hallo,

das könnte man z.B. über einen Agent lösen, der im WebQuerySave ausgelöst wird.
Titel: Re: Url von DB1 ind Feld von Db2 per Url schreiben
Beitrag von: m3 am 27.09.05 - 09:46:27
Du möchtest Deine Frage etwas unkonfuser stellen. ;)

1) PHP läuft nicht im Browser ("Ich möchte aus dem Browserfenster..."). Was meinst Du also mit dem Satz?
2) Mit einem "GET" in HTTP (GET hat nix mit PHP zu tun), schickt man Daten an den Server, die keine Veränderungen am Server (Insert, Delete, Update) erzwingen. GET ist daher primär für idempotenten Aktionen wie etwa ein SELECT bei SQL zu verwenden. Will man Daten auf dem Server ändern, sollte man laut RFC 2616 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html) PUT/POST verwenden.
3) Auf welcher Plattform soll das Script laufen (im Browser, auf dem Server)?
4) Von wo soll das Script/Programm gestartet/ausgeliefert werden? In DB1, DB2 oder DB3?
5) Welche Sprache (Formel, LotusScript, JavaScript, Java)?
6) Wie kommst Du zu der URL des Dokumentes aus DB1?
Titel: Re: Url von DB1 ind Feld von Db2 per Url schreiben
Beitrag von: joki am 27.09.05 - 10:14:52
Du möchtest Deine Frage etwas unkonfuser stellen. ;)
Ok Ich formuliere mal etwas ausführlicher und "unkonfuser" ;D
Zitat
1) PHP läuft nicht im Browser ("Ich möchte aus dem Browserfenster..."). Was meinst Du also mit dem Satz?
2) Mit einem "GET" in HTTP (GET hat nix mit PHP zu tun), schickt man Daten an den Server, die keine Veränderungen am Server (Insert, Delete, Update) erzwingen. GET ist daher primär für idempotenten Aktionen wie etwa ein SELECT bei SQL zu verwenden. Will man Daten auf dem Server ändern, sollte man laut RFC 2616 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html) PUT/POST verwenden.
3) Auf welcher Plattform soll das Script laufen (im Browser, auf dem Server)?
4) Von wo soll das Script/Programm gestartet/ausgeliefert werden? In DB1, DB2 oder DB3?
5) Welche Sprache (Formel, LotusScript, JavaScript, Java)?
6) Wie kommst Du zu der URL des Dokumentes aus DB1?


Plattform Domino Server 6.5.4
CMS auf Basis Lotus Notes
Http Task läuft

nun die unkonfusere Formulierung ;D

Der "Anonymous" browst und findet eine Webseite, liest diese. Auf dieser Webseite wird ihm ein Link angeboten. Dieser Link soll eine Maske in der DB2 öffnen und es dem User ermöglichen direkt ein Kommentar zu diesem gelesenen Artikel zu schreiben. (Leserbrief zu einem bestimmten Artikel). Per Mail oder in diesem (DB2)gespeichertem Notes Dokument soll nun ein Link zu diesem gelesenen Dokument(DB1-CMS) rein, der es dem Bearbeiter ermöglicht, direkt den gelesenen Beitrag zu öffnen um den inhaltlichen Zusammenhang zu erkennen.

Würde eine Apache mit MySql als Webserver dienen wäre das kein Prob für mich, aber sooo..

Für weitere unkonfuse Erklärungen stehe ich gerne zur Verfügung :-)
Titel: Re: Url von DB1 ind Feld von Db2 per Url schreiben
Beitrag von: m3 am 27.09.05 - 12:45:33
OK, so ist es verständlicher.  :D

Mehrere Möglichkeiten:

1) REFERER
Du hast die zuletzt besuchte Seite (des CMS) ja im HTTP-Header REFERER stehen, wenn Du durekt vom CMD zur Kommentar-DB verlinkst. Du kannst also im Feedback-Formular ein verstecktes Feld einfügen, das den Wert aus dem CGI-Feld "HTTP_Referer" übernimmt und damit den Link zum DB1-Dokument enthält.

2) URL-Parameter
Du rufst das Kommentarformular über die URL http://servername/comment.nsf/Kommentar?OpenForm&KommentarZu=db1.nsf_DocID auf.
Damit hast Du den Link zur Original-DB im CGI-Feld "Query_String_Decoded", das Du nur noch auseinanderparsen und in einem hidden Feld des Kommentarformulars mitspeicherst.

Du willst Dir die Kapitel zum Thema "CGI Variables" in der Designer-Online-Hilfe ansehen.
Titel: Re: Url von DB1 ind Feld von Db2 per Url schreiben
Beitrag von: joki am 27.09.05 - 13:10:27
Vielen Dank für die 2 Lösungsvorschläge.
Ich denke ich werde es mit Nr 1 versuchen, da es meines Erachtens schneller geht und ich im moment nicht so viel Zeit habe Nr 2 auszuprobieren.

Melde mich aber wenn ich Nr2 auch ausprobiert habe.
Titel: Re: Url von DB1 ind Feld von Db2 per Url schreiben
Beitrag von: m3 am 27.09.05 - 13:20:17
Bei Nr. 1 stehst aber im Regen, wenn ein proxy, ... den Referer ausfiltert.
Titel: Re: Url von DB1 ind Feld von Db2 per Url schreiben
Beitrag von: Tode am 27.09.05 - 16:44:47
mit 1 stehst Du sogar im Regen, wenn Du die Maske in einem Frame anzeigst, und der User mit dem IE ankommt, weil der IE im referrer immer nur die Fram- URL hat....

Tode