Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rar am 17.09.03 - 14:25:10

Titel: Ich kann die Replizierparameter via script nicht ändern
Beitrag von: rar am 17.09.03 - 14:25:10
Seawas!

Ich habe folgendes Problem:
Ich möchte in lokalen DB, auf der ich nicht Manager bin (konsistente ACL) die Replizierparameter via Script ändern.

Beim Abspeichern der NotesReplication kommt aber die Fehlermeldung
Error accessing product object method

Wenn ich Manager bin gehts.
Das ganze kommt mir sehr merkwürdig vor, da ich als Autor händisch die Parameter schon ändern kann.

Hat jemand eine Idee, wie ich die blöde Änderungen abspeichern kann?

lg
-rar
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: ata am 17.09.03 - 18:53:58
... hasr du es schon mit einem Agenten versucht, der entsprechend signiert ist?

ata
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: koehlerbv am 17.09.03 - 20:07:28
Ein bißchen Code wäre jetzt schon nicht schlecht, damit man das besser beurteilen kann.
Auch in diesem Forum sitzt nicht ein einziger Hellseher !

Bernhard
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: rar am 18.09.03 - 10:11:50
Die DB wird automatisch angelegt und beim ersten öffnen sollen die Parameter geändert werden.
Mit einem Agent weiß ich nicht wie ich das machen kann. Wenn er vom User gestartet wird, läuft er ja mit den Rechten des Users. Und getriggert kann ich ihn  ja nicht laufen lassen, da die eigenschaften lokal am Client geändert werden sollen.

Hier ist mein Code:
Dim rep As NotesReplication
Set rep = db.ReplicationInfo
Dim strErstesOeffnen As String
strErstesOeffnen = session.GetEnvironmentString("wardiedatenbankschonmaloffen")
If strErstesOeffnen <> "ja" And db.Server = "" Then
   'Prio -> mittel
   If rep.Priority <> DB_REPLICATION_PRIORITY_MED Then
      rep.Priority = DB_REPLICATION_PRIORITY_MED
   End If
   'Eingehende Löschungen
   If rep.IgnoreDestDeletes = True Then
      rep.IgnoreDestDeletes = False
   End If
   'History löschen
   Call rep.ClearHistory()
   Call rep.Save()
   'In die ini schreiben
   Call session.SetEnvironmentVar("wardiedatenbankschonmaloffen","ja")
End If

Beim Call rep.Save() kommt dann die gemeine Fehlermeldung.

lg
-rar
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: ata am 18.09.03 - 19:23:45
... du unterliegst einem Irrtum, der Agent wird mit den Rechten des Unterzeichners gestartet, nicht denen des Users...

ata
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: rar am 19.09.03 - 10:40:40
Hi ata!
Ich glaube da unterliegst du einem Irrtum...
Laut deiner Aussage, könnte ein Leser über einen Agent Dokumente oder die ACL ändern. Dem ist aber nicht so!

Trotzdem habe ich das mit dem Agent jetzt probiert. Wie erwartet ohne Erfolg  :'(
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: ata am 19.09.03 - 21:21:29
... er könnte als Leser so etwas, wenn er berechtigt ist "unrestricted agents" ausführen zu dürfen - das ist einer der Sicherheitsrestriction - wenn du in der Hilfe über Agenten nachliest, dann stösst du auf meine Behauptung, daß der Agent mit den Rechten der letzten Signatur arbeitet - soll heißen wer ihn zuletzt speicherte oder mit wessen ID die Datenbank/Agent signiert wurde...

... ich kann jetzt allerdings nicht mit Bestimmtheit sagen, ob das eventuell mit Replikationsformeln nicht geht...

ata
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: koehlerbv am 19.09.03 - 21:50:33
Mal ne blöde Frage meinerseits (ich habe momentan keine Zeit, daß hier testweise nachzuvollziehen):
Könnte ein Zusammenhang bestehen zwischen
- lokaler DB und
- kein Manager-Access und
- konsistenter ACL?

Hast Du das Verhalten schon mal verglichen mit DBs,
- in denen Du Manager Access hast und die konsistente ACL haben
bzw.
- in denen Du Author-Access hast, die aber KEINE konsistente ACL haben ?

Nur mal so als Versuch, um Risiken und Nebenwirkungen auszuschliessen ...

Bernhard
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: ata am 19.09.03 - 21:56:21
@koehlerbv

... das ist natürlich auch noch ein Aspekt...

ata
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: koehlerbv am 19.09.03 - 22:09:27
;-))
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: rar am 22.09.03 - 10:49:55
@Bernhard:
Natürlich besteht da ein Zusammenhang....
Bei Manager mit konststenter ACL funktioniert der Code, da ich ja Managerrechte auf die DB hab.
Bei Autor ohne kon. ACL gehts auch, da ich ja dann auch die Managetrrechte hab (Weil ich lokal bin).

Händich darf ich in den Parametern immer alles ändern. Egal wie hoch meine Rechte sind und unabhängig von (k)einer konsistenten ACL

@ata:
Das mit den "unrestricted agents"...
Wer darf unrestricted agents ausführen? Ist das die Gruppe, die im Serverdokument unter "Unbeschränkte LotusScript/Java-Agenten ausführen:" eingetragen ist?
Ich hab den User in die Gruppe eingetragen und getestet, hat aber auch nichts bewirkt...

lg
-rar
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: koehlerbv am 22.09.03 - 10:59:32
Da die Aktion ja in lokalen DBs ausgeführt werden soll, brauchen wir uns über Rechte von Agents keine Gedanken zu machen - lokal laufen diese ja immer mit den Rechten des aktuellen Users, unabhängig davon, wer sie unterzeichnet hat.

Das mit "händisch kann ich immer ändern" muß so nicht stimmen - in der ReplicationInfo können ja Properties stehen, die man tatsächlich "händisch" auch nicht ändern kann. Gespeichert wird in LS aber immer die GESAMTE ReplicationInfo.

Bernhard
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: rar am 22.09.03 - 11:17:15
Mit alles ändern mein ich nur die 3 Sachen, die ich ändern möchte. Nämlich die Prio, die eingehenden Löschungen und die History (löschen).

Aber Notes läßt mich nichteinmal die ReplicationInfo, in der ich nur die Priorität geändert habe, abspeichern wenn ich nicht Manager bin. Und genau das ist es, was mich anzipft.
Von den anderen Properties, die ich händisch nicht ändern kann rede ich gar nicht.
Titel: Re:Ich kann die Replizierparameter via script nicht ändern
Beitrag von: koehlerbv am 22.09.03 - 12:00:03
Wie schon oben geschrieben: Du speicherst immer die komplette ReplicationInfo - LS läßt da nix anderes zu. LS es ist dabei wurscht, welche Properties Du geändert hast.
Und genau das könnte zum Rechteproblem führen.
Titel: Re: Ich kann die Replizierparameter via script nicht ändern
Beitrag von: hen am 17.01.06 - 18:41:30
Dieser Thread ist schon was älter, aber entspricht genau meinem Problem, deshalb reaktivier ich ihn mal wieder.

@rar: Hast du das replicationInfo Object jetzt dazu gebraucht ohne Fehlermeldung zu speichern?

@Koehlerbv: Dein letztes Post geht mir nicht in den Sinn. Wenn ich eine Properties von ReplicationInfo Objekt verändere und dann speichere, ist es mir doch egal ob Notes alle Properties des Objektes speichert oder nur meine geänderte. Hauptsache LS überschreibt keine ungeänderten Properties.

Wie kriege ich LS nun dazu die von mir per Aktion geänderten ReplicationInfo Properties zu ändern?

Titel: Re: Ich kann die Replizierparameter via script nicht ändern
Beitrag von: rar am 18.01.06 - 08:47:54
Hi hen,

ich habe überall gesucht, aber ich finde DB nicht mehr, in der ich das Problem hatte. Wie ich es dann gelöst habe, kann ich dir leider nicht mehr sagen. Ist schon a bissi lang her.

Sry  :-\