ISBN lookup and package editing are now fixed!

In the last week, developers have fixed two important bits of functionality in Testament.

ISBN Lookup

Alex Berry fixed ISBN autocompletion for books when logging a package.  Right now, the feature uses Open Library for lookups, but there are plans to add other book data sources to be able to match the widest range of ISBNs.

Package Edit View

I fixed the package editing view, which was taking a very long time to load.  The page loads quickly now, and if you want to change the recipient of a package, just click in the input and start typing the inmate’s name or number and you can select the recipient from an autocompleting list.

To change a package's recipient, simply click in the input and start typing the inmate's name or number. Then click on the new recipient in the drop-down list.

Posted in Bug Fix | 2 Comments

New Features

It’s been a while since we’ve added features to Testament so this past weekend, Andrew and I had a hack day to add functionality suggested by books to prisoners projects using Testament.  We’re pleased to announce these new features:

  • Adding, removing and editing a package’s books after a package record has been created.
  • Deleting package records
  • Showing a prison record’s notes when viewing a record

We also fixed the weekly package report so it should now report your group’s weekly activity.

If you encounter any problems with these features or anything else in Testament e-mail testament_supportatboxcarbooksdotorg or post an issue on Testament’s help page.

Read on for more information and screenshots/screencasts of these new features.

Adding, removing and editing a package’s books after a package record has been created

Watch a screencast of how this new feature works:

Deleting package records

A package record’s page now has a new Delete this record link.  Clicking the link will permanently delete  a package record.

Delete this record

Showing a prison record’s notes when viewing a record

For reason’s I still can’t figure out, a prison record’s notes field, which many groups used to provide additional detailed information about restrictions, was only shown when editing a prison record.  Now the notes are visible when you view the prison record.

Posted in Bug Fix, New Feature | Tagged , , , | Leave a comment

Changes to Interface

Changed Step 2:Prison & Address Interface

I had noticed that many volunteers were confused by the interface of Step 2 of the Log a Package workflow.  The old interface showed both the pulldown menu to select a prison that is already in the database and the form to add a new prison.  Many people filled out the add a new prison form and completely missed the pulldown.  The new interface defaults to the pull-down menu, hiding the form to add a new prison.  By clicking a labeled link, the pull-down menu is hidden and the add a new prison form is revealed.

Watch a screencast showing the new interface

Added additional information to the Inmate List


At the Midwest Pages to Prisoners Project, we are only able to send people books every 2 months to ensure more equitable access to our resources.  Someone must check incoming letters to see whether the person requesting books has received books recently and file the letters away for later if the writer has received books recently.

I added additional information to the results of an inmate search to show the date that the last package was sent  to the inmate.  This makes it easy for our volunteers to find out this required information with a minimum number of clicks.

Posted in New Feature | Leave a comment

Traceback e-mails

Andrew just modified the Testament service to eliminate unsightly errors and immediately e-mail the service developers when an unexpected error occurs.

At some point, most Testament users will probably have encountered an uncaught exception (in non-programmer-speak, that’s an error that we haven’t anticipated and don’t handle gracefully) with a confusing looking error and traceback (a way for programmers to tell which sequence of events in the program caused the problem) that looks something like this:

Request Method: GET
Request URL:
Django Version: 0.97-pre-SVN-7554
Python Version: 2.5.2
Installed Applications:
Installed Middleware:

File “/usr/lib/python2.5/site-packages/django/core/handlers/” in get_response
82. response = callback(request, *callback_args, **callback_kwargs)
File “/var/www/testament/testament_trunk/btp/core/” in package_address
205. add_infobox_context(request, context)
File “/var/www/testament/testament_trunk/btp/core/” in add_infobox_context
66. if i.number == NULL_INMATE_NUMBER:

Exception Type: UnboundLocalError at /log-package/2/
Exception Value: local variable ‘i’ referenced before assignment

Now you won’t see this mess and we’ll get e-mailed when it happens so we can get the problem identified and fixed ASAP.

As always, if you want to report a bug, submit a feature request, or ask a question, please use the Testament Get Satisfaction Page.

Posted in New Feature | Tagged , , , , | Leave a comment

Satisfaction for questions and support

After using this web service for other online tools, I decided that using Satisfaction for reporting bugs or questions about Testament was the way to go.  I liked that it allows all users to see other users’ questions and allows other users to answer questions without requiring the developers to respond.  To begin searching for answers or asking for help, click on the Help tab in testament.


Posted in New Feature | Leave a comment

Improved Requests Interface

In the requests view, you can now specify whether you want to see requests for just your user or for all users.  The requests view, by default is filtered to open requests for all states for your user.  Finally, you can edit a request in-place by clicking on the request test in the list.  This will open up a small form that allows you to change the text and save it.

Posted in New Feature | Tagged , | Leave a comment

Fixed some bugs, added new fields to prison records

I fixed a bug that caused an error to occur when a package was being logged to a new inmate at a new prison.

I also added Phone and Website fields to prison records.  At the Midwest Pages to Prisoners Project, we use this information when we call facilities about returned packages.  It’s nice to have contact information easily available right in testament.

In solidarity,


Posted in Bug Fix, New Feature | Leave a comment

Requests as feed

Requests are now available as RSS feeds.  This would be a useful feature if you wanted to provide a dynamic list of pending requests on your project’s website.

The feeds are accessible at the following paths:

  • /feeds/requests/[username]/normal : General requests
  • /feeds/requests/[username]/special : Special requests
  • /feeds/requests/[username]/personal : Personal requests
  • /feeds/requests/[username]/ : All requests

If username is omitted, it shows requests from all groups.

Posted in New Feature | Leave a comment

Announcing Testament: An Online Books to Prisoners Information Tool

Andrew Badr (formerly of Urbana Champaign Books to Prisoners) has developed an online tool to aid in the record keeping of books to prisoners projects. In the past months, Geoff Hing has helped to add features to this software and adopt it at the Midwest Pages to Prisoners Project, where he is a volunteer. We are now excited to make this tool available to a wider community of books to prisoners projects. The tool is called Testament and if you have further questions or would like an account to start using the tool, please contact andrewbadratgmaildotcom.

For more information about this tool, please read the FAQ.

Andrew Badr and Geoff Hing

Posted in Uncategorized | Tagged | Leave a comment