12 classes. 60 functions. 6 test applications. 30 unit test functions. One big fat API wrapper. BungeeConnect applications can now completely integrate with 37signals' Basecamp Project Management application.
Well, 37s are an arrogant group of developers; they even admit to it in their book. Ask them for a new feature and the answer is "no", or in my case "there's an API, build it yourself." So I am, in BungeeConnect, and you can too. (My own itch is moving todo-items from one project to another, something 37s has been reluctant to offer.)
- A BungeeConnect account.
- A Basecamp account. To use SSL and manage Time Entries, you need at least a Plus Account.
- Login to the Bungee Builder, and create a new Solution.
- Modify the Solution's Depencies to include the Basecamp API
- If you want to modify the API, Import it (you'll probably want to, as there aren't any inbuilt Adapters).
- In a class in your TypeLib, add BasecampAPI as a field.
- Before you can go to town, you'll have to setup the API. Now there's nothing stopping you!
I've got two rather minor functions that are still throwing 404 errors - I'm working with 37s (via the forums) to get to the bottom of it, but again, they are minor, and I don't consider them showstoppers.
A bit larger, is an issue I found with BungeeConnect: their HTTP Utility doesn't properly auth PUTs, so none of the Update functions currently work. Bungee Labs has labeled this as Issue #7889 - hopefully it will be resolved sooner rather than later.
I'll be maintaining the BungeeConnect code until someone else steps up with better code, so drop me a line with any issues you encounter, or just let me know what cool tool you're building!
P.S. I'll be dropping another blog post soon about a new site I'm building for making Basecamp better using a variety of small tools.