- Campfire Stick
- APIs
- Use cases
- for time keepers
- a private investigator logs his time in a google spreadsheet
- he shares his timesheet with a timesheet admin
- Magnum P.I. keeps his time in the spreadsheet only (no time edits in BC)
- for time track manager
- Higgins uses lib/tent.rb to periodically sync shared timesheets with BC project time
- tent = CampfireStick::Tent.new
- tent.pitch
- Project
- http://code.google.com/p/campfire-stick/
- http://campfire-stick.googlecode.com/svn/trunk/
- Convention
- user's google login must match email address in BC
- project names used in spreadsheets rows match BC project names exactly
- users share their timesheets w/ a time manager
- see example spreadsheet at http://spreadsheets.google.com/ccc?key=pQXTShnkI1vmpydUUGRuSEA&hl=en
- Purpose
- 1-way sync b/n Google spreadsheet and Basecamp time tracking. keep your time on a Basecamp project in a spreadsheet layout.
- Authored
- Config
- config/auth.yml -> username/pwd for managerial gmail acct
- Method
- i. retrieve spreadsheet data
- lookup auth data for shared gdocs acct
- retrieve all timesheets
- loop spreadsheets
- each
- get spreadsheet id
- get spreadsheet data
- get listfeed id
- get listfeed data
- loop entries
- each
- add entry to projects timesheet collection
- ii. insert time records to Basecamp
- create session object with BC login credentials
- loop projects timesheet collection
- each
- find project in session projects
delete existing user's time entries- add all user's time entries
- TODO
- implement todo-list time entry updating
- handle 90-day restriction of BC time API