by Taavi in API Additions on May 15, 2008
We’re happy to announce that we’ve extended the FreshBooks API to allow staff access to time tracking functions! Yes, that includes our OSX Widget, and other time tracker add-ons.
First of all, the admin user has to enable the FreshBooks API. Then any staff member can browse over to his or her Profile page (link at the top, beside Help and Logout). The token and access URL will be displayed at the bottom of the page. The admin user can also find any staff member’s token, by Editing the staff member in question.
Of course, there are always caveats. In order to release this feature as soon as possible for your use-while maintaining the same security you expect from FreshBooks-we’ve only implemented the client, project, task, and time_entry API methods. Staff members trying to access unimplemented features will receive an API error response.
We’ve made a few other updates to the API:
We’ll be updating the API docs today to reflect these changes. So go forth and track time, and let us know what you think. Enjoy!
by Taavi in Development on May 1, 2008
You may have noticed that we recently released the FreshBooks Time Tracker widget. What you may not have noticed beneath its shiny exterior, is this fantastic helper library called jQuery. Here are some excellent reasons for using it…
While the FreshBooks widget is currently only for OSX’s Dashboard, a lot of the HTML element access and glitzy fades are pure jQuery, and should be portable to other widget facilities, and the FreshBooks website itself. It’s also nice to be able to use the same skills in widget creation as webpage creation.
The $() construct is much, much more powerful than it at first appears. Take a closer look at the full power of selectors to see what I mean. And the skills you learn are re-usable, since jQuery implements CSS3-style selectors. When browsers get around to fully supporting them, you’ll already be at home. In addition, jQuery also makes dealing with XML (as returned by the FreshBooks API) and Ajax in general a whole lot easier!
jQuery also leads to shorter, more concise JavaScript. $(”#submit”) is so much easier to type than document.getElementById(“submit”), and infinitely more flexible when you want to, say, operate on all of the images in a page with $(“img”). You “chain” together various jQuery commands, such as css() and show() simply by applying them to the returned “wrapped set”, like $(“img”).css(‘opacity’,0.5).
Apparently I’m not the only one who thought this would be a good idea. I just recently noticed an awesome SVN notifier widget which also includes jQuery. Perhaps the idea is catching on…