Autor Thema: Postopen der DB  (Gelesen 4990 mal)

Weixel

  • Gast
Postopen der DB
« am: 30.04.08 - 15:27:27 »
Hallo Ihr @Notes'ler

Kann mir jemand sagen (Habe leider nichts über die Suche gefunden), warum der NotesUIDatabase.Close Befehl nicht direkt im Postopen der DB ausgeführt werden kann ?


Code
Sub Postopen(Source As Notesuidatabase)

Dim UserRoles As Variant
Dim int_x As Integer
	
UserRoles = Evaluate( {@UserRoles} )
	
For int_x = 0 To Ubound( UserRoles) Step 1
	If UserRoles(int_x) = "" Then
                Source.Close
	End If
Next

Danke schonmal für jedliche Hilfe

MfG
Patrick

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Postopen der DB
« Antwort #1 am: 30.04.08 - 15:50:07 »
Ich musste diese Erfahrung leider auch schon in mehreren Projekten machen.
Besser wäre es natürlich, den Anwender erst gar nicht in die Datenbank zu lassen, also ein QueryOpen-Event für die NotesUiDatabase.
Habe hierzu auch die Idee in IdeaJam eingestellt:
http://ideajam.net/IdeaJam/P/ij.nsf/0/1779BDE35CD8581686257413002FE374?OpenDocument

Ich mir im letzten Projekt über einen Timer weitergeholfen, der die Datenbank mit ca. 1 Sekunde Verzögerung schließt. Nicht wirklich schön - aber immerhin.

klaussal

  • Gast
Re: Postopen der DB
« Antwort #2 am: 30.04.08 - 15:55:48 »
Zitat
Besser wäre es natürlich, den Anwender erst gar nicht in die Datenbank zu lassen

Macht man das nicht über die ACL ?

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Postopen der DB
« Antwort #3 am: 30.04.08 - 15:57:23 »
Besser wäre es natürlich, den Anwender erst gar nicht in die Datenbank zu lassen
Ich hätte auch gesagt, dass der Zugriff über eine Rollen eindeutig in der ACL zu definieren ist.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Weixel

  • Gast
Re: Postopen der DB
« Antwort #4 am: 30.04.08 - 15:58:22 »
Zitat
Besser wäre es natürlich, den Anwender erst gar nicht in die Datenbank zu lassen

Macht man das nicht über die ACL ?

Klar, das Problem hier ist allerdings wie ich die DB verwende.


Das ganze ist eine Vorlagendatenbank in der sich Textbausteine zB befinden.
Diese füge ich in ein Dokument in der eigentlichen DB mit einer simplen Copy-Paste funktionalität ein, was leider auch vorraussetzt, dass der User Edit-Rechte in der Vorlagendatenbank hat.
Deswegen fällt die Möglichkeit über die ACL leider weg

klaussal

  • Gast
Re: Postopen der DB
« Antwort #5 am: 30.04.08 - 16:01:47 »
Zitat
leider auch vorraussetzt, dass der User Edit-Rechte in der Vorlagendatenbank hat.

Warum ? Leserecht sollte reichen.

klaussal

  • Gast
Re: Postopen der DB
« Antwort #6 am: 30.04.08 - 16:03:11 »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Postopen der DB
« Antwort #7 am: 30.04.08 - 16:06:05 »
Abgesehen davon ist es letztlich Quatsch, sowas über das DatabaseScript-Postopen lösen zu wollen, da dieses nicht zwingend ausgeführt werden muss. Das sollte aber auch bekannt sein.

Bernhard

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Postopen der DB
« Antwort #8 am: 30.04.08 - 16:18:52 »
Wie soll man das denn dann am besten lösen?

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Postopen der DB
« Antwort #9 am: 30.04.08 - 16:23:58 »
1) ACL
2) Es reichen Leserechte. Editor-Rechte sind nicht notwendig.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Postopen der DB
« Antwort #10 am: 30.04.08 - 16:27:39 »
Es gibt immer mal wieder den Fall, dass man in einer Datenbank eben Leserechte braucht, dass man aber verhindern will, dass ein "normaler" Anwender eine Datenbank öffnet und darin navigiert.

ACL = Leser hält ihn hiervon ja nicht ab.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Postopen der DB
« Antwort #11 am: 30.04.08 - 16:49:42 »
Sorry, das versteh ich nicht.
Er darf die Dokumente in der DB lesen, soll aber nicht darin "herumnavigieren"? Warum nicht? Er darf doch eh alles sehen, was in der DB drinnen ist, sonst hätte er keine Leserechte.

 ???
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Postopen der DB
« Antwort #12 am: 30.04.08 - 17:00:01 »
Klar, klingt erst mal "seltsam", macht aber in bestimmten Situationen schon mal Sinn.

Es gibt aber auch andere Situationen, wo man den Anwender davon abhalten möchte, eine Datenbank zu öffnen. Ich hatte neulich den Fall, dass der Anwender davon abgehalten werden soll, mit der lokalen Replik zu arbeiten, wenn die Server-DB auch zur Verfügung steht.  In diesem Fall soll nach einer entsprechenden Nachfrage automatisch die Server-DB geöffnet und die lokale DB geschlossen werden.
Leider gibt es eben kein QueryOpenDatabase - man hat also nur die Chance, über das PostOpen einzugreifen und muss also die Datenbank ggf. wieder schließen.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Postopen der DB
« Antwort #13 am: 30.04.08 - 17:01:56 »
1) Im Deutschen kann nichts "Sinn machen". ;)

2) Bei "lokal" vs. "server" kann ich das ja nachvollziehen. Aber hier irgendwie nicht.  :-:
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Postopen der DB
« Antwort #14 am: 30.04.08 - 18:37:26 »
Es gibt immer mal wieder den Fall, dass man in einer Datenbank eben Leserechte braucht, dass man aber verhindern will, dass ein "normaler" Anwender eine Datenbank öffnet und darin navigiert.

ACL = Leser hält ihn hiervon ja nicht ab.

Dafür gibt es die Rollen.

Du gibst dem User Leserechte auf die DB und regelst dann mit Rollen auf welche Dokumente er zugreifen darf.

Alles andere lässt sich irgendwie austricksen.

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

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Postopen der DB
« Antwort #15 am: 30.04.08 - 19:33:15 »
Ich glaub weixel meint, dass er auf die Vorlagendatenbank mit diesem alten Formelsprachen-Trick draufzugreift, in dem er alles in einem bestimmten Feld highlighted und das per Zwischenablage in eine andere Datenbank kopiert. Oder wie in dem Lepowski Link von Klaus beschrieben.
Unter dieser Voraussetzung macht die Frage eventuell schon Sinn. Ganz sicher bin ich mir aber nicht.
Kannst du das vielleicht nicht etwa in einen Agenten packen und dann in den Agenten mit run on behalf of arbeiten (dort einen Eintragen, der Admin-Rechte hat). Dann könntest du in der Template-DB mit Leserrechten für normale Anwender arbeiten und die können über diesen Agenten dann trotzdem drauf zugreifen, weil der Agent ja on-behalf-of jemanden mit höheren Rechten agiert. Bin mir aber nicht so hundertprozentig sicher, dass das so geht.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Postopen der DB
« Antwort #16 am: 07.05.08 - 18:19:18 »
Interessante Technik zum Schließen der Datenbank im PostOpen, hier ist der Link.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz