Why Profile Documents?

Hello All-

I recently finished up a project in which I had to make changes to a Lotus Notes database and create a new LN DB.  I noticed a "Profile" document in the existing db, and have noticed it in many discussions.

I'm wondering what the point of one is.  I was able to create a small ln db application without the use of the profile document (since I have no idea what it's used for).

I'm just looking for some explanation of what LN developers use profile documents for, and if they're really necessary for LN DB development.

Thanks a lot :)

LVL 13
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Bozzie4IT ArchitectCommented:
Great.  No problem if you can create applications without profiles (profile documents / regular documents).

Why do you need them ?  To store user-specific or database-specific data !  Check your own mailfile, the Calendar Profile is a profile document (Tools/Preferences).  It stores your personal preferences (like what your business hours are).

Now there are 2 possibities to implement profiles (as notes documents)
1. use a real profile document : these documents can't be shown in a view and are generally user-specific (can be database specific).  You call them by 'key' : @getprofilefield and the like.  Check the "Profile documents" entries in your help file
2. use a regular Notes document : create documents in a special view, that you use to store data.  You will use normal Notes methods to store and retrieve data from them (eg. @dblookup).  

There are advantages in storing your user-specific data as normal notesdocuments (eg. you can easily manage them in a view as the db manager), but using a profile document also has its advantages (eg. simple to store and retrieve values from the document)


cLFlaVAAuthor Commented:
Thanks for the helpful info.

Could you give me an example of popular entries in a Profile document?  I think this would better help me understand their importance.
Bozzie4IT ArchitectCommented:
Notes database configuration :
- links to other databases
- default categories
- all kinds of configuration settings eg. external webserver name
- ...
Personal profiles :
- preferences of all kinds eg. startview, what frameset to start with, preferred way of contact (email/phone), ....
- R6 : colors for views (see mailfile)
- who is the manager for a user (hierarchy in company)
- what company does a user work for (in case of external companies),...
- ...

Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

I use them all the time to store configuration-type data.  For example, if I want certain users to have control over what choices appear in a drop-down box, I'll put the choices in a profile doc and restrict access to the profile doc to only users with an Admin role.  In other words, the general public won't have access to add/delete the choices that appear in a dialog list field.  However, I don't need to get involved if that list of choices needs to change; I can allow a designated person access to maintain that choice field.  That way, there's no need for a programmer to edit a field's properties to add choices to, say, a Category field, just because a new category needs to be added to the list.  I use this technique in nearly every database I create.
cLFlaVAAuthor Commented:

What I did when I had values in a drop-down box was make a keyword form with two fields, name and values.  The name would be the name of the drop-down field and values would be the list of values.

I'd then do a db lookup to get the value from the keyword document.  So, is this just another approach?
Profile docs are much efficient way to store db specific data.. but there is a slight disadvantage to it.. i.e. you really cannot see them like you can see the docs in the view.. that makes view lookup "profile" docs (loosly framed) my choice..

Secondly I can control pieces of view "profile" docs replicate or not to replicate.. But profile docs doesn't filter out thru the replication formula..

Simple question, but the answer may be looong. Why not give you some stuff to read. See this:

http://www.dominopower.com/issuesprint/issue200409/00001383.html - Nearly all that it takes to get you started.

http://www.nsftools.com/tips/PerfTips.htm - This page tells you you can enhance performance by using Profile Documents (under certain circumstances)

http://www.breakingpar.com/bkp/home.nsf/Doc?OpenNavigator&U=87256B280015193F87256D26006BA928 - Some Profile Document Warnings you should know about.

For the rest, we are always here :)

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Were you talking about what Lotus technically calls a profile document (which is sort of a design document used to hold metadat for your application)?  Or some DB that had a choice somewhere that said "user profile" or "manage profile" or "database profile" or the like?  The latter MIGHT be what Lotus calls a profile document, but not necessarily.  The purpose of a prfile document, form the Lotus programming perspecitive, is to have a place to store data ABOUT the application or the user, but that does not get stored as regular data.

It is sort of like asking what the "master" database is in SQL.  In some ways, it is a database like anyt other database.  But it olds all he data about managing the system, so it is "special."
cLFlaVAAuthor Commented:
Thanks to everyone, I had no doubt you'd all be able to help me.
Points are split for your contributions.

Thanks again.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Lotus IBM

From novice to tech pro — start learning today.