A Possible Way Forward For Developing Cornell’s OAIS Infrastructure

March 25, 2008 | 0 comments

This post is a recent, non-confidential internal memo I wrote to a co-worker as a sort of post-mortem on a long-term digital preservation project. Although its in very rough form, and alludes to some things that won’t make sense to those outside of Cornell University Library, (and I tend to be pretty loose in how I deal with topics, such as the relationship between performance and scalability for example, and I assume some familiarity with certain technologies), I thought there might be enough meat hear to interest others working in the area of digital preservation.

Exploring Ternary Associations in Ruby On Rails

March 12, 2008 | 2 comments

In Rails documentation and tutorials, there are plenty of examples of how to implement binary associations, but in my searching, I have found no examples of how to implement ternary relationships, a void I hope to now fill. The key will be to make the association tables into full-fledged models and use them in has_many :through declarations to specify the relationships.

My List of Favorite Drupal Modules

February 21, 2008 | 2 comments

When it comes to producing robust applications efficiently, choosing a framework is just the first step. Just as important, is familiarizing yourself with a framework’s plugins and knowing how to use them effectively.

I’ve been using Drupal regularly for about a year now, and I continue to be impressed with it. Not only is the framework itself robust and intelligently architected, but I’ve come to expect that when I need to add a new feature to a site, I can find an existing, mature plugin (or “module” in Drupal’s terminology) that implements it. Not only are these modules great in their own right, but they often work surprisingly well in conjunction with other Drupal modules.

There are so many modules, that it can be a little overwhelming at first. So, although the list of modules I am going to provide is obviously subjective, based on my own use of Drupal, I think it will help orient new Drupal users to some of the more commonly used Drupal modules.

Tips for implementing a subscription based Drupal site.

February 7, 2008 | 9 comments

I recently finished implementing a Drupal site that contained premium content, which a user can access only by purchasing a subscription. I am going to describe the general roadmap I followed to implement this, and while obviously somewhat specific to my situation, I think the guidelines provided can be easily adapted to many similar situations.

A Few Drupal Recipes

January 30, 2008 | 0 comments

I am finishing a Drupal based project which required that I explore areas of Drupal that were new to me. The result is that I have some snippets of code to share for certain situations that might be generally useful.

A Simple LDAP Query Program in Java.

January 23, 2008 | 27 comments

The need to query LDAP directories arises surprisingly rarely for me. As such, each time, I essentially need to relearn how to do this.

I recently contributed to a PHP based project in which LDAP queries would be needed in certain circumstances, once per session. But in the deployment environment, PHP had not been compiled with LDAP support, and I couldn’t ask for this to be updated.

So, I decided to write the needed function in Java, knowing that LDAP support is part of the Java standard libraries and the server we were deploying to was a Solaris machine, so I knew Java would be available. I could then call the Java program from PHP. Clearly, this approach is far from perfect, but its portable and ultimately I felt it was the best way to work within the constraints of the system. And because such queries would only be executed once a session–and only for certain users–the performance hit of this approach was acceptable.

Highly Subjective Thoughts on the Year to Come.

January 18, 2008 | 0 comments

I’d like to talk more about what I expect to be doing this year, which as an experienced developer, might be somewhat interesting. Then, I’d simply like to speculate on how things that are already happening might play out.

My recent introduction to CCK, Contemplate, Views and Node Import modules for Drupal.

January 10, 2008 | 0 comments

In a previous post, “A Possible Approach to Importing Static Content Into Drupal”, I talked about trying to find a quick and dirty way to populate Drupal, in that case migrating existing static Web pages. What I came up with then wasn’t a complete solution, but I thought it might be a promising start.

Along similar lines, I recently started working on a site in which I created a custom content type with CCK and needed to quickly create multiple objects of that type using data from a client’s spreadsheet. After cleaning up the data in the spreadsheet (no matter how careful people think they are, they always enter dirty data in spreadsheets), I tried out a Drupal module that was new to me, Node Import.

Proposal to Open Repositories 2008.

December 8, 2007 | 1 comment

In collaboration with several departments throughout the university, Cornell University Library is beginning to develop a digital asset management system based on the open source Fedora repository that is specifically designed to meet the needs of cultural institutions. The project itself is described along with an analysis of the organizational challenges it seeks to address.

Adding Custom Renderers To HTML_QuickerForm.

November 29, 2007 | 11 comments

In a previous post, I talked about how to get the most out of the HTML_QuickForm PEAR library. I then wrote an improved version for ONLamp. A reader there asked how to implement a custom form renderer using my HTML_QuickerForm class.