Thursday, June 17, 2010

Sync Plugins and Presets across Multiple Computers

Here's a very useful trick that I've just started using. The idea is to use Dropbox to make sure plugins that you install on one computer auto-magically get installed on all machines that you use for Bibble.

First, a bit of background: Dropbox allows you to sync files and folders across several machines by storing a copy of items you want to sync in "the cloud". So, by sharing your "Plugins" and "Presets" folders on all the machines you use to run Bibble, you can be sure that they all look, feel, and perform the same. Install a plugin on any machine that you have setup to sync, and all other computers will get that plugin too! (note that you might need to restart Bibble on the other computers to get the new plugins to show up.)

This works on all systems that Dropbox supports, but requires NTFS on Windows.

Here's how:


Starting with the computer use use most for Bibble (the one with the most current plugins and presets):
  1. Download Dropbox, install, and setup your account with them.
  2. Dropbox creates a single folder and will sync the content of that one folder. So, create a folder inside the Dropbox folder called "bibble_stuff" or whatever you want to call it. This will hold all the various Bibble items you want to sync.
  3. Next, move your Plugins and Presets folders from your Bibble Settings folder to the "bibble_stuff" folder you created in the previous step. So now, your Presets and Plugins are magically uploaded to the cloud and are ready to be synced with your other computers
  4. Now here's the trick: in your Bibble Settings Folder where your Presets and Plugin folders use be (the ones you moved to "bibble_stuff") you need to create symbolic links to the synced folders. Do this on every machine you use Bibble 5 on.
    Here's how: (Note that I'm using default folder locations for Bibble and Dropbox in these examples; change these as necessary to match where your folders actually are).

    Windows:
    mklink /D "C:\Users\Jeff\AppData\Local\Bibble  Labs\Bibble 5 Pro\Presets"  "C:\Users\Jeff\Documents\Dropbox\bibble-stuff\Presets"
    mklink /D "C:\Users\Jeff\AppData\Local\Bibble Labs\Bibble 5 Pro\Plugins" "C:\Users\Jeff\Documents\Dropbox\bibble-stuff\Plugins"

    Change "Jeff" to your Windows account name.

    The mklink program should already be installed on Vista and Win 7 machines. If you don't have it, you can get junction which works in much the same manner. Just replace "mklink /D" in the code above with "junction".

    Mac:
    ln -s ~/Dropbox/bibble-stuff/Presets  ~/Library/Application\ Support/Bibble\ 5/Presets
    ln -s ~/Dropbox/bibble-stuff/Plugins ~/Library/Application\ Support/Bibble\ 5/Plugins

    Linux:
    ln -s ~/Dropbox/bibble-stuff/Presets  ~/.bibble5/Presets
    ln -s ~/Dropbox/bibble-stuff/Plugins ~/.bibble5/Plugins


OK - now go to each machine you use for Bibble 5 and:
  1. Install Dropbox & link it to your account
  2. Delete the Presets and Plugins folders from your Bibble Settings Folder, and replace these with symbolic links exactly as shown in step #4 above.


I'm just syncing Plugins and Presets - not the full 'Settings' folder because you DON'T want to share some of the contents of that folder (like cache and 'rootdb'). Other files or folders you could sync include:
  • cropsize.txt
  • defaults
  • Download.batch
  • Gallery
  • hotkeys.xml
  • keywordSets.xml
  • keywords.xml
  • layouts
  • metaDataSets.xml
  • NoiseNinja
  • Print.queue
  • SaveAs.batch
  • sequences.txt
  • slideshow.xmp
  • softProofProfiles.xml


Full details about the dropbox and symbolic linking parts of this are documented on Dropbox's site.

6 comments:

MeneM said...

Nice suggestion!

My suggestion then:
#!/bin/bash

DROPBOXFOLDER=~/Dropbox/Programs/bibble5/

for i in `ls ${DROPBOXFOLDER}`; do rm -rf ~/.bibble5/${i}; done
for i in `ls ${DROPBOXFOLDER}`; do ln -s ${DROPBOXFOLDER}${i} ~/.bibble5/${i}; done

damber said...

#!/bin/bash

LINKLIST=(Plugins Presets batches cropsize.txt Download.batch keywords.xml keywordSets.xml metaDataSets.xml layouts NoiseNinja Print.queue SaveAs.batch sequences.txt slideshow.xmp softProofProfiles.xml printFixedSizes.txt rename.txt)

for ITEM in ${LINKLIST[@]}
do
if [[ ! -L ~/.bibble5/$ITEM ]]; then #check if already linked

if [[ ! -e ~/Dropbox/bibble5/$ITEM ]]; then
cp -ar ~/.bibble5/$ITEM ~/Dropbox/bibble5/$ITEM #create first copy
fi
rm -rf ~/.bibble5/$ITEM #remove original
ln -s ~/Dropbox/bibble5/$ITEM ~/.bibble5/$ITEM #link to
fi
done

Jon said...

Nice that you have a blog! Can you activate full feed so that when you read the blog in a feed reader, you get the full post, and not just the summary? It makes following the blog much more pleasant.

Kristofor Jensen said...

Great idea! It's be cool if this syncing service was integrated into B5 Pro...<*wink wink*> <*nudge nudge*>

Great thing to use in the interim...

sinosells.blogspot.com said...

I just wanted to comment your blog and say that I really enjoyed reading your blog post here. It was very informative and I also digg the way you write! Keep it up and I’ll be back to read more soon mate.

Thanks
Chang Shilva

Auto Scanner

Kristofor Jensen said...

Quick question....I've been using this linking method successfully on my linux boxes but haven't figured out how to do it in windows xp pro x64. I've found numerous sets of instructions on the web but it seems that MS has removed the functionality to link files to web shares.

Any hints to be had? Has anyone done this on windows recently?

Post a Comment