Private Ordner enthalten im Gestaltungsdokument die Felder $Flags, $Readers und $Authors.
Diese enthalten die Informationen welche den Status des Postfaches festlegen.
Enthält z.B. das Feld $Flags ein "V" handelt es sich um einen Privaten Ordner. Ist ein "P" enthalten bleibt der Ordner bei Schablonenänderungen unberührt.
Ich habe nun einen Agent in meine Maildatenbank eingebaut mit dem die Gestaltungselemente geändert werden können.
Funktioniert einwandfrei. Hat uns bei dem Problem der verschwundenen Ordner nach Schablonenänderung sehr geholfen! Leider werden die Privaten Ordner in diesem Agent nicht angezeigt. Bin mit meiner ID auf meinem eigenen Postfach.
Kann mir hierbei jemand helfen?
Private Ordner bei Wechsel der Benutzer-ID
- FrankU
- Erledigt
-
-
Zitat
Leider werden die Privaten Ordner in diesem Agent nicht angezeigt.
Bitte formuliere das anders, warum sollte ein Agent Ordner anzeigen? Per Messagebox?
Private Ordner werden unter 2 Umständen nicht angezeigt:
a) Ersteller des Ordners ungleich aktueller Nutzer
b) Ordner wurde nicht in der Datenbank sondern mangels Rechten in der desktop.ndk des Nutzers gespeichert.Im Falle von a) helfen nur Tricks an den Ordner ranzukommen.
Im Falle von b) muß man sich an den PC mit der entsprechenden desktop.ndk und der korrekten ID setzen. -
Bevor ich Änderungen an den Designelementen vornehme möchte ich mir per Messagebox den Inhalt der Felder $Title und $Flags für jeden vorhandenen Ordner meiner Mailbox anzeigen lassen. Das funktioniert auch, aber der private Ordner ist nicht mit dabei.
Den privaten Ordner habe ich kurz vorher am gleichen Rechner mit der gleichen ID und Managerrechten in meiner eigenen Mailbox erstellt. -
Ich kann dein Problem leider in keiner Weise nachvollziehen. Das folgende Script liefert mir alle meine privaten Ordner sauber zurück:
-
Vielen Dank für den Tip.
Hilft mir aber leider nicht weiter.
Ich muss in den privaten Ordnern Designelemente ändern, das heisst in das Feld "$Flags" ein "P" einfügen um zu verhindern dass bei Schablonenänderung der Ordner gelöscht wird.
Das erfolgt unter Zuhilfenahme der "dbdesign" Bibliothek mit folgendem Agent:Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim oDesign As DatabaseDesign
Dim temp As String
Set db = session.currentDatabase
Set oDesign = createDatabaseDesign( db)Dim folders As Variant
folders = oDesign.folderDocuments
If Not Isempty( folders) Then
Forall folderdoc In folders
temp = folderdoc.getItemValue( "$Flags")(0)
tmpTitle = folderdoc.getItemValue( "$Title")(0)
If Instr(temp,"P") = 0 And Instr(tmpTitle,"(") > 1 And Instr(tmpTitle,"$") = 0 Then
folderdoc.editmode = True
Call folderdoc.ReplaceItemValue( "$Flags", temp + "P" )
Call folderdoc.Save( True, True )
End If
End Forall
End If
End SubLeider werden private Ordner hierbei ignoriert!
Kann ich bei fremden Postfächern noch verstehen.
Aber im Eigenen mit Managerrechten? -
Das hängt davon ab wie die dbdesign Bibliothek arbeitet.
Vielleicht ignoriert diese ja alle Private Elemente. -
Nun...einfach Buchstaben dranzuhängen und zu hoffen dass die Flags richtig gesetzt werden find ich etwas blauäugig. Schließlich sind einige Flags bitcodiert und damit außerhalb des normalen Zeichensatzes.
Exakt das gewollte Ergebnis erreiche ich auch indem ich mein oben aufgeführtes Script anstelle der Messagebox mit folgender Zeile ersetze:
v.IsProhibitDesignRefresh = True
Wozu also solche Umstände wenns auch simpel ohne Zusatztools geht?!
-
Habe ich gecheckt.
Es werden alle Designdokumente herangezogen, die in $Flags ein "F" enhalten, also Folder ohne weitere Filter. -
siehe oben (vermutlich hast mein Post übersehen während du selbst gepostet hast)
-
Hat sich warscheinlich gerade überschnitten.
Habe es ausprobiert, bekomme aber folgende Fehlermeldung.
"Instance member ISPROHIBITDESIGNREFRESH does not exist"Domino 5.0.11
Notes 5.0.11 -
Diese Eigenschaft gibt es erst ab Notes 6
-
Von R5 war bisher nie die Rede...;=) Habe aber grad kein konfiguriertes 5er System zum Test laufen. Ich habe das Problem aber unter R4 schonmal gehabt und habs damals auch über NotesDocument und $Flags gelöst soweit ich mich erinnere. Allerdings erinner ich mich auch dass es da einiges zu beachten gab.