Code Monkey home page Code Monkey logo

redmine_time_tracker's Introduction

Dependency Status Code Climate Build Status

Redmine Time Tracker plugin

Note: We are working on a complete rewrite of this plugin. Checkout this issue for more infos: #194

Time tracker is a Redmine plugin to ease time tracking when working on an issue. The plugin allows to start/stop a timer on a per user basis. The timer can be started with or without any reference to a Redmine Issue. If you track multiple timelogs without Issue references, you are able to reference Issues later.

It is be individual configurable for every user and as a module can be enabled per project.

Features

  • Per user time tracking
  • Using known Redmine TimeEntries
  • Overview of spent time
  • Track free time
  • Book tracked time on tickets
  • Detailed time tracking statistics for team management
  • Status monitor, watch currently tracked time of team
  • Detailed overview of spent time with filter options (user, project, date)
  • Invoice generation for projects, including graphical time representation with customizable company logo
  • User specific settings (time tracking on/off)
  • Project specific settings (time tracking on/off)
  • Admin page (add/remove time logs)

Getting the plugin

Most current version is available at: GitHub.

Requirements

  • Redmine one of (see travis.yml)
    • Version 2.4.0
    • Version 2.4.5
    • Version 2.5.0
    • Version 2.5.1
    • Version 2.6.0
    • Version 3.0.4
    • Version 3.1.0
  • Ruby one of
    • Version 1.9.3
    • Version 2.0.0
    • Version 2.1.1

Install

  1. Follow the Redmine plugin installation steps at http://www.redmine.org/wiki/redmine/Plugins. Make sure the plugin is installed to #{RAILS_ROOT}/plugins/redmine_time_tracker
  2. Rerun bundle install to install all necessary gems
  3. Run rake redmine:plugins:migrate RAILS_ENV=production
  4. Run rake redmine:plugins:redmine_time_tracker:install RAILS_ENV=production to load assets
  5. Login to your Redmine install as an administrator
  6. Setup the "log time" permissions for your roles
  7. Enable the "Time tracking" module for your project
  8. Activate "Enable REST web service" in the authentication tab in settings
  9. Now the link to the plugin should appear in the Main menu bar (upper left corner)

Update via Git

  1. Open a shell to your Redmine's #{RAILS_ROOT}/plugins/redmine_time_tracker folder
  2. Update your git copy with: git pull
  3. Update the database using the migrations: rake redmine:plugins:migrate RAILS_ENV=production
  4. Run rake redmine:plugins:redmine_time_tracker:install RAILS_ENV=production to load assets
  5. Restart your Redmine instance

Usage

To be able to use a time tracker, a user must have the 'log time' permission. If this is present, the time tracker menu will be visible in the top left menu

To track time on an issue, you can use the context menu (right click in the issues list) in the issue list to start or stop the timer or press the "Start Tracking" button on the top right, next to the default "Book Time" Redmine button.

What's what?

The Plugin is intended to help us create invoices for customers. This requires the separation of time that was spent and time that is booked. Only booked times can be billed. More informations are available in the wiki.

###Time Tracker

The stop watch. Time you spent get's "generated" by the tracker

###Time Log

A time log is a spent amount of time. If you stop the tracker, a time log is created. A time log has nothing attached to it. To add this time to issues or projects, you book time. Role permissions can be edited to disable logging. This might be useful for reviewers, that do not generate time on their own but want to look up statistics on a project or user.

###Time Booking

A booking is time that is actually connected to a task (project or issue). To create a booking, you book time from a time log. You are not limited to spent the whole time of a single booking, you can divide as you wish. You however aren't able book more time than what was actually logged. The role you have on projects and their settings determine if you are able to edit bookings or are just allowed to create them.

###Settings

The plugin offers a list of settings at the Redmine roles and permission settings page. Also you can set the size and file for a logo to be displayed at the report in the Redmine plugin settings, enable rounding behaviour and interval as well as snapping percentage.

###Report

Reports are the method of generating invoices for customers. The layout is set up to be a simple list and you are able to generate a print-out. You can add you custom logo via the plugin settings in the Redmine administration.

Version History

  • 0.10.5 fixed an internal server error when filtering for "me"
  • 0.10.4 fixed time bookings not working with all Ruby versions
  • 0.10.3 fixed report hardcoding the jquery version
  • 0.10.2 fixed time bookings not being updateable
  • 0.10.1 fixed some bugs with Redmine > 3
  • 0.10.0 compatible with Redmine 3.0.x and 3.1.x
  • 0.9.20 added madeups patches
  • 0.9.19 fixed time tracker queries not saveable for non admins
  • 0.9.18 improved creating muliple bookings from one log
  • 0.9.17 prevent time tracker update to create a new timer, if the old one is gone; fixed autocompletion for postgres
  • 0.9.16 improved start/stop routine of a timer
  • 0.9.15 set jqplot margin to 2
  • 0.9.14 fixed report queries being totally broken
  • 0.9.13 fixed javascript bugs with assets
  • 0.9.12 fixed gemfile dependency problem
  • 0.9.11 added new assets
  • 0.9.10 Separate filters for bookings and reports
  • 0.9.9 fixed bugs
  • 0.9.8 fixed bug, when right-clicking on the time tracker button
  • 0.9.7 hide global time tracker button when a user does not have permission to start โ€™em
  • 0.9.6 time tracker now adjusts its start time according to last timelog entry
  • 0.9.5 fixed error message shown, when trying to stop a non existant timer
  • 0.9.4 fixed critical month name localization bug, fixed test execution, improved reports
  • 0.9.3 fixed date queries for time log and time booking
  • 0.9.2 fixed compatibility with ruby 1.8.7
  • 0.9.1 restored compatibility with ruby 1.8.7
  • 0.9.0 compatible with Redmine 2.4.0
  • 0.8.3 fixed custom saved query usage
  • 0.8.2 fixed missing activity on continue, filters in time recordings now get saved properly
  • 0.8.1 bugfix with permission, new setting for default rounding
  • 0.8.0 many bugfixes, localized time, new menu buttons, improved workflow
  • 0.7.0 compatible with Redmine 2.3.1
  • 0.6.2 enhanced error checking of correct settings in Redmine
  • 0.6.1 fixed error that resulted in authentication loop using the REST API
  • 0.6.0 fixed error with time bookings on ruby 1.8.7
  • 0.5.3 fixed routing error
  • 0.5.2 fixed error that resulted in reporting plot not being drawn with Ruby 1.8
  • 0.5.1 fixed minor bugs to run with Redmine 2.2.0

redmine_time_tracker's People

Contributors

arbmind avatar delaitre avatar mischatheevil avatar mstarke avatar ramensoup avatar huerlisi avatar linniksa avatar jhit avatar denispeplin avatar fgrehm avatar sn3ek avatar jobicoppola avatar frogcoder avatar martinllanos avatar muratsevim avatar cforce avatar furgas avatar wojtha avatar waydotnet avatar hiroponz avatar jtrancas avatar

Watchers

Haixing Hu avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.