Pond logo Pond's Place
Ruby software: TrackRecord

  
     

TrackRecord timesheet system

TrackRecord is a Ruby On Rails application which lets users enter and analyse timesheets. It may be of use to sole trader contractors who wish to keep track of their time, or other small businesses. It is released under a BSD license and has an associated RubyForge project.

Installation

Downloading

See the sidebar for links to source archives you can download. Versions of the application with and without a frozen copy of a "known to work" version of Rails included are available; the "-norails" version, unsurprisingly, omits the frozen Rails code.

Direct access to a source repository for cutting edge versions is not currently possible.

Requirements

TrackRecord has been tested on various browsers including Internet Explorer 7 and 8 beta, Firefox 3, Opera 9.5, Safari 3.1 and NetSurf 1.1 on a combination of Windows XP, MacOS X 10.5 and RISC OS 5.11 platforms. JavaScript is used in a few places to make the user interface more fluid; for example, it provides a more advanced task selection mechanism and helps with 2D cursor navigation in the timesheet editor grid. It works in all browsers except Internet Explorer and NetSurf, the latter lacking JavaScript support entirely. The site degrades gracefully, but if you want the additional features, please use one of the other tested browsers.

Dependencies

If the "-norails" archive is used, Rails 2.1 or a compatible release must be available on your system. If the full archive is used, a standard frozen Rails 2.1 version is included in vendor/rails.

The following gems are needed and listed in config/environment.rb:

You may need to modify the list in config/environment.rb if trying to use different versions of any of these gems. Only the above versions have been tested.

The plug-ins listed below are included in the vendor directory. Since they are included in both the with-Rails and without-Rails versions of the archives, you shouldn't need to take any steps to configure or modify them:

Configuration

The following files will need attention for configuration purposes:

  • config/database.yml in the usual Rails fashion.
  • config/environment.rb to set a secret key if you are using the cookie session store.
  • config/initializers/general_config for a few important constants you may need to modify. Extensive comments inside the file (hopefully!) explain everything.
  • config/initializers/email_config for some important constants which you will definitely need to modify. Again, comments inside the file should explain everything.

Setting up

Once installed, when you first visit your new TrackRecord installation you will be asked to create a user account. The new user will have administrator privileges. You will need to provide an OpenID when you do this. Once at least one user has been created, all subsequent visits to the site by logged out users will lead to the sign-in page. This includes extensive information about OpenID to help anyone who is unsure about it understand the process. If you are administrator setting up the site for the first time and you are not sure about it either, the information on the sign-in page may be of interest - see the following file:

app/views/sessions/new.html.erb

Reliability

Development tested only

TrackRecord was beta tested for several months by a small company with which I am involved and performed well. However, it currently has no automated tests whatsoever. This is something of a huge no-no in Rails land but there are pragmatic reasons for it. I do recognise that this is a very significant shortcoming and hope to add automated tests as soon as possible. Nonetheless, development and beta testing has been relative thorough and I'm confident that the system is reliable and generates correct numbers in reports. As with most software, though, there can be no guarantees, with or without automated tests; if you intend to use TrackRecord for business critical purposes then I strongly recommend you trial it alongside a secondary recording and reporting system to verify its output, until such a time as you are satisfied that it is reliable in the context of use to which it is being put.

How to report bugs or ask for new features

Please report bugs or raise feature requests using the Pond's Place forum's TrackRecord section.

Screenshots

Select the thumbnail for a larger image. The screenshots were taken from a system running a database with some realistic test data that included real company names and dates, so in a few places, you'll notice that information has been deliberately blurred out.

Welcome Timesheet overview Edit timeshet Create report
View report Exported report Search Audit

More information

If I have time, I'll add more information about using TrackRecord here later, maybe including a demo server. In the mean time, just play around with the software to get the hang of it!

Licence

The following is a copy of the text of the LICENSE file held inside all of the download archives:

  Copyright (c) 2008, Andrew Hodgkinson
  All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:

  * Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.

  * Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.

  * Neither the name of Hipposoft nor the names of its contributors may
    be used to endorse or promote products derived from this software
    without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
  IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
  OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The favicon.ico file is adapted from the Radiant CMS logo. Used with kind permission of J.W.Long.

Valid HTML 4.0 Valid CSS A.D.Hodgkinson
Updated 30 Nov 2008
The HTML and CSS herein are licensed
under a Creative Commons License.
Creative Commons License