Quorum

Quorum can be used with Synapse’s Fork and Merge process to automatically merge data into a parent view based on a sufficient number of approving votes. In organizations where merging data (e.g., into a production view/layer) requires approval, Quorum allows approval by consensus. This may simplify the review and approval process (as opposed to one person or a small number of people needing to review and approve all changes, for example).

Quorum must be enabled on the parent view (i.e., the location where you want to enforce voting before merging data into that view). You must specify the number of votes required and the Synapse role(s) allowed to vote.

When enough approving votes are received (e.g., quorum is met), the forked view (and all its data) are automatically merged into the parent and the forked view is deleted (i.e., the equivalent of Merge All Changes and Delete the Fork).

Note

A Quorum merge is performed as admin on the parent view. That is, any write permissions that exist exist on the parent view’s top layer (that would otherwise prevent certain writes from occurring) are bypassed; all data from the fork is merged.

When the merge is performed, the edit history from the forked view is preserved (i.e., changes to merged nodes in the parent view will reflect the user who made those changes in the forked view).

Enable Quorum

To require Quorum voting, enable Quorum on the view to merge into (i.e., the parent view of the fork(s) to be merged).

  1. From the Toolbar, select the Workspaces Tool:

    ../../_images/icon_workspaces.png
  2. In the Workspaces Tool, select the VIEWS tab:

    ../../_images/quorum_01.png
  3. In the View list, select the view on which to enable Quorum:

    ../../_images/quorum_02.png
  4. In the View Configuration panel, select the QUORUM tab and set the Enabled toggle to ON:

    ../../_images/quorum_03.gif
  5. Specify the number of votes required to approve a merge request and the role(s) allowed to vote on a merge:

    ../../_images/quorum_04.png
  6. When finished, click the Save button to save your configuration and enable Quorum:

    ../../_images/quorum_05.png

Note

Enabling Quorum on a view will require Quorum voting for all forks of that view, including both new and existing forks.

Similarly, disabling Quorum will remove all Quorum voting requirements from both new and existing forks.

Create a Quorum Merge Request

  1. By default, you are admin of any view you create (such as a forked view) and are the only user with access to that view. For others to review your merge request, you may need to Give Others Access to a View.

    Tip

    Consider giving reviewers read access to the view. Any changes made to your fork after the merge request is created will invalidate any existing votes. Limiting reviewers to read access will prevent accidental changes.

  2. In the View Task Bar, click the merge icon:

    ../../_images/request_01.png
  3. In the New Merge Request dialog, you can see the current status of the merge, including the votes required and eligible roles. Add any comments (such as information that may be helpful for your reviewers) to your request.

    When you are finished, click the Create button to create the merge request:

    ../../_images/request_02.png

Tip

The merge icon in the View Task Bar will change to indicate the status of the merge request (for example, active, approved, vetoed, etc.) For example:

../../_images/request_03.png

Delete a Quorum Merge Request

The user who creates a Quorm merge request can delete it at any time prior to merging (i.e., prior to Quorum being reached).

  1. In the View Task Bar, ensure you are in the view that contains the merge request. Click the merge icon to view the open merge request:

    ../../_images/del_011.png
  2. In the New Merge Request dialog, click the Delete button:

    ../../_images/del_02.png
  3. In the Delete Merge Request confirmation dialog, click the Delete button again to delete the request:

    ../../_images/del_031.png

    Note

    This action only deletes the request (and any associated votes or comments). The forked view and its data are not affected.

Review and Vote on a Quorum Request

  1. In the View Task Bar, select the view to review:

    ../../_images/vote_01.gif
  2. Use any of the available methods to Review Data Before Merging.

  3. When you are finished reviewing the data, click the merge icon in the View Task Bar to open the merge request:

    ../../_images/vote_02.png
  4. In the Merge Request dialog, select the VOTES tab:

    ../../_images/vote_03.png
  5. Use the Vote… drop-down list to select your vote:

    ../../_images/vote_04.gif
  6. In the Vote on Merge Request dialog, enter any comments about your review and click the Confirm button to record your vote:

    ../../_images/vote_05.png
  7. Your vote is recorded along with any comments. Both are visible to all other users who are eligible to vote, as well as the user who requested the merge:

    ../../_images/vote_06.png

Note

Any changes made to the data in the fork will invalidate existing votes (votes will be flagged outdated). Reviewers will need to re-review the modified data and vote again (or revoke their prior vote).

Any veto vote will prevent the fork from being merged, even if the request otherwise receives enough approving votes. Any vetoing reviewers will need to re-review and approve the merge (or revoke their veto vote - see Change Your Quorum Vote).

As soon as enough approved votes are received (and any blocking veto votes have been changed or revoked), all of the data in the fork is merged immediately into the parent view. Once the merge is complete, the fork is automatically deleted.

Change Your Quorum Vote

There are many reasons you may need to revise your vote. For example:

  • You want to approve a request after previously vetoing it (e.g., after requested changes have been made).

  • You need to re-vote after changes were made to the data (i.e., your previous vote was invaildated due to the changes and is now outdated).

  • You need to revoke your vote (e.g., you are unable to continue reviewing the data and do not want your vote to prevent Quorum being reached).

  • You are convinced to change your vote following a discussion of the merge request.

  1. In the View Task Bar, select the view to review:

    ../../_images/change_01.gif
  2. Click the merge icon in the View Task Bar to open the merge request:

    ../../_images/change_02.png
  3. In the Merge Request dialog, select the VOTES tab:

    ../../_images/change_03.png
  4. Use the Vote… drop-down list to select your vote:

    ../../_images/change_04.gif

    Tip

    If you revoke your vote, the vote and any comments are removed from the VOTES tab.

  5. In the Vote on Merge Request dialog, enter any comments about your review and click the Confirm button to record your vote:

    ../../_images/change_05.png