?
avatar coolcat-creations
coolcat-creations
8 Sep 2018

The checkout feature for items is a very good and important feature in Joomla. But there is some lack in the functionality in this feature.

Szenario A: A user edits a content but leaves it without saving or canceling -> The Item is checked out, but if the user edits the article again, anyway all changes till now are lost.

Szenario B: A user does not edit a content but leaves it without saving or canceling -> The Item is checked out, no changes are made, there is no danger in overwriting the users changes.

Szenario C and D: Szenario A and B and the Session of the User is timed out. Changes have not been saved or Changes have not been done. The items are blocked for the other users but there is no danger in interfering with the other users changes.

There is only one logical szenario where this would make sense: The changes which have been done are auto saved in a "draft" version until finally the user says: "Save" or "Reset".

Otherwise we also could just reset the checkout items when the user session ends.

avatar coolcat-creations coolcat-creations - open - 8 Sep 2018
avatar joomla-cms-bot joomla-cms-bot - change - 8 Sep 2018
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 8 Sep 2018
avatar franz-wohlkoenig franz-wohlkoenig - change - 8 Sep 2018
Category com_content UI/UX
avatar franz-wohlkoenig franz-wohlkoenig - change - 8 Sep 2018
Category com_content UI/UX com_content Feature Request UI/UX
avatar franz-wohlkoenig franz-wohlkoenig - change - 8 Sep 2018
Status New Discussion
avatar brianteeman
brianteeman - comment - 8 Sep 2018

I am sure there was a long technical explanation in the past by @mbabker about why it isn't possible to checkout items when a session ends but I can't find it right now.

avatar mbabker
mbabker - comment - 8 Sep 2018

There is no Joomla hook that can be triggered when a PHP session expires.

There is a check in JTable to decide if the checked out record is checked out by a logged in user. It is based on that session metadata stuff stored to the session table. If a valid session isn't found for the user the record won't be considered checked out and you can proceed into it for editing.

Without that hook capability, we can't arbitrarily scan for checked out content and un-check it out. The absolute best you might be able to do (and this IMO is not a core feature) is wire up a system plugin to run on an interval (similar to the core update notification plugin) that scans all tables and removes the checked out lock if a corresponding session isn't found in the session metadata.

Also keep in mind the ability to turn off this metadata tracking is added in 4.0, meaning even that process is not 100% reliable.

avatar brianteeman brianteeman - change - 8 Sep 2018
Status Discussion Closed
Closed_Date 0000-00-00 00:00:00 2018-09-08 15:31:02
Closed_By brianteeman
avatar brianteeman
brianteeman - comment - 8 Sep 2018

Close for the reasons stated above my @mbabker

avatar brianteeman brianteeman - close - 8 Sep 2018

Add a Comment

Login with GitHub to post a comment