Page tree

In this page:

How to rebase a task to keep it synchronized with changes made to its parent project since the task was created. Prerequisites: Create a new task or Create a new concept or Create a new concept based on a template or Create a batch of concepts based on a template or Edit a published concept

A task becomes diverged from its project when the project content gets updated after content has been modified within the task. This may happen through other tasks being promoted to the project, and also through project rebase from its mainline.

A task may also fall behind its parent branch, when the parent content changes before any changes are made to content within the task. This may happen when a task is created but no changes are made within it or some time whilst other changes occur in project content for instance via a subsequent project level rebase, and/or another task being promoted to the project.

When either of these situations occur the task becomes eligible for rebasing from the project, to synchronize its content with the parent branch changes since the task was created.

Diverged tasks cannot be promoted

Task promotion is not possible whilst a task is diverged, so periodic rebasing is an important aspect of project and task management - ideally as soon as possible following divergence (fewer differences make for simpler content merges).

Attempting to promote a task which is diverged (indicated by an active rebase action button for that task) will trigger a Promote Task pop-up notification that the task and project are not synchronized. The only available action on that notification is to return to the task - the promotion request is blocked.


Task rebase eligibility is indicated in two places:

  • In the Dashboard - My Tasks entry, as an active (yellow) Rebase this task from project  icon button in its task row.
  • In an open task, as an active (yellow) Pull new changes from project  icon button in the LH action button panel of the Edit Task view.

Either

From Dashboard - My Tasks, press the Rebase this task from project  icon button in the task row REBASE column.

Or

From the Edit Task view, press the Pull new changes from project  icon button in the LH action button panel.

A "Loading task details..." header notification is presented and the main display panel is cleared.

 

A "Task details loaded" header notification is presented, and the main display panel changes to show a blue "Comparing task to project, please wait just a moment..." full display panel notice (with an animated timer indication that the comparison process is taking place).

If the rebase comparison shows that merging can be completed with no content conflicts, the main display panel changes to show a green "Task and project can be merged without issues, pulling changes in from project..." full display panel notice (with an animated timer indication that the merge process is taking place).

Once the merges are completed, the main display panel changes to show a green a green "Success! Switching to task view in five seconds..." full display panel notice, which closes automatically after five seconds have elapsed (during which the merges are finalized in the task branch content).

Silent merging

Although this sequence indicates content can be automatically merged without user intervention, any differences are still saved in the task branch to bring it back in synchronization with the project content.

This path simply means that none of the content changes in the project since the task was first created are in conflict with the changes made in the task since then.

All subsequent concept changes at the project level that were not directly related to the concepts being changed within the task become available within the task after rebasing.

Silent merging also occurs for changes within a concept being modified within the task if the changes do not conflict - for instance new descriptions may be added that were brought into the project concept version from another task or from the project's mainline.

If the merge comparison detects conflicting changes in the task branch and the project branch content, then the Concept Merges screen appears when the comparison screen closes.

This presents a list of the concepts that need merge conflicts to be reviewed and resolved in a context tab navigation panel to the left, with a Conflict Resolution display panel to the right (initially this will be blank).

In the Merges To Review tab Press the blue "pencil" icon button to the right of a concept FSN in the concepts list. 

The display panel shows a 3-panel Concept Merge Resolution view, with the Project Version to the left, the Task Version to the right, and between them a Merged Version of the concept needing review for merge resolution.

Pick one of the three versions by pressing the small purple Accept This Version  icon button in its concept header action icons menu.

A "Saving accepted merged concept..." header notification is presented and the version being saved is greyed out.

An "Accepting merged version for concept <SCTID>" header notification is presented.

Saving a merged concept is usually very rapid

These two stages usually happen quickly, so these header notifications may be very brief!

On merge completion a "Merge accepted for concept <SCTID>" header notification is presented (where <SCTID> is its SNOMED CT Identifier), the display panel is cleared, the concept FSN is removed from the Merges To Review list, and it is added to the Merges Accepted list in the context tab navigation panel.

Repeat the concept merge resolution steps for every concept in the Merges To Review list, until the list is empty.

On accepting the final concept merge, the context tab navigation switches to the Merges Accepted list, and a Finalize Merges action button is presented below the list of accepted concepts. At this stage the Merges To Review list is empty (although still available as a context panel tab).

Press Finalize Merges to complete the rebase concept merges process and persist the changes in the task branch content.

An "Applying merged changes..." header notification is presented whilst all the accepted merge changes are saved to the task branch content.

Once the merges are completed, the main display panel changes to show a green  a green "Success! Resolved merges applied. Switching to task view in five seconds..." full display panel notice, which closes automatically after five seconds have elapsed (during which the merges are finalised in the task branch content).

The Task View is reloaded, with the LH menu panel Pull new changes from project  (rebase task) button now disabled (greyed out).

Any concepts loaded into the edit panel which were updated during the merge process now show the newly merged version of their content.

The Dashboard - My Tasks view REBASE column icon for this task will also now be inactive.

At this point the task branch status has been returned to Forward, and changes made within the task are once again eligible for promotion to the project.