-
Notifications
You must be signed in to change notification settings - Fork 0
Dataplattform: Datakilder og tilgangsstyring
Dataplattform har en mengde datakilder som CVPartner, kompetansekartleggingen og UBW for å nevne noen. Dataplattform henter rådata fra disse kildene og klargjør dem for videre konsum av andre tjenester. Hvem som helst kan ikke konsumere data fra Dataplattform -- det kreves nødvendige autoriseringer. Dette dokumentet beskriver autoriseringshierarkiet og datakildene i detalj.
De ferdigprosesserte rådataene representeres som strukturerte tabeller vi kan sende spørringer mot. Dataene deles inn i ulike beskyttelsesnivåer. Disse beskyttelsesnivåene refereres til som level-1, level-2 og level-3(, og level-4) (level-4 settes i parantes for å signalisere nytt nivå - som blir innarbeidet). Jo høyere beskyttelsesnivå, jo strengere tilgangsstyring er det for dataene som ligger der. Level-1 er det laveste beskyttelsesnivået, mens level-3(level-4) er det høyeste. Brukere i AWS Cognito tilegnes en gruppe, og gruppen sier noe om hvilke data brukeren kan få tak i. Om en bruker legges til i level-3-gruppen, for eksempel, vil brukeren kunne spørre etter dataene i level-3(level-4), men også dataene i level-2 og level-1. Alle gruppeledere for eksempel skal i Knowit Objectnet ha tilgang til dataene i level-3(level-4) og nedover.
Datakildene for hvert beskyttelsesnivå detaljeres under.
Åpne data, som enten er avpersonifisert eller generelle. De implementerte datakildene for dette nivået er Yr, Knowit Labs og Twitter.
- Hentes hver dag.
- Sjekke hvor omtalt Knowit er på Twitter.
- Tabeller:
-
twitter_account- info om Knowits twitter-bruker -
tweet- info om tweets som har noe med Knowit å gjøre, som f.eks Knowit hashtag
-
- Hentes hver uke.
- Knowit sin bloggside.
- Tabeller:
-
knowitlabs_post- info om Knowit Labs-blogginnlegg
-
- Hentes hver dag.
- Været for Oslo, Lakkegata.
- Tabeller:
-
yr- detaljert info om været
-
Omfatter flere kategorier. Data som kan inneholde informasjon om personer, men da er det persondata som er offentlig tilgjengelig. Videre er det data som krever tilgangsskontroll i form av API-nøkler eller lignende. Kildene under dette tilgangsnivået er:
- Hentes hver uke.
- Totalt antall fagtimer som brukes hver uke.
- Tabeller:
-
ubw_fagtimer- fagtimer brukt hver uke
-
- Hentes hver time.
- Henter eventer fra google calendar.
- Tabeller:
-
google_event- info om event, hvem som laget det, start- og slutt-tidspunkter, event-kode, om det nå er aktivt og dermed gyldig å stemme på
-
- Hentes hver dag.
- Henter issues fra Jira API.
- Tabeller:
-
JiraIssueCreated- Hver rad inneholder Jira issue (id) og timestamp for når issuene er opprettet i Jira. -
JiraIssueUpdated- Hver rad inneholder Jira issue (id) og timestamp for når issuene er oppdatert, samt navn på kunde og status.
-
- Navn på kunde burde egentlig vært med i JiraIssueCreated ettersom det finnes når et issue opprettes. Men fra Jira kommer det ikke automatisk med ved opprettelse av issue og derimot blir det lagt manuelt inn i Jira i ettertid.
- Aktivitet i Slack og Emoji-stemningen.
- Tabeller:
-
slack_emoji- emoji type og info om hvor positivt, nøytralt og negativt det anses -
slack_event- all aktivitet i slack
-
- Aktivitet på Knowit sine Github prosjekter.
- Tabeller:
-
github_commit- commit og brukernavnet til den som committed -
github_repository- info om repository
-
Informasjon som inneholder persondata. I de fleste tilfeller er dette data fra Knowit Objectnets interne fagsystemer. I nåværende versjon av dataplattform er ikke flertallet av disse dataene ikke lagret over lang tid for å sikre retten til å bli glemt.
- En egenutviklet add-on sørge for at vi kan få
importert informasjon fra google sheets og forms. I
level-3fordi det er fritekstinput som potensielt kan inneholde persondata. - Tabeller:
-
google_forms_data- inneholder brukersvar fra Google Forms-undersøkelser o.l. -
google_sheets_metadata- informasjon om hvilke Google Sheets-ark som er lastet opp av hvem
-
- Basisinformasjon om ansatte i Knowit Objectnet fra Azure Active Directory. Navn, epost, nærmeste leder etc.
- Tabeller:
-
active_directory- navn, e-post og nærmeste leder for en ansatt -
ad_number_of_employees- antall ansatte over tid
-
All informasjon om en bruker som finnes i CVPartner.
Tabeller:
cv_partner_employeescv_partner_educationcv_partner_work_experiencecv_partner_project_experiencecv_partner_languagescv_partner_technology_skillscv_partner_blogscv_partner_coursescv_partner_key_qualifications
- Basisdata for en ansatt.
- Én rad per ansatt.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| user_id | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabellene for CVPartner. | 616d31b6fd94bb11c92ec19a |
| default_cv_id | string | ✅ | Unik ID for den ansattes CV i CVPartner. | 616d3345a086861134890d4a |
| guid | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabeller for bl.a. Active Directory og UBW. | b051b402346144a6cdccs... |
| navn | string | ✅ | Navn på den ansatte |
Ola Nordmann, Kari Nordmann
|
| string | ✅ | E-postadresse | [email protected] |
|
| telefon | string | Telefonnummer | 98765432 |
|
| title | string | Stillingstittel |
Systemkonsulent, Utvikler, Designer, Rådgiver * |
|
| born_year | integer | ✅ | Fødselsår |
1968, 1995
|
| nationality | string | Nasjonalitet |
Norsk, Svensk, Norwegian * |
|
| place_of_residence | string | Bosted |
Oslo, Stavanger * |
|
| string | Fritekstfelt i CVPartner for brukernavn, url el.l for den ansattes twitter-profil | * | ||
| image_key | string | Kan være null
|
Filnavn for profilbilde, dersom den ansatte har lastet opp dette i CVPartner. Disse filene hentes samtidig som dataene i denne tabellen, og lagres i AWS. |
d6e395c...9f1e66.jpg, d6e395c...9f1e66.png, null
|
| link | string | ✅ | Mal (template) for linker til nedlasting av CV som fil. Har to placeholdere som må erstattes for at linken skal fungere: (1) {LANG} – språk: no/int (2) {FORMAT} – filformat: pdf/word
|
https://knowit.cvpartner.com/ v1/cvs/download/ 616d31b6fd94bb11c92ec19a/ 616d3345a086861134890d4a/ {LANG}/{FORMAT}/ |
*Valgfritt fritekst-felt i CVPartner. Kan med andre ord være tomt.
- Utdanning for de ansatte.
- Én rad for hver utdanning for hver ansatt.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| user_id | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabellene for CVPartner. | 616d31b6fd94bb11c92ec19a |
| degree | string | Oppnådd grad |
Bachelor Informatikk, Master Programmering og Nettverk * |
|
| school | string | Skole / universitet |
NTNU, Universitetet i Bergen, UiO * |
|
| description | string | Beskrivelse av utdannelsen | * | |
| year_from | integer | Årstall da utdannelsen startet |
1986, 2002 ** |
|
| month_from | integer | Måned da utdannelsen startet |
1, 8 ** |
|
| year_to | integer | Årstall da utdannelsen sluttet |
1993, 2005 ** |
|
| month_to | integer | Måned da utdannelsen sluttet |
6, 12 ** |
*Valgfritt fritekst-felt i CVPartner. Kan med andre ord være tomt.
**Valgfritt nummer-felt i CVPartner. Tom verdi er i utgangspunktet -1, men det kan også forekomme 0.
- Arbeidserfaring for en ansatt.
- Én rad for hvert arbeidsforhold for hver ansatt.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| user_id | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabellene for CVPartner. | 616d31b6fd94bb11c92ec19a |
| employer | string | Arbeidsgiver |
Knowit Objectnet * |
|
| description | string | Stilling |
Systemkonsulent * |
|
| long_description | string | Beskrivelse av arbeidserfaringen | * | |
| year_from | integer | Årstall da arbeidsforholdet startet |
2000, 2015 ** |
|
| month_from | integer | Måned da arbeidsforholdet startet |
1, 8 ** |
|
| year_to | integer | Årstall da arbeidsforholdet sluttet |
2005, 2018 ** |
|
| month_to | integer | Måned da arbeidsforholdet sluttet |
6, 12 ** |
*Valgfritt fritekst-felt i CVPartner. Kan med andre ord være tomt.
**Valgfritt nummer-felt i CVPartner. Tom verdi er i utgangspunktet -1, men det kan også forekomme 0.
- Prosjekterfaring for en ansatt.
- Én rad for hver deltakelse/periode i hvert prosjekt for hver ansatt.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| user_id | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabellene for CVPartner. | 616d31b6fd94bb11c92ec19a |
| customer | string | Navn på kunde |
Entur, Skatteetaten * |
|
| description | string | Navn på prosjektet |
Team Betjent, Min Side * |
|
| long_description | string | Prosjektbeskrivelse | * | |
| year_from | integer | Årstall da prosjektdeltakelsen startet |
2000, 2015 ** |
|
| month_from | integer | Måned da prosjektdeltakelsen startet |
1, 8 ** |
|
| year_to | integer | Årstall da prosjektdeltakelsen sluttet |
2000, 2015 ** |
|
| month_to | integer | Måned da prosjektdeltakelsen sluttet |
1, 8 ** |
|
| percent_allocated | integer | Stillingsprosent for prosjektdeltakelsen |
50, 80, 100 ** |
|
| industry | string | Kundesektor |
Offentlig, Privat, Rekruttering * |
|
| project_experience_skills | string | Semikolon-separert liste med teknologisk kompetanse (ferdighet) brukt eller tilegnet gjennom prosjektdeltakelsen, dersom dette er lagt inn i CVPartner. | Yarn;VS Code;TypeScript;Python |
|
| roles | string | Semikolon-separert liste med roller den ansatte hadde i prosjektet, dersom dette er lagt inn i CVPartner. | Frontendutvikler;Backendutvikler |
*Valgfritt fritekst-felt i CVPartner. Kan med andre ord være tomt.
**Valgfritt nummer-felt i CVPartner. Tom verdi er i utgangspunktet -1, men det kan også forekomme 0.
- Språk en ansatt behersker.
- Én rad for hvert språk for hver ansatt.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| user_id | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabellene for CVPartner. | 616d31b6fd94bb11c92ec19a |
| name | string | Navn på språket |
Engelsk, Norsk, Norsk - nynorsk * |
|
| level | string | Ferdighetsnivå for språket |
Flytende, Grunnleggende, Morsmål * |
*Valgfritt fritekst-felt i CVPartner. Kan med andre ord være tomt.
- Teknologisk kompetanse (ferdigheter) en ansatt innehar.
- Én rad for hver kategori (gruppering) for hver ansatt.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| user_id | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabellene for CVPartner. | 616d31b6fd94bb11c92ec19a |
| category | string | Navn på kategori (gruppering) av teknologiske ferdigheter |
Systemutvikling, UX Design
|
|
| technology_skills | string | Semikolon-separert liste med teknologisk kompetanse (ferdighet) som gjelder for denne kategorien. |
Yarn;VS Code;TypeScript;Python, Figma;Adobe Photoshop
|
- Blogginnlegg skrevet av ansatte, manuelt lagt inn i CVPartner.
- Én rad for hvert blogginnlegg for hver ansatt.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| user_id | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabellene for CVPartner. | 616d31b6fd94bb11c92ec19a |
| month | integer | Årstall for publikasjon av blogginnlegg |
2020, 2022 ** |
|
| year | integer | Måned for publikasjon av blogginnlegg |
2, 9 ** |
|
| url | string | URL-adresse til blogginnlegget |
http://blogg.knowit.no/... * |
|
| name | string | Tittel på blogginnlegget | * | |
| long_description | string | Beskrivelse av blogginnlegget | * |
*Valgfritt fritekst-felt i CVPartner. Kan med andre ord være tomt.
**Valgfritt nummer-felt i CVPartner. Tom verdi er i utgangspunktet -1, men det kan også forekomme 0.
- Kurs som ansatte har gjennomført.
- Én rad for hvert kurs for hver ansatt.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| user_id | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabellene for CVPartner. | 616d31b6fd94bb11c92ec19a |
| name | string | Navn på kurset |
Prosjektledelse, Continous Delivery * |
|
| program | string | Arrangør av kurset |
Knowit Academy * |
|
| year | string | Årstall for kurset |
2019, 2021 * |
|
| long_description | string | Beskrivelse av kurset | * |
*Valgfritt fritekst-felt i CVPartner. Kan med andre ord være tomt.
- Sammendrag av kvalifikasjoner for en ansatt.
- Én rad for hvert sammendrag (kan være flere) for hver ansatt.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| user_id | string | ✅ | Unik ID som brukes for å identifisere en ansatt i tabellene for CVPartner. | 616d31b6fd94bb11c92ec19a |
| label | string | Navn på sammendrag |
Standard, For NAV * |
|
| long_description | string | Fritekst som summerer opp kvalifikasjonene for en ansatt. |
... er en nysgjerrig og engasjert utvikler som har lang erfaring innen ... * |
|
| tag_line | string | Kortversjon av fritekst som summerer opp kvalifikasjonene for en ansatt. |
... er en engasjert utvikler ... * |
*Valgfritt fritekst-felt i CVPartner. Kan med andre ord være tomt.
- Data fra kompetansekartleggingsverktøyet til Knowit Objectnet.
Tabeller:
kompetansekartlegging_userskompetansekartlegging_questionskompetansekartlegging_categorieskompetansekartlegging_answerskompetansekartlegging_catalogs
Informasjon om brukere av kompetansekartleggingen, mer eller mindre en e-post-liste
- Spørsmålene (underkategoriene) som brukes i kompetansekartleggingen.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| id | string | ✅ | Unik ID for hvert spørsmål | 287a6f25-f056-5699-... |
| index | string | ✅ | Unik indeks for hver hovedkategori (TODO: Starter på 1?) |
1, 2, 3
|
| topic | string | ✅ | Tittel for hvert spørsmål |
Kubernetes, API-design, Tjenestedesign
|
| text | string | TODO | Beskrivelse for hvert spørsmål | Bruk av loddebolt til lavspent elektronikk |
| categoryid | string | ✅ | Unik ID for hver hovedkategori, som kan brukes for å koble med kompetansekartlegging_categories
|
287a6f25-f056-5699-... |
| type | string | TODO | TODO | TODO |
| scalestart | TODO | TODO | TODO | TODO |
| scalemiddle | TODO | TODO | TODO | TODO |
| scaleend | TODO | TODO | TODO | TODO |
- Metadatatabell som beskriver hovedkategoriene for spørsmålene
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| id | string | ✅ | Unik ID for hver hovedkategori | 287a6f25-f056-5699-... |
| index | string | ✅ | Unik indeks for hver hovedkategori (TODO: Starter på 1?) |
1, 2, 3
|
| text | string | ✅ | Tittel for hovedkategori |
Backend, Design, Jobbrotasjon
|
| description | string | TODO | Beskrivelse for hovedkategori | Design i Objectnet dekker et stort område ... |
- Inneholder alle svarene for de ansatte.
- Beskrivelse av spørsmålene ligger i
kompetansekartlegging_questions
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| username | string | ✅ | Unik ID for hver bruker i kompetansekartleggingsverktøyet | 059ef00d-d6af-4517-... |
| string | ✅ | E-postadresse for brukeren | [email protected] |
|
| guid | string | ✅ | Unik ID for brukeren som kan brukes til å koble mot f.eks. dataene fra UBW | b051b402346144a6cdc... |
| questionid | string | ✅ | Unik ID for spørsmålet | 230473f7-37e1-4f69-... |
| knowledge | float | TODO | Selvrapportert score for brukerens kompetanse for spørsmålet/kategorien. Mellom (TODO:0/1) og 5
|
1.8, 2.3, 5.0
|
| motivation | float | TODO | Selvrapportert score for brukerens motivasjon for spørsmålet/kategorien. Mellom (TODO:0/1) og 5
|
1.8, 2.3, 5.0
|
| customscalevalue | string | TODO | TODO | TODO |
| updatedat | string | ✅ | Tidspunkt raden sist ble oppdatert | 2021-06-18T12:03:35.734Z |
Versjonsinformasjon om katalogen av kategorier
- Informasjon om hvilke ansatte som har jobbet på hvilke prosjekter, og antall timer ansatte har ført på ulike prosjekter.
- Normalt hentes data for sist avsluttede periode ("uke" i UBW) én gang per uke.
Tabeller:
- Rangert oversikt over alle kunder hver konsulent har ført timer på den siste tiden.
- Inneholder data for sist registrerte periode ("uke" i UBW), pluss fire perioder tilbake (totalt fem perioder).
- Én rad for hver periode per kunde for hver konsulent.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| reg_period | string | ✅ | Årstall og ukenummer for periode i UBW (merk at dette kan være "korte" og "lange" uker på begynnelse/slutt av måneden) |
202042, 202205
|
| guid | string | ✅ | Unik ID for ansatt | b051b402346144a6cdcc... |
| alias | string | ✅ | Alias for ansatt (tre første bokstaver fra for- og etternavn) |
frearn, olaber
|
| customer | string | ✅ | Navn på kunde | Entur |
| work_order | string | ✅ | Navn på arbeidsordre (prosjekt) | Entur Team Salg |
| work_order_description | string | ✅ | Beskrivelse av arbeidsordre (prosjekt) | Drift, forvalting og support |
| project_type | string | ✅ | Om prosjektet er internt eller eksternt |
External Projects, Local Projects
|
| time | integer | ✅ | Tidsstempel for når raden sist ble oppdatert | 1646999395 |
| weigth (merk skrivefeil) | integer | ✅ | Rangering av antall timer ført, som beregnes for sist avsluttede periode hver gang data hentes fra UBW. Vekt 1 betyr at dette er kunden som konsulenten har ført flest timer på den perioden. Tanken er at dette er konsulentens "primærkunde". Dersom konsulenten har ført samme antall timer på ulike kunder, vil kundene få ulik vekt, og rangeres alfabetisk. Fordi det tas vare på data fire perioder bakover i tid, vil det være flere rader med samme vekt, men vektene vil gjelde for ulike perioder og med ulikt tidsstempel (time). |
1, 2, 3
|
- Mock data for dev-miljøet finnes her
- Data for unit testing ligger her
- Aggregert informasjon om antall ansatte og registrerte timer per prosjekt over tid.
- Inneholder historiske data over tid.
- Én rad for hver periode for hvert prosjekt som har registrering den perioden.
⚠️ OBS! Kan inneholde flere rader for samme kunde/prosjekt/periode, der raden med siste tidsstempel (timestamp) er den som gjelder.
| Kolonne | Datatype | Har alltid verdi | Beskrivelse | Eksempeldata |
|---|---|---|---|---|
| reg_period | string | ✅ | Årstall og ukenummer for periode i UBW (merk at dette kan være "korte" og "lange" uker på begynnelse/slutt av måneden) |
202042, 202205
|
| customer | string | ✅ | Navn på kunde | Entur |
| work_order | string | ✅ | Navn på arbeidsordre (prosjekt) | Entur Team Salg |
| hours | float | ✅ | Sum av totalt antall timer registrert på prosjektet denne perioden |
5.5, 20.0
|
| employees | integer | ✅ | Antall ansatte som har registrert timer på prosjektet denne perioden |
1, 5, 12
|
| timestamp | integer | ✅ | Tidsstempel for når raden sist ble oppdatert | 1646999395 |