On Thu, May 23, 2019 at 12:10 PM Simon Urli <[email protected]> wrote:

> So trying to sum up the discussion to see if we all agree.
>
> All the above is in the case of a save conflict:
>
> 1. Default behaviour for all users is to try an automatic merge, and to
> display a window conflict resolution in case of merge conflict. The
> conflict resolution is an all-or-nothing based, allowing to choose a
> version over another.
>

I don't agree about the all-or-nothing, since I would prefer to accept what
we can, warn on conflicts.
We should show a resolution conflict when the conflict is on the same line.
Auto-merge the rest.


>
> 2. There is an option in the user profile to be able to always see the
> diff in case of save conflict, to accept or not the merge, even when
> there's no conflict.
>

I don't like the option in the profile. IMO we should decide on the
behavior and apply it for all users. Edit is a core feature, conflicts
again are part of this kind of interaction.


>
> 3. When a user save with a merge, the notification message displays that
> it's a merge save. It means that user clicking on "save&view" might miss
> it.
>

On "Save&View" we can increase the timeout for the notification.
The notification could mention also the magnitude: "Saved. Auto-merged 10
conflicts."
If cannot save, show the conflict modal.


>
> Those are the first three priority points. The following points are
> important too, but might not be finished in 11.5.
>
> 4. If another user saved a document that I'm editing, I have a
> notification in the editor and I can click on it to see the diff/conflicts
>

This mockup might not help, but is something I had in mind that I want to
share:
https://design.xwiki.org/xwiki/bin/download/Proposal/EditConflict/linescolor.png

Ideally I would like to see real time, if not the exact changes, but at
least the lines affected by the current editor.

Thanks,
Caty


>
> 5. The conflict resolution is line-by-line based.
>
> WDYT?
> Simon
>
> On 23/05/2019 10:00, Vincent Massol wrote:
> >
> >
> >> On 23 May 2019, at 09:43, Simon Urli <[email protected]> wrote:
> >>
> >>
> >>
> >> On 23/05/2019 09:31, Vincent Massol wrote:
> >>>> On 23 May 2019, at 09:25, Simon Urli <[email protected]> wrote:
> >>>>
> >>>> Hi Caty,
> >>>>
> >>>> On 22/05/2019 14:51, Ecaterina Moraru (Valica) wrote:
> >>>>> I'm not sure I agree about this profile option.
> >>>>> Indeed we want to make things as simple as possible and having
> conflict
> >>>>> resolutions can be scary, still, there is no way an user could take
> this
> >>>>> decision in advance.
> >>>>> Users will want to have control over what they do and at least know
> >>>>> something went wrong. We cannot automatically merge, without any
> warning,
> >>>>> since users will immediately see that their work was changed. It
> will be
> >>>>> reported as a bug (in case they notice it) and they will expect to
> be able
> >>>>> to recover the work.
> >>>>> I can't think of a case when an user would not care about the
> changes and
> >>>>> the result.
> >>>>
> >>>> Let say that a document has 2 sections, and a user is editing section
> 1, while the other is editing section 2. The merge should work properly
> without any conflict.
> >>>> I don't really see the point of asking by default the second user if
> he's ok to merge his work on section 1 with what has been saved on section
> 2.
> >>>> On the contrary I feel it could be scary for the basic users to see
> this kind of message and it decreases the easiness of using XWiki IMO.
> >>>>
> >>>>> Also the options are not clear to me: like 2: automatically merge,
> but ask.
> >>>>> Well is automatically or not?
> >>>>
> >>>> It's automatic but as you mentioned just after, in case of changes
> are made on the same line there is a conflict that needs to be solved.
> That's what I meant by "ask in case of merge conflict".
> >>>>
> >>>> On the contrary option 1 was a fully automatic merge, with a
> predefined strategy to choose one version over another in case of conflict.
> >>>>
> >>>>> We need to ask for resolution only if the changes are on the same
> line,
> >>>>> besides this, we should try to automatically merge, but provide the
> info to
> >>>>> the user that we did that. Instead of the normal Save message, we
> could say
> >>>>> that we performed a Merged Save. And in the history I would expect
> to be
> >>>>> able to see what lines were added by what users, just in case
> something
> >>>>> went wrong. We are lucky that we have the Blame view :)
> >>>>> So not sure we need a configurable option in profile. We just need to
> >>>>> decide on the 'default' and implement that. We keep adding options
> that
> >>>>> only increase the complexity of the product and we never get to test
> all
> >>>>> the possible mixes and configurations.
> >>>>> So what are the use cases when we would need this option in the
> profile?
> >>>>
> >>>> As I said above I personally don't see the point of always displaying
> the merge diff especially for basic users when there's no conflict.  Now I
> really think that some users would want that, that's why I proposed the
> profile option.
> >>> I agree that option 3 is not great as it gets in the way. Now it could
> be interesting for the user to know it happened. Maybe some fleeting
> notifications at the bottom of the screen or some info added to the commit
> message or some visual info when you’re in edit mode and before you press
> save.
> >>
> >> So in case of "Save&Continue" it's quite easy to change the "Saved"
> notification message by another one. I'm not quite sure how to inform the
> user about the merge if he cliks on "Save&View”.
> >
> > By implementing the part below :) ie by providing this info continuously
> before he clicks any save button.
> >
> >>
> >>> Ideally I’d like that we poll regularly to see if there have been
> changes and display some icon if there are with the ability for the current
> user to click and see the diffs with his version, and if there’s a
> conflict, that a visible message is displayed on the screen (but without
> interrupting of his typing).
> >
> > More details: when there’s a conflict, clicking the message/button would
> show the diff and the conflict.
> >
> >>> And when he saves, the merge is done then.
> >>
> >> I like the idea, now would that be enough to inform about the performed
> merge? If we go in that direction I'd need some design proposal for the UI
> @Caty :)
> >
> > Yes we need to find where to put that information.
> >
> > BTW, even better, we should ideally also display the icons of the users
> who are editing the same doc and/or who have saved content after the
> current user started editing.
> >
> > And we already have a design page for this ;) We called it
> “collaborative editing”:
> >
> https://design.xwiki.org/xwiki/bin/view/Improvements/CollaborativeEditing
> >
> > Thanks
> > -Vincent
> >
> >>
> >> Simon
> >>
> >>> WDYT?
> >>> Thanks
> >>> -Vincent
> >>>>
> >>>> Simon
> >>>>> Thanks,
> >>>>> Caty
> >>>>> On Wed, May 22, 2019 at 12:04 PM Vincent Massol <[email protected]>
> wrote:
> >>>>>> Hi Simon,
> >>>>>>
> >>>>>>> On 22 May 2019, at 10:45, Simon Urli <[email protected]> wrote:
> >>>>>>>
> >>>>>>> Hi everyone,
> >>>>>>>
> >>>>>>> I'm working on the merge on save for the roadmap of 11.5 and I
> need some
> >>>>>> decision to be taken.
> >>>>>>>
> >>>>>>> The main idea of the merge on save, is to try to merge users work
> in
> >>>>>> case of save conflict. Knowing that the merge might led to merge
> conflict
> >>>>>> in case of edits on the same places. Those merge conflict can be
> tackled
> >>>>>> automatically, but a priority will be then given to one version over
> >>>>>> another.
> >>>>>>>
> >>>>>>> I first propose to add an option in user profile, so users would
> have
> >>>>>> the possibility to choose between:
> >>>>>>>   1. Always merge automatically the work, even in case of merge
> conflict
> >>>>>>
> >>>>>> I don’t understand this part. If there’s a conflict it means it
> cannot be
> >>>>>> merged… So would it do? Take latest version and overwrite previous
> version?
> >>>>>>
> >>>>>>>   2. Always merge automatically, but ask what to do in case of
> merge
> >>>>>> conflict
> >>>>>>>   3. Always ask what to do in case of save conflict
> >>>>>>>
> >>>>>>> Now the question is: what should be the default option?
> >>>>>>
> >>>>>> Certainly not 1! 2 is really the best to me.
> >>>>>>
> >>>>>> Thanks
> >>>>>> -Vincent
> >>>>>>
> >>>>>>> Option 1 looks like a good fit for decreasing the number of clicks
> to
> >>>>>> do, but I'm a bit afraid that in case of conflict they would have
> the same
> >>>>>> feeling as before the warning conflict window: i.e. to loose some
> part of
> >>>>>> their work.
> >>>>>>>
> >>>>>>> WDYT?
> >>>>>>>
> >>>>>>> Simon
> >>>>>>>
> >>>>>>> --
> >>>>>>> Simon Urli
> >>>>>>> Software Engineer at XWiki SAS
> >>>>>>> [email protected]
> >>>>>>> More about us at http://www.xwiki.com
> >>>>>>
> >>>>>>
> >>>>
> >>>> --
> >>>> Simon Urli
> >>>> Software Engineer at XWiki SAS
> >>>> [email protected]
> >>>> More about us at http://www.xwiki.com
> >>
> >> --
> >> Simon Urli
> >> Software Engineer at XWiki SAS
> >> [email protected]
> >> More about us at http://www.xwiki.com
> >
>
> --
> Simon Urli
> Software Engineer at XWiki SAS
> [email protected]
> More about us at http://www.xwiki.com
>

Reply via email to