Autor Thema: Wert aus Profildokument im Webbrowser  (Gelesen 4770 mal)

Offline aoibhneach

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Wert aus Profildokument im Webbrowser
« am: 05.10.07 - 13:45:24 »
Hallo Forum!

Ich möchte aus dem Webbrowser heraus einen Gliederungseintrag anklicken, der mir dann über eine Formel eine Seite aus einer Hilfedatenbank öffnet.
Dazu benötige ich den Namen des Servers, auf dem sich alle Datenbanken befinden.
Gibt es eine Lösung?  :-\

Danke + Grüße,

Nils.
"Der verlorenste aller Tage ist der, an dem man nicht gelacht hat."

Sébastien-Roch Nicolas de Chamfort

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Wert aus Profildokument im Webbrowser
« Antwort #1 am: 05.10.07 - 13:54:29 »
Wenn alle Datenbanken auf dem gleichen Server liegen, kannst du es mit @DbName versuchen.

server := @Subset(@DbName; 1);


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline aoibhneach

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Re: Wert aus Profildokument im Webbrowser
« Antwort #2 am: 05.10.07 - 13:58:27 »
Hallo Axel!

Hab's mit:

@Name([CN];@Subset(@DbName;1))

versucht. Aber dann wird die Gliederung im entsprechenden Frame nicht mehr angezeigt.

Grüße, Nils.
"Der verlorenste aller Tage ist der, an dem man nicht gelacht hat."

Sébastien-Roch Nicolas de Chamfort

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: Wert aus Profildokument im Webbrowser
« Antwort #3 am: 05.10.07 - 14:04:15 »
Hallo

und warum nicht mit @Servername, bzw.
@Name([CN];@Servername) ?

Gruß Werner
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline aoibhneach

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Re: Wert aus Profildokument im Webbrowser
« Antwort #4 am: 05.10.07 - 14:08:04 »
@Werner

Hallo Werner!

Unser R5 sagt, dass es das nich' kann.

Grüße, Nils.

"Der verlorenste aller Tage ist der, an dem man nicht gelacht hat."

Sébastien-Roch Nicolas de Chamfort

Glombi

  • Gast
Re: Wert aus Profildokument im Webbrowser
« Antwort #5 am: 05.10.07 - 14:12:42 »
@Servername gibts ab R6, vorher musst Du
@Subset(@DbName;1)
verwenden.

Damit die Seite im richtigen Rahmeen geöffnet wird, musst Du ein
@SetTargetFrame(Zielrahmen )
vor dem Öffnen machen.

Andreas

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: Wert aus Profildokument im Webbrowser
« Antwort #6 am: 05.10.07 - 14:15:40 »
Hi,

das mit dem @Subset(@DBName;1) gabe ja glaub bei R5 für einen WebBrowser immer ""  ;)

?immernoch bei R6,
aber hier gibts ja
@ServerName 
Note  This @function is new with Release 6. (wie glombi schon sagt)

ich bin grad mal am suchen, wie ich das immer gemacht hab...

Gruss, Pete(r)
pete(r)

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: Wert aus Profildokument im Webbrowser
« Antwort #7 am: 05.10.07 - 14:16:04 »
Hallo,

@Servername gibts ab R6, vorher ...

sorry - sorry - sorry - sorry - sorry - sorry - sorry - sorry - sorry - sorry - sorry - sorry - sorry - sorry - sorry

Ich vergesse immer wieder, dass es vor V6 auch (mal) was gab.

Gruß aus dem super sonnigen Nürnberg
Werner
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline aoibhneach

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Re: Wert aus Profildokument im Webbrowser
« Antwort #8 am: 05.10.07 - 14:18:25 »
@Glombi

Hallo Andreas!

Mit @LocationGetInfo(...) war die Anzeige der Gliederung schon ok. Das war aber von mir falsch gedacht. Dummerweise erhalte ich so z.B. nur den Eintrag "HomeServer" aus dem Verbindungsdokument des Adressbuchs.
Und der Server ist nicht der, auf dem sich die Arbeits-Datenbanken befinden. Sondern nur die Mail-Datenbank....  ???

@pete_bla

Hallo Pete(r)!

Bisher (im NotesClient) hat das bei Verwendung in einer Feldformel des Profildokuments immer wunderbar geklappt. Manchmal isses eben verkorkst...

Grüße, Nils.
« Letzte Änderung: 05.10.07 - 14:24:48 von aoibhneach »
"Der verlorenste aller Tage ist der, an dem man nicht gelacht hat."

Sébastien-Roch Nicolas de Chamfort

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: Wert aus Profildokument im Webbrowser
« Antwort #9 am: 05.10.07 - 14:27:00 »
Hi,

mir ist noch nicht verständlich für was Du den aktuellen Servernamen benötigtst.

ein Profil kannst du auch ohne "Namen" öffnen
es ist dann aber für alle gültig (unabhängig vom key)
@GetProfileField( profilename ; fieldname; uniqueKey )
also so:
@GetProfileField( profilename ; fieldname)

und wenn es ein anderer server ist, dann ist der doch auch für alle gültig, also unabhängig vom aktuellen Server.

Gruss, Pete(r)
pete(r)

Offline aoibhneach

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Re: Wert aus Profildokument im Webbrowser
« Antwort #10 am: 08.10.07 - 09:25:26 »
Hallo Forum, hallo Pete(r)!

@pete_bla

Entschuldigung!!! Ich mußte am Freitag dringend los und hatte über's Wochenende keine Internetverbindung. Drum würde ich jetzt gerne fortsetzen.

Der Grund für mich, den Servernamen in die Formel einzutragen ist folgender:
Wenn ich in einem vorhandenen Gliederungspunkt die Formel @GetProfileField() ohne den Servernamen benutze, wird die Gliederung im Webbrowser !!! einfach nicht mehr angezeigt, im entsprechenden Rahmen erscheint dann nur "Seite nicht gefunden..."

Deshalb hatte ich zunächst, und das war auch ein Irrtum, @LocationGetInfo() benutzt, um den Servernamen zu erhalten. Dies ist aber eine lokale Einstellung im Verbindungsdokument, und liefert ggf. einen "falschen" Servernamen zurück.

Der Name des Servers steht im Profildokument...  ^-^

Vielen Dank + Grüße,

Nils
"Der verlorenste aller Tage ist der, an dem man nicht gelacht hat."

Sébastien-Roch Nicolas de Chamfort

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: Wert aus Profildokument im Webbrowser
« Antwort #11 am: 08.10.07 - 13:47:13 »
Hi,

Der Name des Servers steht im Profildokument...

genau so habe ich das auch verwendet, insbesondere, wenn ich z.B. einen anderen http-Servernamen hatte. Man musste dann nicht jedesmal im Adressbuch "nachschauen" und eben das Problem mit "" war auch umgangen. (gegebenenfalls musst Du natürlich darauf achten, dass der Eintrag aktualisiert wird, wird aber nicht häufig sein.)

Ich vermute Dein Problem liegt nun daran, dass Du das Profil zuerst mit ProfileKey befüllst, und beim auslesen ohne key eben nichts erhälst, da ohne key ein anderes Profil herangezogen wird.
Also versuch mal das Profil auch ohne ProfileKey zu erstellen.

so schreiben:
Code
@SetProfileField( ProfileFormname ; fieldname ; value ; ProfileKey )
->
@SetProfileField( "(DBProfile)" ; "Hostname"; "meinserver.de")

oder so das Profil bearbeiten:
Code
@Command( [EditProfileDocument] ; ProfileFormname; ProfileKey )
->
@Command( [EditProfileDocument] ; "(DBProfile)")
und so lesen:
Code
meinserver:=@GetProfileField( "(DBProfile)" ; "Hostname")

Für den "Servernamen"/"Hostname" in Deinem Fall ist es ja wirklich nicht notwendig, verschiedene Profile zu pflegen. Also auch ist auch kein ProfileKey notwendig (meine Meinung).

Gruss, Pete(r)

-korrektur: hatte im oberen code einen kleinen fehler-
« Letzte Änderung: 08.10.07 - 15:39:31 von pete_bla »
pete(r)

Offline aoibhneach

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Re: Wert aus Profildokument im Webbrowser
« Antwort #12 am: 08.10.07 - 14:08:35 »
Hallo Pete!

Ja, danke! Ich habe auch nochmals geforscht. Das Problem löse ich jetzt so, dass ich in der Gleiderung einen Eintrag für's Web (nur im Browser angezeigt) und einen  für den Notes-Client.

Vielleicht kann ich Dir die Ursache beschreiben.

Bei Nutzung der Datenbanken im Notesclient hat die in Masken/Gliederungen enthaltene Funktion @LocationGetInfo(HOMESERVER) immer den Namen des Home-/Mailservers der aktuellen Arbeitsumgebung des lokalen Adreßbuchs (des Nutzers) geholt.
Das ist nicht der Name des Servers, auf dem die gesuchten Datenbanken liegen, sondern des für diese Arbeitsumgebung eingetragenen Home-/Mailservers.
Im Web funktioniert das, weil der Notes-Server alles an den Webserver liefert und auch auf das Adreßbuch auf dem Server zugreift.

Ich habe jetzt das versteckte berechnete Feld mit der Funktion @LocationGetInfo aus der Maske genommen. Beim Öffnen im NotesClient meckert Notes nun nicht mehr.
In der Gliederung verwende ich nun die oben erwähnten, wechselseitig sichtbaren Einträge für Web-Browser bzw. Notes-Client.

Nochmals vielen Dank + viele Grüße,

Nils.  :)
"Der verlorenste aller Tage ist der, an dem man nicht gelacht hat."

Sébastien-Roch Nicolas de Chamfort

Offline aoibhneach

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Re: Wert aus Profildokument im Webbrowser
« Antwort #13 am: 10.10.07 - 07:10:29 »
Hallo Forum!

@pete_bla

Ich vermute Dein Problem liegt nun daran, dass Du das Profil zuerst mit ProfileKey befüllst, und beim auslesen ohne key eben nichts erhälst, da ohne key ein anderes Profil herangezogen wird.
Also versuch mal das Profil auch ohne ProfileKey zu erstellen.

Genau das war es. Das spezielle Profildokument in allen Datenbanken wurde mit dem Namen des Servers als Key angelegt.
Im Web soll dieses Profildokument wieder ausgelesen werden. Dafür habe ich als 3. Parameter in @GetProfileField() den Servernamen angegeben.
Ich hatte geglaubt, diesen auch im Web mittels
servername := @Name(@Subset(@DbName;1)) ermitteln zu können.
Im Web ist dann aber servername leer! Dadurch wurde mit @GetProfileField ein Profildokument gesucht, welches ohne Key angelegt wurde, also das allgemeine - und natürlich nicht gefunden.

Es ist zwar nicht schön, aber ich hätte nur zwei Lösungen:

1. Erzeugen eines neuen Profildokuments, ohne key. Das erforderte aber das Durchforsten des gesamten Codes aller Datenbanken.

2. Einfach Einfügen eines versteckten Feldes in die entsprechenden Masken, welches den Servernamen "fest verdrahtet" enthält. Dann könnte der key (und damit alle, in den DB'n verwendeten Funktionen) und damit das bestehende Profildokument weiter verwendet werden.

---->>> Gibt es eine bessere Lösung???  ???

Vielen Dank und Grüße,

Nils.
« Letzte Änderung: 10.10.07 - 10:19:33 von aoibhneach »
"Der verlorenste aller Tage ist der, an dem man nicht gelacht hat."

Sébastien-Roch Nicolas de Chamfort

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: Wert aus Profildokument im Webbrowser
« Antwort #14 am: 10.10.07 - 14:22:34 »
Hi,

die drei zwei Möglichkeiten hätte ich Dir noch (spontan), um das "im Code Fest Verdatete" mit dem Server zu umgehen:

1. Du verwendest noch ein Profildokument, ohne ProfileKey, nur mit dem Feld "ServerName", trägst dort den @Subset(@DBName;1) mit Notes ein (z.B durch bei der Konfiguration oder einem periodischen Agenten ect.)
und im Web kannst Du ja ohne ProfileKey dieses auslesen und hast den aktuellen ServerNamen, womit du wiederum das Profildokument holst.

2. im Web die CGI-Variable
Zitat
DesingerHelp: Table of CGI variable names
"Server_Name"
   The server's host name, DNS alias, or IP address as it would appear in self-referencing URLs.
einfach ein zur Anzeige berechnetes Feld mit der Variable als Wert.
Dies hat aber das Problem, dass der Hostname = Notes-Name des Servers sein Muss und, dass User nicht über die IP-Adresse auf die Web Seite gelangen sollten, da dann diese gemeldet wird.

3. notessession.GetEnvironmentString( "ServerName" , true )
fällt aber wegen dem WebQueryopen aus (wird relativ zu umständlich)
und mit @Environment( "ServerName") geht das leider nicht, da sie nur $ServerName ausliest.

Ohne Änderung würde für mich nur noch das mit dem zweiten Profil
als Alernative in Frage kommen.

Gruss, Pete(r)
pete(r)

Offline aoibhneach

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Re: Wert aus Profildokument im Webbrowser
« Antwort #15 am: 10.10.07 - 14:54:35 »
Hallo Pete!

1. Du verwendest noch ein Profildokument, ohne ProfileKey, nur mit dem Feld "ServerName", trägst dort den @Subset(@DBName;1) mit Notes ein (z.B durch bei der Konfiguration oder einem periodischen Agenten ect.)
und im Web kannst Du ja ohne ProfileKey dieses auslesen und hast den aktuellen ServerNamen, womit du wiederum das Profildokument holst.

Ja genau!!! Punkt 1 wird es wohl werden.
Wir haben so etwa 25 betroffene Notes-DB'n. Ich hätte ja gerne alles so umgeformt, dass die Profildokumente wie bisher mit der bestehenden Maske, aber ohne ProfileKey angelegt werden.
Das wird zwar ein bißchen Arbeit erfordern, aber wenigstens sind dann alle bisherigen Profiledokument-Daten weiterhin unter einer "Fuchtel".
Wenn ich mich richtig erinnere, haben wir den Zugriff auf das Profildokument in kleine extra Functions gepackt.
Drum sollte der "Umbau" auf zwei Parameter (Maskenname, Feldname) und Weglassen des Keys nicht schwer sein. Erfordert aber Sorgfalt, um wirklich immer das eine Profildokument zu erhalten.

Auf jeden Fall ist das eine Lösung! Vielen Dank für die Unterstützung!!! :)

Grüße, Nils.
"Der verlorenste aller Tage ist der, an dem man nicht gelacht hat."

Sébastien-Roch Nicolas de Chamfort

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz