Today we can create an Application of Projects but we can't select the Long-Lived Branch of the Projects; it's always the Master branch that is used. Usually, the Master represents the PROD or the NEXT version, but you often have 2-3 parallel versions of the same Application developed in parallel. Being able to know the quality of these versions is something we don't cover today. Currently, customers analyze the same project with different names to be able to aggregate the data in different Views. Tomorrow, when they use proper branch support, they will want to do the same at Application level.
Application branches will be presented in a branches dropdown on the application homepage as is done for project branches. They will not appear in the Portfolios page (or even in the Projects page when Applications are moved there.) The top-level Application aggregation will appear as "Main Branch" in this dropdown.
MMF-1185 added the ability to pick any long-lived project branch, or an Application as the User's home page. This MMF should add the ability to pick a long-lived Application branch as a homepage.
We will allow the definition of Application branches by manual selection, which should present each project in the Application, and allow the user to choose 1 long-lived branch per project. This selection can be set both during initial definition and subsequent edits:
- Adding a project in the Application should add the project master to the "Main Branch".
- Subsequent edits should allow the user to update the definition of all Application branches including of the "Main branch".
- Removing a project from the Application should remove it from all Application branches.
Project branch names are defined during analysis, but the master branch may be renamed through the UI. On the other hand, Application branches must be named in the UI at creation since there is no explicit analysis.
Application branches must be deleted manually through the UI.
Anyone with Administer permissions on the Application should be able to configure an Application Branch, which means this configuration interface must be available from the Application Administration menu.
Portfolios aggregate top-level Application definitions, i.e. Applications main branches.
Immediately after configuration, the branch must be available in the Application's branches dropdown. Using the "Recalculate" button found in the Portfolios configuration interface (or the one in the Application-level interface) will trigger application branches (re)calculation.
An application branch must be automatically recalculated after
- the analysis of a relevant project branch
- the deletion of a relevant project branch
- the deletion of the entire relevant project (presumably this is covered by #2 above)
- issues in a relevant project branch are edited
If the application branch is empty either because no project branches have been configured or because all configured project branches have been deleted, we must display a message like
No project branches are configured. <if admin>You should or .</if admin>
GOV-315 has been addressed before this MMF is handled, then Definition Change events should be added to the history of an Application branch if the branch definition changes either through manual manipulation or the deletion of a selected project branch.