I'm building an application that will let a record administrator merge updates submitted by the general public with an internal record. Records include contact information, qualifications, etc. Information is captured from the general public using text fields, drop lists, check boxes, and radio buttons.

The updates are placed in a pending area. All changes to the internal record must then be approved by the administrator. Often times, the administrator will approve all the suggested changes, however there are cases when the administrator must consider the change, and possibly override the suggestion.

Pending vs Current

I started building two copies of the form side-by-side. All user submitted fields were open for editing. Changes could be applied by section (i.e. Address, Qualifications, etc.), or by field. The result was a very intimidating form with far too much going on.

What is the best way to compare the information from two forms, and merge the two forms together?

  • I updated my question to include a screenshot of how the form was shaping up. Imagine those sample rows with all their buttons in a big long list. It's messy.
    – dangowans
    Mar 28, 2013 at 13:31
  • If there's any amount of non-trivial editing done on user-submitted data, please consider adding unlimited undo functionality (for the admin to get from inadvertent typos to the original users' version). Mar 28, 2013 at 20:35

2 Answers 2


It would be great to see your form to provide more relevant results. Anyway, there are several ways to provide merge capability to the form, I will try to provide several conceptual idea in order to provide some starting point for you.

So ideas are the following:

  1. Do not change the form, but balloons in order to show changed value. Optionally you can let user apply all or cancel all changes.
  2. Modify form components (edit fields, etc) to let user switch values. This solution is not flexible enough and highly component dependent.
  3. Use common approach, put old values on the left, new on the right and let user do the rest. Optionally you can hide empty or not-changed fields

enter image description here

  • Thanks for the great suggestions. I like the first and third option mockups best for what I'm trying to accomplish. A whole lot cleaner and more intuitive compared to what I was putting together.
    – dangowans
    Mar 28, 2013 at 13:36

This is how PyCharm lets you merge two Git repositories. The left side is the local version, the right is the version you're merging, and the middle is the version you have accepted. This arrangement is intuitive to me. If you can make your form wide enough, you might consider three columns of forms, with one version on the left, the other on the right, and the user's accepted choices in the middle. That way you can always see the original and the new values, so depending on whether that's important you might consider this approach.

Screenshot from PyCharm tool for merging with Git

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.