I absolutely love Cockpit…

Rene Krewinkel, docent Sittard
25-09-2019

TL;DR In de categorie #TechTalk:

Als “early adaptor” of - bij gebrek aan een betere omschrijving - “voorhoede vechter”, ben ik altijd op zoek naar de beste (open source software) tools om zaken voor elkaar te krijgen. Da’s best lastig gezien de hoeveelheid technologieën die met een beetje googlen over je uitgestort worden.

Vooral in de JavaScript-hoek is de wereld ontzettend in beweging, zelfs aan de Microsoft-kant, en het lijkt me voor de nieuwe generatie devs wel zaak om zich zoveel mogelijk in deze technologie te verdiepen. Denk hierbij aan React (plus z’n Native neefje…), Angular, Vue, Express, Meteor, en zo’n beetje alles wat node.js heet. Check ook de diverse ‘boosters’ of componenten die hiervoor ontwikkeld zijn. 

Aangezien je met al dit (voornamelijk frontend) geweld altijd behoefte hebt aan een goeie backend, komen frameworks als Symfony en Laravel al gauw in beeld - en vooruit, voor hen die graag veel code schrijven en van complexe applicatie-structuren houden: .Net en C#… (opinions are my own :D)

Maar ja, voordat je een beetje API ontwikkeld hebt - pakket installeren, gitje fixen, componenten zoeken, configuratie instellen, controllers optuigen, potje gegevens analyse plegen, database inregelen, services bakken, testen, overzetten naar productie, werkt niet… wat nu weer? Aanpassen… etc… ben je al gauw - met een beetje geluk - een paar uur verder en met een beetje pech zit je een paar dagen alle heiligen de hemel uit te vloeken. 

Kan dat niet eenvoudiger..?!

Tot ik haast per ongeluk over Cockpit CMS struikelde. Een heel eenvoudig te gebruiken tool, een zogenaamd “headless CMS” - wat zoveel wil zeggen als: er zit geen frontend of templating ellende aan vast, waarmee je binnen no-time (als in: 5 minuten) een volledig werkende API omgeving hebt neergezet. Helemaal fraai wordt het als je het via een Docker container draait, dan heb je er helemaal geen (technisch) werk aan. Met iets meer moeite (als in: 10 minuten) draai je er een andere Docker container met de laatste versie van MongoDB naast en ben je niet meer beperkt tot de interface van Cockpit en kun je het CMS gewoon in je eigen applicatie(s) integreren. En oh ja… het is ook nog eens bloedje snel…

Het grote voordeel van Cockpit is dat je zelf je “tabellen” (in Cockpit en Mongo termen: Collections) kunt samenstellen en van zinvolle labels en help-info kunt voorzien. Zo kunnen niet-technische gebruikers het CMS eenvoudig bedienen. Hoewel de documentatie een beetje gammel is (what else is new?), en enig verstand van JSON wel aan te bevelen is, heb je het toch vrij snel onder de knie.

Ik heb inmiddels een aantal sites en apps met een cockpit backend draaien, dus mocht je meer info of een demo willen, neem gerust even contact met me op!