Skip to content

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.

Stap 1: Koppelen versiebeheersysteem

high fidelity koppelen versiebeheersysteem

low fidelity koppelen versiebeheersysteem

wireframe koppelen versiebeheersysteem

Stap 2: Koppelen project

high fidelity koppelen versiebeheersysteem project

low fidelity koppelen versiebeheersysteem project

wireframe koppelen versiebeheersysteem project

(Alternative) Stap 3: Ontkoppelen project

high fidelity ontkoppelen versiebeheersysteem project

low fidelity ontkoppelen versiebeheersysteem project

wireframe ontkoppelen versiebeheersysteem project

(Optioneel) Stap 4: Koppelen CDN service

high fidelity koppelen CDN storage zone

low fidelity koppelen CDN storage zone

wireframe koppelen CDN storage zone

(Optioneel, Alternative) Stap 5: Ontkoppelen CDN service

high fidelity ontkoppelen CDN storage zone

low fidelity ontkoppelen CDN storage zone

wireframe ontkoppelen CDN storage zone

Uitwerking

Video: Uitwerking van UC1

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.