? ? Pending

User tests: Successful: Unsuccessful:

avatar JoomliC
JoomliC
16 Oct 2018

Pull Request for Issue #22627.

Summary of Changes

  • Add new option to enable User Actions Log. Disabled by default.
  • Remove default value for loggable_extensions (Fix #22627 UX issue)
  • Add a "Select All/None" for loggeable extensions to help selecting all or clearing all on one click.
  • Add two strings for actions_logging new option to be reviewed.
COM_ACTIONLOGS_ACTIONS_LOGGING_DESC="Enable log of actions performed by users on your website for the selected events to be logged."
COM_ACTIONLOGS_ACTIONS_LOGGING_LABEL="Enable User Actions Log"

Disabled
capture d ecran 2018-10-16 a 19 04 20

Enabled
capture d ecran 2018-10-16 a 19 04 05

Testing Instructions

  • Check issue #22627 for loggable_extensions UX changes.
  • Test actions logging options (enabled/disabled), all selected, some selected, none selected.

Note: i don't have removed default core extensions to be logged, from database install/update, as it make sense to keep this default setting when first opening options. No more issue as User Actions Log is now disabled, by default.

avatar JoomliC JoomliC - open - 16 Oct 2018
avatar JoomliC JoomliC - change - 16 Oct 2018
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 16 Oct 2018
Category Administration Language & Strings Front End Plugins
avatar mbabker
mbabker - comment - 16 Oct 2018

To be frank, this cannot be a component level option. Even with this option, it is incomplete; the component MVC would also have to become aware of this. Enabling/Disabling the action log plugins should fulfill this option/desire.

Also, the MVC is written in a way where it should always be able to log. In fact, the action log component serves as the audit log for com_privacy, even if you were to disable all of the related plugins. So there never can be an effective killswitch for the action logging system in the component otherwise we are forced to create yet another logging system internal to com_privacy that can't be disabled.

avatar JoomliC
JoomliC - comment - 16 Oct 2018

So, should i review this by removing enable/disable option, and then removing preset core extensions from loggeable extensions option ?
In order to have User Actions Log disabled by default (many sites won't need logs to be enabled, and it could impact performance and MySQL stability on some hosting...)

avatar mbabker
mbabker - comment - 16 Oct 2018

If you intend on a PR that disables logging by default, then the plugins should be set to disabled instead of enabled. Haven't looked at anything else on this PR, but for that point IMO it should not be a component level option.

avatar mbabker
mbabker - comment - 16 Oct 2018

Basically, the component is there to provide an API for reading and writing data. But the component should not prevent writing data in full.

avatar JoomliC
JoomliC - comment - 16 Oct 2018

If you intend on a PR that disables logging by default, then the plugins should be set to disabled instead of enabled. Haven't looked at anything else on this PR, but for that point IMO it should not be a component level option.

Well, i mean not having core extensions all selected by default, and the possibility to disable all (UX issue #22627 )

avatar mbabker
mbabker - comment - 16 Oct 2018

Lastly, one thing to make clear in case there's any misunderstanding. This system is not logging literally every transaction that happens on a site. It does log things that perform save and delete actions, many admin related actions (extension install/uninstall type things), and user login activity (so for some ecommerce or forum oriented sites with large user bases, that can create a busy log system), but for sites where there is only one or two admins and no frontend authentication element there really should be minimal activity from this system.

So I get the concern that this can be performance impacting for larger sites, but it really shouldn't be as big of a performance concern as some might have thought.

Well, i mean not having core extensions all selected by default, and the possibility to disable all (UX issue)

Yeah, those bits are valid. Like I said, I really only singled out the "disable logging" option you've added to the component, which as I pointed out I don't think belongs for reasons already given (imagine if there were a similar killswitch option in com_finder for the indexer).

avatar JoomliC
JoomliC - comment - 16 Oct 2018

Yeah, those bits are valid. Like I said, I really only singled out the "disable logging" option you've added to the component, which as I pointed out I don't think belongs for reasons already given (imagine if there were a similar killswitch option in com_finder for the indexer).

Ok for the enable logging option, will remove.

About pre-selected core extensions, do you mean none selected by default could be an option (means database removal of pre-settings), or the possibility to disable all (by removing only form default element) ?

avatar mbabker
mbabker - comment - 16 Oct 2018

About pre-selected core extensions, do you mean none selected by default could be an option (means database removal of pre-settings), or the possibility to disable all (by removing only form default element) ?

The change you made here that allows a deselect/select all action is fine. And just leaving it defaulted to logging from all core extensions works. Otherwise you leave users to try and figure out what extensions should be logged when you actually turn the system on and possibly trying to figure out why nothing is being logged in the first place until they hit this config screen.

(Not to say that isn't a problem as extensions add support, but we can at least alleviate a potential pain point with core)

avatar JoomliC
JoomliC - comment - 16 Oct 2018

Thanks again @mbabker for the time you take to answer! ?

Otherwise you leave users to try and figure out what extensions should be logged when you actually turn the system on

The showon attributes could be removed then (this was one questionmark i had while adding showon...)

and possibly trying to figure out why nothing is being logged in the first place until they hit this config screen

Well, this could have been managed as for com_redirect (an alert message) ;-)

But this is not anymore the question, as logs may be enabled by default...

I will redo this PR with only checkboxes field improvement to select All/None (in this case, i have to remove the default attribute for loggeable_extensions to allow an empty selection).

avatar JoomliC
JoomliC - comment - 16 Oct 2018

I close here, and will redo the PR only for select all/none checkboxes field.

avatar JoomliC JoomliC - change - 16 Oct 2018
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2018-10-16 18:46:12
Closed_By JoomliC
Labels Added: ? ?
avatar JoomliC JoomliC - close - 16 Oct 2018

Add a Comment

Login with GitHub to post a comment