On 28 June 2010 04:11, Rob Lanphier <[email protected]> wrote:
> I had forgotten that "undo" might possibly actually do something useful in
> this context.  That said, let's recap what has happened so far.
>
> You start with accepted revision A1, and have pending revisions P1, P2, and
> P3.  Once the user rejects P1, lets assume that that creates a new pending
> revision P4 that is the result of that undo.  Now what?  If they then review
> the diff between P1 and P2, they might mistakingly accept P2, even though it
> still contains the delta between A1 and P1.  We could ask them to review the
> diff between P1 and P4, but that's now an aggregate of the P1P2 delta and
> the P2P3 delta, sans the A1P1 delta.
>
> I just don't think there's a clean way to reject an intermediate pending
> revision.  Accepting?  Sure, wonderful, that will work well.  There's a
> reasonably strong argument for encouraging acceptance of intermediate
> revisions as part of the review process (so long as it always involves
> comparison to the latest accepted revision).  But encouraging undo on
> intermediate revisions leaves things in a really weird place.

Ah... you're right. I hadn't thought things through carefully enough.
Ok, how about alternative D?

D:

1) Display diff between A1 and P1.
2) P1 is rejected. Nothing happens to the database at this point, the
rejection of P1 is just remembered somewhere.
3) Display a diff between A1 and "P2 minus A1P1 delta" (that can be
created temporarily using the undo feature)
4a) If that diff is rejected, display a diff between A1 and "P3 minus
A1P2 delta" (or equivalently, "P3 minus A1P1 delta minus P1P2 delta").
4b) If that diff (in 3) is accepted, display a diff between "P2 minus
A1P1 delta" and "P3 minus A1P1 delta".
5) Continue in what I hope is the obvious fashion, because I'm
thoroughly confused!
6) Create a revision equal to that latest accepted pseudo-revision and
mark it as accepted.

This will be a mess to program (and no, I'm not volunteering!), but it
should be very intuitive for the reviewer. If at any time the undo
feature can't create one of the pseudo-revisions (the ones in quotes),
you just fail gracefully.

What do you think?

PS The aspirin is in the second drawer on the left!

_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to