Felles Cerebrum

Arbeidsgruppa sitt utkast til korleis Cerebrum core skal utviklast etter overgang til felles kodebase i IT-BOTT.

Kva er Cerebrum core?

Cerebrum core er kjernen av Cerebrum, og er eit modulært rammeverk som dekker grunnleggande funksjonalitet for eit IAM eller BAS - kodemessig eit bibliotek. Ein Cerebrum-instans kan velge kva funksjonalitet som skal takast i bruk. Med Cerebrum meiner vi kjernen og heile miljøet rundt som bruker dette, spesielt modular.

Funksjonalitet som ikkje reknast som grunnleggande, til dømes fordi den berre trengs av få institusjonar, skal ikkje leggast i Cerebrum core. Kjernen støtter bruk av Cerebrum-modular.

Nokre dømer:

  • Entiteten Person er ein del av Cerebrum core, då den er grunnleggande for korleis Cerebrum er designa. UiO-lokale tilpassingar av Person er ikkje ein del av core.
  • E-postmodulen er ikkje ein del av Cerebrum core, då den ikkje er påkrevd hos alle institusjonar.

Cerebrum core er felles funksjonalitet, som BOTT samarbeider om i ein felles kodebase. Alt anna skal, på sikt, ligge i andre repo. Det oppfordrast til å samarbeide om flest mulig av desse også, sidan institusjonane ofte har samme behovet også for ekstrafunksjonalitet.

Visjon for Cerebrum core

Cerebrum core skal vere:

  • Open: kjeldekode, dokumentasjon og anna skal vere så tilgjengeleg som mulig for verda.
  • Fleksibel: Cerebrum skal vere tilrettelagt for lokale tilpassingar.
  • IAM-sentrert: Cerebrum core skal reindyrkast til å berre inneholde funksjonalitet direkte relatert til IAM.
  • Stabil: Kjernen skal vere av god kvalitet! Endringar skal gå gjennom QA og kontinuerleg testing.
  • Effektiviserande: Cerebrum skal utviklast etter kva som gir mest effektivisering i UH-sektoren.

Cerebrum core er primært for dei større universiteta, som treng mykje fleksibilitet, men den skal kunne brukast av heile UH-sektoren!

Spelereglar

Kva som må til for å gjere endringar i Cerebrum:

  • Master-branchen til Cerebrum core skal alltid vere stabil og kunne køyre i produksjonsmiljø.
  • Alle skal følge vedtatt kodestandard og designmal, blant anna for korleis mixins skal fungere. Dette skal ligge i repoet til Cerebrum core.
  • Cerebrum følger semantisk versjonering. Ved samanslåing starter vi på versjon 1.0.0.
  • Cerebrum core skal ha ein nedskreven og vedtatt QA-prosess, som inneheld testing og godkjenning av alle endringar.
    • Vi starter med Github Flow, men der det er nok at det prodsettast hos ein instans før merge til master.
  • Lokale tilpassingar leggast ikkje i repoet. All kode i Cerebrum core skal kunne køyrast og brukast av alle.
  • Cerebrum core skal ha dokumentasjon for utviklarar i repoet.
  • Cerebrum core skal ha ein felles, anbefalt måte å byggast og prodsettast på, og ha innebygd støtte for dette. Alternative prodsettingsmetodar gjerast på eige ansvar.
  • Drift gjerast på ein felles, anbefalt måte.
Emneord: bott-cerebrum, cerebrum Av Steinar Kleven, Kenneth A. Johansen, Kai Vaade, Tobias Langhoff, Joakim Hovlandsvåg, Fredrik Larsen
Publisert 17. feb. 2017 09:05 - Sist endret 3. mars 2017 10:10