Change History

The change history or Audit records result from the database triggers capturing information upon the monitored tables. There are three types of activity that can be captured:

ActivityStored Information
UpdateThe data in the fields both before and after the change is recorded.
InsertOnly the 'new' information is present to be stored.
DeleteThe 'old' information for the field is stored.

In addition to the field changes the following information is also stored for each 'change' or 'audit' record:

  • Table name

    The name of the table being modified.

  • Column (Field) Name

    The name of the specific field being modified.

  • Action

    The specific activity being performed.(Update, Insert or Delete) as described above.

  • Record Key

    The primary key (where present) of the monitored table used in the SQL command. For example: WHERE 'id' = '6' where id is the primary key of the table.

  • Record Key List

    Where a monitored table has an 'Alias' field (often also known as a 'slug') this is also captured. Where this does not exists the primary key vale of the record is stored. This is often the same as the 'Record Key' above.

  • User details

    Where it can be determined the details of the user (ID) name (or guest) that performed the activity is recorded. Unfortunately this is not always determinable and in these situations the Super User id is stored. See the section about determining who made a change later in this document.

  • Date and Time of change

    Date Exact date and time (time stamp). Stored in the database as a UTC value (Joomla default).

Change History List

From this view you can view the actual audit records. The records may not be changed but they may be deleted.

The Change History list display shows all of the changes captured by the database triggers. It is possible to filter upon the individual tables to display the changes made upon the specified table. It is also possible to filter by component. The component determination is a little arbitrary in that it is based upon the table name. This does mean that the determination may not be totally accurate. An example illustrates this point as follows: jos_users table is identified as belonging to the 'users' component, similarly jos_content is part of the 'Contents' component (Articles). However even our own Issue Tracker component uses the table names such as jos_it_people, and this is determined to be the component 'it'. Other third party component also use similar abbreviation so the filter is an aid but by no means completely accurate.

Figure 4.3. Change History List Display

Change History List Display

Release 1.1.0 introduced the ability to export the displayed change records (including filters) to a CSV or a compressed ZIP file. When the Export button is pressed a popup window is displayed where one may select how the export file is to be named and whether the file should be compressed or not. Upon making the selection a file is created and the user is presented with the standard browser download window request as to whether to open or save the file in the file system.