Domino 9 und frühere Versionen > ND6: Entwicklung

Sperren von Dokumenten - Wieder entsperren

(1/2) > >>

heidiweber:
Hallo

ich habe bei meiner Datenbank die Funktion "Sperren von Dokumenten zulassen" aktiviert. Jedoch tritt das Problem auf, dass Dokumente gesperrt bleiben, obwohl sich die jeweiligen Personn nicht mehr im Dokument befindet. In 99% der Fälle funktioniert die "Sperren-Funktion".

Ich habe schon google und hier die Forum-Suche probiert. Mehrere Tipps (z.B. neuen Notes-Client ab Version 6.5.5 installiert) ausprobiert. aber leider hats bis jetzt nichts gebracht.

Deswegen möchte ich als Workaround folgendes probieren:
Es soll einmal am Tag ein Agent laufen, der die gesperrten Dokumente wieder entsperrt. Der Agent schaut so aus:

   Set db = session.CurrentDatabase
   
   If Not db.IsDocumentLockingEnabled Then
      Print "Document locking not enabled"
      Exit Sub
   End If
   
   'Ansicht: "viewKonfigGesperrteDokus"
   Set viewAntrDoc = db.GetView( "viewKonfigGesperrteDokus" )
   Set collection = viewAntrDoc.AllEntries
   Set entry = collection.GetFirstEntry()
   
   While Not(entry Is Nothing)
      Set doc = entry.Document
      
      If doc.LockHolders(0) = "" Then
         
         doc.RemoveItem("$Writers")
         doc.RemoveItem("$WritersDate")
         
      End If
      
      doc.UnLock
      
      Set entry = collection.GetNextEntry(entry)
   Wend


Wenn ich den Agenten manuell starte (über die Menüleiste), werden alle Dokumente wieder entsperrt. Läuft der Agent aber automatisch periodisch an, passiert nichts. Es werden keine Dokumente entsperrt. Er läuft aber 100%ig. Nur er macht nichts. Ist meiner Meinung nach ein Rechte-Problem? Unser Notes-Admin meint, dass der Agent nicht mehr Rechte bekommen kann, da er schon die max. Rechte hat.

Hat von euch vielleicht jemand noch nen Tipp, wie man den AGneten zum laufen bekommt? Oder wie man die Dokumente wieder entsperren kann?

Vielen Dank
Grüße
Heidi

Sabine:
Hallo Heidi,

mir ist das Problem ebenfalls bekannt. Hatte mir damals auch einen Agenten gebastelt, den ich bei Bedarf starte. Habe das mit Hilfe der Formelsprache gelöst, vielleicht hilft es Dir weiter?


var:=@If(@Contains(@DocFields; "$Writers"); "1"; "2");
@If(var="1";
FIELD $Writers:=@DeleteField &
FIELD $WritersDate:=@DeleteField;"");
SELECT @All


Viel Erfolg

Gruß Sabine

HH:
Hallo Heidi,

fehlt da das doc.save(...) ?

Hubert

heidiweber:
Hallo,

wird das doc.save hier überhaupt benötigt? Wenn ich den Agenten manuell starte, funktioniert er ja - die beiden Felder sind nicht mehr im Dokument vorhanden.

Sabine: Mit welcher Berechtigung läuft denn dein Agent - läuft der nach Zeitplan oder wird der manuell gestartet? Es sollte doch keinen Unterschied machen, pb man LotusScript oder Formelsprache benutz? Oder?

Vielen Dank
Heidi

ossigo:
Hallo,

ist evtl. doch ein Rechteproblem:
Geh mal in die Eigenschaften des Agenten und stell unter dem Reiter Sicherheit "Beschränkte Operationen zulassen" an. Hört sich für mich danach an...

Sonst auch hier:
http://atnotes.de/index.php?topic=34939.0

Jens

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln