"content has been modified" message confusing
coltrane - March 7, 2009 - 22:09
| Project: | Drupal |
| Version: | 7.x-dev |
| Component: | node.module |
| Category: | task |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | needs work |
| Issue tags: | Needs text review, UBUserTesting2009, Usability |
Description
Identified at UB Usability Testing: http://www.drupalusability.org/node/154
Create a node and save
Edit the node, save
Hit back to return to the edit form, alter the body and save
Given "This content has been modified by another user, changes cannot be saved." error message
While an error is correct, the text is confusing to users, as they are in fact the actual user, not "another user".
Related issues about node diff/merge
http://drupal.org/node/106953

#1
The diff/merge idea would be great, is there any way that's getting into core?
Here is a patch which just removes the 'by another user'. It seems like the text could still be improved, but this is at least succinct.
#2
The last submitted patch failed testing.
#3
Failed because I didn't roll the patch from root (thanks, webchick). Re-rolled, uploading again.
#4
There are two times when this message appears (on a usual basis).
The problem with the current error message is that it does not work for the first case. The problem with the proposed change is that it does not work for the second.
Let's keep working until both meanings of this message are relayed.
#5
Thanks for the feedback, ultimateboy,
Could you clarify on how the proposed text doesn't address the second issue? "This content has been modified, changes cannot be saved" doesn't state which user did the modifications, which (while it can no doubt be improved) seems like it should work for both cases.
Understood if this still seems like an incomplete solution. I wonder if it would be worth looking at splitting the messaging based on the scenario. I played with the text for a while, but it just kept getting unwieldy having to address both issues in the same message. i.e "The content on this page has either been modified by another user, or you have already submitted modifications using this form. As a result, your changes cannot be saved.".
Also, it seems like there is consistency in Drupal error reporting in that errors will state the problem, but not a solution. I can see good reasons for this, such as if there are multiple solutions. Do you know of any places where this convention is bypassed an a solution is offered? For example:
"The content on this page has either been modified by another user, or you have already submitted modifications using this form. As a result, your changes cannot be saved. To modify, [start edit link] refresh the node edit page [end link]."
#6
The proposed change in #3 could be very confused for the second scenario outlined in #4. Seeing this message, users could possibly think "well yes, I understand that I modified the page, why can't it be saved?" I do not think it is clear that another user has probably altered the node at the same time.
Given that, I do think that the split solution outlined in #5 is the direction to go. I think it makes it extremely clear what the two possibilities are, and gives a solution.. this is very nice.
I guess the other possibility is to figure out which scenario is true by looking at who last modified the content and if it is the same uid, then report accordingly. But I think the former solution is the better way to go.
#7
I like the idea of checking the for the last user to modify the node, but I feel like there might be some edge cases where the text might not be accurate.
Attached is a patch with the text proposed in #5: "The content on this page has either been modified by another user, or you have already submitted modifications using this form. As a result, your changes cannot be saved."
Thanks again, ultimateboy.
#8
#9
Committed to CVS HEAD. Thanks.
#10
Automatically closed -- issue fixed for 2 weeks with no activity.
#11
While I think the above changes helps a bit - I think it is the behaviour that is confusing.
Users expect to be able to use the back button (without thinking too much about the semantics of it)
For my current project I've cooked up this quick bit of javascript which is working OK for me in test at the moment.
This is for Drupal 6 and is only loaded on a specific type of node edit page.
$(document).ready(function(){
var location = "" + top.location;
if (location.search(/#back/) != -1){
top.location.replace('#');
top.location.reload();
}
$('input#edit-submit').click(function(event){
top.location.replace('#back');
});
}
What it does is adds a fragment identifier to mark the history as dirty - and checks for this on page load - clearing the marker and reloading the page if it is found.
Needs work (and cross browser testing) but what do people think in principle?
#12
I like your logic, I hope it can be implemented even on version 6.
But in general, we should have a better solution like this:
User1 is Editing a node.
User2 clicks on the Edit button for the same node. Immediately User2 should get a message indicating that the node is being used and if (s)he need to be notified when it is available. i.e.: some kind of a locking mechanism.
Microsoft Word has this feature already, so as many other applications.
#13
It still error for my site
travel guide advice, http://www.toitim.net, Mua bán