joomla / joomla-cms

Home of the Joomla! Content Management System
https://www.joomla.org
GNU General Public License v2.0
4.77k stars 3.65k forks source link

[5.2] [Guided tours] Disabled entries in the action log after updating from 4.4.9 to 5.2 #44264

Open Kostelano opened 3 weeks ago

Kostelano commented 3 weeks ago

Steps to reproduce the issue

Install version 4.4.9, Go to the Joomla! Update component settings and select the Joomla! Next channel, Update to 5.2.0,

You will see a new tutorial tour about what's new in 5.2.0. Click any of the actions - view, hide, cancel. You can also run other tours.

I noticed that there are no entries in the action log, although this was implemented in https://github.com/joomla/joomla-cms/pull/43814. In the User Actions Log component settings, the Fields and Guided Tours components are missing.

Image

If you install version 5.2.0 right away, this problem will not occur. This needs to be fixed, since the default update "loses" the necessary part of the functionality.

richard67 commented 3 weeks ago

@Kostelano Hmm, the action logs for guided tours should have been added with this update SQL script: https://github.com/joomla/joomla-cms/blob/5.2-dev/administrator/components/com_admin/sql/updates/mysql/5.2.0-2024-07-19.sql .

And those for fields should have been added with this one: https://github.com/joomla/joomla-cms/blob/5.2-dev/administrator/components/com_admin/sql/updates/mysql/5.0.0-2023-09-09.sql .

Could you check in the update log "administrator/logs/joomla_update.php" if these scripts have run?

Kostelano commented 3 weeks ago

@richard67

Could you check in the update log "administrator/logs/joomla_update.php" if these scripts have run?

Both are done

2024-10-15T18:42:07+00:00 INFO 127.0.0.1 update Выполнен запрос из файла 5.0.0-2023-09-09: INSERT INTO #__action_logs_extensions (extension) VALUES ('com_fields') ...

2024-10-15T18:42:07+00:00 INFO 127.0.0.1 update Выполнен запрос из файла 5.2.0-2024-07-19: INSERT INTO #__action_logs_extensions (extension) VALUES ('com_guidedtours') ...

richard67 commented 3 weeks ago

Weird because they insert the records in the same way as the script for new installation here: https://github.com/joomla/joomla-cms/blob/5.2-dev/installation/sql/mysql/extensions.sql#L814-L876 .

Kostelano commented 3 weeks ago

So the problem is somewhere else. I just updated again from 4.4.9 to 5.2.0, went into the database and see that there are records in the table, i.e. 2 files with requests are executed, but if I go to the settings of the User Actions Log component, then I see that the specified 2 components are not in the Events To Log parameter.

Image

richard67 commented 3 weeks ago

Hmm I see. I think we never modified the events to log parameter on updates in past because that would require to modify json data, which was problematic in J4 because due to the low database version requirement we could not use json functions in SQL statements.

Now in Joomla 5 we could do that, but it seems it was not done because of missing examples for that case.

Meanwhile we have some update SQL scripts in Joomla 5 which could be used as examples.

Kostelano commented 3 weeks ago

@richard67 Probably found a bug. No changes were made to the #_extensions table. The state of the params column immediately after the update (for com_actionlogs):

{"ip_logging":0,"csv_delimiter":",","loggable_extensions":["com_banners","com_cache","com_categories","com_checkin","com_config","com_contact","com_content","com_installer","com_media","com_menus","com_messages","com_modules","com_newsfeeds","com_plugins","com_redirect","com_scheduler","com_tags","com_templates","com_users"]}

Please check from your side.

richard67 commented 3 weeks ago

@Kostelano That‘s what I was referring to in my previous comment. It would need to modify json data in the params column of the extensions table record for actionlogs, and we haven’t done that in past for the reasons I ‚ve mentioned.

Maybe I can find the time on weekend to provide an update SQL script which does that.