UC1: Configureren project
Primary Actor: ACT2: Admin
Stakeholders and Interests: ACT4: Git versiebeheer systeem, ACT5: CDN Service
Technisch ontwerp use case: UC1: Configureren project
Beschrijving: De systeem administrator wil een project koppelen, of ontkoppelen aan een Git repository. Zodat de vertalingen van het bijbehorende project in de Git repository beheerd, en gepubliceerd kunnen worden door gebruikers.
1. Fully dressed use case
| Precondities |
|---|
| 1. ACT2 is ingelogd |
| 2. ACT2 heeft een project geselecteerd |
| Postcondities |
|---|
| 1. Project is gekoppeld aan een Git repository |
2. Flow
De volgende uitwerking gaat over het koppelen van een project en een Git repository. De Admin heeft een project geselecteerd en wil deze koppelen aan een Git repository. Zodat de vertalingen van het bijbehorende project in de Git repository beheerd, en gepubliceerd kunnen worden door gebruikers.
sequenceDiagram
autonumber
actor A as ACT2: Admin
participant S as Project Management Portaal
participant G as ACT4: Git versiebeheer systeem
participant C as ACT5: CDN Service
A->>S: Geeft aan een intern project te willen koppelen aan een Git repository
opt ACT2: Admin heeft nog geen Git versiebeheer systeem ingesteld
S->>A: Vraagt om Git repository type en token
A->>S: Geeft Git repository type en token
S->>G: Valideert token
alt Token is ongeldig
G-->>S: Geeft aan dat token ongeldig is
S->>A: Vraagt om een geldig token
else Token is geldig
S->>A: Geeft aan dat token geldig is
end
end
alt ACT2: Admin heeft al een koppeling gemaakt en wil deze verwijderen
A->>S: Geeft aan een project te willen ontkoppelen
S-->>A: Stuurt bevestiging over ontkoppeling
else ACT2: Admin heeft nog geen koppeling gemaakt
A-->>S: Geeft aan een project te willen koppelen
S->>G: Vraagt om lijst van projecten
G-->>S: Geeft lijst van projecten terug
S-->>A: Geeft lijst van Git projecten terug
A->>S: Selecteert een Git project
S-->>A: Stuurt bevestiging over koppeling
end
opt ACT2: Admin wil de CDN koppeling beheren
alt ACT2: Admin heeft al een koppeling gemaakt en wil deze verwijderen
A->>S: Geeft aan een project te willen ontkoppelen
S-->>A: Stuurt bevestiging over ontkoppeling
else ACT2: Admin heeft nog geen koppeling gemaakt
A->>S: Geeft aan een project te willen koppelen aan een CDN Service storage zone
S->>C: Vraagt om lijst van storage zones
C-->>S: Geeft lijst van storage zones terug
S-->>A: Geeft lijst van storage zones terug
A->>S: Selecteert een storage zone
S-->>A: Stuurt bevestiging over koppeling
end
end
3. Schermontwerpen
De high fidelity ontwerpen zijn gemaakt door de UX/UI Designer. De wireframes en low fidelity ontwerpen zijn gemaakt door mijzelf in Figma.
Uitwerking
4. Functionele keuzes
4.1 Beperking toegang koppelen versiebeheersysteem en CDN service
Tijdens het uitwerken van de functionele requirements voor deze use case is besloten om de functionaliteit af te schermen zodat alleen ACT2 de bijbehorende acties kan uitvoeren. Dit is gedaan, om te voorkomen dat een gebruiker per ongeluk zijn project koppelt aan een verkeerde Git repository of ontkoppelt. Deze verantwoordelijkheid wordt bij de systeem administrator neergelegd, dit betekent dus dat voor ieder project eerst een Git repository moet worden gekoppeld door de Admin voordat de gebruikers hier zelf aan de slag mee kunnen.
Voor de CDN service geldt dat deze de verantwoordelijkheid draagt om de juiste opslagzone te koppelen aan het project. Ook omdat alle opslagzones in de instellingen beschikbaar zijn is het niet gewenst dat normale gebruikers hier bij kunnen.
4.2 Koppelen en ontkoppelen project
Tijdens het uitwerken van de functionele requirements voor deze use case is besloten om de koppelen met het project alleen te kunnen koppelen en te ontkoppelen. Dit is gedaan, zodat een systeem administrator goed moet nadenken over het koppelen van een project en deze niet zomaar kan bijwerken.
4.3 Optionele koppeling met CDN service
Tijdens het uitwerken van UC3 is bekend geworden dat er een CDN gebruikt zal worden voor de vertalingen. Hierbij is besloten dat de CDN niet verplicht is om ingesteld te worden. Vertalingen voor een project kunnen ook beheert worden zonder dat deze direct beschikbaar gemaakt worden.










