UseModWiki | WikiPatches | RecentChanges | Preferences

UseModWiki sometimes doesn't do conflict resolution if two users edit the same page. This is not only true for one user who is logged in and has several "sessions" (where you may consider it a bug or a feature), but also if the IP addresses of the contributers are equal (users not logged in).

However, users share one IP for several reasons:

This patch corrects it. Note that it can be integrated in a better way.

   3241   if (($UserID > 399) || ($Section{'id'} > 399))  {
   3242     $newAuthor = ($UserID ne $Section{'id'});       # known user(s)
   3243   } else {
   3244     $newAuthor = ($Section{'ip'} ne $authorAddr);  # hostname fallback
   3245   }

Corrected 3244 to

   3244     $newAuthor = 1;


I considered this issue, but your change conflicts with the common behavior of using the browser's "back" button to re-edit a page. With your patch, a user who does not have a user-id (who has never visited the preferences page) will conflict with their own previous edit if they use the back button. Note that using the current 0.92 code an author can protect their edits from same-IP conficts simply by visiting the Preferences page (presuming that their browser accepts the user-id cookie).

Sites that have a large number of same-IP users might want to consider this change. I will consider making this an option if people tell me that the current behavior is causing problems. --CliffordAdams

There is more conflict potential if users do not create user-id cookies, whole enterprises are hiden behind a single IP address. How about creating another hidden input field with the form, and just allowing multiple submits with the same submission-id? This could allow exactly the Back-Edit scenario while blocking all other out-of-sequence edits. The cookie scheme seems hard to understand, I'm stll used to SingleUserEqualsSingleLogin? concept. -- PeterVohmann?

UseModWiki | WikiPatches | RecentChanges | Preferences
Edit text of this page | View other revisions | Search MetaWiki
Last edited September 28, 2002 9:45 am by pD953002F.dip.t-dialin.net (diff)