Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: padkey am 02.07.12 - 11:20:15

Titel: Call uidb.close im Database Script Postopen: "Command not availabel" ?
Beitrag von: padkey am 02.07.12 - 11:20:15
Hallo zusammen,

grad ein komisches Problem: der Befehl call uidb.close bzw call source.close im Postopen des Database Script wird nicht ausgeführt? Beim normalen Öffnen der DB passiert gar nichts, die DB öffnet sich korrekt. Beim Öffnen mit dem Debugger erhalte ich dann beim close befehl folgende Fehlermeldung: "Command not availabel"

Was habe ich für alternative? Wie kann ich dies beheben?

Ziel: nur User mit einer bestimmten Rolle sollen auf die Notes DB zugreifen können, die anderen übers Web. Deshalb muss sich dann die DB im Notes Client schließen.

Vielen Dank im Voraus!
Titel: Re: Call uidb.close im Database Script Postopen: "Command not availabel" ?
Beitrag von: Peter Klett am 02.07.12 - 12:57:59
Das Datenbankscript zieht nur, wenn Du die Datenbank direkt öffnest (Klick auf die Kachel). Bei Ansicht - Gehe zu ... läuft das schon nicht mehr. Beim Öffnen von Dokumenten mittels Doklinks auch nicht.

Was willst Du denn wirklich erreichen? Dürfen die Benutzer im Client nicht lesen, nicht bearbeiten? Und vor allem, warum nicht?

Per Script habe ich noch keine Datenbank geschlossen, ob und in welchen Konstellationen das geht oder nicht, weiß ich nicht. Habe dann auf @Command ([FileCloseWindow]) zurückgegriffen.
Titel: Re: Call uidb.close im Database Script Postopen: "Command not availabel" ?
Beitrag von: koehlerbv am 02.07.12 - 13:21:57
Wenn die DB bereits offen ist, dann tut sich da auch nix. Und ich nehme an, Du hast die DB im Designer offen?

Auch mich würde interessieren, wofür das Close gut sein soll.

Bernhard
Titel: Re: Call uidb.close im Database Script Postopen: "Command not availabel" ?
Beitrag von: padkey am 02.07.12 - 15:45:39
Hallo,

danke für die Infos. Zu eueren Rückfragen: es wird aufgezeichnet, wer etwas downloaded. Diese Aufzeichnung wird nur beim Download  über das Webfrontend der Datenbank vorgenommen. Wenn nun ein User über den Client in die Datenbank geht, dann holt er sich die Software, ohne dass dies protokolliert wird. Daher soll für normale Anwender die Datenbank nur übers Web verfügbar sein. Editoren dürfen Software über den Client einstellen und zum Download freigeben.

Wie kann ich dies einfach umsetzen?
Titel: Re: Call uidb.close im Database Script Postopen: "Command not availabel" ?
Beitrag von: koehlerbv am 02.07.12 - 17:00:30
Das Datenbank-Script ist für sowas absolut zu unsicher.
Du musst die in die Frage kommenden Design-Elemente so einrichten, dass sie nur über das Web sichtbar sind, und für User mit einer bestimmten Rolle (also die Editoren) zusätzliche in Notes für andere versteckte Designelemente einsetzen.

Bernhard
Titel: Re: Call uidb.close im Database Script Postopen: "Command not availabel" ?
Beitrag von: umi am 03.07.12 - 14:53:31
Hallo

Ich hatte das mal so gelöst, dass ich im Startframeset im Query oder Postopen einer Page die Abfrage drin hatte, ob
der User eine Rolle hat.
Titel: Re: Call uidb.close im Database Script Postopen: "Command not availabel" ?
Beitrag von: koehlerbv am 03.07.12 - 15:19:21
Security by obscurity
Titel: Re: Call uidb.close im Database Script Postopen: "Command not availabel" ?
Beitrag von: padkey am 05.07.12 - 11:01:56
Vielen Dank für die Hinweise, dann läuft das wohl auf den Vorschlag von umi raus...