↶ Back to Zeiterfassung

at_zeiterfassung – User and administrator manual

Version 1.1.0 · Redmine 5.1 and 6 · GPLv2

This manual covers installation, configuration and daily use of the atori time-tracking plugin.


1. Overview

The plugin adds a weekly grid timesheet, a running timer, a monthly view and a two-step approval workflow on top of Redmine's standard TimeEntry model. No parallel time store, no shadow data: entries written here are regular Redmine time entries that show up in the usual reports, issue views and API.

Key concepts:


2. Requirements


3. Installation

From a release archive

cd /path/to/redmine
unzip at_zeiterfassung-1.4.0.zip -d plugins/
bundle exec rake redmine:plugins:migrate NAME=at_zeiterfassung RAILS_ENV=production
# restart Redmine

From a git checkout

cd /path/to/redmine
git clone <repo-url> plugins/at_zeiterfassung
bundle exec rake redmine:plugins:migrate NAME=at_zeiterfassung RAILS_ENV=production
# restart Redmine

Verifying the install

After restart, log in as administrator and open Administration → Plugins. The Zeiterfassung plugin should appear with version 1.1.0. A Zeiterfassung entry should appear in the top navigation for users that have the View own timesheet permission.

Uninstall

cd /path/to/redmine
bundle exec rake redmine:plugins:migrate NAME=at_zeiterfassung VERSION=0 RAILS_ENV=production
rm -rf plugins/at_zeiterfassung
# restart Redmine

The rake task removes the plugin-owned tables (timers, favourite issues, timesheet submissions). Redmine's TimeEntry data written through the plugin remains intact and continues to work with the core time-tracking UI.


4. Configuration

4.1 Plugin settings

Open Administration → Plugins → Zeiterfassung → Configure:

SettingPurposeDefault
Daily target hoursReference value for daily/weekly total colouring8.0
WorkdaysDays of the week that count as work daysMon–Fri
Allow future entriesWhether time can be logged for dates after todayno
Lock submitted weeksWhether submitted/approved weeks are read-onlyyes
Default activityPre-selected activity in new entries

4.2 Grant permissions

Two independent global permissions are exposed under Administration → Roles and permissions → Zeiterfassung:

PermissionScopeTypical role
View own timesheetUse the weekly grid, timer, favourites; submit weeksAny user
Approve timesheetsSee pending submissions, approve / reject / reopenProject manager

Both permissions are global (not per-project), since the timesheet itself spans all projects the user has access to.


5. Usage

5.1 Opening the timesheet

Zeiterfassung in the top navigation opens the current week. The left side is the weekly grid; the right side hosts the timer and the favourites list.

5.2 Adding time in the grid

Click a cell for the desired day / issue combination, type the hours, confirm with Enter. The entry is written as a TimeEntry and the daily and weekly totals update without a page reload.

To add a new issue row, use the Add entry search at the bottom of the grid. Enter an issue ID or type to search by subject. Activity and comment fields are inline on the row.

5.3 The timer

In the Timer panel on the right, enter an issue ID or search term, optional comment, and click Start timer. The timer runs in the background even across logouts (state is persisted server-side).

Clicking Stop timer writes a TimeEntry on the current day for the elapsed time and clears the timer. You can cancel a running timer without writing any entry.

5.4 Favourites

Star an issue in the grid to add it to your favourite list. Favourites appear at the top of the issue picker in both the grid and the timer. Remove a favourite by unstarring it. Favourites are per user; one user's list doesn't affect another's.

5.5 Copy previous week

Click Copy previous week to duplicate the structure of the preceding week's entries (issues and activities) into the current week with zero hours. Useful for teams that recurrently work on the same set of issues and only need to fill in the quantities.

5.6 Monthly view

Switch between Week and Month on the view toggle. The monthly view shows a compact per-day summary across all weeks of the selected month. Useful for reporting and sanity checks; editing still happens in the weekly grid.

The selected period (week/month) and view mode (compact/blocks) are remembered per user. The next visit to the timesheet without explicit query parameters opens in the view you used last.

5.7 Submitting a week

When the week is complete, click Submit week. The state changes to submitted, the week is locked against further edits (if Lock submitted weeks is enabled), and reviewers see the submission under Approvals.

5.8 Approval workflow

Users with the Approve timesheets permission open Zeiterfassung → Approvals to see pending submissions. For each submission they can:


6. Troubleshooting

Zeiterfassung not in the top menu. The user needs the View own timesheet permission in at least one role. Assign the permission at Administration → Roles and permissions.

Can't add entries – week appears locked. Check the state of the week's submission under Approvals (for reviewers) or the Status panel on the week (for users). A submitted or approved week is read-only by design. A reviewer has to reject or reopen the submission to enable editing.

Timer doesn't stop / gets stuck. Reload the page. The timer state lives on the server; a browser-side hang is cosmetic. In rare cases (e.g. a crashed browser mid-start), cancel the timer from the timer panel and start a fresh one.

Favourites not sticking. Favourites are scoped to the user. Make sure you're logged in as the intended user, not as a shared demo account.

Entries appear in Redmine reports but not in the grid. The grid displays entries within the user's visible projects for the current week. Cross-check the week (top navigation) and the project membership of the user.


7. Support

Support is included for twelve months from the date of purchase.

E-mail: support@atori.de Initial response: within 48 hours on business days.

When reporting issues, please include: