Domino.Doc (DDM) - Surprisingly Easy

Thursday 23rd February, 2006
I guess we can call this a show & tell...seeing as it's Thursday.

Almost a year after we installed our Domino.Doc (domino document manager 6.5.1) infrastucture our requirements have changed.

To cut a long story short, I needed to move Domino.Doc from it's existing server to a new dedicated domino server on new hardware. Easier said than done...or is it? For those that are unaware, Domino.Doc does not use .nsf files in quite the same way. It's certainly not a case of just installing Domino.Doc on the destination server and replicating the databases across.

So was it easy? It was...I even managed to do it with zero downtime for my users!


If I'm honest, I wasn't looking forward to this task. I've always avoided having to do Domino.Doc admin as it's been a big void in my knowledge for a long time. I picked up most of my skills from hands-on experience but I simply have never really used Domino.Doc and didn't really have suitable test environment to do a dry run.

I ask around and got some advice from a few people who had used Domino.Doc for years. At the other end of the IM, after describing my requirement, I could almost hear my contact take a sharp intake of breath and rub their hands together in much the same way as a heating engineer would before he gave you the estimate to fix your boiler.

I was told to read through various technotes that kinda described what I needed to do. There was mention of a master server or a replica server, although I couldn't actually understand the difference between them. All I knew was that I had a master server on one server and needed a master server on the other that worked in exactly the same way and contained the same data.

After thinking this through for literally hours I came to the conclusion that it couldn't be that difficult. Was the best solution really to follow an unsupported technote that was written for a very old version of the product? Surely things were easier now, surely there was a better...supported way. There was...it was in the admin guide.

I slowly worked through the install guide to find out how to setup a domino.doc server. I installed a Master server on my primary box to see what happened and then uninstalled and performed a replica server install. The installs are drastically different and I needed to understand why....now I do.

Think of a Domino server setup. You're asked on one of the first screens whether this is the First server or an Additional Server. In the former, a fresh server with new core databases and config is built, but in the case of an Additional Server, the domain admin4.nsf, names.nsf and other databases are replicated across from an existing server.

This is pretty much the difference between a master server and a replica server in Domino Document Manager. A replica server needs to be pointed at an existing master server to replicate the config details across. Once fully setup, both servers are pretty much identical except one is the owner or 'Master' of the libraries. This is pretty much analogous to the administration server of a Notes DB. Adminp will only act of DBs for which it is the admin server. In the case of Domino.Doc, only the master server will normally authorise check-out of documents and other tasks.

So in Domino terms I needed to install an additional server in my domain, replicate everything to it, set the new server to be the admin server and then deleete all the replicas on  the old server before decomissioning. Can one do this in DDM? Yes! With no guarantees whatsoever if you try this for yourself, here's the steps for getting your Dom.Doc setup from Server A to Server B:

1) Backup Server A in full - You won't need this but you never know.
2) Install Domino Document Manager on Server B ( I was using Version 6.5.1 so I know this works)
3) During the install, choose the Replica Server install option.
4) Restart Server B and observe the errors during startup. Until the core databases have been replicated from the master server, this installation won't work properly.
4.1) Ensure there is a Domino connection document between Server A and Server B. Set it to replicate the domdoc folder every 5mins.
5) Open the Site Admin database on Server B
6) Notice that nice button "New Replica" on the left hand bar. Press it.
7) Enter the name of Server A as required
8) Core databases and templates will now be replicated as required to server B. If server A hasn't got rights to create master templates on Server B you may get errors here. Make sure that all the templates that error are replicated across properly. You can use an OS level copy of them if necessary but make sure the template name is specified in design properties.
9) Now you need to open one of your libraries and click the Library Administration button on the left hand bar
10) Click the replication button on the left hand bar.
11) Hit the new replica button
12) Choose your destination server
13) Enter the FQDN host name of the new server (this can be changed later)
14) Check "Always send a checkout request to the master file cabinet" - This avoids any checkout complications during the migration.
15) Click save & close. New replicas of your library/cabinets will now be created.
16) Allow time for all the replicas to fully populate. Repeatedly issue a 'replicate  serverB/ domdoc' command on the console of server A.
17) When no more replication takes place, you're ready to proceed.
18) Verify that you can use your new replica server. Can you open all the documents and edit them. The check-in/out process should work as normal and all should be good. At this point I informed my users of the new library URL so they could add an extra connection in their desktop enabler. Did I mention there was no downtime? ;O)
19) Open the library you opened in step 9.
20) Click the library administration button again
21) Click the Replication button
22) Now use the change master library button to change Server B to be the master library.
23) Close and replicate replicate replicate.
24) Now open the library you opened in step 9.
25) Open the first cabinet within.
26) Now choose file cabinet administration
27) Change the home library to be Server B
28) Change the master server to be Server B
29) Repeat steps 26 thru 28 for each cabinet.
30) Repeat steps 9 thru 29 for each library.

So now you've got all your cabinets and libraries onto server B and server B is the master for each. It now processes all the check-in/out actions for each library. The only thing that remains is to get rid of server A. Simple. Shut it down, uninstall domino.doc and then delete the domdoc folder and any remaining templates. Now you have a fully standalone Server B managing all your libraries as planned job done.

Or is it???

Someone at the back is shouting to me and letting me know that Server B is still a replica server and I no longer have a master server. I can't create new libraries, not can I create a replica server from it. OK...here comes the Lotus unsupported bit ;O)

1) Add the 'Domino.Doc Site Admin' database from server B to your Notes workspace.
2) Whilst holding CTRL+Shift right click on the tile and choose Database...Go To...
3) Open the view (Domino.Doc Site Profile)
4) You should have one document in this view, open it.
5) If you're like me, you'll have an install type of 'Replica'. The version field will be blank. The Master Server will be 'Server A' and the server name will be 'Server B'.
6) Edit the document and change the install type to Master.
7) Delete the contents of the Master Server field.
8) Now you have a master server called Server B with no link to another server. I added '6.5.1' in the 'Current Version' field.
9) Save and close the document.

You're done. Server B is now a master server that is in control of all your libraries/cabinets. It all works fine here.

Domino.Doc...it's not rocket science.

Comments/Trackbacks [1]