4. December 2023

Nem Open Source indholdsadministration med PHP

Jeg tror endelig, jeg har fundet et Open Source PHP content management system, der kan matche Umbraco på Microsoft.NET-platformen bare lidt.

Jeg har arbejdet med Umbraco i snart 20 år, og det har altid været en absolut favorit, der har haft stor indflydelse på, hvordan jeg synes CMS’er skal bygges op. Jeg har prøvet ret mange af de åbne systemer - startede med TYPO3 i en årrække, fik enkelte Mambo/Joomla-opgaver, Wordpress, Orchard og Composite C1 (som vist hedder C1 CMS nu).

Det, jeg har manglet på PHP-platformen, har været at kunne skræddersy backenden lige så hurtigt og nemt, som man kan med Umbraco. Det kan godt lyde som en god gang salgsgas fra en hærdet Umbraco-discipel, men det giver sig f.eks udslag i væsentligt kortere oplæringstid, når man skal lære nye website-administratorer op.

Når noget fungerer intuitivt, så løser selv uerfarne brugere hurtigt en arbejdsopgave, og der har mange CMS’er på PHP-platformen efter min mening traditionelt døjet med “feature bloat”. Der har simpelthen været for mange knapper, og måder at gøre tingene på. Det mest optimale er, at designe brugerfladen efter brugernes ønsker, så de føler sig godt tilpas. Ikke, at de skal bruge for meget tid på at lære at navigere i systemet. Less is more.

Enter… Bolt CMS

Bolt CMS bygger på PHP Symphony-platformen, der er et modent framework efterhånden. Jeg kan godt huske, jeg hørte om Symphony tilbage i 00′erne, da jeg begyndte at bruge PHP professionelt, så det er fedt at se, at det stadig findes.

Jeg vil ikke gå så meget i detaljer med grafiske opbygning af administrationen, for den er, som med de fleste CMS’er.

På overfladen, for det smarte ligger i måden, en websiteløsning opbygges på:

Ligesom Umbraco, så definerer du i BoltCMS også din backend med en række felttyper, f.eks et tekstfelt eller et billedfelt på en Content Type, og det danner tilsammen en slags dokumentskabelon for, hvilke felter CMS-brugeren ser i sin backend, når vedkommende f.eks opretter en nyhed.

Bolt CMS kalder kontrollerne ‘Field Types’, og Umbraco kalder dem ‘Data Types’, men det er praktisk talt det samme.

Det smarte er så, at når du har samlet dine felter i f.eks en content type af typen ‘Nyhed’, så oprettes et menupunkt automagisk i venstre side af administrationen, det er så her, CMS-administratoren og brugerne foretager alle redigeringsfunktioner. Du behøver med andre ord ikke lære dine brugere, hvad en Content Type rent teknisk er, du kan bare pege dem over nyhedsektionen og så vil oprettede nyheder have de felter, der definerede din content type: “Overskrift”, “Forfatter” etc.

– “Jamen, det findes også i andre systemer?”, tænker du måske. Korrekt, men oftest som fasttømrede elementer, og så skal man installere ekstra plugins eller måske endda selv have fingrene i kodegryden, hvis man skal udvide funktionaliteten. Det er jo et valg man tager, om man vil det. Her skal du ikke lave alle forbindelserne mellem dine datamodeller og din backend selv. Det klarer CMS’et.

Derfor kan jeg godt lide, at featuren med den fleksible backendopbygning findes som en indbygget del af et CMS, for så ved du, hvad du har, når du skal udforme din løsning - og et godt stykke ud i fremtiden. Det sker yderst sjældent, at en CMS-producent fjerner grundelementerne, for så er det ikke længere samme produkt.

Den samme sikkerhed har du ikke altid med eksterne moduler: Eksterne udvikleres plugins dør indimellem bare ud, når de enten mister interessen eller laver noget nyt. Det sker for alle CMS’er mellem versionsspring, og så er det, at man kan blive tvunget ud i at forsinke en opdatering af et CMS, indtil man har en erstatning klar.

For at opsummere et allerede langt blogindlæg: Jeg synes umiddelbart, at Bolt er et fedt, gennemarbejdet produkt til mindre og mellemstore sites. Når vi over 50 sider i enkelte kategorier, så tror jeg det begynder at knibe med overskueligheden. Men prøv at lege med det, inden du laver dit næste projekt, for at du kan danne dig dit eget indtryk.

Link:
https://boltcms.io/

PS. Du skal være varsom med at rette Bolts alias for en content type, når først det er sat, og folk tilføjer data i CMS’et. Hvis du retter forsvinder det data, der er skrevet i felterne i Bolts administration. Du kan dog altid hoppe i databasen og lave sammenkædningen igen manuelt med en sneaky SQL-sætning, som folkene bag systemet viser her –> https://bolt.tips/en … enaming-contenttypes