1.7.1releasedTracker

Track user and system activity

Clone URLhttps://github.com/symphonists/tracker.git

Add as a submodulegit submodule add https://github.com/symphonists/tracker.git extensions/tracker --recursive

Compatibility

2.x.x2.1.x2.2.x2.3.x2.4.x2.5.x2.6.02.6.12.6.22.6.32.6.42.6.52.6.62.6.72.6.82.6.92.6.102.6.11
No0.9.9No1.1.01.3.01.7.11.7.11.7.11.7.11.7.11.7.11.7.11.7.11.7.11.7.11.7.11.7.11.7.1

Readme

Tracker

Description

A Symphony extension that tracks user and system activity.

Features

  • Tracks creations, updates, and deletes of Entries, Pages, Events, Data Sources, Utilities, and Sections.
  • Tracks frontend submissions via events.
  • Tracks when Preferences are changed.
  • Tracks when Extensions are enabled, disabled, or uninstalled.
  • Tracks login activity and password reset activity.
  • Provides a back-end interface for viewing and managing tracked activities.
  • Provides a data source for accessing Entry-related tracker activity from the front end.

Installation

  1. Place the tracker folder in your Symphony extensions directory.
  2. Go to System > Extensions, select "Tracker", choose "Enable" from the with-selected menu, then click Apply.

Usage

Managing/Viewing Activities

Activities can be viewed at System > Tracker Activity. It is possible from this page to delete individual activities or to clear all activity in the system.

The view can be filtered with GET params using the normal Symphony back-end filtering syntax:

?filter=column:values

column can be any of: item_type, item_id, action_type, or user_id. values can be a comma-delimited list of values to filter on. The following values are acceptable:

  • For item_type: a section id, pages, events, datasources, utilities, sections, authors, preferences, extensions, login, or password
  • For action_type: updated, created, deleted, enabled, disabled, uninstalled
  • For user_id: an author id, or 0 for unauthenticated/unknown users.

Example:

/symphony/extension/tracker/?filter=item_type:pages,events

These query strings can also be used to filter the entries in Tracker's Dashboard panel:

item_type:1,2

Excluding Activities

Tracker allows you to exclude certain types of activity from being tracked. Go to System > Preferences and, in the "Tracker" section, choose any system elements, sections, or users you'd like to exclude from tracking.

Using Activity Info on the Front End

The included data source, "Tracker Activity" can be attached to Pages and returns all Entry creation/update activity.

Customized Data Sources

Configuration options are available in the data source file, but rather than edit the included version, it's recommended to copy the code into a custom DS of your own:

  • Copy the data.tracker_activity.php file to your workspace/data-sources and rename it to data.your_datasource.php
  • Update the class name (line 6) to datasourceyour_datasource
  • Update the about() method (line 28) to reflect your data source's name and other info
  • Update the sorting and filtering options (lines 10-21) to suit your needs

To Do

  • Enable other extensions to log activities
  • Beef up the filtering; allow an all-sections wildcard

Known Issues

  • Doesn't track page template changes (there's no delegate for that)

Version history

Symphony 2.5.x to 2.x.x

  • Fix SQL error in update query

Symphony 2.5.x to 2.x.x

  • Fix issue with MySQL 5.7: data too long error
  • Added more PSR-2 formatting
  • Fix improper use of late stating binding

Symphony 2.5.x to 2.x.x

  • Fix for back-end users on Symphony 2.6+
  • Managers can now see the tracker data, but not delete it

Symphony 2.5.x to 2.x.x

  • Fix for front-end members not showing up when using email for authentication

Symphony 2.5.x to 2.x.x

  • PHP7 fix

Symphony 2.5.x to 2.x.x

  • Added support for notifying multiple URLs
  • Log entry delete events
  • Use EntryPreDelete instead of EntryPostDelete
  • Minor bug fixes

Symphony 2.5 to 2.6.x

  • Fixed author deletion
  • Added tracking of front-end members
  • Updated interface to highlight create and delete actions

Symphony 2.4 to 2.6.x

  • Fixed compatibility with Symphony's XSRF
  • Added Slovak translation

Requires Symphony 2.4

  • Bug fix, add right data attributes to table

Requires Symphony 2.4

  • Code style clean-up

Requires Symphony 2.4

  • Symphony 2.4 compatibility

Requires Symphony 2.3

Requires Symphony 2.3

  • Fixed compatibility issues with Symphony 2.3
  • Improved localisation capabilities
  • Updated German translation
  • Unfied code documentation

Requires Symphony 2.3

Requires Symphony 2.3

Requires Symphony 2.1.0