The basic idea behind Netscape's roaming system is the following: store all or some of the files that contain your preferences on a unique server so that the next time when you will use Communicator, perhaps from a different location, your browser will fetch a copy of those files from the server thus keeping its local config files in sync with the ones stored on the server. If a conflict happens (e.g. server's version different from the local version of bookmarks files) you will be asked by the browser which copy you want to keep: server or local.
There's several ways for you to have roaming implemented in your system.
1. The server is an HTTP server
2. The server is a freeware Directory Server such as OpenLDAP - usually
you can have this installed on a Linux machine
3. The server is Netscape's Directory Server - usually this one is
installed on a Windows machine
I tried the first one with Netscape's FastTrack lightweight (and old)
http server and couldn't make it work.
For my environment the third way seemed to be a good fit and so that's
what I'm going to describe next.
Before I get into details let me briefly describe what a Directory
Server is. Essentially a Directory Server can be seen as the software equivalent
of the yellow pages for an organization (company, university etc.). When
you need to find a phone number in the yellow pages you open up the book
and then you search for a category ("Cars") and then possibly a sub category
("Car Dealers") and finally you look up an entry by name ("Mike Johnson's
Honda"). The same thing happens in the case of Directory Servers. Originally
the people came with the idea of having a very comprehensive protocol for
accessing those electronic yellow pages: the X.500 ISO protocol. However,
the protocol was way too complex for the real life and so a less sophisticated
protocol was invented: LDAP (lightweight directory access protocol). Currently
Netscape Communicator browsers support this protocol and on the server
side Netscape's Directory Server is a commercial implementation and OpenLDAP
is a freeware version.
At this point you may ask yourself why should you use ldap servers for roaming. The reason is that in fact the ldap servers function as databases in which the administrator can assign you an entry from where you can retrieve and store the files describing your profile (the ldap protocol allows you to read and WRITE into the "yellow pages"). Suppose that you, John Doe, work for organization O in department D. The directory server administrator will create an entry for you, something like O/ D/ JohnDoe, where you and only you will be allowed to store and retrieve files. The reasons why you're not using a simple file server is that:
1) you need strong authentication (only you should have total access
to your entry)
2) however, in some situations it may be useful for other users to
see some of your files as well
In other words you need a system that allows flexible control of the user access.
Now that you a have an idea of what you're about to do start with installing the directory server. After you're done you can start configuring it for your roaming profile. First start the admin tool (in Windows most probably you will go to Start/Programs/Netscape Server Products/ and start Netscape Console). From here expand the menus on the left until you see the Directory Server under "Servers". Double click on it to start the directory server config process:
1) Click on the "Directory" tab
2) Click to expand the menus on the left. The first entry should be the "organization" name that you defined during the installation process. For example: "yourcompany.com". If you click on this element you should see under it several "organizational units" (a sort of subcategories) such as Directory Administrators, Groups, People.
3) You need to create a new organizational unit to store the roaming profiles for the people from your organization. RIGHT click on "yourcompany.com" organization element and choose to create a new organizational unit. Type a name such as "Roaming" and click ok to create the element.
Note: Oddly, the new element will only appear on the right side of the window. This happens when an element has no other elements inside.
4) In the new "Roaming" element you will start adding users. Right click on the "Roaming" element and select New/User. Type in the name of the user (John Doe), a user ID (jdoe) and a password and click ok to create this user. You should see now the "Roaming" element in the left menu too in the tree structure.
5) In the new user element you will add a new element to store that
user's roaming profile. Right click on "jdoe" element and choose New/Object.
Select "nsliprofile" from the list. Here comes the tricky part (user interface
is really bad):
5.1 select View/Show All Attributes
5.2 type a name for this element, for example jdoe_roaming_profile
5.3 type the same name in the user id box.
5.4 right click on owner, select "add value" and
type: uid=jdoe,ou=Roaming,o=yourcompanycom Why? Because this is the DN
(directory name, a sort of unique directory wide ID for each element) of
the owner of this new element!
5.5 right click on ACI, select "add value" to specify
the access control permissions:
(target="ldap:///uid=jdoe_roaming_profile,uid=jdoe,ou=Roaming,o=yourcompany.com")(targetattr="*")(version
3.0; acl "unknown"; allow (all) userdn = "ldap:///anyone"; )
Let me explain:
Target = this is what the
browser will send to the directory server when it will retrieve/store the
roaming profile
ACL = the access control
list, of course, describing who can do what with this element.
Server side work is done. Let's switch to the client.
1) Open the browser in your profile and select Edit/Preferences/Roaming Access. Select "enable roaming access for this profile" and specify user name: jdoe.
2) In Server Information fill up the LDAP fields:
Address: ldap://your_directory_server_machine_name.com/uid=jdoe_roaming_profile,uid=jdoe,ou=Roaming,o=yourcompany.com
User DN: uid=jdoe,ou=Roaming,o=yourcompany.com
3) In the Item Selection check the items that you want to store on the server for roaming purposes.
That's it!
For more information check out the following links:
Netscape
Technical Article: Manually implementing roaming access
Netscape
FAQ: How to set up Communicator to access your profile on a Directory (LDAP)
Server
Netscape
Directory Server: Admin Guide
Netscape
Doc: Customizing LDAP Settings for Communicator 4.5
OpenLDAP web site
LinuxWorld
Article: Configuring Netscape roaming with OpenLDAP