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.

OnderdeelOmschrijving doelCachedAfas connectorIDTokenSoort
InloggenToken versturenNTokenConnectorProAdmTOK
InloggenToken controlerenNTokenConnectorProAdmTOK
ProjectenActieve projectenYWebor_get_all_projectenProAdmGET
Toolbox, Uren, PinsAlle medewerkers in dienstYWebor_alle_medewerkersProAdmGET
Projecten, PinsOphalen teamleden van actieve projectenYWebor_getteamProAdmGET
Pins, NotificatieOphalen van alle contacten die in een team voorkomenYWebor_getcontactpersoonProAdmGET
UrenOphalen alle actieve bewakingscodesYWebor_werktypeProAdmGET
ToolboxInschieten toolbox dossier gekoppeld aan medewerkerNKnSubjectProAdmUP
UrenVerlof regels van medewerkers ophalen uit huidige weekYWebor_VerlofProAdmGET
UrenVerzuim regels van medewerkers ophalen uit huidige weekYWebor_HRM_verzuimmeldingProAdmGET
UrenKostprijs van een medewerker ophalenNWebor_Kostprijs_en_verkooptariefProAdmGET
UrenAlle gewerkte uren van één week per medewerker in AFAS verwerken als nacalculatieNPtRealizationProAdmUP


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.

OnderdeelConnectorIDSoortSchema
ProjectenWebor_get_all_projectenGETWeekdagen ieder uur tussen 07:00 en 18:00
Toolbox, Uren, PinsWebor_alle_medewerkersGETWeekdagen ieder uur tussen 07:00 en 18:00
Projecten, PinsWebor_getteamGETWeekdagen ieder uur tussen 07:00 en 18:00
Pins, NotificatieWebor_getcontactpersoonGETWeekdagen ieder uur tussen 07:00 en 18:00
UrenWebor_werktypeGETWeekdagen om 09:00
UrenWebor_VerlofGETWeekdagen om 17:00 en 20:00
UrenWebor_HRM_verzuimmeldingGETWeekdagen om 17:30
ToolboxKnSubjectUPWeekdagen 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.

OnderdeelLid van groepLid van teamRol in teamApp soort teamPortal Toegang
DashboardN

*min 1

Ngebruiker*
Instellingen*Rol:App Ext issue*Ngebruiker, beheerder*
Alle opties in project*Rol:App Ext issue*van betreffend projectNgebruiker, admin*
Externe weergaveN

*van betreffend project

Ngebruiker*
Uren boeken in app*Rol:App Ext issue*van betreffend projectUITV (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

App synchronisatie