ted serbinski – entrepreneur & web architect
  • thoughts
  • about
  • contact



Popular content

  • Reducing Drupal blog spam
  • My latest patch: fixing links and breaking modules
  • Drupal Behavior to Fix IE6 CSS Background Image Flickering
  • Great Show at the 9:30 Club
  • It's back!
  • Nolo: Law articles without the cruft
  • ted 3.0: A Drupal Blog Redesign
  • MTV.co.uk
  • myLifetime Community Launches
  • Preventing Drupal from Handling 404s for Performance
more

Recent comments

  • thanks very much
    1 week 3 days ago
  • it is really nice written
    2 weeks 2 days ago
  • Hi, I have used the
    4 weeks 14 hours ago
  • thankyou so much and for
    8 weeks 5 days ago
  • It’s typical for the
    10 weeks 2 days ago
more

Fedora: Image Manipulation Servlet

During the 2nd semester of my junior year at Cornell University (circa April 2003), I worked on an independent study where I developed an image manipulation servlet to tie into Fedora, an “open source software [package that] gives organizations a flexible service-oriented architecture for managing and delivering their digital content.”

At the time of my project, Fedora was managing massive digital libraries for both the University of Virginia and Cornell University. Both universities were looking for a solution to better manipulate images and that is where my project comes in.

I wrote and developed a Java servlet to perform image manipulations on the fly, including resizing, cropping, zooming, brightness adjustments, watermarking, and converting from one format to another. All of these translations occured through HTTP GET requests. The benefit of this approach, was that only the original image needed to be stored in the database and any derivative of it could be generated on the fly.

Back then, storage wasn’t as abundant as it is today :-)

Below, you’ll find the servlet in two flavors: one with more generic, portable code, and the latter, relying on more comprehensive image libraries. With the changes in Java over the past few years, I expect the latter one to be just as portable as the former. Additionally, the readme and examples file should provide sufficent documentation for using the servlet. And for the curious, attached are the XML files for some basic integration into Fedora.

AttachmentSize
ImageManipulation__generic.java.txt14.35 KB
ImageManipulation__image_support.java.txt18.24 KB
readme.html.txt3.99 KB
examples.html.txt7.07 KB
bdef-image-manip.xml.txt7.4 KB
bmech-image-manip.xml.txt27.12 KB
posted 27 May 2006
  • code
  • java
  • portfolio

2 comments

#1
Kevin Schweer wrote 3 years 39 weeks ago

Interesting stuff… I worked on some of the initial Fedora setup at UVA my 3rd year (junior), while it was still getting off the ground there. Cornell sounds like it was a bit more ‘organized’ than UVA was in the endeavor.

#2
ted wrote 3 years 39 weeks ago

Wow, talk about small world! Yeah the digital library project was a bit overwhelming and ambitious I might say, I still didn’t really fully understand it even after I wrote my servlet :-)

Add your comment

The content of this field is kept private and will not be shown publicly.
  • You can use Textile markup to format text.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <img> <pre>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

More information about formatting options


Code examples and downloadable zip files of code are licensed under a Creative Commons License.
All other content, unless where noted, ©2010 Theodore Serbinski. All Rights Reserved.