I enjoyed the presentation of the Conflict module at Drupal Mountain Camp (March 2019) very much. This is a great module!
Thinking of how my team would use the module in our distribution for (admittedly) very non-technical content creators, and in response to the invitation to help improve the UI, I feel like the language and presentation of conflicts has some scope for improvement as follows:
The language of "local", "initial" and "server" versions will likely not make much sense to a non-developer. Put into plain English, the versions are:
- the version you are trying to submit
- as it was before these changes were made
- the version changed elsewhere in the meantime
Clearly these are much more verbose than local / initiial / server, but clarity and conciseness don't always go hand in hand!
Secondly, when I think of the three versions in these terms, it becomes clear to me that this interaction step, at the point of submitting the form, has much in common with the validation rejection, which makes me think the field in question should be highlighted in the same way as a field that failed validation.
I think it would be really helpful to do this. If you visually highlight the form element where the conflict needs resolving:
- there is non-verbal communication that I have to resolve an issue right here before my changes can be saved;
- there is a clear connection visible between the conflict resolution box and the field is relates to;
- and there is a reminder that this is the value that I am trying to submit (which helps me identify which of the three versions is 'mine').

If you did that, you would follow an existing behaviour pattern and could possibly get away without having the overlay but instead a "Discard my changes and edit again" button on the same page as the conflict resolution UI.
Finally, wherever you show it, the wording of the initial message could be made more human-friendly too, for example:
While you were making these edits, either this content was modified by another user, or you also submitted modifications elsewhere. Some of the changes conflict with yours, and cannot be resolved automatically.
You can resolve the conflicts manually, or discard your changes and start over, editing the version that was changed elsewhere.
[Resolve manually] [Discard and start over]
I'm not really a designer, nor trained in UX best practice either, so am sure others can help refine/fine-tune these suggestions.
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | driff-for-field.png | 30.46 KB | seiplax |
Comments
Comment #2
seiplax commentedAgree that the labeling could be improved. One alternative is "Initial version, Your version and Their version". Also something like what is done in Diff module would be helpful for fields that are complex. Attaching a screenshot from how it looks.