Download: | Audit Trail |
---|---|
Other: | WordPress.org | SVN |
Support: | Forum |
Audit Trail is a plugin to keep track of what is going on inside your blog. It does this by recording certain actions (such as who logged in and when) and storing this information in the form of a log. Not only that but it records the full contents of posts (and pages) and allows you to restore a post to a previous version at any time.
To summarize:
- Log of user actions inside your blog – useful for finding out who did what in a multi-user system
- Extensible, allowing other plugins the ability to add and display items in the Audit Trail
- Ability to track registered user page visits
- Fully localized
Installation
The plugin is simple to install:
- Download Audit Trail
- Unzip
- Upload
audit-trail
directory to your/wp-content/plugins
directory - Go to the plugin management page and enable the plugin
You can find full details of installing a plugin on the plugin installation page.
NOTE: If you are upgrading from a pre 1.0 version please de-activate and then re-activate the plugin. This will upgrade your database tables (unfortunately any existing Audit Trail data will be lost).
Audit Trail is available in the following languages (included in the plugin):
- English
- Estonian (thanks to Lembik Kivisik)
- Belorussian (thanks to Marcis G.)
- Simplified Chinese (thanks to maoanyuan)
- Japanese, thanks to Chestnut
- Romanian, thanks to Mikalay Lisica
- Lithuanian, thanks to Nata Strazda
- Russian, thanks to Alyona Lompar
If you are multi-lingual then I always appreciate any translations that you can provide.
Usage
Once the plugin is installed then your actions are already being recorded. You can view the Audit Trail log from the Manage/Audit Trail page.
Note that some entries in the log can be clicked and will expand to show more details.
Options
From the options page you can configure exactly what actions are audited. Any plugins that support Audit Trail will also display themselves here.
Permissions
Users with the ‘edit_plugins
‘ or ‘audit_trail
‘ capability can view and administer the Audit Trail plugin. The ‘audit_trail
‘ capability can be added with the Role Manager plugin.
Support & Bugs
Support and feature requests should be made through the Audit Trail support forum. You can contact me directly but I spend a very limited amount of time on direct support and you stand a better chance of being answered through the forum.
If you find the plugin useful then please do consider making a donation – it is appreciated and helps towards the maintenance of the plugin.
Thanks!
I’m trying to show the version history dropdown on each post (on the blog, not in the admin interface) for logged in users with the right capabilities. Any clues on how this could be done?
Would love to know when this supports WP 2.5! Sounds like an awesome plugin.
Yar, she’s righteously broken in WordPress 2.5 — both visually and functionally.
[…] and update them over time, reply to visitors’ comments, and so on. I installed the Audit Trail plugin for WordPress so my changes to posts are internally archived to prevent loss of information, and […]
Plugin is great!
I was having problems with the ignore functionality. I’m no php expert, but I did this:
Line 78 of auditor.php from:
explode (‘,’, ‘ignore’);
to:
explode (‘,’, $ignore);
Love the plugin, one of the best!
[…] Audit Trail plugin has been installed to keep track of what is going on inside this site. It does this by recording […]
Hey,
the solution in post 90 is exactly this what works! I have tried and tried many hours to hide users from the audit trail list, but nothing… and now this simple trick.
Cause I think this is an error in the script: Please corecct it in the downloadable version on this page.
And by the way: Its a great plugin, thanx!
Farbmond
The fix is already in the downloadable version.
This doesn’t seem to have been updated for WP 2.7. I’d love to use it–especially for the “track changes”-type function of displaying differences between two versions of a post.
This feature should now be built in to WP 2.6+
Hi Guys
It is my first time dealig with Oracle databse and i’m experiencing the below problem any ideas what might be causing this problem?
Your input is highly valued.
Critical alarmAlarm number: 97468Time: 2009-01-15 12:43:53.967Event type: 801Object class of reference: 21Object of reference:
Server1@NAIROBIMM1Specific problem: 801Probable cause: 801Proposed repair action: 801Record type: 1Additional information: There is
a problem with the system environment (memory, disk, etc).
Failed to recover overflow file /var/opt/BGw/Server1/CAA9011333_R1F_7/storage4/logging/AU_Q2_0000000008.
Could not execute an Oracle insert statement on table auditTrailLogEntry.
ORA-00001: unique constraint (SERVER4.IND1_AUDITTRAILLOGENTRY) violated.
I think this may be for some other software
John, I read your post about baselining all of your plugins to 2.7 but audit trail still says “2.0+” – does that mean it’s not yet been baselined and is therefore not compatible with 2.7?
Audit Trail is compatible with 2.7
Hi John,
Great Plugin! I’ve been searching for a user generated stat tool that creates a csv report and you made it happen!
I did notice a bug in the csv reporting. I couldn’t use the issue tracker to report the bug so I post it here.
When you export the data it generates the following values:
Date Time User Operation Item IP
26/03/2009 9:47 View page /blog/ 24.202.38.175
26/03/2009 9:47 View page /blog/feed/ 24.202.38.175
26/03/2009 9:47 View page /blog/feed/atom/ 24.202.38.175
26/03/2009 9:47 View page /blog/live-event-registration/ 24.202.38.175
26/03/2009 9:47 View page /blog/feed/atom/ 24.202.38.175
26/03/2009 9:47 View page /blog/feed/ 24.202.38.175
You can see the problem, the ‘User’ value should be the name of the user and not the Operation.
I found where you made the modification for the csv generation ‘csv.php’ and I found where you created the functions get_items() and get_operations() in ‘audit.php’, can you provide me with the code equivalent to get_username() that I can enter in audit.php and call in csv.php. I need to output the username in the csv file.
Thanks in advance
Patrick S.
Added to the tracker
I am running wordpress on IIS 7. When I try to access the options for this pluggin I get a page not found. Any sugestions?
Hi John,
Great Plugin! I’ve been using it for quite some time now. I know there is an auto expire after a certain period of time.
Still…. Is there a way i can select random actions from the results page and delete them?
I can see at the top saying mass actions => delete (as found in the posts or comments) but cannot figure out how to randomly select them.
I was hoping for something like this in this updated version.
Thanx in advance
Great plugin, very powerful
but all the filtering, apart from lines per page, is on the input/data collection side, so I am confronted with viewing about 29,000 records for 30 days of audit trail, (I have not been collecting post/page and link data so far) So the data is a bit like looking into a forest. Despite your updates of version 1.0.8 the records show me an audit trail time of that of my hosting provider (GoDaddy – Scottsdale, AZ) rather than the real times I’m used to of UTC or UTC+1(when DST as at present) i.e. UK time, as set in the WP 2.8.2 general settings
I’d like some filtering on the view side, something of the nature of dragging an item (user, action, target or IP) to one of three areas, longterm_filter, session_filter and shortterm_filter.
I may not be interested in looking at the page view records relating to say googlebot so I would drag googles IP to the longterm area, so its records would remain filtered out until I reset all filters or specifically disable the filter
I may not be interested in my own (or someone elses) records so I would drag an IP or user to the session filter where it would remain until I logout or remove it from the filters, and when I log back in the filter has been cleared.
I may not be interested in some records so I would drag an item to the short term filter where its filtering out would remain active until I refresh the data listing apart from moving from page to page of the say 100 record blocks.
I hope this scheme makes sense or is workable, my knowledge of php is a bit too limited or I would probably have worked it out and forwarded the code for inclusion into the plugin
Have used your plugin for 18 months now and am thoroughly satisfied – to the extent that the new ” Paypal” logo on the top inspired me to make a small donation!!
A couple of issues, the big one is not being able to exclude a particular user (me!) from the listings which I see is on your bug list, while the second is the excel download of data where the data does not tie in with the advertised header.
Anyway, many thanks … Keith
Great plugin! I use it to track number of hits to my blog by username; unfortunately, there’s one small bug (already mentioned by another user) that makes this usage problematic. Instead of listing the username under “User” in the CSV file, Audit Trail lists the action. This makes it impossible to sort by user in Excel and thereby extrapolate the data. Will happily make a further donation to PayPal if this issue is remedied. Thanks much!
This should have been fixed for a while now
Looks like a great plugin. However after activating I’m getting the error: “Fatal error: Call to undefined function number_format_i18n() in /plugins/audit-trail/models/pager.php on line 473”
Any idea how to fix?
Use a more recent version of WordPress
The delete is not working. There is also no check box to select which logs to delete. How can I fix this?
Added the delete checkbox back
Just upgraded. Great for having the delete function back.
BUT… it produces errors
Warning: Invalid argument supplied for foreach() in …/plugins/audit-trail/audit-trail.php on line 121
Warning: Cannot modify header information – headers already sent by (output started at /…/plugins/audit-trail/audit-trail.php:121) in …/plugins/sidebar-login/sidebar-login.php on line 314
I have the same problem using WP3.0 I cant delete the checked items in my log. In addition the options screen won’t save the name of an ignored user.
me too. WP3.0 . How to solve?
i find it.
WP3.0 default theme change trail.php on line 10 11
<form method="post" action="url ($pager->url) ?>”>
render_admin (‘pager’, array (‘pager’ => $pager)); ?>
change 11 10
render_admin (‘pager’, array (‘pager’ => $pager)); ?>
<form method="post" action="url ($pager->url) ?>”>
will fine
Any update on how this works with WPMU? Should it be installed in mu-plugins? Thanks.
Just install it like any other plugin
After installing and activating sitewide in MU 2.9.2, and setting options to track everything, there are no results to display.
Must something different be done for MU?
Excellent again, installed up and running no problems at all.
THank you!
It’s worth noting that you have to select the list of activities to record in the logs from the ‘options’ menu after installation, otherwise it will not be keeping a trail of anything.
Thanks for your contribution with this plugin.
Hi there. I too have the same issue as Mike @ comment-107309.
Could it be that there is no check-box all together?
Thank you in advance,
marikamitsos
Ooops, sorry for posting here. I will post the above message in your support forum.
Great plugin. I was wondering though is there a way to make it display the users name as well as the login name, or instead of. the only reason I ask is because I use the facebook connect and for that to work it automatically uses the facebook user ID as the login name. This gets confusing when I am looking at the records.
Hello and congratulations for this very useful plugin 🙂
I’ve translated it in french today, feel free to download this translation here : http://www.wptrads.fr/audit-trail/
Regards,
Wolforg
can the audit-trail file be deleted maually?
There is a bug probably in Audit Trail Plugin for time zone offset. If you set the time zone in WP using UTC offset rather than country/city name then wrong time is shown in the log. I found this error using WP-301 & AT-1.1.7 Please verify it.
btw, wonderful extension!
thanks 🙂
great plugin! keep up the good work. i’m going to use it on my new site.
This plugin does exactly what I wanted and was simple to set up and
use. I have the same problem as the previous writer regarding the
time; it does not show up correctly (the date is good), both with
UTC or with City setting. Minor annoyance with an otherwise really
nice little plugin! Lin
Nice plugin! Thanks!
I’m would like to only log event from logged in users and ignore public actions. I tried to add 0 to the ignore list of users, but it still logs public view. Is there a way for it to only track logged in user data?
Thanks,
Shane
It should only be logging logged in user data.
What a FANTASTIC plugin!
It is exceptionally stylish in its presentation and functionality so Many thanks for providing exactly what I was looking for.
I am using it to log visits to my Tips page to prevent possible issues with members about viewing the premium information.
@raz and @Lin both mentioned the time issue some months back and as you have updated the plugin since it is a shame the issue was overlooked.
Until then…
The Solution is as follows:
line 180 of audit-trail\models\audit.php reads:
$wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->prefix}audit_trail (user_id,ip,operation,item_id,happened_at,data,title) VALUES(%d,%s,%s,%s,NOW(),%s,%s)", $user, $ip, $operation, $item, $data, $title ) );
You need to replace the MYSQL function NOW() which uses the server time to:
current_time(‘mysql’) which is the WordPress function to fetch the date/time according to the Timezone on the General Settings page.
The line will now read:
$wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->prefix}audit_trail (user_id,ip,operation,item_id,happened_at,data,title) VALUES(%d,%s,%s,%s,%s,%s,%s)", $user, $ip, $operation, $item, current_time('mysql'), $data, $title ) );
I hope this helps your readers!
Keep up the excellent work.
Simon
Thanks Simon, that’s great – included in v1.1.11!
Thanks for this great plugin!
I’d like to add and display additional items in the Audit Trail.
Can you direct me to instructions on how to do this?
Specifically, I would like to log the changes the users make to their Display Name.
Hello John,
What a wonderful plugin. 🙂
I wonder though. Does it work in a multisite environment?
And if so, should it be network activated or site-by-site? Does it create any additional tables on the dB? If so is there an extra table for each site it gets activated or just one global table? Does it leave any data or tables after de-installation or de-activation?
Thank you in advance.
I don’t know. You can give it a try and let me know.
Yes, this plugin works in a multisite environment.
It will create tables such as:
wp_audit_trail
wp_2_audit_trail
wp_3_audit_trail
(1 for each site)
Thanks!
You seem more responsive on this site than wp.org, so thought I’d bump this Feature Request here:
http://wordpress.org/support/topic/feature-request-dashboard-widget
Basically, I was wondering what you thought about adding an optional dashboard widget that displays, say, the latest X actions on the site. Cheers.
I’d be more than happy to include it in the plugin!
Looking for a way of monitoring visitors logging in and using the site, this looks exactly what I want, and I shall certainly make a donation if I can iron out the couple of wrinkles I have, and then use it. I am testing it on WP 3.3.1
1) I see that other have had problems in the past in not being able to delete records. I am having the same problem – I tick the checkboxes for records to be deleted, go to ‘Bulk Actions’ where the only option in the list is ‘delete’, but when I click ‘Apply’, nothing happens.
2) I see references to print files in some of the other posts, but cannot see how to do so, or to activate a print option or function.
Can you help on these, please?
Many thanks
Why does the audit trail show Urban Giraffe viewing my site from different IP Addresses? I turned off “Audit Trail Actions”, but there are still some on there.
Can it track changes to things like Theme settings, widgets etc. i.e. aside from posts/pages, I’m looking for something to track those kinds of changes. If Audit Trail doesn’t do that, do you know anything that does?
Hello. I love this plugin and have made a donation.
When I try to download to CSV, the file is zero bytes. Totally empty.
The plugin is tracking several activities, boxes checked, plenty of data.
If, before clicking the Excel icon, I select every line, still, CSV is empty.
What might I be doing wrong?
Thank you in advance.
Hi, This looks great. Question for you: Can it track changes to template files? Our client wants to use a 3rd party SEO consultant, but we wish to track what they do and when, so we can be sure who is accountable if something goes wrong.
Hi John, thanks for publishing this plugin, it’s definitely needed.
I’ve found several bugs in the current release, though, and pointed out how to fix them on the forums:
http://wordpress.org/support/topic/php-warning-in-modelspagerphp-line-106
http://wordpress.org/support/topic/error-in-mysql-limit-clause
http://wordpress.org/support/topic/multisite-network-activation-fails
If you don’t have time to integrate those fixes into the official release, I’d be happy to help out with that. Just e-mail me and we can work out the details.
Audit Trail paging query offset is incorrect. Please see http://wordpress.org/support/topic/audit-trail-screens-only-showing-latest-events?replies=6#post-4748591 for a suggested fix.
Let me know if you need development support. As my clients use this plugin, it’s therefore supported by me.
Does the audit trail work with Gravity Forms?
I’d love the ability to be able to see a full log of all the changes made to forms including the ability to return to a revision that was taken.
David
No, it doesn’t monitor other plugins.
I was wondering how to configure Audit Trail so that it works with fail2ban?
Is there configurations that need to be done within the fail2ban config as well?
Any newbie help would really be appreciated
I wanted to track ALL changes to my wordpress including changes made to site title or permalinks…
How can I do this?