Skip to main content

Digital Gallery - Photo processing and interactive system

I was approached by Sherborne Museum to develop a fully integrated photo processing, cataloguing and interactive display system.

The key aims of the project were:
  1. A database system to enable the digitisation and management of the photo collection.
  2. A simple to use public interface to allow browsing and searching of the collection via a touch interface.
  3. The public will be able to order copies of photographs by noting each photo reference on an order form and handing it to the museum reception
The system comprises a very capable yet simple to use management application for use by the museum staff and a touch enabled application for use by visitors to the museum.

Management Application

The management application provides a range of functions while being very straightforward to use. Some of the key features are:

  • Import of photos directly from a flat-bed scanner.
  • Import of photos from hard drive, CD or USB drive.
  • Cataloguing of all photos in departments and categories.
  • Maintenance of all attributes relating to images.
Each photo can be assigned the following:
  • Title
  • Public description - the description shown to museum visitors.
  • Private description - the description used by museum staff to identity and describe images.
  • Category.
  • Attribution (e.g. artist or photographer).
  • Media type (e.g. slide, print, negative).
  • Time period (either exact date, decade or century).
Photos can be printed, exported to Adobe Photoshop or published directly to the public system.

The main screen in the management application.

One of the photo management screens showing options for importing images from disk, scanning batches of images or scanning a single image.

An example image details screen showing the various attributes and functions.

Public System

As well as providing better management of the museum's photographic collection the main goal was to provide a means for museum visitors to browse the majority of the collection, view details on every image and order prints.

After consulting on the various options it was decided that the best approach would be to provided a dedicated touch based system for browsing the entire collection.

I have developed the system in such way that almost any design could be used for the public system with minimal changes to the way the system works - for the first implementation it was decided that a very simple un-cluttered interface would be the best way forward.

An example category section within the public system. All photos automatically tile to fill the screen.

An example detail page showing title, reference, description and attribution. Options are provided to zoom, return to the category page or add the photo to the user's basket.

A bespoke lectern was commissioned to house the dedicated 24 inch touch screen. Any size lectern or screen could have been used but a 24 inch screen best suited the museum's requirements.


Popular posts from this blog

Ad hoc access to OLE DB provider has been denied

Using post SP2 SQL 7 (+ 2000 etc) attempting to access an OLEDB data source using OPENROWSET can produce the slightly spurious error: Ad hoc access to OLE DB provider 'MSDASQL' has been denied. You must access this provider through a linked server. In usual Microsoft style the message doesn't really mean what it says. From SQL 7 SP2 onwards MS by default blocked ad hoc query access with OLEDB. As the message suggests you could setup a linked server but that can be a real pain. Alternatively if you need ad hoc access server wide you could turn on ad hoc access for the SQL server you are using, explained in MS speak here: Ah, but it's not that simple. A little more witchcraft is required. The following registry settings can be used to enable ad hoc access: REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers] "DisallowAdhocAccess"=dword:00000000 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLSer

Take website screenshot using ASP.NET

Utilising a hidden web browser control it is possible to take a screenshot of any website. The code shown below is based on an article at  (sorry the site now appears to be offline May 2012) but I have translated it from VB.NET to C# and will work in .NET so theoretically for any Windows or ASP.NET web project. using System; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms; using System.Diagnostics; namespace WebsiteScreenshot { public class GetImage { private int s_Height; private int s_Width; private int f_Height; private int f_Width; private string myURL; public int ScreenHeight { get { return s_Height; } set { s_Height = value; } } public int ScreenWidth { get { return s_Width; } set { s_Width = value; } } public int ImageWidth { get { return f_Width; } set { f_Width = value; } } public int ImageHeight { get { return f_Height; } set { f_Height = value; } } public string Websit

Recover from corrupt SQL LDF transaction log file

Another favourite this month. A fault on one of our client's servers caused it to restart once every 10 minutes for 2 hours - the result was a corrupt LDF transaction log file for the main application database. It is surprisingly simple to recover from this situation: 1. Stop the SQL Server service 2. Copy the affected database (both LDF and MDF files) out of the main data folder. 3. Restart the SQL Server service 4. Create a new database of the same name and location as the database affected in step 2 - it is critical the filenames and paths are identical. 5. Stop the SQL Server service. 6. Copy the original MDF file (copied in step 2) in to replace the new MDF file created in step 4 7. Start the SQL Server service - the database will show as being suspect. 8. Now you need to recover the database, working from Query Analyser or SQL Management Studio: Use master go sp_configure 'allow updates', 1 reconfigure with override go select status from sysdatabases where name = '