Fullføre gjennomgang av differansen i kodebasane

Mål for møtet: Fullfør gjennomgang av skilnadane i kodebasane, og bli enig om kva som må gjerast med dei ulike delane.

Tilstades

  • Fredrik Larsen
  • Steinar Kleven
  • Kenneth Johansen
  • Tobias Langhoff
  • Kai Vaade
  • Joakim Hovlandsvåg (ref)
  • Stig Vidar Nordgård

Sak 1: Frå forrige møte

Oppfølging frå forrige møte:

  • Legg NTNU sine saker i USIT sin Jira også, i Epic CRB-2067. Enklare tilgang. Steinar har fått tilgang?
  • Frys av UiO-Cerebrum fram til 1. juli innvilga. Sjå neste sak.
  • Har Kenneth, Steinar og Tobias lagt inn brukarhistorier frå avklaringar på forrige møte? Hindringar?
  • Har Fredrik lagt ut konfig frå UiO som dei andre kan sjå på?
  • Har Fredrik publisert oversikt over differansar?
  • Joakim har sendt ut uavklarde punkt på e-post. Har nokon fått sett over?

Steinar har fått tilgang til USIT Jira.

Har ikkje fått laga brukarhistoriar, tek det til neste møte.

Fredrik fikser sine punkt til neste veke.

Ikkje sett på dei uavklarde punkta Joakim sendte ut. Oppfordrer folk å svare på e-posten, evt. sei frå om vi skal ta det i eit møte.

UiT: Første teneste lansert som køyrer med ny Cerebrum: LDAP mot Dataporten! UiT sin plan er å flytte ein og ein teneste over på ny Cerebrum-løysing. Vil køyre både ny (frå mai) og gamal i parallell ei stund framover, til alt er over.

Sak 2: Mål for samanslåing [diskusjon]

I møte med produkteigar for UiO-Cerebrum vart det beslutta å køyre frys av Cerebrum fram til 1. juli, og samtidig ha som mål å slå saman dei tre kodebasane innan 1. juli! Er dette gjennomførbart? Krever det at Hans Kristian tek kontakt med nokon frå NTNU og UiT for prioritering? Kven i så fall?

NTNU: I slutten av omorganiseringa, avklaringslinjer ikkje heilt klare endå. Gjerne enklast/kjappast å ta dei via IT-dir, elles vert det ventetid til vi finn ut av det.

NTNU har mykje planar framover, bl.a. slå av gamle Kjernen. Kjappast mulig. Cerebrum skal hente data frå TIA i staden for - REST-baserte grensesnitt. Legg meste endringane i eit eige skript langt unna core, så ingen teknisk hindring, men spis av samme ressursane.

UiT: Bør kunne klare, har høgt fokus på dette!

Oppsumert: Ikkje tekniske hindringar for å kome over innan 1. juli! Det er kun ressursar og prioriteringar som er hinderet.

Sak 3: Fortsette gjennomgang av differansar [diskusjon]

Vi fortset med diskusjonen frå forrige møte, og det som evt. er kome på e-post i mellom møta, og fullfører gjennomgangen av differansar. Vi blir enige om kva vi gjer med dei ulike skilnadane.

NTNU: Ønskeleg at vi lenker til kor i koden differansane er. Fredrik skal legge ut diff, som er organisert per modul og kor i filene endringane er. Godt nok for NTNU.

Vi hopper over differansar vi anser som uproblematiske. Sender dette på e-post, med Fredrik si anbefaling. NTNU ser over og klager heller om dei er uenige. NTNU er i utgangspunktet enig i å legge til ny funksjonalitet.

Fortset frå forrige møte:

  • Database-accessor: USIT lagt til skip i sekvenser. NTNU legg til.
  • ... (?): Fredrik ser på nokre detaljar NTNU har lagt til.
  • Entity: Mykje skilnader.
    • change_params:
      • TBD: Kven gjer kva?
    • ChangeLog:
      • ChangeLog brukast mykje og feil. Brukast også for events på UiO, i tillegg til å vere ein logg, men som data slettast frå. Constraints skaper problem.
      • Fredrik ønsker å rive ut changelog og gjere den pluggbar. Ser på blinker, eit callback-regime som gjer at vi kan skille ut forretningslogikk bl.a. Litt jobb å få inn, men hadde tent på det på sikt.
      • I første runde må vi beholde change-log-funksjonaliteten og -tabellen, men må rydde opp.
      • Fredrik skriver eit løysingsforslag og sender ut på lista.
        • NTNU anbefaler at endringar no må takast med alle no i denne perioden. Må gjere det skal vi få til ein felles kodebase.
    • EntityName: USIT skapt avhengighet mot EntitySpread - kan liste ut namn med spread.
      • USIT må fikse og bytte ut. Kanskje to metodar, eller fjerne.
    • entity-contactinfo-writedb: NTNU endra: Logg endringa også på kvar konto hvis person. Feiler ei oppdatering, feiler alt.
      • Kjem frå NTNU sine designvalg rundt endringsflyt. Brukast i dag.
      • Bruk av MQ kan gi eit alternativ til dette. Finnast også andre alternativ.
      • Kommentar om at blinker kan gjere at vi kan flytte.
      • Konklusjon: Beholder, og vurderer å endre på det etter samanslåinga.
    • entity-contactinfo-delete: NTNU har endra på prioritet. NTNU ser på.
    • Veldig mange små endringar i Entity: Bør ha eit tett samarbeid på å sjå på dette.
      • Samarbeidsoppgave
  • Group:
    • create-date er flytta til entity sin created-at
      • NTNU og UiT ser på og inkluderer i sitt schema og kode.
    • illegal_name for å sjekke om gyldig gruppenamn: USIT lagt til parameter max_length=256, som td. posix-group kan overstyre.
      • NTNU og UiT inkluderer
    • auto-meta-super: Denne bør på sikt fasast ut, gir ikkje noko meir og brukast inkonsekvent.
      • Fjerner etter samanslåinga
    • mod-group-admin frå NTNU
      • NTNU flytter ut til group-admin-mixin. Må gjerast før samanslåing.
    • add_member: Samme duplisering av events som endring på person påvirker alle accounts. Gruppemedlem
      • USIT ønsker å inkludere funksjonaliteten. Evt. kan blinker løyse det.
    • GroupAPI frå USIT: Usikker på kva det er.
      • USIT flytter det ut frå Group.
  • OU: Altfor mange endringar til å kunne sjekke diff.
    • NTNU tar i bruk entity-name-funksjonaliteten, så tek vi ein ny diff på denne etterpå.
  • Person:
    • Endringar på namn og affiliations: USIT prøver fjerne/forenkle før samanslåing, i CRB-1196.
      • NTNU ønsker at vi diskuterer og blir enige om ein felles måte å prioritere på.
    • USIT har ødelagt list_affiliations i samanheng med innføring av Exchange. USIT må fikse.
    • Oppslag på person etternamn. Har tre forskjellige oppslagsmetodar.
      • Vi legg til kvarandre sine, så alle har alle tre metodane. Lager brukarhistorie for å rydde i etter samanslåinga. Må finne ut kva som er best å beholde.
  • Utils:
    • UtilsHelper: hjelpemetodar, stort sett tekst. inneheld toISO6660 (ut8-aktig). USIT har unicode-handtering der. Brukast mykje i LDAP-eksport hos alle.
      • NTNU må sjå på endringane, om dei er greie å inkludere.
    • gpgme-metodar: USIT lagt til, og NTNU har henta, før USIT har flytta.
      • NTNU gjer samme flyttinga av gpgme-funksjonalitet
    • fool-auto-super: NTNU har lagt til.
      • NTNU bør sjå på og vurdere å fjerne, og heller bruke python sin innebygde super-funksjonalitet
    • SMS-utsending: NTNU sender ikkje SMS frå Cerebrum.
      • Gjer ingenting, men på sikt flytte ut.
    • get-module (factory-funksjon) frå NTNU: Såg NTNU-spesifikk ut.
      • NTNU flytter ut til eigen mixin
    • default_config: Ein god del endringar frå alle.
      • NTNU og USIT tek inn endringar frå den andre
      • Er enkelte ting som ikkje høyrer heime der, og ein del som ikkje er fjerna etter at kode er blitt fjerna. Til dømes CWEB-konfig, når cweb er flytta ut til eige repo.
    • Logging: Gjerast veldig forskjellig mellom NTNU og USIT.
      • Log-kall gjerast likt, på samme måte som python.
      • USIT bruker cerelog-modul. Inneheld teknisk gjeld, og nokre dårlege designvalg. Burde bruke standard python-loghandtering, men seinare.
      • NTNU jobber med å gå over til cerelog-modulen
      • Ingenting som gjerast her før samanslåing.
  • Andre småting:
    • AtomicFile: Flytta ut til eigen modul, med bugfix. NTNU bør hente.
    • cerebrum_path:
      • NTNU bruker den aktivt, men USIT har slutta å bruke og ønsker å fjerne dette hacket - går heller over til virtualenv.
      • Finnast også innebygd python-modul for path-fiksing utan å måtte importere modul
        • Fredrik sender lenker til meir info om dette, så kan NTNU sjå om enige.
      • NTNU vurderer om dei kan bli med på å fjerne cerebrum_path.
    • autoconf og make-opplegg i Cerebrum:
      • USIT har ikkje brukt så lenge vi kan hugse
      • NTNU bruker Make-filer, men køyrer truleg ikkje kommandoane make eller autoconf. Køyrer skript som heiter builddev (elns) i deira repo.
      • Fredrik sjekker kva NTNU bruker, og fjerner det som ikkje brukast av NTNU.
    • makedb:
      • NTNU har lagt til mappings for mykje som ikkje finnast i koden. Fredrik usikker på kva meininga bak, men truleg at gamal funksjonalitet ikkje har blitt rydda opp i.
      • NTNU bruker makedb berre for å legge til nye konstantar og migrering.
      • NTNU ser over endringane i skriptet, før ein gjer database-endringar.
    • setup.py:
      • Veldig ulik!
      • Bør vere ein del av det siste vi rører - enklare å endre på når kodebasen er lik, rett før samanslåing.
      • NTNU bruker kanskje ikkje setup.py så mykje, sidan dei bygg debian-pakkar.
      • Med opprydding kan det hende bygginga til NTNU vert enklare.
      • NTNU, USIT og UiT ser på heilt til slutt før samanslåinga.
    • Tom __init__-fil som NTNU har på rotnivå, utanfor Cerebrum-mappa.
    • Ulik mappenivå hos USIT og NTNU.
      • NTNU ser på å flytte ut debian-funksjonalitet ved samanslåinga.
    • Cerebrum/extlib: Pussig pakke
      • plex: Kompabilitetsendringar (syntaks). Gamal kode, funker ikkje med python3. Brukast til å unngå SQL-injections. Viktig modul, men må finnast andre verktøy vi kan bruke heller enn å bygge denne eigne. Kanskje det fins i innebygd db-funksjonalitet
        • NTNU inkluderer USIT sine endringar enn så lenge. Rydder på sikt.
      • dbrow: Brukast, men ikkje python3-kompatibel
        • USIT rydder, fjerner forsøk på henting av C-implementasjon
      • nputils: NTNU bruker, køyrer importar mykje, mykje kjappare med funksjonaliteten!
        • Er ein eigen modul som NTNU har skreve
        • NTNU flytter ut til eige repo, og importerer som eit vanleg bibliotek. Eventuelt legge det ein annan stad, td. Cerebrum/Utils
        • USIT ser på funksjonaliteten og vurderer bruk av den
      • timeout_socket:
        • USIT inkluderer timeout_socket att, så den kan beholdast for bruk av gamle tenester, til dei vert skrudd av.
        • Lager brukarhistorie for å fjerne på sikt, etter samanslåing

Har gått gjennom core, gjenstår modules og contrib. Fredrik sender dette på e-post, så ser vi kva vi rekker å diskutere.

Sak 4: Visjon for samarbeid og Cerebrum [diskusjon]

Lufter tankar rundt kva folk ser for seg i samarbeidet, og med Cerebrum, for å kome igang med tankeprosessen. Kva tenker dei ulike institusjonane?

UiO:

  • Å sleppe mykje dobbeltarbeid. At vi tener på samarbeidet, ved å spare arbeid. Til dømes har alle innført passnummer tre ganger.
  • Å splitte opp har nok skapt ein del teknisk gjeld, for det er enklare å legge til hacks når vi ikkje har andre å forholde oss til. Med andre interessenter må vi holde meir kontroll og bedre kodekvalitet.

NTNU:

  • Sterkt ønske i organisasjonen med meir autorisasjonsstyring inn i Cerebrum.
  • Ser fordelar med samarbeidet.
  • HiST henta inn endringar frå UiO, men hadde ikkje nok ressursar til å bidra. NTNU er større og bør ha ressursar til å bidra i samarbeidet.

UiT:

  • Kenneth har visjon om at Cerebrum core er liten, og Cerebrum er fleksibel og modulert nok til å kunne brukast av heile UH-sektoren!

Krever litt arbeid å komme dit - teknisk gjeld.

Er no vi bør gjere det, og ikkje vente på sidelinja!

Joakim lager utkast til visjon og sender på e-post til lista for kommentarar.

Sak 5: Til neste møte [diskusjon]

Når er neste møte, og kva vert målet? Har to veker att. Treng vi intensivere arbeidet? Kor mykje kan folk bistå?

Joakim kan forsvinne ut i fødselspermisjon mot slutten.

Arbeid vidare:

  • Joakim lager utkast til visjon og sender på e-post
  • Fredrik sender ut differanser på e-post, med kodereferanse, så fort som mulig.
  • Fredrik legg ut konfig for UiO, som avtald i forrige møte.
  • Kenneth, Steinar og Tobias legg inn brukarhistorier. Send ut e-post når gjort.
  • Fredrik ber om meir tid neste sprint for å få meir fokus på denne aktiviteten
  • Folk oppfordrast til å sende meir på e-post, td for å diskutere uavklarde punkt frå forrige møte.
  • Joakim, Fredrik, Tobias og Kai blir enige om arbeid fram til neste møte, om kven som gjer kva.

Joakim kaller inn møte, tidleg neste fredag.

Eventuelt

Publisert 2. feb. 2017 18:53 - Sist endret 13. feb. 2017 15:21