Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 25.09.03 - 12:18:17

Titel: lokale Replik verhindern
Beitrag von: Don Pasquale am 25.09.03 - 12:18:17

Weil meine Kunden wieder was wollen, was Lotus gar nicht so gut kann
muss ich verhindern, dass die DB auf einen Client gezogen
bzw. dort nicht ausgeführt werden kann. Redundante Daten
verträgt diese Anwendung nämlich nicht.


Wer weiss Rat ?

Ciao
Don Pasquale
Titel: Re:lokale Replik verhindern
Beitrag von: rar am 25.09.03 - 12:30:48
Du könntest ja im Postopen der DB abfragen ob sie lokal liegt und dann ein FileCloseWindow aufrufen. Dann kann er zwar eine Replik anlegen aber sie nicht öffnen.

HTH
-rar
Titel: Re:lokale Replik verhindern
Beitrag von: Don Pasquale am 25.09.03 - 12:34:05
@rar
Genau das "abfragen nach local " suche ich.

Ciao
Don Pasquale
Titel: Re:lokale Replik verhindern
Beitrag von: koehlerbv am 25.09.03 - 12:35:34
Das ist aber natürlich kein sicheres Verfahren: Über Datenbank-Gehe zu umgeht man das PostOpen. Dito das Öffnen eines Doks oder einer Ansicht via Link. U.a.m.
AFAIK ermöglicht R6, das Anlegen lokaler Repliken oder Kopien zu verbieten.

Bernhard
Titel: Re:lokale Replik verhindern
Beitrag von: rar am 25.09.03 - 12:37:48
@If(@Subset(@DbName;1)="";@Command([FileCloseWindow]);"")

müßte eigentlich funktionieren.
Titel: Re:lokale Replik verhindern
Beitrag von: rar am 25.09.03 - 12:40:00
Stimmt natürlich Bernhard.
Das war auch nur eine Idee von mir. Ich wüßte sonst nicht wie ich das Problem lösen könnte.
Titel: Re:lokale Replik verhindern
Beitrag von: koehlerbv am 25.09.03 - 12:44:33
Sowas müsste dann wohl in jede Maske, jeden Folder und jede Ansicht:

Declarations:
Declare Function NEMGetCurrentSubprogramWindow Lib "nnotesws.dll" () As Long
Declare Function NEMStopSubprogramWindow Lib "nnotesws.dll" (Byval wHandle As Long) As Integer


PostOpen oder Initialize:
Dim wHandle As Long
   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Set db = session.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

Wenn's der Kunde löhnt ;-)

Bernhard
Titel: Re:lokale Replik verhindern
Beitrag von: Don Pasquale am 25.09.03 - 12:58:51
Hallo bernhard & rar

Vielen Dank,
damit komme ich zurecht.

in die entscheidenen Views packe ich dann auch das
StopSubprogramm

Ciao
Don Pasquale
Titel: Re:lokale Replik verhindern
Beitrag von: Driri am 25.09.03 - 13:00:12
Hi,

wieso dekativierst Du nicht in den Replizierparametern für die Datenbank auf dem Server die Replikation ?

Beim Versuch, eine Replik zu erzeugen kommt dann eine Fehlermeldung, das Erzeugen einer Replik ist nicht mehr möglich.
Titel: Re:lokale Replik verhindern
Beitrag von: Don Pasquale am 25.09.03 - 13:02:59
@Driri:

Das wäre eine Idee, allerdings habe ich keine Gewähr, dass der Admin das auch wirklich macht :-(

Ciao
Don Pasquale
Titel: Re:lokale Replik verhindern
Beitrag von: Driri am 25.09.03 - 13:04:51
Hi,

warum sollte er nicht ?

Das einzige Problem ist natürlich, daß dann wirklich keine Replikation mehr möglich ist, also auch nicht mit anderen Servern.
Das hat also nur Sinn, wenn die DB nur auf einem Server eingesetzt wird.
Titel: Re:lokale Replik verhindern
Beitrag von: Semeaphoros am 25.09.03 - 13:05:44
Also eine lokale Bananen-Republik lässt sich in R5 tatsächlich nicht wirklich verhindern. ND6 hat dafür eine Datenbankeigenschaft - nur so als Hinweis.

Daneben gibt es Produkte auf dem Markt, die das zwar nicht zwingend verhindern, aber einen auf mögliches Ziehen von Repliken hinweisen können:

DotNSF hat so etwas, irgendwo auf dieser Site http://www.dotnsf.com/ sollte man Informationen finden. Leider ist George nicht unbedingt ein Freund von Uebersichtlichkeit. Das Produkt kontrolliert die Anzahl Zugriffe (konfigurierbar) und wenn diese verdächtig hoch sind (zB beim Ziehen einer Republik) kann der betreffende User für eine definierbare Zeit vom Zugriff abgeschnitten werden.

SecurTrac von Extracomm ( http://www.extracomm.com/ ) greift nicht so in die Funktionalität ein, protokolliert nur. Aber immerhin entdeckt man dadurch, wer möglicherweise eine Replik gezogen hat und kann der Sache nachgehen.

Vielleicht hilft das weiter.

Jens