https://www.figma.com/proto/hhCTI6ayPINCwRGHUokgLV/Untitled?page-id=0%3A1&node-id=7%3A4192&viewport=-267%2C542%2C0.56&scaling=min-zoom&starting-point-node-id=0%3A732
In program management administration, when a team is displayed, there is a check for consistency with following rule:
- If all Open Program Increment of the Program exists in the team, display nothing
- If at least one Open Program Increment of the Program doesn't exist for the Team, the "Sync button" is proposed.
- There should be no configuration blockers for the Team as well.
- If one synchronization task is scheduled or on going, display "Sync button" grayed (cannot be clicked)
- The synchronization is recorded in the DB with a specific table/column
- This flag is cleared at the end of the synchronization process and purged in daily batch job (in case of failure)
When the "Sync" button is clicked then:
- Page is submitted
- All Open Program Increment that don't have mirrored PI in the Team are created
- For each created Program Increment, all Iterations are created (even the closed one) for the sake of consistency across the teams.
Notes:
- there is no check of Iterations consistency. For instance if, for some reasons, an already mirrored PI (so not concerned by the Sync) is missing Iterations, they won't be recreated at Sync (because they are not part of PI being created).
- if synchronization crash, the button will be remained grayed until the next daily cron job. It's good enough error management at this stage as the sync is not expected to crash at all (it can be fixed in DB as well in case of issue)
- backlog is not handled, if user stories are created before synchronisation they won't be added in backlog