CODECABIN 2023 er nu ovre. Men det er begejstringen ikke. MCB sendte sin MVP’er, Bjarne Fyrstenborg, afsted til England for at deltage, og med sig hjem har han en bredtfyldt Umbraco-rygsæk. Lad os tage et kig på den sammen.
CODECABIN er et event for udvalgte Umbraco-udviklere. Det afholdes årligt i september hen over en weekend i et afslappet miljø og i skønne omgivelser nær Grindleford ca. 1½ times kørsel med tog fra Manchester i England. Eventet arrangeres af folk i Umbraco Community’et, og det kræver en helt særlig invitation at deltage.
Derfor er det helt unikt, at vores MVP’er har været afsted sammen med 19 andre dygtige Umbraco-udviklere.
Eventet var i år struktureret en smule anderledes end tidligere med bl.a. 4 sessioner, der havde til hensigt at skabe faglige diskussioner vedr. forskellige emner. Derudover var der afsat dedikeret tid til at kaste sig over koden ift. eksisterende API’er i Umbraco, udvikling af pakker og/eller udvidelse af Umbraco Backoffice, og der blevet taget et kig på det kommende og moderniserede Backoffice i Umbraco 14.
Det nye Backoffice kommer som et friskt pust, der er fremtidssikret og baseret på både webkomponenter og moderne webstandarder - noget, som gør det mere fleksibelt, skalerbart og tilgængeligt for alle brugere uanset eventuel funktionsnedsættelse.
*MVP står for ‘Most Valued People’. Gruppen udgør 83 (2023) enestående udviklere, der formår at tage Umbraco skridtet videre og bidrage til en omfavnelse af open source systemet. Det er udviklere, der lever og ånder for Umbraco, og som derfor altid kan yde den absolut bedste service.
Fra Umbraco 12, der blev released i juni 2023 med Standard-term Support (STS), er der ud-af-boksen et Content Delivery API (REST API), der gør det muligt for dig at bygge på og gøre brug af et headless setup.
I et headless CMS er frontend og backend adskilt, og det er altså et backend only content management system. Et headless CMS er stedet, du opbevarer, opdaterer og sletter indhold, men det vil ikke blive vist nogen steder, med mindre du kobler en frontend på - det kan fx være Umbraco CMS.
Et headless CMS vil formentlig blive bygget i enten Umbraco Heartcore, Umbraco CMS med Content Delivery API'et (REST API'et) eller Umbraco Commerce, som har et tilsvarende Storefront API (også REST API).
Der vil desuden blive tilføjet et REST API til medie (Media Delivery API), så det også bliver muligt at udtrække data direkte herfra.
Fra et headless Umbraco-setup er det stadig muligt at udtrække data til et traditionelt website eller SPA (Single Page Application), lige såvel som til andre webbaserede apps eller mobile apps.
Dermed kan content leveres til flere kanaler.
Og til CODECABIN blev det (igen) slået fast, at headless tilgangen er det nye sort og noget, der skal arbejdes meget mere på i fremtiden. Det kan derfor godt betale sig at kigge noget mere på headless-mulighederne med Umbraco, hvis du ønsker et site, der leverer data til flere forskellige kanaler.
På en hjemmeside ønsker du normalt at formidle information til en eller flere målgrupper. Det kan gøres på mange forskellige måder, og der er altså ikke altid én universel tilgang. Hvordan en besked bedst formidles (og senere modtages) afhænger nemlig af din målgruppe.
Siden Umbraco 8.7 blev lanceret, har segmentering af indhold via API (Umbraco har ikke et UI til at oprette disse) været en løsning på denne udfordring. Løsningen giver dig mulighed for at oprette segmenter og derefter personalisere et enkelt stykke indhold for at opnå optimal effekt herpå.
Typisk anvendes segmenter til at vise forskelligt indhold alt efter, om man som bruger er på desktop eller mobil. Det gør det langt mere sandsynligt, at de besøgende konverteres fra besøgende til leads.
Hvis det er noget, du gerne vil kaste dig over, så bør du tage kig på uMarketingSuite, som gør det muligt at oprette personaliseret indhold til brugere.
I de seneste år har der hos Umbraco været flere forskellige JavaScript-baserede frameworks anvendt i frontend herunder Angular, Vue og React.
Disse har alle deres fordele, når der kommer til opbygning af webapps (SPA), men til mere simple sites kan andre alternativer være bedre. Det kan fx være lightweight frameworks.
Under CODECABIN blev det bl.a. diskuteret, hvorvidt Alpine.js kan være en fordelagtig spiller - især suppleret med specifikke vanilla JavaScript plugins, som fx vil gøre det muligt at gøre brug af en datovælger.
Der kom interessante synspunkter og argumenter for valg af forskellige frameworks til opbygning af frontend på bordet. Og selvom nogle trender i en periode, er det i sidste ende det enkelte projekt, der afgør, hvilket der er bedst.
Derudover understøtter moderne browsere i højere grad mere avancerede funktioner samt AJAX, og det gør, at et bibliotek som jQuery mere eller mindre er forældet på moderne websites eller webapps.
Du skal altså afklare, hvilket framework der passer til dit site og dine behov, så det sikres, at du får det mest passende setup. Og det kan være en besværlig disciplin at jonglere mellem de mange muligheder - det erkender vi. Derfor sørger vores Umbraco-udviklere for at vælge et framework, der passer til den enkelte løsning og funktionalitet, og det er altså en bekymring, du kan ligge fra dig.
Allerede til Codegarden i år fik deltagerne et indblik i forberedelserne til et nyt Backoffice i Umbraco. Og netop derfor er Backoffice et af de mere spændende emner, der blev vendt og drejet under CODECABIN.
Særligt også fordi der kom fokus på nogle nye features og muligheder, der forbedrer redaktøroplevelsen.
Det nuværende JavaScript-framework anvendt i Backoffice er forældet. Det nye Backoffice bliver derfor fremtidsikret, når det baseres på moderne webkomponenter, som både sikrer et strømlinet UI og et hurtigere Backoffice.
Det betyder desuden, at extensions til Umbraco i højere grad vil have samme visuelle stil, da udviklere har mulighed for at genbruge komponenterne i fx et dashboard i Backoffice.
Muligheden for at tilpasse dashboards i Backoffice blev også diskuteret, og der blev fremlagt et konkret forslag om at brugertilpasse dashboards med widgets.
Vi håber virkelig, at det er noget, vi inden længe kan gøre brug af!
Et andet gennemgående tema vedr. Backoffice var brugen af webkomponenter og det nye Umbraco UI library. Vi vil bl.a. komme til at se, at loginsiden i Umbraco 13 fjerner brugen af jQuery og baserer denne med komponenter fra biblioteket.
Det nye library kan allerede nu benyttes i det eksisterende Angular-baserede Backoffice.
Vi kan ikke længere komme uden om AI.
Den kunstige intelligens har allerede revolutioneret en lang række industrier og forretningsområder. AI øger fx produktiviteten, automatiserer rutinemæssige opgaver, forudsiger tendenser og mønstre, forbedrer kundeservice og styrker beslutningsprocesser. Det giver virksomheder og organisationer en massiv konkurrencefordel og forvandler samtidig den måde, vi arbejder, handler og lever på.
AI er derfor blevet en uundværlig ressource, når vi skal håndtere den stigende mængde af data og kompleksitet, vi oplever i den moderne verden.
Og derfor var AI selvfølgelig også et vel-diskuteret emne under CODECABIN.
Der var bl.a. snak om brugen af Generative AI indenfor webudvikling (særligt med fokus på OpenAI's ChatGPT og GitHub CoPilot), og den måde som den kunstige intelligens kan hjælpe os med at øge produktiviteten ift. udvikling på - stadig med behov for validering og kritisk tænkning fra programmøren.
Det kan bl.a. være redaktøren, der får hjælp til at skrive content via forslag til overskrifter, der kan sætte gang i skribleriet eller muligheden for at genere hele tekstafsnit - det vil dog stadig altid kræve validering fra redaktøren.
Men kravet om justeringer til den konkrete kontekst, og at AI skal anvendes med forsigtighed om omtanke, er selvfølgelig også noget, der blevet taget op med meget stort alvor.
Med de seneste blok-baserede datatyper i Umbraco, der bl.a. bruges til opbygning af sektioner af indhold på en hjemmeside, har det vist sig, at der ofte er behov for at dele eller genbruge blokke på tværs af sider. En handling, der betyder en effektiviseret tilgang til arbejdet med Umbraco og generelt oprettelsen af sider.
Det kan fx være blokke, der indeholder medarbejdere, testimonials, lokationer eller lignende. De er tidskrævende at oprette, da de indeholder meget data, og derfor vil vi gerne slippe for at gøre det på alle de sider, hvor de skal figurere. Og blot at kopiere og indsætte tekster og billeder synes ikke fordelagtigt, da én ændring så skal foretages alle de steder, hvor den specifikke blok er blevet anvendt. Og det kan hurtigt betyde, at en side glemmes. Sikke noget rod!
Derfor blev der under CODECABIN diskuteret muligheden for at lave content, der kan genbruges eller deles. Og her er der ikke kun tale om indhold via blokke, men også mere komplekst data.
Og der er allerede godt nyt!
Der arbejdes nemlig i øjeblikket hos Umbraco på et udkast og en nærmere specifikation af dette i CMS’et. Og det vil med al sandsynlighed blive implementeret i en Umbraco version indenfor det kommende år.