Autorisaties & AFAS koppelingen
Inleiding
De HSB Bouw App is grotendeels afhankelijk van de koppelingen en autorisaties met AFAS Software. Dit document geeft een beschrijving over hoe de autorisaties in te regelen zijn en met welke onderdelen er gekoppeld wordt.
Definities
- Backend: Het achterliggende systeem dat de app van data voorziet, en de data van AFAS verwerkt. Voor interne gebruikers wordt dit visueel gemaakt in Insite en voor externe op het projecten portal(outside) als "Pin It".
- Connector: Een verbinding tussen de backend en AFAS. Om de gegevens op te halen (GET) of aan te maken/updaten (UPDATE).
- Cache(n/d): Data die in de database van de backend wordt bewaard zodat deze sneller te muteren/bekijken is. Is beperkt houdbaar en wordt iedere X uur ververst.
- Token: Een soort gebruikersnaam/wachtwoord. Hiermee kunnen systemen onderling autoriseren, en data ophalen/verwerken.
- Schema: Een synchronisatie interval, die vooraf gedefineerd is, in het Cron format.
- Iframe: Is een webapplicatie/webpagina in een andere webapplicatie/webpagina. Zodat het voor de gebruiker lijkt alsof de "ge-iframede" webapplicatie onderdeel is van de pagina.
Koppelingen
De backend is gekoppeld met AFAS en haalt daar de volgende data uit.
Onderdeel | Omschrijving doel | Cached | Afas connectorID | Token | Soort |
---|---|---|---|---|---|
Inloggen | Token versturen | N | TokenConnector | ProAdm | TOK |
Inloggen | Token controleren | N | TokenConnector | ProAdm | TOK |
Projecten | Actieve projecten | Y | Webor_get_all_projecten | ProAdm | GET |
Toolbox, Uren, Pins | Alle medewerkers in dienst | Y | Webor_alle_medewerkers | ProAdm | GET |
Projecten, Pins | Ophalen teamleden van actieve projecten | Y | Webor_getteam | ProAdm | GET |
Pins, Notificatie | Ophalen van alle contacten die in een team voorkomen | Y | Webor_getcontactpersoon | ProAdm | GET |
Uren | Ophalen alle actieve bewakingscodes | Y | Webor_werktype | ProAdm | GET |
Toolbox | Inschieten toolbox dossier gekoppeld aan medewerker | N | KnSubject | ProAdm | UP |
Uren | Verlof regels van medewerkers ophalen uit huidige week | Y | Webor_Verlof | ProAdm | GET |
Uren | Verzuim regels van medewerkers ophalen uit huidige week | Y | Webor_HRM_verzuimmelding | ProAdm | GET |
Uren | Kostprijs van een medewerker ophalen | N | Webor_Kostprijs_en_verkooptarief | ProAdm | GET |
Uren | Alle gewerkte uren van één week per medewerker in AFAS verwerken als nacalculatie | N | PtRealization | ProAdm | UP |
Automatisch vullen en bijwerken van onderdelen
Sommige onderdelen worden gecached in de database van de backend, dit om de reactietijd van de systemen zo kort mogelijk te houden, en het muteren en toevoegen van data in AFAS in batches te laten verlopen. In onderstaande tabel staan de synchronisatie schema's van de hierboven gespecificeerde caching onderdelen.
Onderdeel | ConnectorID | Soort | Schema |
---|---|---|---|
Projecten | Webor_get_all_projecten | GET | Weekdagen ieder uur tussen 07:00 en 18:00 |
Toolbox, Uren, Pins | Webor_alle_medewerkers | GET | Weekdagen ieder uur tussen 07:00 en 18:00 |
Projecten, Pins | Webor_getteam | GET | Weekdagen ieder uur tussen 07:00 en 18:00 |
Pins, Notificatie | Webor_getcontactpersoon | GET | Weekdagen ieder uur tussen 07:00 en 18:00 |
Uren | Webor_werktype | GET | Weekdagen om 09:00 |
Uren | Webor_Verlof | GET | Weekdagen om 17:00 en 20:00 |
Uren | Webor_HRM_verzuimmelding | GET | Weekdagen om 17:30 |
Toolbox | KnSubject | UP | Weekdagen iedere 30 minuten tussen 07:00 en 18:00 |
Autorisatie van de backend
De backend wordt doormiddel van een iframe ingesloten in Insite,Outsite. Afas zorgt voor de gebruiker authenticatie, en doormiddel van onderstaande diagram wordt verdere uitleg gegeven;
Autorisatie van backend onderdelen
Op verschillende onderdelen in de backend zijn autorisaties nodig, deze autorisaties worden ingeladen vanuit AFAS. Hieronder vind je een tabel met de benodigde rechten per backend onderdeel.
Onderdeel | Lid van groep | Lid van team | Rol in team | App soort team | Portal Toegang |
---|---|---|---|---|---|
Dashboard | N | *min 1 | N | gebruiker | * |
Instellingen | *Rol:App Ext issue | * | N | gebruiker, beheerder | * |
Alle opties in project | *Rol:App Ext issue | *van betreffend project | N | gebruiker, admin | * |
Externe weergave | N | *van betreffend project | N | gebruiker | * |
Uren boeken in app | *Rol:App Ext issue | *van betreffend project | UITV (uitvoerder) | gebruiker, admin | * |
Legenda: | |
---|---|
N | = Niet nodig, niet verplicht |
* | = Verplicht, soms gevolgd door een aanvulling |
Gebruiker | = Vinkje "App Gebruiker" Op een team regel |
Admin | = Vinkje "App Admin" op een team regel |
Beheerder | = Vinkje "App Beheerder" op een team regel |