As the title suggests, allowing users to "checkout" content for editing.
If you have a large site and a lot of users, it makes sense to prevent users from editing files when others are working on them.
The current system can become frustrating to non-drupalers. Most users expect the web applications they use to do this. An actual example is Joomla!.
I would add the workflow:
1. User clicks 'edit' tab, system verifies it is not locked.
2. If NID is locked, print message explaining the lock, else show edit tab.
3. Administrator can set a "max edit time" directive to unlock "forgotten" locks after x amount of time.
Comments
Comment #1
bsherwood commented*bump*
Any comments, either way on this? Does this seem like a more intuitive way to handle editing content?
Comment #2
lilou commentedSee : http://drupal.org/project/checkout
Comment #3
keith.smith commentedComment #4
bsherwood commentedI realize the existence of this module. Also note how I titled the issue. I am talking about integrating Checkout into core.
I am coming from the position that this should be the default method of handling users editing nodes in D7 (or D8).
With sites with a lot of users editing content, it seems like the most intuitive way to prevent users getting errors. The node system would "lock" the content until the user hits the submit button or a set amount of time has been reached. it's more about usability than anything else. The point being to help prevent users from seeing error messages.
What if a user spent 20 minutes editing a node only to find out someone beat them to the punch, this most certainly would upset the user, potentially not editing another node due to this frustration. This is a loss to that site's community. Contributing users might become frustrated enough to not contribute to the community after a few attempts.
I realize I could just use the contrib, but I do believe this functionality is "core" worthy. Maybe the code in Checkout isn't "core" worthy, but the concept to me is.
Comment #5
bsherwood commented*bump*
Any direction yay or nay on this?
I realize that this is not a major priority with the core developers, but I do believe this should be how nodes are handled when users can edit them.
Comment #6
dave reidI'd prefer to get #120967: Separate revisions from node.module and #120955: Integrate Diff into Core in first, but I like the idea.
Comment #7
bsherwood commentedDave,
All I have to say is, wow! I have read through most of your ideas and I love most of them. You really have a knack for adding those little things I think Drupal needs.
I realize you have set your priorities with the two previous issues (which would be great additions to core), but are you considering helping to code this issue?
Comment #8
panchoOh, definitely that'd be a great improvement!
However, implementing this is going to be quite some work, and I'm in serious doubt we can get it properly done until D7 code freeze.
Some of the more problematic aspects include: Handling forgotten locks, locking the node for actions and queueing the actions, allowing admins to unlock an edit by someone else plus afterwards handling the concurrency.
We can't just start implementing this - rather we need an elaborate spec first. I'm postponing this for now, but it would be awesome to get this in early in D8.
I'd also invite you to help us with the two issues Dave mentioned. That's doable until D7 code freeze and an improved revision management, that would be next, is doable as well.
Comment #9
dave reidI agree this should be postponed, so thanks for updating the status Pancho. There are way too many 'big' node patches to get through first. Hopefully there will still be time left before the freeze that we might attempt this. :)
Comment #10
jstoller+1
Speaking as someone who works at a large organization, content checkout is a very important feature.
Comment #11
MiMe commentedI agree, content checkout is almost too important to postpone
Comment #12
bsherwood commentedTagged under "Usability" since I think this method would be better for end users.
Comment #13
mdupontBumping to D8.
Comment #14
jibranAs per #8.
Comment #15
klausiToo late for Drupal 8 at this point, we are past feature freeze. Drupal 9 material.
Comment #16
panchoBumped to D9, so the title needs to be adapted.
This should probably be based on or inspired by content_lock module now.
Comment #17
catchAs a feature this could potentially be added in a minor release.
Comment #33
acbramley commentedIs this something that needs to be brought into core? The content lock module provides this functionality.
Comment #34
acbramley commentedIt's been 3 months since #33 and 10 years since the last comment before so I'm closing this for now.