I am a bit of a geek. Yea, big shock there. I bought my first digital camera over seven years ago, a camera from before they even measured the quality in mega-pixels. I have a few shots of when my niece and nephew were first born using that camera.There were better ones out there, and it was not long before I upgraded to an 2 mega-pixel HP camera. A camera the same niece and nephew now use as a toy.
I am on my fourth digital camera, an 8 mega-pixel Kodak. Over the last 7-8 years I have taken thousands of photos. Many of which I still have, despite loosing way too many to a hard-drive crash a few years back.
For at least a few years now, I have been looking for an online gallery to use to show off my photos, and in the process Of course being the geek that I am, I want to host my own gallery, not rely on a third party like Flickr. I have looked at dozens and actually tried out about a dozen. I finally have found the one I am sticking with.
Now keep in mind, I am talking about a photo gallery, not photo library. I have a LOT of photos that may never be seen by anyone but me. The quality just isn’t there for any number of reasons, but they all still have memories that go with them. So thanks to cheap storage I can keep them for my own sentimental reasons. I am not looking to keep track of every single photo., having a good folder structure works for that.
I do, however, have hundreds of photos I feel are worth sharing. For that I need a gallery. And for that I’ve settled on JuxtaPhoto by Jeff Harrell.
JuxtaPhoto is written using PHP and is database driven (MySQL, PostgreSQL, or SQLite), so just about any web host out there should support running this. Installation is a snap, there is just a single configuration screen, and within minutes after uploading the files. This is a ’single user’ system. You create a single admin username and password during configuration, which could be shared with others you trust to manage your gallery.
The key reason I went with JuxtaPhoto was the tagging ability. When you add a photo you are able to add tags, or keywords, that help you identify a photo. You can use as many or as few tags as you want, from a simple “holiday” tag for your Christmas photos, to including the name of each person in a photo. And if you are not sure just what tags you are using… for instance are you using “holiday” or “holidays”, just start typing the word and pause, and JuxtaPhoto will give you a list of tags you’ve used that match what you’ve typed in so far. Click on the one you want and it adds it to your list. One quick note on entering tags - tags in the list are separated by spaces, so if you want to have a tag display with a space in it, use a plus-sign instead of a space. For example, “hidden falls” creates two tags, hidden and falls where as “hidden+falls” creates one tag.

When you add an image, you are also able to add a copyright tag as well as author tag. You can upload images one at a time through the input box on the website, or if you want to upload a batch you use your favorite FTP program and drop them in /images/pending folder. After they are there, your management panel tells you that you have images pending and you just enter tags, copyright and author info and click the Process Pending button. It can take a few minutes to process if you have a number of images you are adding all at once… so be patient.
Once the images are uploaded, you can view them… go to the home page and you are given the option to view your Photo Albums. Unless you have deleted them, you will see a couple sample albums with the sample photos that were there when JuxtaPhoto was installed. I’ll come back to albums in a moment. So where are the photos you just added? Click on View All Photos and you’ll see. All your photos are here, listed by date, newest to oldest. JuxtaPhoto gets the date it uses from one of two places. First it will try to get the date the photo was taken from the EXIF data encoded in digital photos. If it can’t figure out a valid date that way, it uses the date-stamp on the file when you upload it, which would typically be the date you did the upload.
The next method of viewing your photos, the one I think is the main reason to use this program, is by tags. When you click Browse Tags, you are greeted with a page that has a tag-cloud on it, listing every tag you are currently using for any photo in your gallery. Now this is where putting in more than just a simple tag or two for each image will start to pay off. As soon as you click on one tag, you get a page of thumbnails of all images that have that tag. Additionally, you get a list of all the tags that are also on any of the photos you are viewing. For example, you have three photos, an apple, a banana, and an orange. Say you put the tag fruit on each one, then tag the apple with apple, orange with orange, and banana with banana (not terribly creative, but hey….). Then you go to you Browse Tags page, and click fruit, you’ll see all three of these image, along with a list of tags that includes fruit, apple, banana and orange. Now if you click on orange, you get just the picture of the orange because it is the only image with both the fruit tag and the orange tag. Wait, it gets better.

Say you had another photo of a pumpkin. That’s a vegetable, right? So you tag it vegetable. It is also orange (when ripe), so you tag with orange. Now when you are viewing that page of the orange with the fruit and orange tags selected, if you click on either tag again, that tag is removed from the list that the images displayed must match… so now you see the orange and the pumpkin… along with the list of tags that says orange, fruit, and vegetable.
This whole thing works better in practice than can be explained, but once you get used to it it really does making an image you want to find a lot easier and it makes exploring images rather interesting by almost randomly adding and removing different tags. And like View All Photos, they are displayed newest to oldest, grouped by date.
Now back to the albums. With most gallery programs, you set up your albums and load your pictures in to them. If you want a photo to be in more than one album, you generally have to add another copy of the same photo. JuxtaPhoto handles albums in a way similar to the way Flickr handles collections. You create an album from the admin panel by giving it a title and then telling it to show the photos with the tags that match up with the list you provide. It can be one, or a dozen, but basically it will show all the photos that include even just one of the tags you add. This differs from the Browse Tags page. There a photo has to match each tag you select to be included. With album, any photo that has any of the tags gets included. The admin panel gives a preview of the first 30 photos it finds that match your tags, as well as telling you how many total photos will be included in this new album.
There is every chance a photo could end up in multiple albums, or even none, depending on how you set them up. I wanted some basic albums, so I included certain key tags on groups of photos so I could easily control how they fit in my albums. For example, I have one album called “Family” that is keyed to just one tag, “family”. Every photo that I’ve uploaded that has a family member in it gets the tag family. But if I wanted to do an album of just my sister’s two kids, I could do an album keyed to the tags “sarah” and “cole”. If I decide to change it to show my other two nieces, then I just edit the album and add “aidan” and “samantha” to the list of tags and it’s good to go. In this case, all the photos in that album will also show up in the Family album, but without adding multiple copies.
Now I’m not saying JuxtaPhoto is perfect. It still has some growing it can do, such as tag management of images. Once you process a pending batch, if you need to tweek anything, you have to do it one image at a time. And it would be nice to set a static order for how the albums show up on the main page. From what I can see the albums listed first are those that were most recently updated. A simple option flag somewhere to have them display alphabetical would be nice, or ideally being able to set a manual order.
Eventually, I may look at doing some of my own tweeks, mostly in the area of the template. He uses XHTML, so it should not be too tough to do, just have to take the time to do so. All things considered, JuxtaPhoto meets about 85% of what I was looking for, maybe more, and I would definitely recommend it to anyone looking to set up their own gallery. On top of that there are features I didn’t even touch on, like the RSS feeds, so look for some Hints & Tips type articles in the future.
Tab Based PHP Photo Album [jeffreyharrell.com]

0 comments ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment