Harvest is, in our opinion, an indispensable web app for small businesses. It makes it easy to do what most small businesses struggle with: keep track of time and expenses. Harvest has an enviable lineup of features, including the ability to track time while you work, log expenses, invoice clients and more. They also have a great user interface, but the truth is that work happens everywhere and at ever hour, and sometimes it might not be ideal or convenient to go to the website to use the application.
Fortunately, the Harvest team is in tune with the needs of small businesses. They created an excellent REST-style (REpresentational State Transfer) API for developers to enable the creation of 3rd-party applications. This opened a whole new world of possibilities regarding what can be done with the data and the service itself.
Here at ImageX Media, we decided that a company-branded, reports-style site would work great for our clients and team members. So we set about creating a Drupal module that allows full access to the harvest API and unlocks its potential. The initial beta release of this Harvest module has just been posted on Drupal.org – see it here. The module has been divided into three parts: the API handler, projects and notifications. Here’s the skinny on each:

The API Handler is the central intelligence of the module and provides the link between Drupal and Harvest. Because most of this is occurring in the back-end, it takes very little configuration to get up and running. Follow these steps to get started:
After saving, you will get a message letting you know if the module was able to successfully connect to the API. It is recommended that an administrator-style account is created on Harvest to use for connecting to the API.

Projects are nodes which get linked to an actual Harvest project. When a new project is created on Drupal it will automatically download a summary of time entries for the different Harvest categories. However, the first project you add needs to have some internal categories setup for the table display; here’s how to get going:
Now on your project page in Drupal you will see a task table, including a nicely detailed summary of progress, total budget and spent hours. Each task that time has been spent on can be clicked on to view a full summary of time entries for that specific task.

Additionally, you can specify which categories of tasks can be accessed by specific roles. For example, if you have a category of tasks called “Project Management” you may only want to display to users with the manager role. There is also an option to specify which categories are billable hours; this controls how the totals in the summary are presented to users.

Notifications can play a big part in a small business’ day-to-day operations. To leverage the Harvest API even further there is an e-mail-based notifications system included. There are three types of notifications that can be enabled:
For a custom touch, all notifications utilize the token module and template formatting. Configuring and enabling these notifications is super easy and includes the ability to adjust reports based on user timezone settings. To enable notifications, follow these steps:
Optionally, you can click on the “Timezone settings” tab where you can configure what timezones each Harvest “person” is in. Note that a “person” for Harvest is not limited to Drupal users. Each person is essentially a user on the Harvest website listed under the account (which was defined in the API settings earlier). This separation allows for the notification system to function for everyone using Harvest and not just the ones registered on the Drupal website.
We would love to hear your feedback. Please download the module, take it for a test drive, and tell us what you think (your comments below are welcome). If you have ideas for new features, need support, or find a bug please add it the module’s issue queue.
imagex_media: Friday food for thought: Designing Websites for the Blind & Visually Impaired http://t.co/w0Y6jEmv #webdesign
imagex_media: Useful #CSS Snippets for Your Coding Arsenal http://t.co/5JHMhL9r #webdev
imagex_media: New developer tools in #Firefox 10 and 11 http://t.co/H8Z52Mcn #webdev
imagex_media: Check out some not so beautiful websites http://t.co/jRk6qB8s #webdesign #design #webdev via @tomho529
imagex_media: Happy Groundhog Day! RT @willieofficial: Early spring it is!!! http://t.co/U6r17clk