Can not edit pages [This content has been modified by another user, unable to save changes.]

vfilby - April 8, 2005 - 05:48

I recently upgraded from 4.5.2 to 4.6-rc, after some problems I just pulled the current cvs version down and I am now working with that. A few more hiccoughs, updating themes and such I now have it mostly working.

When I try to edit a page that was created by my on 4.5.2 I get this themed error:

This content has been modified by another user, unable to save changes.

I basically just kept the old database and ran the update.php script from the 4.5.0 release date. I also am running with some contrib modules:

  • event -- Disabled because of mysql problems.
  • pathauto
  • taxonomy_access -- The supplied path failed on 2 hunks so I manually incorporated those. The error was occurring before this module was installed.
  • taxonomy_context -- Disabled
  • urlfilter
  • code filter

All of these modules and the main source were pulled from cvs about 2 hours ago.

Vince

Another item worth mentioning

vfilby - April 8, 2005 - 05:50

I had applied the Jeremy Epstein (greenash) patches to my installation of drupal 4.5.2 to enable nice bread crumbs and hierarchy. I am not convinced this is a problem because of the 'user' bit, but I thought I should mention it.

Vince

I have also had this problem.

samwilson - April 9, 2005 - 06:19

The problem seemed to be that it wouldn't let me edit those nodes that didn't have a value in one or other (or both? I'm not sure) of the `changed` or `teaser` columns.

I fixed it (or at least am in the process of fixing it) by just putting stuff in both of those columns.

[I didn't have `changed` or `teaser` columns because I'd imported from another CMS, one which didn't have them (on all records).]

I am going to wait until

vfilby - April 10, 2005 - 02:07

I am going to wait until monday-ish and grab the lastest CVS version and repave the test server. I'll see what happen from there. I will also check to see if I have the same changed/teaser column issues.

Cheers,

Vince

You are supposed to see this

killes@www.drop.org - April 10, 2005 - 06:28

You are supposed to see this message if between your opening the edit form and saving your changes another user made changes to the node in question. It shouldn't be shown in other cases.
--
If you have troubles with a particular contrib project, please consider filing a support request. Thanks. And, by the way, Drupal 4.6 will support PHP 5.

Understood but...

vfilby - April 10, 2005 - 20:31

it happens all the time on every page I am going to edit and I am the only person changing content because it is a test site so there is a bit of a problem somewhere.

I did upgrade from 4.5.2 but I may just wait until the 4.6 release and then roll it out a-fresh.

Vince

Same problem

JDSaward - May 3, 2005 - 00:10

I am having this problem on a clean install of 4.6.

I get the same message:

"This content has been modified by another user, unable to save changes."

I created the content myself, and I am the only user for the site; so the message does not make a lot of sense.

Problem from last_changed function

tostinni - June 24, 2005 - 21:50

I also face this problem from a 4.5.2 upgrade.
I investigate a little and face a strange problem, but easily solvable :
It seems that 4.6 doesn't like anymore to have changed field in node table set to 0. In fact when you create a new node, changed = created (see node_save).
In my dump from 4.5.2, I add all my changed values to 0 because I created automatically my nodes witrh a script and didn't care about changed time.

This can seems normal, but where the strange things arrive is during node validation. See in node.module the function node_validate
We have :

<?php
 
if (node_last_changed($node->nid) > $node->changed) {
   
form_set_error('changed', t('This content has been modified by another user, unable to save changes.'));
  }
?>

Normally you should have something like 0 > 0 because node never has been changed.
But if you print variables you get an empty variable for $node->changed, and I can't explain this, because if I make a print_r($node); I got something like
stdClass Object ( [nid] => 41 [type] => flexinode-1 [title] => test [uid] => 3 [status] => 1 [created] => 1119642762 [changed] => 0... )
So it shows me that $node->changed is set to 0...
So I didn't understood.

Well, now let's correct it.
Open you SQL manager and type this :
UPDATE node SET changed=created WHERE changed=0
And that's it. It will update all your nodes which doesn't have a changed time set.

I Solved This

Taran - July 7, 2005 - 02:58

The issue is apparently that the table names are not all in ***lower caps***. PHP loses it's cookies when the tables are NOT lower case.

Go to table 'node', and change

CHANGES

to

changes.

That was a mean mother to find. :-) Typos galore.

First Stab ...

edgecast - March 23, 2006 - 03:19

My problem with this went away simply by logging out and then back in. Try that first, maybe you'll get lucky too ;-)

I am working with D 5.7

TheoRichel - June 23, 2008 - 20:25

and having this problem from time to time. Very annoying

 
 

Drupal is a registered trademark of Dries Buytaert.