This module track logs of specific events that you'd like to review. The events performed by the users (using the forms) are saved in the database and can be viewed on the page admin/reports/events-track. You could use this to track the number of times the CUD(Create, Update & Delete) operations performed by specific users.

Currently, the following sub modules of Events Log Track are supported:

  1. Menu (menu and menu items CUD operations)
  2. Node (CUD operations)
  3. Taxonomy (vocabulary and term CUD operations)
  4. User (CUD operations)
  5. User authentication (login/logout/request password)

The event log tracking could be easily extended with custom events.

Project link:
https://www.drupal.org/sandbox/kumaratulesh/2846636

Project Git URL:
git clone --branch 8.x-1.x https://git.drupal.org/sandbox/kumaratulesh/2846636.git events_log_track

Manual reviews of other projects

  1. https://www.drupal.org/node/2843493#comment-11905805
  2. https://www.drupal.org/node/2843801#comment-11905387
  3. https://www.drupal.org/node/2843800#comment-11899350

Comments

kumaratulesh created an issue. See original summary.

PA robot’s picture

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

jeetendrakumar’s picture

Status: Needs review » Needs work
StatusFileSize
new88.67 KB

Hello kumaratulesh,

Please fix AjaxError.

Please see image.

AjaxError: 
An AJAX HTTP error occurred.
HTTP Result Code: 200
Debugging information follows.
Path: /admin/reports/events-track?%2Fadmin%2Freports%2Fevents-track=&ajax_form=1
StatusText: OK
ResponseText: 
Event log track | Drupal8
Skip to main content
Toolbar items
Back to site
Manage
Administration menuContentStructureAppearanceExtendConfigurationPeopleReportsHelp      
Shortcuts
User-defined shortcutsAdd contentAll contentEdit shortcuts      
Edit
Tour
admin
User account actionsView profileEdit profileLog out      
Event log track
Add to Default shortcuts
Breadcrumb
Home
Administration
Reports
Filters
Filter the events.
Type
Select a typeUser authenticationMenuNodeTaxonomyUser
Event type
Operation
Choose an operation
The entity operation.
User
The user that triggered this event.
ID
The id of the events (numeric).
IP
The ip address of the visitor.
Name
The name or machine name.
Path
keyword in the path.
Description
Keyword in the description.
Updated
Sort ascending
Type
Operation
Path
Description
User
IP
ID
Name
No events found.
{"ajaxPageState":{"theme":"seven","theme_token":"sOLnno2lmTT8K7cN7Y3dwi9065vOFw9hIzrPOL3Ec1E","libraries":"classy\/base,classy\/base,classy\/messages,classy\/messages,contextual\/drupal.contextual-links,contextual\/drupal.contextual-links,contextual\/drupal.contextual-toolbar,contextual\/drupal.contextual-toolbar,core\/drupal.active-link,core\/drupal.active-link,core\/drupal.autocomplete,core\/drupal.autocomplete,core\/drupal.collapse,core\/drupal.collapse,core\/html5shiv,core\/html5shiv,core\/jquery.form,core\/jquery.form,core\/normalize,core\/normalize,seven\/global-styling,seven\/global-styling,shortcut\/drupal.shortcut,shortcut\/drupal.shortcut,toolbar\/toolbar,toolbar\/toolbar,toolbar\/toolbar.escapeAdmin,toolbar\/toolbar.escapeAdmin,tour\/tour,tour\/tour,user\/drupal.user.icons,user\/drupal.user.icons"},"ajaxTrustedUrl":{"form_action_cc611e1d":true,"\/admin\/reports\/events-track?%2Fadmin%2Freports%2Fevents-track=\u0026ajax_form=1":true},"ajax":{"edit-type--11J4Q6ncMXo":{"callback":"::formGetAjaxOperation","event":"change","url":"\/admin\/reports\/events-track?%2Fadmin%2Freports%2Fevents-track=\u0026ajax_form=1","dialogType":"ajax","submit":{"_triggering_element_name":"type"}}},"toolbar":{"breakpoints":{"toolbar.narrow":"only screen and (min-width: 16.5em)","toolbar.standard":"only screen and (min-width: 38.125em)","toolbar.wide":"only screen and (min-width: 61em)"},"subtreesHash":"DHzYR3jEyey1Y0dyXr8GFF6l0a71cxTVnowH-zudBzw"},"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"admin\/reports\/events-track","currentPathIsAdmin":true,"isFront":false,"currentLanguage":"en","currentQuery":{"\/admin\/reports\/events-track":""}},"pluralDelimiter":"\u0003","user":{"uid":"1","permissionsHash":"b3f671361605851cab966476ea3494eba43b4d762ffe82e4194009c537598092"}}
	

Drupal.AjaxError.prototype = new Error();
kumaratulesh’s picture

Status: Needs work » Needs review

Hello Jeetendrakumar,

Thanks for reporting your issue. I have deeply tested it on all Drupal 8 versions and on different OS, it works smooth and the reported issue is not reproduced. I would like to see your .htaccess code located at: project_folder/.htaccess. I can bet its an issue with the .htaccess file. Share your code so that I can help you out.

deepanker_bhalla’s picture

Status: Needs review » Needs work

Hi,

The module is working absolutely fine on my system. But I think with the Filter mechanism. When you selects something then the filter works, but to reset it back I need to go back and once again fire that link. Thus do put reset for the filter mechanism as per me.

kumaratulesh’s picture

Status: Needs work » Needs review

Thanks for your suggestion, i have implemented the form reset functionality.

kumaratulesh’s picture

Issue summary: View changes
jeetendrakumar’s picture

Status: Needs review » Needs work

@kumaratulesh:

module is working fine for me.

Manual Code review:

1. Please implement hook_help();

/**
* Implements hook_help().
*/

visabhishek’s picture

Status: Needs work » Needs review

@jeetendrakumar : Nice suggestions , but not an application blocker. Anything else that you found or should this be RTBC instead?

pdenooijer’s picture

Manual Review

Individual user account
Yes: Follows the guidelines for individual user accounts.
No duplication
Yes: Does not cause module duplication and/or fragmentation.
Master Branch
Yes: Follows the guidelines for master branch.
Licensing
Yes: Follows the licensing requirements.
3rd party assets/code
Yes: Follows the guidelines for 3rd party assets/code.
README.txt/README.md
Yes: Follows the guidelines for in-project documentation and/or the README Template.
Code long/complex enough for review
Yes: Follows the guidelines for project length and complexity.
Secure code
Yes: Meets the security requirements.
Coding style & Drupal API usage
  1. (+) Write some tests to prove your modules/classes do what they promise.
  2. (+) Explain in the readme how a user could add an extra event. You only state that it's possible, which of course is very good!
  3. Nice clean code with lots of comments when needed, good job :)!
Small request
Could you review my project application :)? For extra motivation, see this page why this could help your request!
pdenooijer’s picture

Status: Needs review » Reviewed & tested by the community
jeetendrakumar’s picture

RTBC+

kumaratulesh’s picture

Issue summary: View changes
kumaratulesh’s picture

@jeetendrakumar: As per your suggestion i have implemented the hook_help().

kumaratulesh’s picture

Issue tags: +PAreview: review bonus
kumaratulesh’s picture

Issue summary: View changes
kumaratulesh’s picture

Issue summary: View changes
deepanker_bhalla’s picture

@kumaratulesh,

Thanks for the reset button functionality. It is working fine now. Great module to get the information on the menu information as well user, node also.

kumaratulesh’s picture

Priority: Normal » Major
aloknarwaria’s picture

Hi @kumaratulesh,

The module works fine for me. I have only one suggestion for you.

Your module name is "Events Log Track" so the machine name is generated by your module name is "events_log_track".
I suggest you to please change your main directory name from "event_log_track" to "events_log_track" or vice versa.
It is recommended not an issue. Great work :)

kumaratulesh’s picture

@aloknarwaria,

Thanks for your review but the main directory name is "events_log_track" based on module name "Events Log Track".

Also you can check in project git URL path the name of directory is correct i.e. "events_log_track".

aloknarwaria’s picture

Hi @kumaratulesh,

Please find the attachment can you please have a look and let me know why there files names are started with "event_log_track"
if your module name is "events_log_track".

Sorry if I missed anything please let me know that.

kumaratulesh’s picture

@aloknarwaria,

Machine name is generated by my module is "event_log_track" not "events_log_track", same as files name.

For you reference you can see the core modules like:
Module Name -> Machine name
1. Actions -> action
2. Activity Tracker -> tracker
Machine name of the module does not generated based on module name.

aloknarwaria’s picture

@kumaratulesh, No further arguments I just try to tell you that, that was recommended by drupal regard the naming conventions. It's ok if you did not like to follow that recommended way.

klausi’s picture

Status: Reviewed & tested by the community » Fixed

Review of the 8.x-1.x branch (commit 3bb0359):

  • Coder Sniffer has found some issues with your code (please check the Drupal coding standards). See attachment.
  • DrupalPractice has found some issues with your code, but could be false positives.
    FILE: /home/klausi/pareview_temp/src/OverviewForm.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
     136 | WARNING | User::load calls should be avoided in classes, use
         |         | dependency injection instead
    --------------------------------------------------------------------------
    
  • No automated test cases were found, did you consider writing Simpletests or PHPUnit tests? This is not a requirement but encouraged for professional software development.

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.

manual review:

  1. AdminController: that class is not necessary. Use _form in the *.routing.yml file to point to your form class. See https://www.drupal.org/node/2117411
  2. "'#options' => array('' => 'Select a type') + $options,": all user facing text must run through $this->t() for translation.
  3. OverviewForm: the Html::escape() calls are wrong here because Drupal 8 will already run table content through auto escaping for you (Drupal 7 does not). And double escaping is bad.

Otherwise looks good to me.

Thanks for your contribution, Atulesh!

I updated your account so you can promote this to a full project and also create new projects as either a sandbox or a "full" project.

Here are some recommended readings to help with excellent maintainership:

You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!

Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

Thanks to the dedicated reviewer(s) as well.

klausi’s picture

Updating issue credits.

kumaratulesh’s picture

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.