Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: jr am 04.05.09 - 14:45:14

Titel: Auslesen eines Profildokuments im Web....
Beitrag von: jr am 04.05.09 - 14:45:14
Hallo zusammen,

im Browser habe ich ein sehr seltsames Phänomen entdeckt. Ich lese einen Wert aus einem Profildokument mit @GetProfileField("Language"; "Language"; @UserName). Hier kann nur DE, EN oder PL drin stehen (also drei Sprachen). In der Web-Maske habe ich ein paar Buttons, mit denen ich diesen Wert setzen kann, z. B. @SetProfileField("Language"; "Language"; "DE"; @UserName).

So weit, so gut.

Ich schalte also zwischen den verschiedenen Sprachen um und jetzt passiert etwas ganz seltsames. Wenn ich die Maske 10 x Refreshe, dann erscheint ein paar mal DE, dann wieder EN, dann mal PL und wieder DE. Während der ganzen Zeit kann ich das Profildokument im Notes-Client auslesen und dort steht immer nur die eine, gewählte Sprache.

Ich habe eine Maske gebaut, die aus genau einem Feld besgteht, dass mir den aktuellen Wert des Profildokumentenfelds anzeigt und da steht ständig etwas anderes drin!?!?!?

Hat jemand eine Idee, an was das liegen könnte? Cache-Problem? Server-Problem? Fuzzy-Logic oder Außerirdische????

Ich bin hier echt am Verzweifeln und habe keine Idee mehr, was ich noch machen könnte. Vielleicht hat von Euch jemand ein Idee?

Danke im Voraus für Eure Hilfe.

Gruß,

Joachim
Titel: Re: Auslesen eines Profildokuments im Web....
Beitrag von: ascabg am 04.05.09 - 14:47:51
Hallo,

Ich frage infach mal ins Blaue hinein.

Du liest das Profil im Web mit einem Username aus (@UserName).
Ist zu diesem Zeitpunkt auch ein Benutzer angemeldet oder greift ein anonymous zu?

Andreas
Titel: Re: Auslesen eines Profildokuments im Web....
Beitrag von: jr am 04.05.09 - 14:51:26
Hallo,

ja, der Benutzer muss sich mit seinem Namen anmelden. Anonymous ist hier nicht erlaubt.

Gruß,

JR
Titel: Re: Auslesen eines Profildokuments im Web....
Beitrag von: atbits am 04.05.09 - 14:58:37
Das schwingt sich nach einiger Zeit ein.
Es liegt meiner Meinung nach am Caching von Profildokumenten, die im Web-Fall halt nicht vom Client sondern vermutlich vom http-Server-task gecached werden.

Nach circa einer halben Stunde ist der Spuk vorbei nach meiner Erfahrung.

Grüße David
Titel: Re: Auslesen eines Profildokuments im Web....
Beitrag von: pram am 04.05.09 - 16:05:35
Also Profildokumente werden im Web sehr stark gecached.
Wenn du es abänderst bekommst du einmal die neue Version, ein ander mal die alte Version   ::)
Ich denke es laufen im Hintergrunde mehrere HTTP-Threads und je nachdem welcher deine Anfrage gerade beantwortet, bekommst du die Version die du gecached hast. (Außer Warten hilft übrigens auch ein Neustart des Servers)
Soweit ich noch weiß bekommt man aber das aktuelle Dokument indem man sich das Profildokument über die Note/UNID holt. evtl kannst ja mal folgenden Würgaround probieren:

set doc = db.getProfileDoc...
nid = doc.NoteID
delete doc ' sicherheitshalber alle Referenzen zerstören
set doc = db.getDocumentByID(nid)

Ich weiß aber nicht, was passiert wenn du darauf dann doc.save aufrufst!

Gruß
Roland
Titel: Re: Auslesen eines Profildokuments im Web....
Beitrag von: m3 am 04.05.09 - 16:09:29
Ja, eine ähnliche Aussage bekam ich heuer auf der Lotusphere von dem HTTP-Task Entwickler. Da gibts einen eigenen Profildokument-Cache, der sich (derzeit) nur durch einen Neustart des HTTP-Tasks "löschen" lässt.
Er meinte aber, auf jeden Fall einen ESR/PMR aufmachen, er schaut sich das an.
Titel: Re: Auslesen eines Profildokuments im Web....
Beitrag von: jr am 05.05.09 - 13:20:48
Hallo,

danke für Eure Antworten. Ich hab dann mal die Hoffnung, dass sich der PMR irgend wann in einem Fix bemerkbar macht. Normalerweise wird die Sprache nicht oft gewechselt, jeder User stellt sich seine Sprache ein und dann sollte es das egentlich sein. Das ist dann nicht ganz so kritisch. Den Tipp vn Roland werde ich in jedem Fall mal ausprobieren, das muss aber vermutlich noch bis nächste Woche warten.

Danke,

Joachim