Jump to content

Module: Activity Log


renobird
 Share

Recommended Posts

This module creates a per-page activity log. It's not version control, but it is a history of changes made to all core field types.

See the screenshots below for further explanation.

 

It consists of 2 modules:

  • MarkupActivityLog 
  • ProcessActivityLogService (handles ajax calls for show old/new values of textareas)

More information on github

 
Non-Superusers
add an 'activity-log' permission.
 
Thanks
Nico, Netcarver, Ryan.
MarkupSEO, Field Change Notifier, and FormBuilder where heavily referenced (*cough* copied) at points.
 
Activity Log Tab
post-474-0-27902900-1430929560_thumb.png
 
Changes to textareas show in modal
post-474-0-45248700-1430929567_thumb.png
 
Module configuration
post-474-0-43263800-1430929575_thumb.png
  • Like 17
Link to comment
Share on other sites

Looks really nice, good stuff Tom, I'm gonna install this and give it a burn when I get a minute.

I realise you mention it's not version control, but if all changes are recorded (even text areas) as they appear to be then I'm guessing it's possible to add a roll-back feature to crank a field back to a previous version?

  • Like 1
Link to comment
Share on other sites

I realise you mention it's not version control, but if all changes are recorded (even text areas) as they appear to be then I'm guessing it's possible to add a roll-back feature to crank a field back to a previous version?

It does not save the real value of the field, but only the textual representation. That's why it's not like version control.

  • Like 2
Link to comment
Share on other sites

Thanks for working on this.  I'm using this with a few of my internal websites (where I routinely keep my clients updated on their technical support, consulting or web development issues).  The level of detail you have in this module is appropriate for this purpose and has been very helpful.

  • Like 1
Link to comment
Share on other sites

I have some updates coming that address scenarios where a field has been removed from a template or deleted all together, and a few other things that make it easier to get/set values from the API.

  • Like 1
Link to comment
Share on other sites

  • 3 months later...
  • 5 months later...

Posting this in case anybody else has been tinkering with this module or if "updates out soon" mentioned a while back are getting closer.

Thought I'd give this a try in 3.0.10 and adapt it to my needs. The only thing needed to get it working was to change some PHP short tags (<? ) in MarkupActivityLog.inc. 

I've added a config variable for selecting fields to ignore, using it in changesToJSON(). Figured I'd ignore any fields that are not supported yet and do something about them later.

One thing that isn't working is the New vs Old display for rich text (CKEditor fieldtype). The information is there in the markup but clicking the tabs doesn't toggle their visibility. You always see the New data.

  • Like 1
Link to comment
Share on other sites

I ended up making a ton of mods to this for things that were very specific to our needs. Coincidentally, I worked on cleaning it up and getting it back to a more releasable state earlier this week. I'll take a look at it on the devns branch on Monday/

  • Like 5
Link to comment
Share on other sites

  • 6 months later...

Hey @renobird, did you release your new version yet? I just ran into the same issues as @SteveB. I've updated the MarkupActivityLog.inc since the FileCompiler didn't like the PHP short tags.

Another thing I've noticed is that Activity Log doesn't record/log when a page (or rather field) is updated from ListerPro. My guess is this has to do something to do the saveReady hook not being called within ListerPro. Ryan posted a solution to 'force' the hook.

Thanks!

  • Like 1
Link to comment
Share on other sites

  • 5 months later...
On 10/10/2016 at 3:28 PM, renobird said:

I haven't released anything new. I will try to take a look at any outstanding issues this week.

@renobird, any updates on the issue? Perhaps you did some changes locally and didn't commit them?

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Thanks for this great module. I would like to use it along with ListerPro but no luck as @arjen mentioned.

Before the release of update, I have tried to fixed this by adding

$this->pages->addHookAfter('saveFieldReady', $this, 'hookUpdateLog');

but it is not working. How can it be fixed? thanks

  • Like 1
Link to comment
Share on other sites

Thank you @arjen. I tried all the hooks that Ryan mentioned in the post and some others but unfortunately no one seems to be working.

I have checked ProcessChangelog to see what hook it uses to fix the issue as I also have used it for other projects. It works along with ListerPro after update and what it use is the saveFieldReady hook but just cannot simply apply the same change to this module.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...