Multiuser Lightroom - How to (WinXP, multiple machines with catalog on server)

Status
Not open for further replies.

Denis Pagé

Lightroom Guru
Lightroom Guru
Premium Classic Member
Premium Cloud Member
Joined
Nov 1, 2007
Messages
3,116
Location
St-Hubert, Québec, CANADA
Lightroom Experience
Power User
Lightroom Version
Classic
Warnings: Adobe highly recommends against the technique described herein!

Agreement: By implementing it, you agree that Adobe shall not be be called for support in any form and that wou will not use Adobe's forums for support either. There is a link at the bottom to report your experiences. Go there.

THE GOAL: Making Lightroom using a Catalog located on a network ressource!

Warranties: Do not blame me if anything go wrong by using this tip. I tested it in different ways before submitting and everything is working fine in my LAN environments. This line is more about protecting myself from lawsuits than anything else. Don't be too afraid...

Licencing: If you use this tip only to have your Catalog on a network ressource (for ease of backing up or ease of accessing from desktop and/or laptop for eaxmple), then, only one licence of Lightroom can do. If you use it for more than one machine in your local area network, then you have to be alone using Lightroom on each and using one machine at a time only (which is quite useless in my opinion unless you have to deal with different peripherals or OS on each machine)! Otherwise, YOU DO NEED ONE LICENCE PER USER if you allow more than one. This is not per machine! See next...

Adobe's Licence Agreement Recall (See 2.4 and 2.5):
"2.4 Portable or Home Computer Use. Subject to the important restrictions set forth in Section 2.5 below, the primary user of the Computer on which the Software is installed (“Primary User”) may install a second copy of the Software for his or her exclusive use on either a portable Computer or a Computer located at his or her home, provided that the Software on the portable or home Computer is not used at the same time as the Software on the primary Computer. You may be required to contact Adobe in order to make a second copy".

Prerequisites:

  • [li]General server administration knowledge[/li]
    [li]Knowing the server's workstation's name[/li]
    [li]Knowing how to create shares[/li]
    [li]Knowing how to control access rights[/li]
    [li]All machines have to be in the same workgroup/domain[/li]
    [li]Good backup strategy (as should always be the case)[/li]
    [li]Facultative: Registry editing knowledge[/li]
Recommendations:

  • [li]All machines involved in this process shall use a properly working and configured UPS.[/li]
    [li]Hard disks holding the catalog have to write data physically fast rather than holding it in their buffers (Western Digital YR series for example).
    [/li]
    [li]The use of RAID 1/5 May be nice to have.[/li]
    [li]Use for temporary working Catalogs to be later included in you Archival Catalog. Otherwise, take care to evaluate how much you are ready to loose! A day? A week? More?[/li]
Hint: Before putting this trick into a production environment, you may want to download evaluation copies of Lightroom for testing purposes on additionnal workstations. Take care to have a good backup and test by exporting a catalog for the purpose of sharing. When confident, you will use a work Catalog.

--------------------------------------------------------

The main problem we are facing is the fact that there is a builtin funtion in Lightroom and/or its SQLite3 engine preventing a Catalog from being used outside the local computer. So the main trick here is to fool the OS in a way that Lightroom will see the (now shared) Catalog as being local. Do you rember the old days of DOS? There was a rarely used command which is still there hidden behind the command prompt: SUBST

Assigning a network drive/share to a letter wont work! The OS will still consider it as being remote. The function of the SUBST command is also to substitute a ressource with a drive letter. But whatever the ressource is coming from, the assigned drive letter will then appear as local to the OS.

We know that moving images outside Lightroom make the program wonder where the images gone. So if each user is referring to the images from different places, they may have to "reconnect" the folders each time someone else did the same (red folders). The first thing we want to check then is what drive letter is free for use on all the workstations using Lightroom. Some have more than one hard drive, a card reader can easily take four letters and external drives, CD readers/writers shared network ressources all add to it. For example, my system is so heavily loaded that my boot drive is I:! So, I suggest going to the end of the alphabet. I will use X: in my following examples. I will also assume that your boot drive is C:.

THE COMMAND:
SUBST X: //ServerName/ShareName

ShareName will be where you put all your images and where the Lightroom folder containing the .lrcat and previews files will reside. ServerName is the name of the machine acting as a server.

Having to give the command each time you start your machine is annoying and may give Catalog not found "errors" if you forget when starting Lightroom. So, make a batch file for it. I called mine LightroomShare.bat to help me remember its use and placed it at the root of the boot drive for simplicity of referring to it. Start Notepad and write the above SUBST X:... command. When saving, be sure to enclose the filename (LightroomShare.bat) between quotation marks as "LightroomShare.bat". Otherwise, the file will be named LightroomShare.bat.txt by Notepad. from here, I am assuming you have C:/LightroomShare.bat and you can test it by executing it and see in your file explorer if the X: drive is there pointing where you want. If you gave the command manually before, you can delete the X: substitution by giving the command: SHARE X: /D

Two ways of automating LightroomShare.bat:

You can place a shortcut to it in the "Start -> All Programs -> Startup" folder of a given workstation. If there is more than one Lightroom user logging to this workstation, place it in the "C:Documents and SettingsAll UsersStart MenuProgramsStartUp" folder rather than having to do it for each user.

An alternate method that I use is to start it directly at the loading of the registry. To do so, start "regedit" and navigate to
"HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun". Then, right click in the right panel to create a new "Text Value" of type REG_SZ. I named mine "Lightroom Share". You should see a little "ab" icon beside it. Double click it and assing the value "C:LightroomShare.bat" to it. It will now be executed each time you start the system.

I do not recommend more than one user user at a time in a shared Catalog! The main reason is that you can easily make massive changes like assigning a keyword to a thousand images in one step for example. More than one user at a time can work on some systems and not on others because SQLite3 locking mechanisms are OS dependent and not all OSes are implementing it the same nor are consistent in their way of doing it. I took this information about OS dependent file locking in the "How to corrupt your database" section of the SQLite Website.

In this respect, you have to set the maximum number of users on the share to one! The default is ten. If you do not see where to set the maximum number of concurrent users, in file explorer, go to "Tools -> Folder Options -> Display". At the very end of the list, check "use simple file sharing" if it is not checked or vice versa.

The maximum number of users now being set, if a coworker want to access the shared Catalog while another one is using it, he will simply get a warning from the Server's OS to the fact that the ressource is in use or something similar. Try later...

Something I did not tested is allowing access to more than one user at once but giving write/modify permissions to only one. The others having read permissions only. That would be the same as having only one Lightroom editor with others using LRViewer. So, why buy extra Lightroom licences just to replace a free program?...

Even if you are alone using Lightroom in your organization this tip may be of a great value! For example, at work I have big SAN arrays with multi terabytes tape backup autoloaders to protect them from dataloss. But nothing such on my workstation. Now being able to throw everything at the well protected servers is a dream come true that can help you sleep better. But to be honest, I have to say that I do keep a local copy just in case...

Also, by using more than one SUBST command, you can split the catalog and images if you have a need to.

This thread is closed. So, you are welcome to report your experiences with this tip in this thread.

For example, you can try more than one user each one working in a different recordset like in different folders from each other and report there if that works (even if I told you to avoid). By all means, trying such things should be done on "trial catalogs" first...

Enjoy the new functionnality,
 
Last edited by a moderator:
Comment from Adobe's database expert Dan Tull

Adobe's database expert Dan Tull wrote:

FWIW, I did actually add a switch (briefly) to allow support of a catalog file on a network share (basically just lifting the block on it) and managed to corrupt the catalog beyond repair (and if you Google around for my name, you'll find I know a few things about repairing catalogs) when testing it under stress conditions. SQLite is fundamentally dependent on sound file locking guarantees to ensure data integrity and network file shares don't cut it.

So, while it would be (was) be easy to "just allow it" for power users, I'd basically be committing myself to spending all my time helping people whose catalogs were damaged when their network hiccuped at the wrong moment.

Which unfortunately means a robust catalog on a network share feature is much harder and more risky than it seems on the surface without even getting into the multiple simultaneous users aspect.

Dan Tull
Lightroom QE
Adobe Systems
 
Status
Not open for further replies.
Back
Top