Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rar am 11.08.04 - 15:41:22
-
Hi Leute,
kann mir jemand sagen, wie ich das öffnen einer Lokalen Datenbank verhindern kann?
Ich hab es versucht im Postopen (Quercopen mit Contunie gibts ja leider nicht) mit
@If(@Subset(@DbName;1)="";
@Do(@Command([FileCloseWindow]);
@Prompt([OK];"";"Nur am Serveraufmachen"));
"")
abzufangen.
Das hat leider 2 Nachteile.
1.) Solange Das Prompt aktiv ist, ist die DB offen (is mir aber wurscht)
2.) Wenn jemand mit der Rechten Maustaste auf die Kachel clickt und dann bei Datenbank\Gehe zu eine Ansicht auswählt, kommt er direkt in die Db und das Postopenevent wird ignoriert.
Gibt es eine Möglichkeit das schön abzufragen ohen ins Queryopen jeder Ansicht reinzucoden?
Gruß
-daniel
-
Daniel, soweit ich weiß gibt es da nichts. Ich mach das auch immer via Postopen-Event - auch wenn das von experimentierfreudigen Usern ausgehebelt werden kann (eben so wie Du schreibst, oder einfach Debugger einschalten und an entsprechender Stelle auf "Stop" klicken).
-
Hallo,
leg Dir eine Admin-Rolle in der ACL an. In den Ansichten-Properties aktivierst Du diese Rolle bei den Zugriffseigenschaften.
Auf die versteckten Ansichten kommen dann die User zwar noch immer drauf, aber das darf man halt nicht verraten wie's geht.
Damit's schön aussieht ;), kannst Du ja noch ein Frameset mit einer Willkommensseite machen.
Gruß von Ekki
-
leg Dir eine Admin-Rolle in der ACL an. In den Ansichten-Properties aktivierst Du diese Rolle bei den Zugriffseigenschaften.
Kannst Du das bitte mal ausführlicher erklären?
Es wird hier von einer DB gesprochen, die darf auf dem Server jeder beliebig öffnen (auch alle Ansichten), nur wenn sie LOKAL ist, nicht.
Wie steuerst Du das über Deine Admin-Rolle?
-
Entschuldigung - habe ich wiedermal nicht richtig gelesen. >:(
Und wenn Du nur versteckte Ansichten nutzt?
Gruß von Ekki.
-
Versteckte Ansichten helfen mir glaub ich nicht weiter. Am Server soll ich die Ansichten ja sehen können.
Solang ich keine andere Lösung finde, wie man das öffnen lokal unterbindet, werde ich im QO jeder Ansicht Continue auf False setzen, wenn lokal, ...
-
Hast Du ein Outline, wo Du die Ansichten ansteuerst? Wenn ja, da mußt Du aus den Outline-Entries halt Aktionen machen, die Dir den verstecken View öffnen.
Ist aber, glaub ich, fast aufwendiger als ein False zuschreiben.
Gruß von Ekki.
-
Wenn der böse User aber mit Strg+Shift auf Gehe zu... clickt, kommt er trotzdem in die versteckten Ansichten.
Falls er aber das macht, soll er halt in Gottes Namen lokal zugreifen. :P
Vielleicht könnte ich ja ein Continue = False ins QO der Masken auch noch eintragen....
lg
-d
-
Vielleicht hilft dir das weiter.
Ich hab das im db-script:
Declare Function NEMGetCurrentSubprogramWindow Lib "nnotesws.dll" () As Long
Declare Function NEMStopSubprogramWindow Lib "nnotesws.dll" (Byval wHandle As Long) As Integer
Sub Initialize
Dim wHandle As Long
Dim db As NotesDatabase
Dim s As New NotesSession
Set db = s.CurrentDatabase
If ( db.Server = "" ) Then
Messagebox "Die Benutzung dieser DB ist nur auf dem Server erlaubt.", 0,"Schwerer Anwenderfehler"
wHandle = NEMGetCurrentSubprogramWindow
Call NEMStopSubprogramWindow(wHandle)
End If
End Sub
Das Problem auch hier: Wenn der user den debugger einschaltet und stop dann ist er ebenfalls in der db.
Der Vorteil hier du brauchst es nicht jedesmal in eine view einbauen.
-
Super :D
Genau das script hab ich gesucht.
Man kann es leider immer noch mit Gehe zu... umgehen, aber das ist mir jetzt auch egal.
Vielen Dank
-daniel