Detecting private folders – targeted communications
There is a common misconception with the user community that Private Folders in Lotus Notes constitute making emails or calendar secure in some way.
Unfortunately, there is nothing really private about them; only the creator of a private folder can see the folder in the navigator, others cannot. If the owner moves a document into a private folder, it will still appear in the all documents view, or be accessible through other dedicated views or searches.
Private folders are prevalent in some organisations which have been using Lotus Notes for many years. This is because the option to privatise a folder on creation was an obvious option when faced with the New Folder dialogue. In more recent versions of Notes you have to dig a little deeper to find this option, so they are not used so much any more.
When it comes to migrations and recreating the folder structure in Outlook from Notes, private folders create a challenge. No User Notes ID has access to see them, therefore when you try to recreate the structure in Outlook and maintain fidelity by moving appropriate emails to the correct folders; this will not work. They will end up in an “unfiled” folder, and the user will lose the structure.
The typical solution here is to send a button to ALL the users in your organisation which creates a Shared Folder with the same name, move all the emails from the Private Folder into the shared folder, then delete the shared folder.
For some organisations it is not palatable to canvas their entire global organisation with an email asking all the users to do something like this, especially if they don’t have private folders in the first place. This was especially apparent at the last two companies I have perform migration and coexistence solutions for which had over 200,000 users each.
Now I guess we could argue that you could create a hidden embedded form which is sent to the users, which then detects on the fly (in the context of the user) if they have private folders and presents them with the button. Also, we have the small problem that users never read emails from IT anyway.
What if you could detect the existence of the private folder so you could have targeted comms for such things?
Well, its important for the Domino Server ID to be aware of Private folders so it can replicate them. So lets use this!?
If you incorporate this code snippet (I take no responsibility) and ensure the agent is running “Server Side” by populating the “Run on behalf of” in the Security section of your agent with the Servers Name, then you should be good to go. (assuming the server has manager access to the users mail database)
‘check for Private folders
Dim nnc As NotesNoteCollection
Dim privatedoc As NotesDocument
Dim nid As String, nextid As String
Dim pd As Integer
Dim pdtitle As Variant
Set nnc = the_user_mail_database.CreateNoteCollection(False)
nnc.SelectAllDesignElements False
nnc.SelectFolders = True
nnc.SelectViews = True
nnc.SelectionFormula = { @If(@Contains($Flags; “P”) | $Class != “” ; $Flags != “3PFY”; @False) }
nnc.BuildCollection
‘nnc.Count = number of private folders in the database.
‘lets continue and grab their names.
nid = nnc.GetFirstNoteId
For pd = 1 To nnc.Count
nextid = nnc.GetNextNoteId(nid)
Set privatedoc = the_user_mail_database.GetDocumentByID(nid)
pdtitle = privatedoc.GetItemValue(“$title”)
Print “Found Private Folder. Name:” & pdtitle(0)
nid = nextid
Next
Now you can create some targeted comms.