Autor Thema: Leere Ordner per Script löschen  (Gelesen 1940 mal)

Offline mastertom

  • Senior Mitglied
  • ****
  • Beiträge: 350
  • Geschlecht: Männlich
  • Yet another Domino-Day!
Leere Ordner per Script löschen
« am: 11.04.08 - 17:41:33 »
Hallo,

ich suche eine Routine, die es ermöglicht, leere Ordner in einer Mail-DB zu löschen.

Hintergrund: User legen ständig neue Order an für Projekte, die 1/2 Jahr laufen. Die Dokumente werden irgendwann archiviert, die Ordner dümpeln unnötig in der Mailbox herum.

Ziel wäre, alle Ordner zu löschen, in denen kein Dokument mehr referenziert wird.

Ist dies einfach möglich? Gibt es Seiteneffekte (Notes 7 oder höher)?

Danke
Gruß

Tom

-----------------------------------------------------

Einen Haufen User, die einem von der Arbeit abhalten wollen :)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Leere Ordner per Script löschen
« Antwort #1 am: 11.04.08 - 17:49:27 »
Mit der NotesNoteCollection Klasse solltest alle Ordner zu lesen bekommen und diese auch löschen können.

Über das AllEntries Property der NotesView Klasse müsstest du dann die Anzahl der Dokumente auslesen können.

Negative Seiteneffekte kann ich mir nicht vorstellen.

Dies nur so als erster Ansatz.

Gruß
Sascha

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Leere Ordner per Script löschen
« Antwort #2 am: 11.04.08 - 17:55:16 »
Volle Zustimmung zu Saschas Posting.
Alternativ kannst Du statt der NotesNoteCollection auch NotesDatabase.Views Property verwenden. NotesView.IsFolder sagt Dir, ob es ein Folder oder eine View ist, NotesView.Remove gibt Dir die Möglichkeit zur Execution der Delinquenten.
Achtung: NotesDatabase.Views ist langsamer als Saschas Tipp mit der NotesNoteCollection (aber einfacher umzusetzen im Sinne von "weniger Zeilen". Das ist aber nur marginal).

Negative Seiteneffekte: Nein.

Bernhard

Offline ar60

  • Frischling
  • *
  • Beiträge: 2
  • Geschlecht: Männlich
Re: Leere Ordner per Script löschen
« Antwort #3 am: 14.04.08 - 12:12:19 »
 :o

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Set db = session.CurrentDatabase
   
   Forall view In db.Views
      If    view.isfolder And view.TopLevelEntryCount =0 Then   '
         '###########################
         
      Das Seiteneffektverursachende habe ich mal garnicht erst hier stehen lassen.
          Es gibt genügend Entwickler die Ordner für ihre Anwendungen nutzen
     Die Mailschablone hat Ordner von Haus aus die Leer sind zum Beispiel
          Foldername=($Alarms)
               Foldername=($Inbox)
          Foldername=(Rules)
               Foldername=($Trash)
         
         Wenn es unbedingt sein muss  Dann müssen noch sehr viele
                        Ausschlusskriterien in der IF Abfrage definiert werden.
         
         Ich konnte KEINE SEITENEFFEKTE nicht so einfach überlesen.
         
         Tschau.
         
         '###########################
      End If      
   End Forall
   
End Sub

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Leere Ordner per Script löschen
« Antwort #4 am: 14.04.08 - 12:21:16 »
$Flags (enthält "P") muss natürlich noch geprüft werden - in der Frage war ja die Rede von den Ordnern, die die User selber anlegen.

Bernhard

botschi

  • Gast
Re: Leere Ordner per Script löschen
« Antwort #5 am: 14.04.08 - 12:26:55 »
Ich halte den Ansatz schon für falsch. Man kann doch nicht jedem User einen "Betreuer" zur Seite stellen oder (wenn man die Betreuer natürlich nicht hat) einfach dessen Ordner löschen?  ???

Wenn ich Montags ins Büro komme und mein eigens angelegter Ordner "ToDo" ist JEDESMAL gelöscht- weil ich alles erledigt und gepflegt habe- würde ich schon kotzen  ;D

Da gibts ne Arbeitsanweisung von "oben" die heißt "Alte Ordner sind zu löschen" oder so ähnlich und dann ist gut.
Warum müssen die Ordner überhauot weg? Fressen sie zu viel Speicher?

Matthias

Offline mastertom

  • Senior Mitglied
  • ****
  • Beiträge: 350
  • Geschlecht: Männlich
  • Yet another Domino-Day!
Re: Leere Ordner per Script löschen
« Antwort #6 am: 16.04.08 - 13:59:34 »
Hallo,

erst mal danke für die Anregungen...

Im konkreten Fall geht es darum, dass die User selbst eine Möglichkeit erhalten möchten, Ihre Mailbox von "unnötigen" Ordnern zu befreien. Das löschen einzelner Ordner ist recht umständlich..

Ein Script, dass z.B. alle leeren Ordner sucht und löscht (ggf. auch erst nach Rückfrage) scheint hier der geeignete Weg zu sein.

Hinderlich sind zu viele Ordner durchaus.. schon alleine die Übersicht würde durch eine solche Aufräumaktion merklich verbessert werden.

Es gibt auch in Datenbanken Grenzen, ab denen einem die Ordner quasi um die Ohren fliegen (hier hab ich aber keine festen Werte, daher bleib ich bei der Aussage nebulös)...

Gruß

Tom

-----------------------------------------------------

Einen Haufen User, die einem von der Arbeit abhalten wollen :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz