Title: PhotoBase
Author: David J. Stein, Esq.
Version: 1.2 - last updated Thursday, March 23, 2006
Abstract: This application is a database management system for photographs and other images. This database allows the user to build an interrelated metadata set of people, locations, events, etc., and then attach relevant elements to each photograph in the set. The resulting database set can be quickly searched, filtered, or viewed, and images may be viewed or organized into slideshows.
Installation Instructions: Simply run the enclosed setup package. This package will create a folder for the PhotoBase application files, and will also associate PhotoBase with the ".photobase" file extension. This will register PhotoBase with Windows so that PhotoBase databases can be accessed simply by opening them.
Operating Instructions:
- New Database: You can begin using PhotoBase by creating a new database. Simply select a location for the database file, as well as a name, description, etc. Important: You may specify the folder where your photographs are located (which includes all subfolders of this folder.) However, if this field is left blank, the folder where the PhotoBase database file is located will be used as the main folder. This enhances the portability of the image set: the entire set can be relocated without compromising the link between database records and image files.
- Categories: Once the database is created, you can create a metadata set that will describe your photographs. PhotoBase offers four main categories of metadata:
- People: People who appear in your images.
- Subjects: Subjects that appear in your images (animals, plants, cars, etc.)
- Places: Places where your images were taken.
- Events: Events where your images were taken. Each "Event" record can be associated with a set of places, a set of people, and a set of subjects. The event record also holds an event start date, end date, and description.
Also, these categories can be arranged into groups - e.g., groups of events ("Work", "Hiking", etc.), groups of people ("Family", "Friends", etc.) These groups can be created or renamed as you wish. PhotoBase also offers a set of photograph groups that can be used to organize your images in ways that the four main categories don't capture.
- File Synchronization: Once the database has been created, you can add image files to it by selecting "Synchronize Files" from the main menu. PhotoBase will scan through its folder set for images, and then match these images with database records. It will then display windows for five sets of files:
- Missing Files: Images that at one time exist in the database, but have since been removed. PhotoBase will give you the option of deleting these records from the database. (Simply click on the records that you wish to delete, and click the "Resolve" button.)
- Moved Files: Images that have been renamed or relocated within your filesystem. PhotoBase will give you the option of updating the database records for these files with the new filename. (Simply click on the records that you wish to update, and click the "Resolve" button.)
- Changed Files: Images that appear in the same place, but that have been altered. PhotoBase will give you the option of updating the database records to match the altered file. (Simply click on the records that you wish to update, and click the "Resolve" button.)
- Duplicate Files: Images that appear more than once in your databsae. PhotoBase will give you the option of deleting the duplicate files. (Simply click the records for the files that you wish to delete, and click the "Resolve" button.)
- Added Files: Images that have been added to the filesystem. PhtoBase will give you the option of creating records in the PhotoBase database for these new files. You may also assign a name, date, event, location, and sets of photo groups, people, and subjects to each new photograph whilst adding it to the database. (You can always add or update this information later.)
- Database Operations: Once your PhotoBase database has been created, filled with categories, and associated with files, you will see a list of all of the images in your database. You may then take the following actions:
- View Photo: Clicking on any record will show a thumbnail preview of the image. Double-clicking on the thumbnail preview will open a new window with the full image.
- View and Update a Photo: Clicking on any record will show all of the metadata that you've associated with this image - name, date, categories, etc. You can update the information by making the desired changes, and then clicking the "Apply Changes" button.
- View and Update Multiple Photos: If you multiselect records from the database (hold down the Control [Ctrl] button while clicking database records), you can selectively apply information to them. Important Note: Only the information that you actually change will be applied to these records. For instance, the date for these records will only be changed if you actually set a new date. Similarly, if you select certain categories to apply to the images, these categories will only be added to these records; other categories associated with these records will not be altered. (For instance, if you select multiple photos and associate a person with them, PhotoBase will not remove all of the other people who might be associated with these records - it will only add this individual.)
- Filter the List: You may view a subset of the photos in the database by adjusting the "Filter" controls. Simply select the categories that you wish to view, and then click the "Apply Filter" button. For instance, if you wish to see only images associated with a particular event, simply click on this event in the "Filter Events" list, and then click "Apply Filter." You may also filter by category groups, e.g., photos featuring people associated with the "Family" people group. Multiple category filters may be selected, and filters are also available for names, dates, and filenames. Finally, if you wish to remove the filter and select all files, simply click the "Clear Filter" button.
- Create and View Slideshows: Your images can be organized into slideshows that you can manage and view. Simply select the "Slideshows" option from the main menu. This will allow you to create a slideshow, add photographs, and alter the order of the photographs. Slideshows are saved in the PhotoBase database, and can be viewed at any time by selecting "View Slideshow" from the Slideshows window.
Comments: This is a very straightforward implementation of a Microsoft Access database management system. A PhotoBase file is simply a Microsoft Access database (renamed to the ".photobase" extension that is associated with PhotoBase.) The application makes heavy use of the Microsoft Jet database engine in searching and operating on this database.
Perhaps the most novel feature of this database is its use of binary hashcodes to track the internal contents of the files. Whilst synchronizing the database with the filesystem, PhotoBase computes the MD5 hash for each image and stores it in the database. Thus, it can correctly identify duplicate images, as well as images that have been moved or renamed since the last synchronization operation.
This program was written in the course of a week. This was a pretty rigorous undertaking, but the end result is quite satisfactory and useful.
Application History:
- Version 1.0 (2/26/2006): Initial release.
- Version 1.1 (3/14/2006): Bugfix release.
- Version 1.2 (3/23/2006): Bugfix release. Also made the photo list headers clickable for ascending and descending sorting.
Questions/Comments: Please contact David J. Stein, Esq. via email at djs10@po.cwru.edu.
Terms and Conditions of Use:
Please see the enclosed "License.html" file for terms and conditions of use of this software package.