API
@-Formulas
JavaScript
LotusScript
Reg Exp
Web Design
Notes Client
XPages
 
Public/Private Views/Folders
There's been some discussion around our area about the differences between public, private, and desktop private views and folders. Visually, in the list of folders and views, you can pretty easily tell the difference. Look at the picture below:

The same icons are used in R5 and ND6. The images with lines through (images #1, #2, #5, and #6 in the above picture) are views. The others are folders. If there is a light blue underline below the image, that is a private image (either desktop private or database private). The lack of the light blue underline means it is a public view or folder. For the private images, the "box" in the lower right means that the view or folder is stored in the desktop.

So, looking at the image above, the first row is the public version of a view. In this case the view is defined as "shared, desktop private on first use" but that doesn't matter - it's a public view.
The second row shows a "desktop private" view.
The third row shows the public version of a folder. Again, it doesn't matter that the folder is "shared, desktop private on first use" - it's a public folder for right now.
The fourth row shows a "desktop private" folder.
The fifth row shows the same image as the first row - a public view. This one is defined as "shared, private on first use" but it is still a public view at this time.
The sixth row is a private view that is stored in the database.
The seventh row shows the same image as the third row - a public folder.
The eighth row is a private folder that is stored in the database.

What's the difference?

Well, public views and folders are used by everyone. For a public folder, if a document is placed into the folder then everyone sees the document in the folder (assuming they have reader access to the document).

Private views and folders are private to each user. Every user will have their own instance of the design element. "Desktop Private" views and folders are those where the design element is physically stored in the user's desktop. If the user takes their ID file and goes to another machine, they won't see the same private design element. This doesn't make much of a difference with views where the selection formula will select the same documents, but it does make a difference with desktop private folders.

"Database Private" views and folders are stored as part of the database, and thus increases the size of the database. But the user can go from machine to machine and see the exact same design element.

How to determine these programmatically

When you get a handle to a Notes View object in LotusScript, there is a property called IsPrivate that will tell you if the view or folder is public or private. This is the easiest way to tell. However, keep in mind that LotusScript will not, under any circumstances, give you a handle to a "desktop private" view or folder. So there is no easy way to find these design elements programmatically. (If someone knows how to get "desktop private" views/folders with LotusScript, please post a response).