Audit trail logs

Records detailed change/audit logs for timesheets, customers, projects and activities and displays them in a per-item timeline.

Kevin Papst
Offered by
Kevin Papst

Find out who changed what and when: record and visualize the changes on timesheets, customers, projects, activities, users, system configurations and invoices.

Features

A global audit-trail page, listing all recorded changes with username, change datetime, item type and link to detail page.

Actions for each of the following items:

  • Timesheets
  • Customers
  • Projects
  • Activities
  • Invoices

Introduces a new screen for each of the above items, with all recorded changes and each log entry containing the following information:

  • username
  • date-time
  • type of change (create, update, delete)
  • changed fields (see list below)

The change history will be recorded for the following fields:

  • Timesheet: begin, end, duration, timezone, user, activity, project, description, rate, fixedRate, hourlyRate, exported, billable, internalRate, category, modifiedAt
  • Customer: name, number, comment, visible, company, contact, address, country, currency, phone, fax, mobile, email, homepage, timezone, fixedRate, color, budget, timeBudget, vatId
  • Project: customer, name, orderNumber, comment, visible, budget, fixedRate, hourlyRate, color, budget, timeBudget, start, end, timezone
  • Activity: project, name, comment, visible, fixedRate, hourlyRate, color, budget, timeBudget
  • User: username, email, enabled’, roles, alias, title, avatar, password_requested_at, auth, registration_date
  • System configuration: name, value
  • Invoice: customer, user, invoiceNumber, createdAt, timezone, total, tax, currency, status, dueDays, vat, invoiceFilename

Be aware:

  • This bundle needs to be installed and activated to keep track of the change history, previous changes are not available.
  • Not all entities and fields will be recorded, please read the above list carefully.
  • The “Audit logs” link is not available under “My timsheets” to prevent potential information leaks.
  • Certain batch updates (e.g. setting the exported flag of multiple timesheets during export) cannot be recorded, as those are executed directly via database

Installation

Copy files

Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:

var/plugins/AuditTrailBundle/

The file structure needs to look like this afterwards:

var/plugins/
├── AuditTrailBundle
│   ├── AuditTrailBundle.php
|   └ ... more files and directories follow here ...

Clear cache

After uploading the files, Kimai needs to know about the new plugin. It will be found once the cache was re-built. Call these commands from the Kimai directory:

How to reload Kimai cache

bin/console kimai:reload --env=prod

It is not advised, but in case the above command fails you could try:

rm -r var/cache/prod/*

You might have to set file permissions afterwards:

Adjust file permission

You have to allow PHP (your webserver process) to write to var/ and it subdirectories.

Here is an example for Debian/Ubuntu, to be executed inside the Kimai directory:

chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/

You might not need these commands in a shared-hosting environment. And you probably need to prefix them with sudo and/or the group might be called different from www-data.

Create database

Run the following command:

bin/console kimai:bundle:audittrail:install

This will create the required database tables and update them to the latest version.

Updates

Updating the plugin works exactly like the installation:

  • Delete the directory var/plugins/AuditTrailBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache
    • Update database with bin/console kimai:bundle:audittrail:install

Changelog

Version 2.10.0

Compatibility: requires minimum Kimai 2.21.0

Moved “Filter audit-logs” action to “Filter” submenu for:

  • Customer
  • Project
  • Activity

Version 2.9.0

Compatibility: requires minimum Kimai 2.21.0

  • Moved users “Audit-logs” action to “Filter” menu

Version 2.8.0

Compatibility: requires minimum Kimai 2.21.0

  • Moved several translations to core
  • Refactoring: New query objects

Version 2.7.0

Compatibility: requires minimum Kimai 2.14.0

  • Changed: Track user fields (systemAccount, totpEnabled)
  • Changed: Track activity field (number)
  • Changed: Track project field (number)

Version 2.6.0

Compatibility: requires minimum Kimai 2.5.0

Changed: support attribute caching in Voter

Version 2.5.0

Compatibility: requires minimum Kimai 2.5.0

  • Fixed: use correct base class for migration - removes Doctrine deprecation warning
  • Fixed: import route from annotation namespace

Version 2.4.0

Compatibility: requires minimum Kimai 2.5.0

  • Changed: moved some translations to core, allowing more languages
  • Changed: replaced most Gedmo code with own implementation
  • Changed: bump PHPStan from level 7 to level 9

Version 2.3.0

Compatibility: requires minimum Kimai 2.3.0

  • fixed: date formatting failed for timesheets
  • fixed: accessing entries without object ids
  • fixed: added missing listener calls

Version 2.2.0

Compatibility: requires minimum Kimai 2.1.0

  • use annotation type for routes (fix deprecation)
  • convert to Doctrine listener (fix deprecation)

Version 2.1.0

Compatibility: requires minimum Kimai 2.0.33

Fixed: possible pagination issue

Demo

You can test this plugin at demo.kimai.org:

Username: susan_super
Password: password

Find more test accounts here.

Screenshots

Screenshot
The overview page of all audit trail logs
Screenshot
An audit trail can look like this, each change will be recorded and you might see more entries in a object timeline
Screenshot
You access a detailed audit log from the listing page or from the data-table 'Actions' dropdown of each item

FAQ

These FAQs are provided by the developer of this offer.

You can buy the plugin via the Marketplaces 'Lemon Squeezy' or 'Gumroad' and pay with Credit Card or PayPal. Both offer instant access to the purchases.

Support-questions, bug-reports and feature-requests will be answered in this Github repository

Offered by

Kevin Papst

Building Kimai since 2009

If you have any question, please use the following contact information to get in touch with the developer directly.
Top