Hi,
diese Probleme hatte ich auch. Inzwischen habe ich aber die ganzen Fallstricke umschifft.
Der erste wichtige Punkt, ist der, dass der private Ordner in der Datenbank abgelegt sein muss und nicht auf dem Desktop. D.h. der (bzw. die) User müssen das Recht haben persönliche Ordner zu erstellen.
Als zweites muss der Ordner bereits existieren wenn er mit PutAllInfolder gefüllt werden soll. Er wird nicht automatisch angelegt!! Ich glaube in der Designer - Hilfe steht was anderes.
Meine Lösung sieht nun so aus:
Ich habe für die Suche einen SPOFU - Ordner angelegt, so zu sagen als Template.
Im PostOpen-Event des Datenbank-Scriptes habe ich folgende Formelzeilen eingefügt:
@Command([OpenView]; "Name des Ordners");
@Command([FileCloseWindow])
Damit wird der Ordner kurz geöffnet und wieder geschlossen. Hier wird er, wenn er nicht vorhanden ist, angelegt.
Aber Achtung!! Hier muss in 5 ein Bug drin sein.
Lege ich von einer DB, in der der User bereits einen pers. Ordner auf diese Weise angelegt hat, eine neue Replik oder Kopie an, wird der Ordner nochmal angelegt. In Version 4 war das nicht der Fall.
Workaround:
Ich hab mir mit Notes 4.6 eine DB erstellt die einen SPOFU-Ordner enthält. Diese DB nehme ich dann und baue sie in % so um wie ich es brauche.
Das Leeren des Ordners realisiere ich so ähnlich, wie in diesem Beispiel:
...
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Set db = session.CurrentDatabase
Set view = db.GetView("Christmas")
Set vc = view.AllEntries
Call vc.RemoveAllFromFolder("Christmas")
...
Damit habe ich bisher keine Probleme gehabt. Ich nutze das in zwei grösseren DBs auf denen ca. 250 User rumtoben.
Axel