Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Use an image serving program to share iPhoto libraries UNIX
IDS (Image Display System) is a Sourceforge project that serves up image libraries through Apache. It does clever things like automatically resizing images on demand, can serve different image sizes based on the viewer's preferences, auto-generates thumbnails, allows user-submitted comments, and allows people to order prints via Shutterfly automatically. This is a handy tool for anyone who wants to share their iPhoto library via the apache webserver that your Mac is already running.

It does all of this, and all you have to do is drop folders into its Albums directory; it will automatically generate the thumbnails and resize images the next time the page is hit. So, just for kicks, I symlinked my iPhoto Library to my IDS Albums folder, and went to the page ... and it all worked beautifully. All of my iPhoto albums were laid out and served on the web. The symlink command was something like this:
ln -s /Users//Pictures/iPhoto Library/Albums 
 /Library/WebServer/Documents//albums 
I don't have the bandwidth to make the server public right now, but I put up some screenshots of the web interface (IDS Photo Library, IDS Photo View, IDS Album View). Unfortunately the IDS project seems to have been laying low for over a year (I was quite impressed that it worked out of the box so easily on the Mac). And there are a few things that keep it from being perfect for iPhoto integration:
  • It doesn't have user accounts/permissions
  • It doesn't have a slideshow feature
  • It doesn't allow the admin to easily turn albums on or off quickly - you have to manage the folders yourself (so if you use my symlink method, all of your iPhoto albums will show up individually)
  • I'm not sure how easy it would be to allow multiple users to have separate ids directories (it might be easy)
  • It requires ImageMagick, and several perl modules to function. Marc Liyanage has created an easy-to-use binary package installer for ImageMagick which should (I haven't tested it) greatly ease the installation process.
However, there are several things that make it really great for sharing iPhoto Libraries:
  • When symlinking to your iPhoto Library, automatically pulls them in and creates the libraries - no manual configuration is necessary
  • It serves multiple sizes of images, without you having to do anything to resize. This is great if your audience is coming from different bandwidths/screensizes, and each person wants to view a different size. The original will still be available for anyone who wants to print it
  • Automatic Shutterfly integration is pretty cool - anyone can order a print.
  • Installation was relatively easy, once the system requirements were met (which was hard because of ImageMagick).
As far as the installation, all you do is unzip the IDS package and throw it in /Library/Webserver/Documents/ and it will work... assuming you have installed the required perl modules and ImageMagick.
    •    
  • Currently 1.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (1 vote cast)
 
[7,691 views]  

Use an image serving program to share iPhoto libraries | 5 comments | Create New Account
Click here to return to the 'Use an image serving program to share iPhoto libraries' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Use an image serving program to share iPhoto libraries
Authored by: raider on Nov 26, '03 02:09:42PM
Gallery seems to be a more mature and feature laden setup that does the same thing using Apache and PHP. Your mileage may vary, but options are always a good thing....

[ Reply to This | # ]
Use an image serving program to share iPhoto libraries
Authored by: lamon on Nov 27, '03 05:08:00AM
On my side, I use myPhoto which can also serve your Photo Album on your local web server without needing a copy of the albums. Needs Apache+php, and ImageMagick is nice as well.

[ Reply to This | # ]
Use an image serving program to share iPhoto libraries
Authored by: petergole on Dec 30, '03 03:37:08AM

Your hint looks great.

But i've desperately tried to install imagemagick, perlmagick, ids, checked that perl was running, etc., to no avail.

I'm allways getting the error "Premature end of script headers: /Library/WebServer/Documents/ids/index.cgi
Can't locate Image/Info.pm in ..."
when checking what is going on in /var/log/httpd/error_log.

I've tried installing IDS in the /Library/Webserver/Documents directory, then in the /Library/Webserver/CGI-Executables directory, and allways get the same error message.

Could you please comment on how you managed to install ids for it to run correctly.

Thanks

---
PG



[ Reply to This | # ]
Use an image serving program to share iPhoto libraries
Authored by: revreeko on Dec 30, '03 07:46:42AM

i had the same problem, but i also had one-eyed the documentation -- can't remember if it was file permissions or apache conf issues specifically that produced the error.

double check the stuff here if you haven't already...
http://ids.sourceforge.net/documentation/ids-apache.html

it really is a nice little package. i had all the requirements already, so it was my first choice. makes me quite happy.



[ Reply to This | # ]
Use an image serving program to share iPhoto libraries
Authored by: lewinb on Mar 08, '04 05:30:54PM

Has anyone had problems with ids displaying tiffs?

I started out with myPhoto, and (although I love it) can't use it because it won't work with tiffs as yet.

I then went through the steps to install IDS, and although it will display *some* albums with tiffs (one, so far), it will only work fully with jpgs. (it does support a number of other formats as far as I know, but I don't have any pics in those formats). I do have libtiff installed.

The first chunk (below) is from when I tried to access the site on my own computer, and the second chunk is from when I tried to access the site from another computer on my network...

From my httpd error_log, if anyone feels inclined to help:

[Mon Mar 8 03:25:14 2004] index.cgi: main::generateAlbum('/Albums/House pictures') called at /Volumes/38 GB Disk/ids-0.82//index.cgi line 108
[Mon Mar 8 03:27:09 2004] index.cgi: Exception 315: unknown field with tag 34665 (0x8769) ignored. (albums/Albums/House pictures/PICT0006.TIF) at /idsShared$
[Mon Mar 8 03:27:09 2004] index.cgi: main::createDisplayImage(100, './', 'albums/Albums/House pictures/PICT0006.TIF') called at /Volumes/38 GB Disk/ids-0.$
[Mon Mar 8 03:27:09 2004] index.cgi: main::generateAlbum('/Albums/House pictures') called at /Volumes/38 GB Disk/ids-0.82//index.cgi line 108
[Mon Mar 8 03:27:12 2004] [error] [client 192.168.1.1] File does not exist: /Volumes/38 GB Disk/ids-0.82//image-cache/Albums/House pictures/PICT0006_disp100$
*** malloc: vm_allocate(size=1296650240) failed with 3
*** malloc[2690]: error: Can't allocate region
Out of memory!
[Mon Mar 8 03:27:36 2004] [error] [client 192.168.1.1] Premature end of script headers: /Volumes/38 GB Disk/ids-0.82//index.cgi
*** malloc: vm_allocate(size=1296650240) failed with 3
*** malloc[2692]: error: Can't allocate region
Out of memory!
_________

Mon Mar 8 13:07:34 2004] [error] [client 192.168.1.1] Premature end of script headers: /Volumes/38 GB Disk/ids-0.82//index.cgi
[Mon Mar 8 13:08:44 2004] index.cgi: Exception 315: unknown field with tag 34665 (0x8769) ignored. (albums/Albums/House pictures/PICT0006.TIF) at /idsShared$
[Mon Mar 8 13:08:44 2004] index.cgi: main::createDisplayImage(100, './', 'albums/Albums/House pictures/PICT0006.TIF') called at /Volumes/38 GB Disk/ids-0.$
[Mon Mar 8 13:08:44 2004] index.cgi: main::generateAlbum('/Albums/House pictures') called at /Volumes/38 GB Disk/ids-0.82//index.cgi line 108
[Mon Mar 8 13:08:55 2004] [error] [client 192.168.1.1] File does not exist: /Volumes/38 GB Disk/ids-0.82//image-cache/Albums/House pictures/PICT0006_disp100$
[Mon Mar 8 13:09:19 2004] index.cgi: Exception 315: unknown field with tag 34665 (0x8769) ignored. (albums/Albums/House pictures/PICT0001.TIF) at /idsShared$
[Mon Mar 8 13:09:19 2004] index.cgi: main::createDisplayImage(800, './', 'albums/Albums/House pictures/PICT0001.TIF') called at /Volumes/38 GB Disk/ids-0.$
[Mon Mar 8 13:09:19 2004] index.cgi: main::generateImage() called at /Volumes/38 GB Disk/ids-0.82//index.cgi line 105
[Mon Mar 8 13:10:15 2004] [error] [client 192.168.1.1] File does not exist: /Volumes/38 GB Disk/ids-0.82//image-cache/Albums/House pictures/PICT0006_disp100$



[ Reply to This | # ]