Page MenuHomePhabricator

Feature Request: Parallel Section Edit with Transparent Merge
Closed, DeclinedPublic

Description

Author: A.Pozolotin

Description:
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.

  1. 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".

  1. 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";


Version: 1.4.x
Severity: enhancement
OS: Windows XP
Platform: PC

Details

Reference
bz2771

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 8:39 PM
bzimport set Reference to bz2771.
bzimport added a subscriber: Unknown Object (MLST).

When you edit different sections, automatic merge should already happen without conflicts.

y.valuyskiy wrote:

(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.