altinn-studio icon indicating copy to clipboard operation
altinn-studio copied to clipboard

Branching: User experience in Altinn Studio

Open gudrunvigerustfuru opened this issue 7 years ago • 3 comments

Copy of #427 In case branching will be used we need to offer a good user experience in Altinn Studio so that the service developer understands the concept of branching.

User icons ala branching in vscode?

Background

A standard git functionality is branching which is supported by our git backend. This means that service developers that uses local code editors will have the option of creating branches in their editors. The use of branches are convenient when you as a service developer are planning to do larger changes to your service or if you would like to test out some logic you do not want others to be affected on. For example some advanced logic. The only way to test your changes would be that you push your changes to Altinn Studio when working in a code editor. For service developer that only work in Altinn Studio we can not see a need to use branches on your service. As when you are working in Altinn Studio, you have your own local copy of the repository which you could test without pushing it to master. Introducing branches to everyone is also making it more complex for the user and in general one should avoid having several branches. There could be a need for it in the future, but as of now we should not introduce a lot of branching functionality in Altinn Studio. In terms of access rights, when you have permission to a repository you have permisson to all branches.

Proposed actions

To be able to cover the need from a service developer who has created a seperate branch in his local code editor, we should have a way that the developer is able to see and switch branches when working in Altinn Studio. The services that do not have different branches, should not be affected of this, meaning that there should be no changes for these users in the solution.

Functional requirements

  • Possible to select which branch you're working on in Altinn Studio Designer
    • [ ] Support for making pull requests from Designer? Not in first version - but should be documented. Only relevant if users demand it at a later stage
    • [ ] Allow creating new branches from Designer? Not in first version - only get existing branches from Gitea. Only relevant if users demand it at a later stage
  • Possible to select which branch you want to build (for deploying to test envs)
    • [ ] Allow multiple versions in same test env in parallel? Allowed in Prod? Functionality for A/B testing? Not in first version, but might be relevant later.

Tasks

  • [ ] Sketch up proposed solutions for switching between branches
  • [ ] Investigate which pages you should be able to switch between branches? All or only one page?
  • [ ] For services you only are able to view, should you be able to see different branches? Should be the same permission you have from a code editor.

Discussions

TheTechArch: seems ok. For question 3 I belive the answer is yes once it is cloned. Since you can in theory be asked to help out on a service that you yet has not been given rights to.

### Tasks
- [ ] https://github.com/Altinn/altinn-studio/issues/7017
- [ ] https://github.com/Altinn/altinn-studio/issues/7015
- [ ] https://github.com/Altinn/altinn-studio/issues/7043

gudrunvigerustfuru avatar Jan 31 '19 08:01 gudrunvigerustfuru

Would like to discuss this one.

GGunnar avatar Mar 20 '19 15:03 GGunnar

@lvbachmann Erfraring fra Pilot: Branching i Altinn Studio er veldig viktig for SSB å få på plass. To årsaker til dette:

  1. Kun noen få personer i SSB kan ha rettigheter til å bygge og deploye skjema-apper fra SSB repo ut til Prod. Andre skjema-app utviklere i SSB må kunne opprette brancher fra SBB-repo, videreutvikle (og dermed kunne jobbe med branchen i Altinn.Studio), teste lokalt og lage Pull-request.
  2. Fordi vi ønsker å holde master som en "fungerende" kode til enhver tid. I.o.m man bare har "Push til master" i Altinn Studio så vil master i Gitea være ufullstendig/ikke-fungerende så fort du flytter endringer gjort i Altinn Studio ned til Lokal editor (feks Visual Studio Code)

Oppretting av brancher, pull request o.l kan gjøres utenfor AS. I AS trenger man kun mulighet for å redigere på en branch. Man trenger ikke muligheter til å endre innhold på "Om" siden, og arkfaene "Deploy" kan skjules.

rvessb avatar Jun 12 '20 10:06 rvessb

@lvbachmann Hadde en diskusjon med Khurram hos SKD, og de har et behov som strekker seg ut over kun branching i Studio, men det å også kunne deploye og teste på forskjellige varianter av en app samtidig, siden de i sitt mottak spinner opp et nytt miljø pr. brukerhistorie som skal testes, og de ønsker ikke at testene da skal gå i beina på hverandre.

Pt. så oppretter de kopier av sirius-appen sin og gir dem nye navn, noe som er en smule tungvint.

Branching er ikke nok for å dekke det behovet, man må også kunne deploye en branch, og gi den en unik app-id. Det å kunne rydde opp (ref #3717) må nok også først på plass før det gir mening å innføre slik funksjonalitet.

altinnadmin avatar Feb 05 '21 14:02 altinnadmin