Analyse af muligheder for ny kalenderkomponent
Krav
https://important-slouch-6b0.notion.site/Kalender-komponent-6912763109044cf984222cb499b3b84d
Løsningsforslag
Selvbygget kalenderkomponent i Angular
Fordele
Vi sikrer os, at alle krav kan opfyldes, herunder WCAG 2.1
Vi kan løbende ændre i kalenderen for at tilpasse til nye krav
Vi har kontrol over koden og skal ikke gennem en godkendelsesproces
Vi kan let konvertere komponenten til React under moderniseringsprojektet
Ulemper
Opgaven gøres mere kompleks
Potentielt større forbrug af udviklingstimer
Der er tidsforbrug associeret med at konvertere til React
Hele siden der anvender det skal opgraderes til Angular
Omfang af oprydning
30-35 SP
Hvis man bygger sin egen komponent i Angular, bør siderne også opgraderes til Angular. Alle sider der bruger kalenderkomponenten skal omskrives til at være en Angular-side, men tilhørende Angular-komponenter.
FullCalendar - Angular
Angular Component - Docs | FullCalendar
Fordele
Samme komponent som vi har haft tidligere på Jobnet i en opdateret version
Kan let konverteres til React-komponent da FullCalendar udstiller et tilsvarende React-komponent
Tidsbesparelse i ikke at bygge fra bunden
Ulemper
Svært at ændre i grundlæggende funktionalitet
Det er svært at komme væk fra kalenderkomponenten hvis den “forlades” af udviklerholdet og ikke bliver f.eks. sikkerhedsopdateret
Der er tidsforbrug associeret med at konvertere til React
Hele siden der anvender det skal opgraderes til Angular
Omfang af oprydning
25-30 SP
Hvis man bruger Fullcalendar som Angular-komponent, bør siden også opgraderes til Angular. Alle sider der bruger kalenderkomponenten skal omskrives til at være en Angular-side, men tilhørende Angular-komponenter.
FullCalendar - React
React Component - Docs | FullCalendar
Fordele
Kan let flyttes over ved modernisering
Kan bygges som et Web Component:Web Components – React GitHub - bitovi/react-to-web-component: Convert react components to native Web Components. Works with Preact too!
Teamet får berøring med React
Kræver ikke, at siderne det skal implementeres på opgraderes til Angular
Ulemper
Komplekst at implementere i applikationen
Usete tekniske udfordringer som følge af den øgede kompleksitet
Teamet har ikke erfaring med React
Det er svært at komme væk fra kalenderkomponenten hvis den “forlades” af udviklerholdet og ikke bliver f.eks. sikkerhedsopdateret
Omfang af oprydning
13SP
Hvis vi bruger React-kalenderen som et Web Component kan vi beholde siden som den er, og blot udskifte komponenten. Dog skal der laves nogle ekstra tilpasninger til idet vi opdaterer måden vi anvender komponenten på, og der er også noget overhead i at få lavet en Web Component-wrapper til kalenderkomponenten.