Additions:
Deletions:
- Write an iSharePhotos rsync tutorial. I've been meaning to do that anyway.
Additions:
latestVersion = "2.3";
The older version of iSharePhotos, which was AJAX, is no longer being developed, but has been been replaced by this newer, less fancy, more static version. It's an easy to install (drop-in-folder) script that will read iPhoto's XML library file (
AlbumData.xml -- an XML formatted Apple plist) and produce an online album of the photos contained in the associated iPhoto library. When you add new photos or rearrange them, to update the photo gallery you simply overwrite the server's copy of the "iPhoto Library/" folder with your Mac's local copy. If you're feeling bold, you can even just rsync them and save some uploading time if you have a large library.
In iPhoto, you can arrange your photos into albums, and you can put one photo in multiple albums without duplicating the photo on the drive, saving you disc space. This is the quality of iPhoto I wanted to harness for my photo gallery - other galleries make albums out of folders and want you to have pictures in each folder that you want it to appear in. If you're me, this either occupies absurd amounts of disc space of duplicate photos or it makes a real mess of server-side symlinks.
This script generates a list of albums from the
AlbumData.xml and loads the picture from the relative path contained in there. This means that however your pictures may be arranged into albums in the actual iPhoto software is how they will be arranged after uploading when viewed with this script.
Other features
- It will automatically work with Smart Albums as well - any Smart Albums contained in your library will appear as normal albums to the viewer in their web browser, and they will be updated each time your upload a new copy of the AlbumData.xml file. (Or your whole library.)
- If you're like me and you have a Smart Album for "All Photos" that shows all photos in any album in one single place, you can optionally hide this Smart Album from being displayed to save strain on the server.
- You can create and specify an album of photos that you don't want displayed anywhere. (e.g. an album titled "Not for web" or something of the sort, and then you'd put unflattering or other photos that you didn't want on the website in this album.) Any photos in the specified album would not be shown in any album anywhere in iSharePhotos. For example, if you have an album, "Christmas Party 2003" with various photos that you don't want anyone to see, but you don't want to delete them, simply also put the offending photos in the "Not for web" album, and anyone using iSharePhotos to view "Christmas Party 2003" will never be shown the photos. You, on the other hand, will still be perfectly capable of viewing them in iPhoto on your computer.
- The script uses JavaScript to detect the user's resolution and stores it in a cookie. This is then used when a photo is viewed to scale any overly large photos to an almost perfect viewing size for the browser window.
Todo
- Create an XML API for retrieving album lists, photo lists, and metadata for individual photos. I'm thinking maybe I'll use this for some kind of FaceBook∞ integration so I don't upload my photos twice. Like an iSharePhotos FaceBook∞ application where you just enter the address to your installation's API script.
- Touch up the resolution detection to detect the browser's size instead of the resolution and work with that instead of subtracting the most likely set of border dimensions from the resolution.
- Easier configuration?
- Write an iSharePhotos rsync tutorial. I've been meaning to do that anyway.
- Package it for download and move it from beta to stable -- this should happen within the next month or so.
Deletions:
latestVersion = "2.0";
iSharePhotos is a PHP/AJAX set of scripts that effectively act as a front-end for iPhoto Libraries. The script came about because I sort all the pictures in my iPhoto library into albums based on the event, the location, and who was in it. Often times, because of my archiving system, I have one picture in multiple categories. To duplicate this on the web, most albums want the pictures moved into a directory for each "album" This would mean having multiple copies of each picture laying around. iPhoto works around this by having the albums act as entries in an XML file that reference a picture ID, and is eventually worked back into a path for a picture. I liked this, and rather than re-invent the wheel with a web-based XML archiving system, I wrote a photo display system that utilises iPhoto's work. All you have to do is find your "iPhoto Library" folder (usually in ~/Pictures), and zip it up (iPhoto Library.zip) -- then upload it to the iSharePhotos directory on your webserver, overwriting the old zip file. The script will automatically extract the files from the zip file the next time it is called if the zip file has been updated. You can also simply copy the entire folder over rather than using a zip file, or if you're hosting on the same machine you run iPhoto on, create a symlink. The script also has the ability to "hide" photos from the web. If you create an album titled "Hidden from web", any photos in that album will not show within iSharePhoto. This script still has a few rather large bugs that are being worked out, but is almost ready for a beta release. There is a "demo" available on in this site's Photos section. No download is available for this yet until I have time to iron out the bugs, however this should (hopefully) be shortly. It would help if Apple would stop changing the library's XML file layout!
Additions:
""
Script Information
iSharePhotos is a PHP/AJAX set of scripts that effectively act as a front-end for iPhoto Libraries. The script came about because I sort all the pictures in my iPhoto library into albums based on the event, the location, and who was in it. Often times, because of my archiving system, I have one picture in multiple categories. To duplicate this on the web, most albums want the pictures moved into a directory for each "album" This would mean having multiple copies of each picture laying around. iPhoto works around this by having the albums act as entries in an XML file that reference a picture ID, and is eventually worked back into a path for a picture. I liked this, and rather than re-invent the wheel with a web-based XML archiving system, I wrote a photo display system that utilises iPhoto's work. All you have to do is find your "iPhoto Library" folder (usually in ~/Pictures), and zip it up (iPhoto Library.zip) -- then upload it to the iSharePhotos directory on your webserver, overwriting the old zip file. The script will automatically extract the files from the zip file the next time it is called if the zip file has been updated. You can also simply copy the entire folder over rather than using a zip file, or if you're hosting on the same machine you run iPhoto on, create a symlink. The script also has the ability to "hide" photos from the web. If you create an album titled "Hidden from web", any photos in that album will not show within iSharePhoto. This script still has a few rather large bugs that are being worked out, but is almost ready for a beta release. There is a "demo" available on in this site's Photos section. No download is available for this yet until I have time to iron out the bugs, however this should (hopefully) be shortly. It would help if Apple would stop changing the library's XML file layout!
Deletions:
""
iSharePhotos is a PHP/AJAX set of scripts that effectively act as a front-end for iPhoto Libraries. The script came about because I sort all the pictures in my iPhoto library into albums based on the event, the location, and who was in it. Often times, because of my archiving system, I have one picture in multiple categories. To duplicate this on the web, most albums want the pictures moved into a directory for each "album" This would mean having multiple copies of each picture laying around. iPhoto works around this by having the albums act as entries in an XML file that reference a picture ID, and is eventually worked back into a path for a picture. I liked this, and rather than re-invent the wheel with a web-based XML archiving system, I wrote a photo display system that utilises iPhoto's work. All you have to do is find your "iPhoto Library" folder (usually in ~/Pictures), and zip it up (iPhoto Library.zip) -- then upload it to the iSharePhotos directory on your webserver, overwriting the old zip file. The script will automatically extract the files from the zip file the next time it is called if the zip file has been updated. You can also simply copy the entire folder over rather than using a zip file, or if you're hosting on the same machine you run iPhoto on, create a symlink. The script also has the ability to "hide" photos from the web. If you create an album titled "Hidden from web", any photos in that album will not show within iSharePhoto. This script still has a few rather large bugs that are being worked out, but is almost ready for a beta release. There is a "demo" available on in this site's Photos section. No download is available for this yet until I have time to iron out the bugs, however this should (hopefully) be shortly. It would help if Apple would stop changing the library's XML file layout!
Additions:
Deletions:
Additions:
Additions:
<script language="javascript" src="/_KCL/infobox-setup.js"></script>
project = "iSharePhotos";
commenced = "06/2007";
languages = ["PHP", "
JavaScript", "CSS", "HTML"];
latestVersion = "2.0";
developmentStage = "Beta";
developmentStatus = "Active";
demo = ["Kevinsnet.com Photos", "
http://kevinsnet.com/iSharePhotos"]∞;
download = ["Coming soon!", "/iSharePhotosDownload"];
Deletions:
var project = "iSharePhotos";
var commenced = "06/2007";
var languages = ["PHP", "
JavaScript", "CSS", "HTML"];
var latestVersion = "2.0";
var developmentStage = "Beta";
var developmentStatus = "Active";
var demo = ["Kevinsnet.com Photos", "
http://kevinsnet.com/iSharePhotos"]∞;
var download = ["Coming soon!", "/iSharePhotosDownload"];
Additions:
var download = ["Coming soon!", "/iSharePhotosDownload"];
Deletions:
Additions:
iSharePhotos is a PHP/AJAX set of scripts that effectively act as a front-end for iPhoto Libraries. The script came about because I sort all the pictures in my iPhoto library into albums based on the event, the location, and who was in it. Often times, because of my archiving system, I have one picture in multiple categories. To duplicate this on the web, most albums want the pictures moved into a directory for each "album" This would mean having multiple copies of each picture laying around. iPhoto works around this by having the albums act as entries in an XML file that reference a picture ID, and is eventually worked back into a path for a picture. I liked this, and rather than re-invent the wheel with a web-based XML archiving system, I wrote a photo display system that utilises iPhoto's work. All you have to do is find your "iPhoto Library" folder (usually in ~/Pictures), and zip it up (iPhoto Library.zip) -- then upload it to the iSharePhotos directory on your webserver, overwriting the old zip file. The script will automatically extract the files from the zip file the next time it is called if the zip file has been updated. You can also simply copy the entire folder over rather than using a zip file, or if you're hosting on the same machine you run iPhoto on, create a symlink. The script also has the ability to "hide" photos from the web. If you create an album titled "Hidden from web", any photos in that album will not show within iSharePhoto. This script still has a few rather large bugs that are being worked out, but is almost ready for a beta release. There is a "demo" available on in this site's Photos section. No download is available for this yet until I have time to iron out the bugs, however this should (hopefully) be shortly. It would help if Apple would stop changing the library's XML file layout!
Deletions:
iSharePhotos is a PHP/AJAX set of scripts that effectively act as a front-end for iPhoto Libraries. The script came about because I sort all the pictures in my iPhoto library into albums based on the event, the location, and who was in it. Often times, because of my archiving system, I have one picture in multiple categories. To duplicate this on the web, most albums want the pictures moved into a directory for each "album" This would mean having multiple copies of each picture laying around. iPhoto works around this by having the albums act as entries in an XML file that reference a picture ID, and is eventually worked back into a path for a picture. I liked this, and rather than re-invent the wheel with a web-based XML archiving system, I wrote a photo display system that utilises iPhoto's work. All you have to do is find your "iPhoto Library" folder (usually in ~/Pictures), and zip it up (iPhoto Library.zip) -- then upload it to the iSharePhotos directory on your webserver, overwriting the old zip file. The script will automatically extract the files from the zip file the next time it is called if the zip file has been updated. You can also simply copy the entire folder over rather than using a zip file, or if you're hosting on the same machine you run iPhoto on, create a symlink. The script also has the ability to "hide" photos from the web. If you create an album titled "Hidden from web", any photos in that album will not show within iSharePhoto. This script still has a few rather large bugs that are being worked out, but is almost ready for a beta release. There is a "demo" available on in this site's Photos section. No download is available for this yet until I have time to iron out the bugs, however this should (hopefully) be shortly. It would help if Apple would stop changing the library's XML file layout!
iSharePhotos is a PHP/AJAX set of scripts that effectively act as a front-end for iPhoto Libraries. The script came about because I sort all the pictures in my iPhoto library into albums based on the event, the location, and who was in it. Often times, because of my archiving system, I have one picture in multiple categories. To duplicate this on the web, most albums want the pictures moved into a directory for each "album" This would mean having multiple copies of each picture laying around. iPhoto works around this by having the albums act as entries in an XML file that reference a picture ID, and is eventually worked back into a path for a picture. I liked this, and rather than re-invent the wheel with a web-based XML archiving system, I wrote a photo display system that utilises iPhoto's work. All you have to do is find your "iPhoto Library" folder (usually in ~/Pictures), and zip it up (iPhoto Library.zip) -- then upload it to the iSharePhotos directory on your webserver, overwriting the old zip file. The script will automatically extract the files from the zip file the next time it is called if the zip file has been updated. You can also simply copy the entire folder over rather than using a zip file, or if you're hosting on the same machine you run iPhoto on, create a symlink. The script also has the ability to "hide" photos from the web. If you create an album titled "Hidden from web", any photos in that album will not show within iSharePhoto. This script still has a few rather large bugs that are being worked out, but is almost ready for a beta release. There is a "demo" available on in this site's Photos section. No download is available for this yet until I have time to iron out the bugs, however this should (hopefully) be shortly. It would help if Apple would stop changing the library's XML file layout!