Code Monkey home page Code Monkey logo

umbraco.auditlogviewer's Introduction

Diplo Umbraco Audit Log Viewer

Diplo Audit Log Viewer for Umbraco CMS allows you to easily view and search the Content changes and Audit data that is stored in your Umbraco site's umbracoLog and umbracoAudit tables.

It creates a custom tree within the Settings section that lets you view the contents of both those tables and presents the results in a filterable, sortable and searchable paginated list.

Features

Content Log Viewer

The content log viewer allows you to view the log of changes to content within your Umbraco site. You can:

  • Filter log data by log type (Save, Publish, Delete etc)
  • Filter by user (ie. person responsible)
  • Filter by date or date range (ie. all content changes that occurred within a given period)
  • Filter by page (node) - with easy to use content-picker
  • Sort data by any column
  • Search the log data comments by keyword
  • Handy quick filters for the more common filters
  • Quick "edit" links to affected content - whether it be a page in Umbraco, a Member or Content Type etc.
  • Export current log to CSV (thanks, s4net)

Audit Trail Viewer

The audit trail viewer allows you to view audit events, such as a user login or an edit to a user's profile. You can:

  • Filter the event data by event type (login, save etc)
  • Filter by the person responsible for the event
  • Filter by the person affected by the event (if relevant)
  • Filter by date range
  • Search the events by keyword
  • Sort data by any column
  • Quick filters for searching by date range
  • Export current log to CSV (thanks, s4net)

Both use fast, server side pagination of data so it should be quick no matter how large your tables have become. You can sort the data via column, either ascending or descending.

Read More

For more screenshots and background information please check out my blog posts:

Twitter: https://twitter.com/DanDiplo

Screenshots

content log

audit log

Versions

This repo contains the latest v10 release in v10.

For Umbraco 9 I recommend you update to Umbraco 10 and use v10 version.

For the older v8 version please use the v8 branch.

For the old v7 version please use the v7 branch.

For more information on v7 version read this post.

Releases

NuGet Package: https://www.nuget.org/packages/Diplo.AuditLogViewer/

Umbraco Package: https://our.umbraco.org/projects/developer-tools/diplo-audit-log-viewer/

Building / Developing

The v10 repository comes with two solutions:

Diplo.AuditLogViewer - this is the Umbraco plugin source code.

Diplo.AuditLogViewer.TestSite - this is a demo Umbraco 10 site that can be used to view and test the plugin.

After first cloning the code, open a command line prompt within the Diplo.AuditLogViewer.TestSite folder and type: dotnet restore

You should then be able to run the test site.

Test Site Logins

You can login to the test site backend using the following credentials:

username: [email protected]

password: DiploAuditLogViewer!

umbraco.auditlogviewer's People

Contributors

dandiplo avatar shemsiu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

umbraco.auditlogviewer's Issues

Showing Blank Page

Envionment: Umbraco 10

Issue: Blank Page is showing when accessing Log Viewer
image

Error Message:
image

Could I ask how to solve this problem?

Content Log Viewer dates doesn't match server time

Hi @DanDiplo ,

Good morning. We've just started exploring this tool. The first thing we noticed is that the date column doesn't match the server time.
For testing purposes I'm just running everything locally for now

My machine time is UTC+8

I published an article at May 01, 2024 12:24 AM

image

Content Log Viewer is showing May 01, 2024 8:24 AM instead

image

Audit Trail Logs does seem to show the proper time though.

I wonder if this is a bug.

We're using:

Umbraco CMS 12.3.6
Diplo AuditLog Viewer 10.0.1

Please let me know.

Thanks.
Francis

Umbraco.AuditLogViewer Not working with Umbraco v11

Hi,

I have installed Umbraco.AuditLogViewer v10.0.1 into Umbraco v11.4.2 and it loads and works fine in my local, but the same is not loading on Azure app service after deployment.

When ever I click on this under setting get below error on console and screen remains blank also I see that the reference JS files are not being downloaded on console source tab, below are the reference images.

On Azure App
image

On My Local
image

Looking for your suggestions and help here, or still is package is not supported with Umbraco v11.

Thanks,
Gurumurthy JV

'Delete' Function of Media items ascribed to the item creator, not the deleter

When a Media Item is deleted, the Audit Log reports the initial delete as "Move Media to Recycle Bin performed by user", correctly ie the audit log records the user who pressed 'delete'.

### But the actual delete action is ascribed to the original creator of the Media Item , rather than to the User who who pressed 'delete'. "Trashed media with Id: 39369 related to original parent media item with Id: 38807"

Note: for documents/pages actions are correctly reported in the Audit Log - where both the Move to recycle Bin and the 'Trashed,,,, " ie the actions are allocated to the same person.

We are using Umbraco 7.13.2 with Diplo Audit Log Viewer v 1.0.4.
image

Thanks Fiona

Problems with dates

Dates are written in UTC+2. It would be nice if it changes according to the server time.

Umbraco 7.15.3 - Exception after installing

Hi

I get a System.NullReferenceException on the developer section after installing the package.

This is the stacktrace:

at System.Object.GetType()
at Umbraco.Web.Trees.ApplicationTreeExtensions.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Umbraco.Web.Trees.ApplicationTreeController.d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Umbraco.Web.Trees.ApplicationTreeController.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Threading.Tasks.TaskHelpersExtensions.d__1`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()

Export/Save function from audit log viewer

Apologies if 'issues' isn't the right place for this (I'm a product owner not a developer) but there wasn't a forum link from the https://our.umbraco.org/projects/developer-tools/diplo-audit-log-viewer/ page.

The Audit Log Viewer is a great tool! I was wondering whether it would be possible to include an export function - whether that be to save to print, or save to file, or export to CSV format. My stakeholders often need to export the kind of data this tool allows them to retrieve from the CMS for reporting elsewhere. Is this something you're thinking of including? We're using Umbraco 7.7.9.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.