I’m pleased to announce that I’ve teamed up with Mark Phillips and the guys at Vertabase to publicly release ExportReports.com.

What is ExportReports.com, you ask?

ExportsReports.com is a site that enables users of the 37signals product Basecamp to export copies of their projects to a PDF file. Before ExportReports, a Basecamp user could request a backup of their site, and receive an XML dump of their project. Now, through our site, a user can ask for PDF exports at will. It’s perfect for either ongoing status reports, or an end of project knowledge dump to a client.

We do charge a small fee, but for the first month, we are running at reduced rates.


ExportReports was written with Adobe ColdFusion, and uses the Basecamp API’s provided by 37signals. Three factors led to us choosing ColdFusion:

  1. We needed to consume webservices, and ColdFusion makes this really easy.
  2. We needed to work with PDF’s and ColdFusion pretty much rocks the PDF.
  3. Let’s face it, I think ColdFusion rocks.

So, wish me luck on this commercial endeavor. If you’re a Basecamp user, I hope you like it. If not, become one, it’s a fantastic product. Then use ExportReports.com.

Basecamp API Update

First of all thanks to all of the people who have either promoted or contacted me about BasecampCFC. I am really excited about all of the interest. As of now it’s been mentioned at:

I have to admit, getting it on 37Signals’ radar was pretty cool.

Now on to the meat of this post, the latest update…

I’ve fixed a number of issues with both the basecamp.cfc and the demo app that goes along with it.


  • I added a debug setting to the init method. It adds extra information to the ColdFusion debugging output.
  • I added an authentication method. It allows you to tell the difference between
    • Authentication failure
    • API not being enabled
    • Basecamp project not existing
  • I made steps to ensure that all get methods would return consistent column lists for queries.

Demo application

  • Now tells you if you haven’t enabled the API
  • Now gives directions on enabling API.
  • It’s a bit more robust in handling blank records

Finally, if anyone is interested I added the unit tests to the SVN repository, if anyone wants to see how I’m testing the whole thing.

Basecamp CFC

I’ve been using Basecamp for freelance consulting and I absolutely love it. I have one problem with it, once you shut down a project the client can’t get any of their materials. It would be nice if you could export the entire contents of a project, compile it into a .pdf, and ship it off to a client as part of a project closeout.

They have a pretty thorough API, and I happen to know a language that can make pdf’s pretty easy. So I figured I could make my own solution, and I did. In doing so, I had to create a service CFC for the Basecamp API. Since there wasn’t one when I looked around for it, but there were a few questions about one, I figured I would share it on RIAForge, and I have. You can download Basecamp CFC from there now.

A few things to note:

  • I implemented all of the data retrieval methods
  • I implemented create, update, and delete methods for comments and messages
  • I have not implemented create, update, and delete methods for categories, todos, or milestones
  • There are not API methods for create, update, and delete of companies and people.

I haven’t implemented everything, because, frankly I didn’t need it all. But, if anyone uses the thing and really wants them, I will be happy to implement more.

If anybody uses it, let me know.