AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
20.09.21 - 01:18:01
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  HCL Notes / Domino / Diverses
| |-+  Entwicklung (Moderatoren: eknori, fritandr, koehlerbv, Tode)
| | |-+  Notesscript Document Serverseitig automatisiert löschen
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Notesscript Document Serverseitig automatisiert löschen  (Gelesen 1129 mal)
NeulingInNote
Frischling
*
Offline Offline

Beiträge: 4


« am: 16.02.21 - 13:01:51 »

Hallo zusammen,
Ich hoffe das ich an der richtige Stelle poste!
Arbeite mit HCL ND 11 Agent sol von einem Ansicht die Dokumente Loopen und passende Dokumente automatisiert löschen.
Den Agent habe ich so weit geschrieben, das Problem ist wenn der Agent serverseitig gestartet wird, werden keine Dokumente gelöscht obwohl passende Dokumente vorhanden sind.
Wenn ich allerdings den Agent händich starte werden die Passende Dokumente gelöscht!
   
     view.AutoUpdate = False
     Do Until doc Is Nothing
      Set tempDoc = doc
      Set doc = view.GetNextDocument(doc)
      If tempDoc.verified(0) = "3" Then
         Call tempDoc.Removepermanently(true)
      End If
   Loop

Der Agent wird von WebQueryOpen mittels @Command([ToolsRunMacro]; "(change)") gestartet.

Vielen Dank imvoraus!




« Letzte Änderung: 16.02.21 - 13:19:00 von NeulingInNote » Gespeichert
Peter Klett
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 2704



« Antworten #1 am: 16.02.21 - 16:47:17 »

Wer führt das Script aus?

Welchen Zugriff hat derjenige auf die Datenbank?

Welcher maximale Zugriff aus dem Internet ist in der ACL eingerichtet?

Welche Sicherheitsstufe hat der Agent?

Wenn es dann funktionieren sollte, hältst Du es für eine gute Idee, dass Benutzer über Web Löschrechte auf die Datenbank haben?


Alternative: Lass den Agenten periodisch laufen. Auf Grund des Status (verified = "3") kannst Du die Dokumente in der Ansicht nicht anzeigen lassen, wozu dann löschen beim Öffnen?
Gespeichert
NeulingInNote
Frischling
*
Offline Offline

Beiträge: 4


« Antworten #2 am: 16.02.21 - 18:05:53 »

Danke für den schnelle Antwort.
Sorry ich hätte ausführliche schreiben sollen.


Das ganze soll stamm daten aktualisieren es wird nicht von web zugegriffen sondern der jenige füllt über web seite eine formular ein und schickt es. Nach dem der sein daten bestätigt hat (E-Mail Bestätigung) wird anhand eine Agent wird die Neu Dokument gegen alten anhand E-Mail geprüft ob der jenige schon vorhanden ist wenn der fall zutrifft wird der alte Dokument.verified wird auf 3 gesetzt und gespeichert. Das neue Dokument mit verified 2 gespeichert anschliesend wird eine Web-Seite,  umzu Bedanken vorgeblendet beim öffnen dieser Seite wird der Agent zum löchen mittels WebQueryOpen gestartet.

Es wird nicht gelöscht wenn der Agent zum löchen mittels WebQueryOpen gestartet wird, testweise starte ich es händich dann löcht er die passende Dokumente.

Wer führt das Script aus?  automatisch über WebQueryOpen wenn die Danke seite geöfnet wird.

Welchen Zugriff hat derjenige auf die Datenbank?  keine

Welcher maximale Zugriff aus dem Internet ist in der ACL eingerichtet? hmm lesen,  anonymous??

Welche Sicherheitsstufe hat der Agent? ist nicht sichtbar

Wenn es dann funktionieren sollte, hältst Du es für eine gute Idee, dass Benutzer über Web Löschrechte auf die Datenbank haben? Benutzer hat über Web keine Löschrechte!

Hoffe konte ich das Problematik darstellen wenn nicht bitte fragen, bin anfänger ohne notes Erfahrung der jenige der dafür zuständig war ist in die Rente gegangen.







Gespeichert
Peter Klett
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 2704



« Antworten #3 am: 17.02.21 - 06:31:13 »

Du solltest Dich mit den Sicherheitsmechanismen von Notes auseinandersetzen, ist ein wichtiges Thema.

Wer führt das Script aus?  automatisch über WebQueryOpen wenn die Danke seite geöfnet wird.
Wer ist die Frage, irgendein User muss es sein, und dieser benøtigt entsprechende Rechte, um Dokumente löschen zu können


Welchen Zugriff hat derjenige auf die Datenbank?  keine
Wenn er keine Zugriffsrechte hat, kann er auch nichts löschen

Welcher maximale Zugriff aus dem Internet ist in der ACL eingerichtet? hmm lesen,  anonymous??
Steht in der ACL, Reiter Erweitert

Welche Sicherheitsstufe hat der Agent? ist nicht sichtbar
Ist eine Eigenschaft des Agenten, siehst Du im Designer

Wenn es dann funktionieren sollte, hältst Du es für eine gute Idee, dass Benutzer über Web Löschrechte auf die Datenbank haben? Benutzer hat über Web keine Löschrechte!
Und Du fragst, warum der Agent dann nicht funtkioniert? Wenn er keine Rechte hat, etwas zu tun, dann kann er es auch nicht


Wie ich schon empfohlen hatte, lass die Löschung periodisch durch einen Agenten ausführen, der die entsprechenden Rechte hat, und nicht von dem Benutzer im Web
Gespeichert
NeulingInNote
Frischling
*
Offline Offline

Beiträge: 4


« Antworten #4 am: 17.02.21 - 15:37:10 »

Vielen Dank für die Hilfe

bin jetzt dein vorschlag nachgegangen und mir ein Agent geschrieben der Zeitgesteuert (Testweise alle 15 minuten) läuft.

Agent läuft unter meinem Name, habe Manager rechte auf der DB

Sicherheitstufen habe ich alle 3 ausprobiert dennoch funktioniert es leider nicht was mache ich falsch?

Hier der Agent:

Option Public
Sub Initialize
   Dim sess As New NotesSession
   Dim doc As NotesDocument
   Dim db As NotesDatabase
   Dim view As NotesView
   
   Set db = sess.CurrentDatabase
   Set doc = sess.DocumentContext
   Set view=db.GetView("XYZ")
   Set doc = view.GetFirstDocument
   
   view.AutoUpdate = False

   Do Until doc Is Nothing
      Set tempDoc = doc
      Set doc = view.GetNextDocument(doc)
      If tempDoc.verified(0) = "3" Then
         Call tempDoc.Removepermanently(true)
      End If
   Loop
   
End Sub
Gespeichert
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11560


« Antworten #5 am: 17.02.21 - 19:03:57 »

WAS funktioniert denn nicht?
Werden keine Dokumente gefunden? Nicht einmal das Erste?  Gibt es Fehlermeldungen auf der Server Konsole?


Agent läuft in deinem User Context. Fein. Werden Leser-/Autorenfelder in den Docs verwendet, und Du stehst evtl. Nicht drin?
Mehr Input, mehr output.
« Letzte Änderung: 17.02.21 - 19:08:18 von eknori » Gespeichert
NeulingInNote
Frischling
*
Offline Offline

Beiträge: 4


« Antworten #6 am: 23.02.21 - 11:11:20 »

Vielen Dank Peter und eknori für die hinweise,
es hat tatsächlich an zugrifsrechten gelegen periodische Löschung funktioniert!
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: