About Activity Log

Adds an Activity Log tab to pages. Configurable to specific templates.

Category 1Admin Helpers
Admin helper modules are those that provide helpful tools, UI enhancements or optimizations to the admin panel (excluding Fieldtype or Inputfield modules).
Category 2Markup Generation
Markup modules that are called upon to generate or parse markup (like HTML). Markup modules are most often used on the front-end of a site (rather than admin).
Release StateBeta
Close to stable, but users are advised to be cautious and test thoroughly.*
Module Version1.0.1
Class NameMarkupActivityLog
Compatibility2.4, 2.5, 2.6, 2.7
Date AddedMay 6, 2015
Last UpdatedJune 4, 2015
Recommended ByNew recommendations may take up to 1 day to appear.


This module's files should be placed in /site/modules/MarkupActivityLog/
How to install or uninstall modules


Markup Activity Log

Page level activity log for ProcessWire CMS

Markup Activity Log is a set of ProcessWire modules that keeps a log of changes made to all core fields for an individual page.

See the Forum Post for details.


In ProcessWire 2.4+ go to your Modules menu in the admin, click the "New" tab and type or paste in "MarkupActivityLog" and click "Install".

If you are unable to install using that method, you can also just install the old way by copying the files for this module into /site/modules/MarkupActivityLog/ and clicking "check for new modules" from your Modules screen.

How to use

Admin side

  1. Install the module
  2. Check the config settings, and specify templates that get the Activity Log tab.
  3. Make some changes to a page.
  4. Check the log.


In a template file where you wish to display the activity log.

$activity = $modules->get("MarkupActivityLog");
$page = $pages->get("id=12345"); // this page's template must be specified in the module config list or else it throws an error.
echo $activity->render($page, 10); // the 2nd argument is the number is an optional results limit.

To log changes made to a page via the API.

$activity = $modules->get("MarkupActivityLog");


Note: The first version of the module generates markup when used on the API side. (see: MarkupActivityLog.inc); I plan to add the ability to specify a markup file for the next release.