Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Jörg am 14.11.05 - 11:09:24

Titel: Lokale Datenbank über Replikhistory sperren
Beitrag von: Jörg am 14.11.05 - 11:09:24
Hi ,

ich habe die Aufgabe bekommen eine lokale Datenbank zu sperren wenn das Replikationsdatum älter als "X"Tage ist.
Es soll so ein Missbrauch der DB unterbunden werden.
Nun habe ich die Suche schon gequält und ein Scpript gefunden mit dem ich die Replikationhistory
auslesen kann:

http://atnotes.de/index.php?topic=8437.0

Aber nun sollte ich ja einen Vergleich einbauen den ich dann in irgend wo in die DB einbauen
muss, aber wie muss dieser Vergleich aussehen und wo plaziere ich ihn am besten...... ????

Gruss Jörg
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: Lossa am 14.11.05 - 11:19:33
Das Script müsste auf jeden Fall in den OpenEvent der Datenbank, denn nur dort kannst du dafür sorgen, das bei jedem öffnen der Datenbank das Script geprüft wird.
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: Jörg am 14.11.05 - 14:57:40
Hi,

ich habe nun das Script bei den Datenbankscript eingefügt.
Nun möchte ich ja keine Anzeige mir ausgeben , sondern ja auf das letzte Replikdatum
reagieren.

Hierzu habe ich folgendes Script eingebaut bei "Postopen":
Code
Sub Postopen(Source As Notesuidatabase)
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim weekDateTime As NotesDateTime
	Dim modifiedDateTime As NotesDateTime
	Dim sList() As String
	Dim nCt%, nReturn%
	Dim sRepTime$
	Dim lEntries&
	Set db=session.GetDatabase("", "serviceinfobase.nsf")
	Set weekDateTime = New NotesDateTime( "Today" )
	sRepTime$=Space(MAXALPHATIMEDATE + 1)		
	
	
	Call weekDateTime.AdjustDay( -7 )  ' set to one week ago
	modifiedDateTime.LSLocalTime = sRepTime$
	If weekDateTime.TimeDifference( modifiedDateTime ) > 0  Then
		Msgbox "Reminder: please make a replcation from the database"
		Call db.Open( "", "" )
	Else
		Call db.Open("", "serviceinfobase.nsf")
	End If
	
End Sub

Hierzu habe ich einige Fragen:

- Wie komme ich nun an die letzte Replikzeit??
- Wie kann ich nun damit verhindern das die Datenbank geöffnet wird??

Gruss JÖrg
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: koehlerbv am 14.11.05 - 15:25:25
Ich befürchte, dass die nachträgliche Verweigerung des Zugriffs auf eine Datenbank, für die Zugriffsrechte eingeräumt wurden, nicht möglich ist.

Das PostOpen des DatabaseScripts ist dafür auf jeden Fall schon einmal ungeeignet, da es nicht zwingend ausgeführt werden muss.

Bernhard
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: Jörg am 14.11.05 - 15:40:27
Wäre denn dann der Code bei Initialize einzubinden???


Gruss JÖrg
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: koehlerbv am 14.11.05 - 15:47:43
Events des PostOpen-Events müssen prinzipiell nicht ausgeführt werden (Öffnen über "Gehe zu" oder über einen Dokumenten-/Ansichtenlink, Zugriff aus einer DB heraus, kopieren der Dokumente aus einer anderen DB heraus usw. usf.).

Bernhard
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: Jörg am 15.11.05 - 12:28:43
Wo kann ich denn diese Abfrage einbinden.
Es soll halt kein Dokument aufgehen wenn die Abfrage negativ ist.

Kann ich da evt. in meiner Rahmengruppe damit arbeiten????


Gruss Jörg
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: koehlerbv am 15.11.05 - 15:38:22
Ich wüsste keine Stelle, an der man sicher den Zugriff auf Daten einer Datenbank, auf die man prinzipiell Zugriffsrechte hat, sperren könnte.
Für eine Rahmengruppe fehlen Dir sowieso die events, ansonsten würde dafür das gleiche gelten wie für das DatabaseScript.

Bernhard
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: koehlerbv am 18.11.05 - 01:02:06
Hallo Jörg,

da Du nun mittlerweile mit einem neuen Thread unterwegs bist: Wie ist denn der Stand nun in dieser Sache?

Ich glaube nach wie vor, dass Euer Problem nur oganisatorisch zu lösen ist und nicht durch Software.

Bernhard
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: Jörg am 18.11.05 - 08:56:46
Das Problem ist noch aktuell.
Sobald ich die Lösung habe , werde ich diese
hier mitteilen.

Zur Zeit soll ich die Datenbank nun schon mit Daten füllen.

Gruss Jörg
Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: Jörg am 24.11.05 - 15:29:59
Eine Lösung habe ich zwar nicht , aber einen Ansatz.

Bei den Datenbank-Skipts möchte ich in Post-Open ,
ein Scipt einbauen das ein öffnen von Dokumenten
unterbindet wenn wie schon oben genannt eine Zeit "X"
abgelaufen ist und in einen Profil-Dokument eine Zähler hochzählt.

Wer könnte mir Tips geben wie ich dies am besten anfangen kann...

Gruss Jörg





Titel: Re: Lokale Datenbank über Replikhistory sperren
Beitrag von: koehlerbv am 24.11.05 - 15:33:49
Nochmals: Das PostOpen des DatabaseScripts muss nicht zwingend ausgeführt werden. Ein Verfahren über dieses Event bedeutet keinerlei Sicherheit.

Bernhard