[Zope] image database /kv

Lalo Castro laloc at cats.ucsc.edu
Fri Oct 31 14:47:46 EST 2003

The external database was chosen for a couple of reasons.  Keep in mind 
that I'm not expert on the inner workings of the ZODB, so some 
statements regarding ZODB could be inaccurate, based on my understanding 
of it.
1)  The main reason was that we're looking forward to having our image 
database placed on the Luna Insight ( 
http://www.lunaimaging.com/insight/index.html ) project, and that 
required exporting a SQL compliant database with standard fields.  ZODB 
seems not to be SQL compliant.
2)  I always kinda considered the ZODB as something that's fine for 
rather small databases.  But the larger the ZODB gets the more you slow 
down Zope.  And this database is going to get really really big.
3)  Our site has a somewhat standardized method of creating services. 
Interfaces are in Zope, Servers are in OpenBSD, and Databases are in 
PostGreSQL.  So, part of why we chose PGSQL is because that's the way we 
do it here.  It's not much of an answer, but it's true.

Resizing the pictures is going to be done as the pictures are scanned. 
Students will be doing the scanning, and as they scan they'll create 
those 3 image types.  Thumbnail, Display, and Archive.  I think they do 
this by creating the Archive image, then the display image, then the 
thumbnail from the display image.  I'm pretty sure they're using 
Photoshop for this, but I'm not really involved in that part of the 
project, so I can't be certain.


P.S.: I should let you know that I'm going on vacation from Nov 3rd to 
Nov 18th.  If I don't respond to you before then, you'll know why.

Kai Vermehr wrote:

> thanks Lalo ... just some first questions:
> why did you chose an external database and not Zopes own Database ZODB? What
> tools do you use for resizing the pictures (I'm new to Zope so this might be
> obvious to others). Are you using PIL or Photo for this -- and how?
> 'K:?
> on 27.10.2003 23:56 Uhr, Lalo Castro at laloc at cats.ucsc.edu wrote:
>>We're beginning to do the same thing, more or less.  I'll describe how
>>we're going to go about it, and maybe it will answer some of your
>>questions.  At the least, I hope it'll help.
>>The database itself is in PostgreSQL.  The interfaces are all in Zope.
>>The database for the images consists of tables of metadata about
>>different collections.  The actual images are stored on a separate
>>server, and the images databases contain the location of images on that
>>other server.
>>There's also a database of a series of default values for the images
>>metadata, so that the people who have to enter in this information don't
>>have to enter in all the information every time.  This contains the
>>default information for each collection, and for each series of items in
>>a collection (e.g., all 4x9 photos in the Ansel Adams collection will
>>have the default size of 4x9).
>>The Zope interface consists of 3 main pages.  The "make the series of
>>default values" page, the "get a series of default values you already
>>made" page, and the "enter that information into the database" page.
>>Each page goes to a SQL method that performs search, add, modify, or
>>delete operations on the database, depending.
>>The users/groups are administered in the Zope acl, with managers able to
>>add users who can perform data entry.
>>Our images are organized on the images server according to collection
>>(and resolution, but that's within the collection hierarchy).  Where
>>they are doesn't really matter, because the database holds the image
>>location and so you can search it by collection, media type, size, etc.
>>The Zope interface searches the database and just pops up the relevant
>>There are 3 copies of the same image on the image server.  A thumbnail
>>image, an easily viewable image, and an archival quality scan.  The
>>thumbnail is a 2"x2" preview.  The easily viewable is a 700 DPI scan.
>>And the archival quality is something really high (I'm not sure what,
>>but there's no archival image below 150 Megs).
>>Where the images actually are doesn't really matter.  You can search for
>>the images in Zope, and just bring them up regardless of actual image
>>hierarchy.  We're setting up 3 different ways to get to the images.
>>Using the image server as a webserver and displaying the hierarchy to
>>just winnow through the different collections to whichever image you
>>want (using the thumbnails as a image preview, and not displaying the
>>archival image over the internet).  Using Zope to search the SQL
>>database for a particular image in a collection.  And another way that I
>>forgot because I'm not involved in that part of the project.
>>I don't know about the layout concepts because I'm just concentrating on
>>getting the images from the database onto the page, and I figure
>>everything from there is window dressing.
>>Kai Vermehr wrote:
>>>Hi! We are trying to find out how to use Zope for an image database. Are
>>>there any case studies, howto's, products, etc. that anyone can recommend?
>>>How should images be organized? Where should they be placed? How best view,
>>>sort, organize, catalog the content. How define access rights? What layout
>>>concepts have been developed to display images of different sizes?
>>>I guess there are different approaches to solve these questions. Just wanted
>>>to browse through some of them before beginning with to build ours ...
>>>so any advice would very welcome!!! thanks! -- 'K:)
>>>Zope maillist  -  Zope at zope.org
>>>**   No cross posts or HTML encoding!  **
>>>(Related lists -
>>> http://mail.zope.org/mailman/listinfo/zope-announce
>>> http://mail.zope.org/mailman/listinfo/zope-dev )

Lalo Castro
McHenry Library
(831) 459-5208

More information about the Zope mailing list