Stærke weboplevelser kommer af godt indhold, og godt indhold kræver de rette værktøjer. Editor Power Tools er en gratis, open source-add-on til Optimizely CMS 12 og 13 med næsten tyve audits, bulk-redigeringshjælpere og redaktionelle produktivitetsværktøjer — værktøjskassen jeg har genopbygget igen og igen for kunder, nu samlet i én NuGet-pakke.
Jeg har brugt flere år inde i Optimizely-installationer end jeg gider tælle. Forskellige kunder, forskellige brancher, forskellige tech-stacks skruet på siden, men nogle få mønstre gentager sig. Et af dem er det, der sker, når jeg sætter mig ned på første dag af en opgave og begynder at pille ved indholdsmodellen.
Næsten alle Optimizely-sites, der har levet i nogle år, har det samme problem med indholdstyper. Sidetyper og bloktyper hober sig op. Hver enkelt var velbegrundet, da den blev tilføjet: en kampagne havde brug for noget specifikt, en sektion fik sin egen variant, en udvikler vidste ikke, at der allerede fandtes en type, der ville have fungeret. Fem år senere er opret-indhold-dialogen en mur af valgmuligheder, og redaktørerne holder stille og roligt op med at stole på den.
Halen er som regel værre end hovedet. En håndfuld typer gør det meste af arbejdet. Mange flere ligger i listen, brugt en gang, to gange, eller aldrig. Nogle peger på .NET-klasser, der ikke er blevet deployet i to opgraderinger. Intet af det er brudt i den forstand, at noget kaster en exception. Det gør bare redaktørerne langsommere, og hver ny redaktør, der bliver oplært, betaler prisen.
Jeg begyndte at skrive små scripts for at se på det. Hvilke typer er defineret? Hvor bliver de brugt? Hvilke er ikke blevet rørt i atten måneder? Den første version lånte fra Nicola Ayans EpiserverCmsAudit, som havde været en stille favorit af mig i årevis. Så begyndte jeg at løse det samme problem fra den anden ende: når en redaktør rent faktisk sætter sig ned for at oprette indhold, kan CMS’et så foreslå den rette type i stedet for at få dem til at huske den udenad?
Det andet spørgsmål blev til et værktøj i sig selv. Så lagde jeg mærke til, at jeg greb efter flere af disse små værktøjer på hvert projekt, næsten refleksivt.
Samme grundproblem, løst fra to ender — synlighed på den ene side, greb på den anden.
Det her er ikke kun en Optimizely-historie. Ethvert langtlevende CMS samler ting op, som ingen har tid til at kigge på: døde links, forældede oversættelser, forældreløse besøgsgrupper, planlagte jobs ingen husker at have sat op, indhold der skulle have været arkiveret for tre rebrandinger siden. Redaktørerne lever med det hele. Udviklerne ser det gennem de supporttickets, der bliver oprettet — og dem, der ikke bliver oprettet, fordi redaktøren gav op og sendte en mail til en eller anden i stedet.
Stærke weboplevelser kommer af godt indhold. Godt indhold kommer fra redaktører, der kan finde det, de skal bruge, ændre det, de skal bruge, og stole på, at listen ikke lyver for dem. Hvilken platform man bygger på, betyder mindre, end folk nogle gange antager. Det vigtige er værktøjskassen omkring den.
Hvorfor Optimizely er det rette sted at gøre det her
Optimizelys redaktøroplevelse er en af de bedste på markedet — den del er ikke i stykker. Det, der gør den særlig, er, at den er udvidelig nok til, at nogen uden for Optimizely kan tilføje de ting, der ikke følger med ud af æsken. Protected modules. IContentTypeAdvisor. Scheduled jobs. SignalR-hubs. Platformen står ikke i vejen, når man vil gøre den bedre; den lader det ske.
Det er et stille undervurderet træk. Det meste af det, der gør et CMS rart at leve med i ti år, bliver ikke skibet i version 1.0; det vokser frem omkring platformen. En leverandør, der træder til side og lader det ske, gør mere for redaktørerne end en, der prøver at skibe alt selv.
Så det gjorde jeg.
Editor Power Tools

Editor Power Tools er en open source, MIT-licenseret add-on til Optimizely CMS. Den samler de audits, bulk-redigeringshjælpere, indholdsmodel-visualiseringer, sundhedstjek og redaktør-tilstedeværelses-værktøjer, jeg havde bygget igen og igen for kunder, i én NuGet-pakke. Samme pakke understøtter Optimizely CMS 12 på .NET 8 og CMS 13 på .NET 10, så I slipper for at vælge.
dotnet add package UmageAI.Optimizely.EditorPowerTools
Der er næsten tyve værktøjer derinde, organiseret i fire grupper. I stedet for at gennemgå dem alle her, viser jeg ét fra hver kategori. Hver gruppe får sit eget indlæg i ugerne fremover.
Audits — hvad der faktisk er i jeres CMS

Content Type Audit er den, jeg beskrev ovenfor. Den viser jer alle side- og bloktyper i systemet, hvor hver enkelt bruges, hvilke properties der er nedarvet eller forældreløse, og om .NET-klassen er forsvundet. CSV-eksport når I vil tage det med ind til et møde. Fem søsterværktøjer i samme familie, der dækker indhold, sprog, links, personalization og sikkerhed, er emnet for indlæg nummer to.
Produktivitet — det, der burde være ét klik

Bulk Property Editor lader jer filtrere, markere og inline-redigere properties på tværs af hundredvis af indholdselementer, og derefter gemme eller publicere i én omgang. Det er værktøjet, der laver en halvdags-redaktøropgave om til fem minutters arbejde. Indlæg tre dækker produktivitetsgruppen som helhed, herunder Content Importer, Activity Timeline og Scheduled Jobs Gantt.
Konfiguration og admin — den kedelige infrastruktur, der betyder noget

CMS Doctor er et pluggable sundhedstjek-dashboard. Det leveres med indbyggede tjek til de ting, der stille og roligt hober sig op på en rigtig installation: forældreløst indhold, fejlkonfigurerede planlagte jobs, døde links, den slags. I kan skrive jeres egne. Flere af tjekkene har auto-fix-knapper. Indlæg fire kigger nærmere på, hvordan man udvider det, fordi pluggable sundhedstjek er den rigtige form for den slags problemer.
Edit-mode-integrationer — værktøjerne der, hvor redaktøren allerede er

Content Type Recommendations, den anden halvdel af indholdsmodel-historien, lader jer opstille regler for, hvilke børnetyper der er tilladt (eller foreslået) under en given forælder. Reglerne hægter sig så direkte ind i Optimizelys opret-indhold-dialog: når en redaktør tilføjer nyt indhold under den forælder, viser CMS’et de typer, I har konfigureret. Slut med at scrolle gennem en mur af valgmuligheder for at finde den rigtige.
Hvad der følger i de kommende uger
Jeg skriver om hver af dem på skift, cirka en om ugen:
- Synlighed — audit-værktøjerne, med Content Type Audit-historien fra ovenfor i mere dybde.
- Greb — bulk-redigering, import og de produktivitetsværktøjer, der laver redaktørdage om til redaktørminutter.
- CMS Doctor — hvordan man udvider det, og hvorfor pluggable sundhedstjek er den rigtige form for den slags arbejde.
- Active Editors og redaktør-chat — realtids-tilstedeværelseslaget for distribuerede redaktionelle teams.
- Forms — når den nye funktionalitet lander.
- Graph-support — når det lander.
For at være ærlig om, hvordan det her blev lavet: jeg byggede Editor Power Tools primært med AI-agenter over godt to uger. Agenterne skrev det meste af koden; de mennesker, der var involveret, havde tænkt på de her redaktørproblemer i årevis. Resultatet er 162 unit tests, elleve sproglokaliseringer og én multi-targeted pakke på tværs af to CMS-hovedversioner. Der kommer også et indlæg om det, men det er ikke rigtig pointen. Pointen er, hvad der ligger i æsken.
Prøv det
Editor Power Tools ligger på GitHub, og der er en fyldigere rundtur på umages produktside. MIT-licens. Installér via NuGet, registrér middleware, åbn Editor Power Tools fra CMS-menuen og gå i gang. Den fulde konfigurationsreference og per-feature-tilladelsesmodellen står i readme’en.
Hvis I har levet inde i et langtlevende Optimizely-site i bare en kort periode, har I allerede meninger om, hvilke af disse værktøjer I ville række ud efter først. Dem hører jeg oprigtigt gerne — åbn en issue eller en PR på repoet med feature-idéer, bugs eller stærke meninger om, hvordan noget af det her bør opføre sig. Det er den mest direkte linje ind.
Vil I have en hånd med at få det op at køre, eller tænker I bredere på jeres Optimizely-setup — gæld i content-modellen, performance, det der står i vejen for redaktørerne — så skriv til os. Optimizely er det, vi laver.
Og hvis I stadig kører CMS 11 og stille har udskudt opgraderingen: det er en samtale, vi har en del. Vi har en ydelse bygget præcis til det.