Last modified: 2010-05-15 15:33:18 UTC
Hello, Everybody: 1) PERCEIVED PROBLEM: Currently, when two or more people edit different sections of the same page and "at the same time", on save, they are presented with counterintuitive "compare whole page" message. 2) PROPOSED SOLUTION: A) In situations when people in fact edit DIFFERENT sections do transparent (and silent) merge on save. B) In situations when people edited SAME ONE section in parallel, on save, present them with "compare & merge 2 versions of same section" option. C) If something more complex happens, present them with "compare & merge 2 versions of whole page". 3) PROBABLE ALGORITHM: A) When section-being-edited is sent to client for edit, parse parent page for distinctions of all sections and create MD5 hashes for all sections content; Store this original-MD5-hash-table in session variables. B) When client saves section-being-edited: - reload parent page from DB; - parse all sections, create current-MD5-hash-table; - find in "current" table matching "original" MD5 content signature for section-being-edited; - if section-being-edited match found: then replace found section with section-being-edited new content - do "silent merge"; - if section-being-edited match not found, and there is a per-section page-deep sections matching pattern like this: {beginning sections match} {one section mismatch in the middle} {finishing sections match}: then give user with an option "compare & merge 2 versions of same section" - do "expected merge"; - if section-being-edited match not found, and special match pattern above is not present: then give an option "compare & merge 2 versions of whole document" - do "worst case merge";
When you edit different sections, automatic merge should already happen without conflicts.
(In reply to comment #1) > When you edit different sections, automatic merge should already happen without conflicts. Feature was tested on 1.4.6 release with default settings, and there is still conflics suitable. Please could you give some editional information about implementation or setting up. Thanks.
Conflict merge is already in MediaWiki. The merge conflict window is open when people add sections and when there is a conflict that can't be automaticly resolved (like two people editing the same section). Two people adding basic text in different sections will not get the conflict merging window.