The AADL Developer's Blog. Technical info about what new features we're working on, releasing, and playing with.

Creating custom content types in Drupal

While working on an upcoming feature on the site, I faced an initial dilemma: How do I want to store the custom content? I'm creating a system that will manage multiple records of content which contain more information than a standard drupal page or story node would provide. But I'd love to be able to use the established drupal functionality for creating, editing, tagging and protecting content.

The solution? Create my own custom node type. I found this article on very helpful. (Note: this is written for drupal 4.7, which is a generation behind the latest release. So check out this article if you're using drupal 5.)

The best part is that I can add a new "free tagging" vocabulary that applies only to this new custom content type, and it uses drupal's built in AJAX suggesting auto complete on the tags already applied in that vocabulary.

Gaming in Libraries? Definitely.

Eli talking trash

While AADL has had gaming for some time it still remains just a possibility for most libraries. However, interest is growing and this year even ALA put on a Gaming, Libraries and Learning Symposium featuring non-other then our own Eli. You can listen to his talk about choosing games for your library here.

The Creative Library Lab

There's nice article over at Information Wants to Be Free about podcasting in libraries and how it can serve to be a creative lab. She links to a post over at Library Marketing on creative labs and mentions our own Eli and gaming program.

In the process, gaming patrons actually construct a series of unique experiences, thereby turning the library into a laboratory of sorts. This "community creativity lab" is where where I see libraries' future and competitive advantage.

Lego Mindstorms

If your looking for something for your library that might interest older kids and young adults you might look at Lego Mindstorms. It might be hard not to play with them constantly yourself. With the ability to program the robotics there's quite a few things you can do with them including tournaments or challenges. It's a good idea to do dry runs with staff to make sure the project is actually achievable in the time you lay out. Here's some pics from our dry run and the events quickly filled up with teams. You can also check out the AADL Library Lego League page for more information.

lego mindstorm dry run

Open Source in Libraries

Open-souce software is a big thing at AADL and it is becoming a hot item in libraries in general, especially as more and more want control over their future. I had the pleasure of contributing a chapter to a recent Library Technology Report. While you may have trouble finding a copy of the report itself (I still haven't seen the final product) you can see the information I compiled on the code4lib trac wiki. I retained the copyright so the information you see is the same I included in the chapter. I still need to go through and update things as it is a constantly evolving area but it should give you an idea of the wide range of projects that are out there. Big thanks goes out to all the code4lib'ers who helped me track down information on the projects.

Online SQL Design

We've had some great development meetings this week regarding a project that will overhaul our events handling. There are some significant design goals for this project, both on the staff and the public sides of the interface. This is turning out to be a very large project, so we're working the software engineering process to try to catch any problems before we're knee-deep in code. We've got a good set of requirements that have gone through feedback from staff, so now we're translating those into our design, starting with our database.

Ann Arbor's community images

Have you ever wanted to start a local digital image archive, so that all your library images are stored locally on your library servers? Gallery 2 might be the solution you are looking for.

Gallery works in two ways embedded with your CMS or as a single installation. Gallery's ability to seamlessly match the look and feel of our web site made it an ideal choice for integration with drupal. Here is a list of available integrations with other CMSs.

This infrastructure of a CMS and embedded image database has made it possible for AADL to create community partnerships and to host digital images. Last month four new historical wall displays were unveiled for the Downtown A2 Historical Street Exhibit Program.

Check out the images in Gallery and the four wall panels in our CMS.

WALL DISPLAY 1: Ann Arbor’s African American Community
WALL DISPLAY 2: A Changing Neighborhood
WALL DISPLAY 3: Between Downtown and the Railroad
WALL DISPLAY 4: Industry on Detroit Street


Got it.
As part of the php|tek conference I attended in May, I took the Zend PHP Certification test. To be honest, taking a multiple-choice, closed book test on a subject that I was used to dealing with on a freedom-of-design, open-reference basis was a little unnerving. I thought I had done well, but I had no idea where the passing mark would be.

As you can see, I passed. While I have a degree in Computer Science, my knowledge of PHP has been entirely self-taught, so it's nice to have some independent confirmation that I do indeed know how to program in PHP. Now if I could just figure out what to do with this big honkin' sticker.

Server Names


Some people probably have interest in the naming schemes of servers and computers. There was a thread not too long ago on a library server discussing the various names. Here's a small sample of ours:

  • Bilbo
  • Frodo
  • Sauron
  • Pippin
  • Magwitch
  • Murkworks
  • Lutefisk
  • Borfin

And many more. Do you recognize all the names? The first four should be easy.

Playing with Flex

We have quite a few in-house applications written in Adobe (formerly Macromedia) Flash. It's an easy way to layout your GUI and build dynamic animations. Another plus is the ability to run it on multiple platforms.

But Flash is intended as an animation tool: you layout graphical elements on a timeline for movements and transitions. You can then go to keyframes in the timeline and attach ActionScript code to them in order to do your programming logic. This model is sufficient for development and deployment, but it becomes a little troublesome to maintain. There is no easy way to search the ActionScript code that has been attached to the different objects in the timeline. Say you need to correct the logic surrounding all the calls to your updateWidget() function. You have to manually navigate through the timeline, searching over the bits of code until you find what you're looking for, and basically cross your fingers that you've corrected them all.

Syndicate content