Updated: http://time.onrails.org 3
Time.onrails.org – a simple time tracking application has been updated.
- Time shifting – Let’s assume you entered time from 08:00-12:00 13:00-17:00. Then you notice that you effectively took a longer lunch. Simply edit the 12:00 to 11:45, then tab to the next field and change 13:00 to 13:15 and press enter. In the same way, if you didn’t come back from lunch at all that day. Simply clear out the 13:00-17:00 field and press enter. This will delete this time slot.
- Running Timers – When a timer is running (i.e. 11:30- ), the time line (day) is highlighted in green. That way it’s easy to detect which timers are still running.
- IE6 Support. Time entry was pretty broken with IE. This should have been fixed. I haven’t installed IE7…so I assume it doesn’t work there.
- Rails Migration. Behind the scenes Rails was migrated from 1.1.6 to 1.2.3.

Please let me know if you find anything unusual.
Enjoy! Daniel.
Certified Flex 2.0 Developer. 16
Time.onrails.org now with Blinksale integration.
Blinksale is the easiest way to send invoices online. Now time.onrails.org is the easiest way to create Blinksale invoices. Check http://time.onrails.org/doc/blinksale/blinksale.html for more details.
Blinksale API 12
Today Blinksale published it’s data API. See http://www.blinksale.com/api for the details.
It’s good news for time.onrails.org as now we can use the api to generate a draft Blinksale invoice with one click. I have started coding the integration and expect to release it once I have completed extensive testing.
In short, time.onrails.org interacts in the following way with Blinksale:
- get list of client names
- get highest invoice number
- create invoice
Let’s have a peek at how this is implemented.
Accessing Blinksale
A Blinksale class is provided to interact with your Blinksale data. You need to provide your blinksale id, username, and password.
@blinksale = Blinksale.new 'blinksaleid', 'username', 'password'In time.onrails.org we will let you define your Blinksale credentials once to avoid having to retype them each time you create an invoice. Storing the password is optional, and if not provided it will be prompted each time. A use_ssl flag can also be specified if you have a paid Blinksale subscription. This is of course recommended for security reasons.
Get the list of clients
clients = @blinksale.clients
names = clients.collect { |c| c.name }Get the highest invoice number
invoices = @blinksale.invoices
invoices.collect{|invoice| invoice.number}.max Create An Invoice
invoice_data = BlinksaleGenerator.to_xml(INVOICE)
new_invoice = @blinksale.invoices.new invoice_data
new_invoice.saveBlinksaleGenerator is a time.onrails.org class that helps creating the following ‘invoice’ xml.
<?xml version="1.0" encoding="UTF-8"?>
<invoice>
<client>http://#{blinksaleid}.blinksale.com/clients/#{@client_id}</client>
<number>34</number>
<date>2006-09-27</date>
<terms>30</terms>
<currency>USD</currency>
<lines>
<line>
<name>Consulting</name>
<quantity>2.0</quantity>
<kind>Hours</kind>
<unit_price>150.00</unit_price>
<taxed>false</taxed>
</line>
</lines>
</invoice>
The integration is pretty straight forward. Don’t you think? Thanks Scott and your team for this cool application. To find out more on the blinksale api see the online documentation at http://www.blinksale.com/api
UPDATED: time.onrails.org - new features, fast server. 2
Speed: We moved it to a new server. The application is now really responsive!
More Projects: We also took the opportunity to extend the number of projects you can manage from 4 to 12 projects and sections from 12 to 52.
Sorting and Filtering: Added new functionality like project reordering and filtering.
Project Sharing: You can now share a read-only view of your projects for your customers or coworkers.
So, no time to loose, go try it out and let us know what you think.
Dreamhost out, Slicehost in. 20
I must say I like Dreamhost but we had too much downtime recently. Even if we offer time.onrails.org for free it must be up and running when the users need it. This is especially true for a time management application. When you are done with your workday, one click and go home. Lee and I are using time.onrails.org daily for all of our customer projects and recently it has been down once too many time. In addition it’s getting really slow, but then again with a $9 a month shared host plan, I must admit we went already a long way. So time to move on and find a better solution.
We went the last two days on the search for a new hosting provider that would provide dedicated or virtual private servers. There is lots of offerings out there and good information. Lee stumble upon slicehost.com and liked the idea of a small hosting company, that diggs Ruby on Rails, and is about to be launched. They are small and hopefully will work hard to make it. I was not too convinced so we decided to contact them, and had a nice chat with them over their campfire support room. See the campfire transcript. I gave them a hard-time, but they provided us with lots of good information. Check them out if you want to find out what’s going on at slicehost
Transcript: http://onrails.org/files/20060804_slicehost.html
So time.onrails.org users, thank for your patience. In the next month we will move over our application to a way faster environment.
Update: time.onrails.org has been moved. If you sign up with slicehost because of us, feel free to say we referred you. :) Just use this referrel link.
Update: time.onrails.org. Add Notes to your time entries! 2
- Add notes to your time entries. You can now add notes from the Dashboard or your project pages.
- Improved CSV export.
- fixing the rendering in Internet Explorer. I just saw this bug since I installed Parallels on my MacBook pro.
- Blinksale integration, I started to write the UI to submit a time section to generate an invoice via Blinksale, but I am still waiting to get access to the api. Unfortunatly I didn’t make to the beta of the API. I even tried to convince Josh Williams from Firewheel Design, to let me in on it, but without success. Thanks Josh for the quick response anyhow!
Update: time.onrails.org. Capistrano Rocks!
- A first version of data export to text, csv, and xml. See the export icons in the bottom right of the projects and dashboard page.
- A mini system message board. So we can leave you a message, i.e. for planned system maintenance downtime, or to announce new functionality.
- The latest version of the Gruff Graphs
I realized that data export needs some more work as in Safari the xml doesn’t appear unless you do a view source and the csv doesn’t load Microsoft Excel directly nor adds a default .csv extension to the generated data.
We will deploy new functionality or fixes issues once a week if possible. Note that we are going to keep this application simple, but any suggestion is welcome. Contact us at time@onrails.org.
I deployed the application using Capistrano. It is pretty stressless and consists of the following steps:rake remote:disable_web rake remote:deploy_with_migrations rake remote:enable_web
In this case we had a database migration, the new ‘messages’ table.
The only issue that persists is that the application doesn’t start right away after the deployment and seems to hang for about 10 minutes before comming back to life. The application is hosted on Dreamhost and we don’t have full control on how the displatch.fcgi processes are launched.
It’s now up and running, so enjoy!