Private Ordner bei Wechsel der Benutzer-ID

  • 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?

  • 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 Sub


    Leider werden private Ordner hierbei ignoriert!
    Kann ich bei fremden Postfächern noch verstehen.
    Aber im Eigenen mit Managerrechten?

  • 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?!

  • 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

  • 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.