Maatwerk Joomla-ontwikkeling — componenten, koppelingen en functionaliteit op maat
Kant-en-klare extensies dekken de standaardgevallen. Uw bedrijf is lang niet altijd een standaardgeval. Wanneer de workflow, het datamodel of de koppeling die u nodig hebt niet bestaat binnen het Joomla-ecosysteem — of alleen bestaat als een verlaten relikwie uit 2014 — ontwerpen en bouwen wij het: maatwerkcomponenten, modules, plugins en API-koppelingen, ontwikkeld volgens moderne Joomla 5- en 6-standaarden door een team dat dit platform door en door kent.
We redden ook wat er al is. Duizenden Europese bedrijven draaien op maatwerk Joomla-componenten gebouwd door allang vertrokken ontwikkelaars — cruciale functionaliteit waar niemand aan durft te komen. Het moderniseren van verweesde maatwerkcode is een van onze specialiteiten, en vaak het ontbrekende stuk dat een hele versie-upgrade deblokkeert.
Wat wij bouwen
Maatwerkcomponenten
Volwaardige applicaties binnen uw Joomla-website: directories en catalogi, boekings- en aanvraagsystemen, ledenomgevingen, documentportalen, productconfigurators, gestructureerde gegevenspublicatie voor elke branche. Een component heeft een eigen datamodel, een eigen beheerinterface en eigen frontend-weergaven — wanneer uw bedrijfslogica niet in artikelen en custom fields past, is dit het juiste gereedschap.
Modules en plugins
Kleinere, chirurgische onderdelen: weergavemodules die uw gegevens precies presenteren zoals bedoeld, systeemplugins die het gedrag van Joomla aanpassen, content-plugins die artikelen automatisch verrijken, koppelingen voor authenticatie en workflow. Vaak vervangen een paar honderd goed geplaatste regels code een complete, opgeblazen extensie waar u anders eeuwig een licentie voor zou betalen.
API- en systeemkoppelingen
Joomla verbinden met de systemen waar uw bedrijf daadwerkelijk op draait: CRM's, ERP's, betaalproviders, boekingsplatforms, nieuwsbriefsystemen, branchedatabases. In beide richtingen — externe gegevens uw site in trekken, en uw Joomla-content via de REST API beschikbaar stellen aan andere applicaties. Uitgevoerd met correcte authenticatie, foutafhandeling en AVG-bewuste gegevensstromen, want een koppeling is een gegevensverwerking, niet zomaar een connector.
Engineering op templateniveau
Overrides, child-templates en lay-outwerk die een template naar uw hand zetten zonder de core of bestanden van leveranciers te hacken — zodat elke aanpassing elke toekomstige update overleeft. Hier landt ook toegankelijkheidsverbetering wanneer de oplossing in de markup thuishoort.
Redding van verouderde maatwerkcode
Het component dat uw ontwikkelaar in 2013 bouwde draait nog steeds uw bedrijf — op Joomla 3, in code die niemand begrijpt. Wij auditen het, documenteren het en herbouwen het als een schone, namespaced Joomla 5/6-extensie: dezelfde functionaliteit, dezelfde gegevens (gemigreerd), een modern fundament. Dit is keer op keer de blokkade die een site gevangen houdt op een end-of-life-versie, en het wegnemen ervan is precies wat de upgrade mogelijk maakt.
Onze engineeringstandaarden
Maatwerkcode is alleen een bezit als die ook na de factuur onderhoudbaar blijft. Alles wat wij opleveren is gebouwd volgens de standaarden die dat waarmaken:
- Native moderne Joomla-architectuur — namespaced code, service providers, de Web Asset Manager, de core MVC-patronen. Gebouwd voor Joomla 5 en 6 zoals ze bedoeld zijn om gebruikt te worden, niet als legacy-patronen die voortgesleept worden, zodat toekomstige Joomla-releases een stap zijn en geen muur.
- Security als ontwerpuitgangspunt — input filtering, prepared statements, ACL-integratie, CSRF-bescherming en least-privilege-denken vanaf de eerste regel. Ons herstelwerk laat ons wekelijks zien wat slecht geschreven extensies kosten; wij bouwen het tegenovergestelde.
- Performancediscipline — efficiënte queries, verstandige caching, assets die alleen geladen worden waar ze nodig zijn, geen jQuery die uit gewoonte wordt meegesleept. Maatwerkcode hoort uw site sneller te maken dan het generieke alternatief, niet trager.
- Compliance by design — alles wat persoonsgegevens raakt wordt opgeleverd met de AVG in gedachten: dataminimalisatie, bewaartermijn-hooks, integratie met de privacytools van Joomla. Frontend-output wordt gebouwd volgens WCAG-bewuste markupstandaarden.
- Documentatie en overdracht — geschreven documentatie van wat de code doet en hoe, inline commentaar waar dat ertoe doet, en een gestructureerde overdracht. U bent nooit aan ons gegijzeld.
U bent eigenaar van de code
Onomwonden: de code die wij voor u bouwen is van u. Volledige broncode, open opgeleverd, gelicentieerd onder de GPL zoals dat bij Joomla-extensies hoort — met alles in uw handen om de code in de toekomst door elke competente ontwikkelaar te laten onderhouden of uitbreiden. Geen versleutelde bestanden, geen licentieservers die naar huis bellen, geen jaarlijks losgeld om uw eigen functionaliteit werkend te houden. Het lock-in-verdienmodel dat de extensiemarkt doortrekt is precies waar goed uitgevoerde maatwerkontwikkeling u van bevrijdt.
Hoe een project verloopt
- Verkenning. We graven door tot we weten wat u werkelijk nodig hebt — vaak eenvoudiger dan de eerste omschrijving, soms juist dieper. U ontvangt een geschreven specificatie in begrijpelijke taal: schermen, gedrag, gegevens, koppelingen, en wat expliciet buiten scope valt.
- Vaste prijs. Tegen die specificatie een vaste prijs en planning. Scopewijzigingen worden openlijk als wijziging geoffreerd — niet ontdekt op de eindfactuur.
- Bouwen in staging. De ontwikkeling vindt plaats in een staging-omgeving die u kunt meekijken. Bij grotere projecten met mijlpalen, met bij elke mijlpaal werkende software, zodat feedback komt zolang bijsturen nog goedkoop is.
- Testen en review. Eerst onze tests — functionaliteit, security, performance, de lastige randgevallen — daarna die van u, met echte taken tegen de specificatie.
- Uitrol en garantie. Beheerste uitrol naar productie, monitoring na livegang en een gebrekengarantie: gedraagt het zich niet zoals gespecificeerd, dan is het herstel onze kostenpost, geen discussie.
- Het leven daarna. Maatwerkcode heeft dezelfde zorg nodig als al het andere wanneer PHP en Joomla verder gaan. Onze onderhoudsplannen dekken de extensies die wij bouwen volgens dezelfde standaard als de rest van uw site — één partner, full stack.
Wanneer wij u afraden om maatwerk te bouwen
Soms is het juiste antwoord op "kunnen jullie dit bouwen?" gewoon "daar zou u niet voor moeten betalen." Als een onderhouden, goed gebouwde extensie al doet wat u nodig hebt, wijzen wij u erop — configureren is goedkoper dan bouwen, en we hebben genoeg van het ecosysteem geaudit om te weten welke extensies vertrouwen verdienen. Als de Joomla-core plus custom fields uw gegevens kunnen modelleren, laten we u dat eerst zien. Maatwerk is het juiste gereedschap wanneer de eis echt specifiek is voor uw bedrijf, wanneer elke bestaande optie verlaten of slecht gebouwd is, of wanneer de licentiekosten op termijn hoger uitvallen dan de kosten van een oplossing die u zelf bezit. Een deel van wat u in de verkenningsfase betaalt is een eerlijk antwoord op precies deze vraag.
De soort projecten die wij bouwen
Geanonimiseerd, maar representatief voor wat er op onze werkbank belandt:
- Componenten voor gestructureerde content in nichebranches — vastgoedportefeuilles, cursuscatalogi, wagenpark- en materieellijsten, projectoverzichten: alles waarbij de kerngegevens van het bedrijf beter verdienen dan in artikelen geperst te worden. Eigen beheer voor de medewerkers, snelle gefilterde weergaven voor bezoekers, gestructureerde data voor zoekmachines.
- Leden- en klantomgevingen — afgeschermde documentbibliotheken, klantportalen, trainingsomgevingen: de ACL van Joomla regelt de toegang, maatwerkcomponenten regelen de domeinlogica, met de AVG-implicaties van gegevensverwerking vanaf het begin in kaart gebracht.
- Aanvraag- en boekingsworkflows — meerstaps offerteconfigurators, afspraakaanvragen, aanmeldformulieren met bijlagen en routeringsregels — de conversiemachine die generieke formulierextensies benaderen maar nooit helemaal passen.
- Datapijplijnen — geplande imports vanuit ERP's, leveranciers of branchefeeds naar Joomla-content en custom tables; exports en API-endpoints die uw andere systemen voeden met de gegevens van de website. Gebouwd met queueing, foutrapportage en idempotente runs, want koppelingen vallen om 3 uur 's nachts uit en horen na zichzelf op te ruimen.
- Redactionele hulpmiddelen — bulkbewerkingen, kwaliteitscontroles op content, meertalige workflowhulpjes: kleine interne tools die een contentteam wekelijks uren besparen en nooit op de frontend verschijnen.
Als uw vraag op een van deze lijkt, wordt het specificatiegesprek kort. Lijkt die op geen enkele, dan is dat doorgaans het interessantste soort project.
Configureren, kopen of bouwen — het kader dat wij toepassen
Elke verkenning eindigt met een van drie aanbevelingen, telkens op dezelfde manier bereikt. Eerst vragen we of de Joomla-core het al kan modelleren: custom fields, categorieën, ACL en overrides dekken veel meer dan de meeste eigenaren verwachten, en de kosten van die route zijn configuratie-uren, geen software. Vervolgens of een onderhouden extensie echt past — beoordeeld op de staat van dienst en updatefrequentie van de ontwikkelaar net zozeer als op de featurelijst, want een verlaten perfecte match is slechter dan een onderhouden bijna-match. Pas daarna komt bouwen in beeld, en dat wordt beoordeeld op de totale kosten over drie jaar: vermeden licentiekosten, geëlimineerd handmatig omwerk en het risicoprofiel van afhankelijk zijn van een derde partij versus de oplossing zelf bezitten. Het kader is bewust bevooroordeeld tegen onze eigen duurste dienst — wat precies de reden is dat klanten het antwoord vertrouwen wanneer het wél "bouwen" wordt.
Moderne tooling, engineering-verantwoordelijkheid
We bouwen met actuele ontwikkeltooling — inclusief AI-ondersteunde workflows waar die de eenduidige delen versnellen — wat een van de redenen is dat onze vaste prijzen lager uitvallen dan de uurtariefrekenkunde waar klanten zich op voorbereiden. Wat nooit wordt uitbesteed is de engineering: architectuurkeuzes, security-review, testen tegen echte gegevens en verantwoordelijkheid voor het resultaat zijn menselijk, senior en van ons. Dat onderscheid telt, want de faalwijze van goedkoop gegenereerde code is precies de faalwijze die Joomla-sites zich niet kunnen veroorloven — geloofwaardig ogende extensies met injectiefouten en kapotte randgevallen. Snelheid uit tooling, correctheid uit engineers: u krijgt het kostenvoordeel zonder het risico te erven.
Waarom Joomla een sterk platform is om op te bouwen
Klanten arriveren soms in de veronderstelling dat maatwerkfunctionaliteit betekent dat ze Joomla moeten verlaten voor een losstaande applicatie. Meestal is het tegendeel waar: Joomla is een van de beste platforms qua prijs-kwaliteit om op te bouwen, juist omdat zoveel van wat een losstaande applicatie helemaal opnieuw zou moeten bouwen er al is, gehard door twee decennia productiegebruik. Gebruikersbeheer en authenticatie, inclusief MFA en passkeys. Een werkelijk krachtig toegangsrechtensysteem dat maatwerkcomponenten erven in plaats van opnieuw uitvinden. Native meertalige architectuur. Een template- en override-systeem dat uw logica scheidt van uw presentatie. Een REST API-framework om bloot te leggen wat u bouwt. Geplande taken, logging, caching, een updatemechanisme en een security-ecosysteem dat over de core waakt waar u op staat.
Een maatwerkcomponent bouwen betekent daarom dat u alleen het deel schrijft dat werkelijk van u is — de domeinlogica — terwijl u de saaie 80% erft die losstaande projecten doet zinken. Het resultaat kost een fractie van een standalone applicatie, komt sneller beschikbaar en is onderhoudbaar door de grote groep ontwikkelaars die het platform kent, niet alleen door degene die het schreef. Voor een bedrijf dat al op Joomla draait betekent het bovendien één beheeromgeving, één login, één back-upregime en één onderhoudsrelatie die alles dekt.
Security-review: wat wij controleren voordat er iets de deur uit gaat
Elke oplevering doorloopt een security-review tegen een geschreven checklist voordat die uw staging-site bereikt — dezelfde categorieën van kwetsbaarheden die ons herstelwerk ons andersom leert verwachten:
- Inputafhandeling: elke parameter server-side gefilterd en gevalideerd; typeverwachtingen afgedwongen; bestandsuploads beperkt op type, grootte en opslaglocatie buiten de webroot waar dat passend is.
- Databasetoegang: overal prepared statements — met strings opgebouwde queries komen de review niet door, punt uit.
- Output: escaping passend bij de context, zodat opgeslagen content geen opgeslagen cross-site scripting kan worden.
- Toegangscontrole: elk toegangspunt controleert rechten via de ACL van Joomla; geen security op basis van een "verborgen URL"; beheerfuncties verifiëren tokens tegen request forgery.
- Gegevensbescherming: velden met persoonsgegevens geïnventariseerd, bewaargedrag gedefinieerd, en integratie met de privacytools van Joomla waar het component iets over personen opslaat.
- Foutgedrag: fouten nuttig gelogd zonder interne details naar bezoekers te lekken; koppelingen degraderen netjes wanneer de externe kant zich misdraagt.
Niets hiervan staat op een featurelijst, wat precies de reden is dat zoveel commerciële extensiecode het overslaat. Het is ook de reden dat "we kopen gewoon iets goedkoops" achttien maanden later soms een hersteltraject wordt.
Hoe het meest voorkomende project werkelijk begint
Het archetypische maatwerktraject begint niet met een specificatie — het begint met een spreadsheet. Ergens in het bedrijf staat een Excel-bestand (soms een Access-database, soms een heldhaftig gedeeld document) dat stilletjes operationele infrastructuur is geworden: de vastgoedlijst, het cursusrooster, het materieelregister, de ledenlijst. Eén persoon onderhoudt het, een tweede mailt erom, en de website toont er een verouderde, opnieuw overgetypte kopie van.
Het project, juist begrepen, is het verplaatsen van die spreadsheet naar de website als gestructureerde data met een gebruiksvriendelijk beheer: kolommen worden velden, rijen worden records, de "wil je de site even bijwerken"-mail wordt een opslaan-knop, en de openbare pagina's renderen live vanuit de ene bron van waarheid — gefilterd, doorzoekbaar en gemarkeerd voor zoekmachines. De verkenning voor deze projecten gaat snel, want de spreadsheet is het datamodel, licht opgeschoond. Herkent u uw bedrijf in deze alinea, dan hebt u de eerste versie van de specificatie al; neem de spreadsheet mee naar het eerste gesprek.
Mijlpalen, inzicht en grip houden
Bij bouwprojecten van langer dan een paar weken loopt het project in mijlpalen die u kunt zien en bijsturen. Elke mijlpaal levert werkende software in staging — geen statusrapporten over software — zodat feedback komt tegen het echte ding, terwijl van koers veranderen nog goedkoop is. U weet altijd drie dingen: wat nu af en testbaar is, wat hierna wordt gebouwd, en of er iets boven water is gekomen dat de prijs raakt (dat gaat op schrift de dag dat we het weten, nooit op de eindfactuur). Tussen mijlpalen is de communicatie asynchroon en licht — een korte schriftelijke update verslaat voor de meeste klanten een terugkerend overleg, al sluiten we graag bij het uwe aan als uw projectsturing een gezicht wil zien. De bedoeling is simpel: een maatwerkbouw hoort te voelen alsof u uw software zichzelf op schema ziet samenstellen, niet alsof u naast een gesloten werkplaatsdeur wacht en hoopt dat de raming standhoudt.
Overdracht: wat u daadwerkelijk ontvangt
De opleverdag omvat standaard: de volledige broncode in een installeerbaar pakket; geschreven documentatie over wat de extensie doet, hoe de onderdelen samenhangen en hoe routinetaken worden uitgevoerd; een beheerdershandleiding die uw team zonder ons kan volgen; het datamodel gedocumenteerd voor wie het hierna bevraagt of uitbreidt; en de security- en configuratienotities die een toekomstige ontwikkelaar of auditor wil hebben. We bieden ook een opgenomen walkthrough-sessie voor uw team. De maatstaf die wij onszelf opleggen is recht voor zijn raap: een competente Joomla-ontwikkelaar die ons nooit heeft ontmoet, moet het op basis van de documentatie alleen kunnen overnemen. Dat is wat het bezitten van uw software in de praktijk betekent — en het is de standaard die de oorspronkelijke bouwers van de verouderde componenten die wij redden, nooit haalden.
Wat het kost
Maatwerk wordt op basis van de specificatie tegen een vaste prijs geoffreerd, nooit als open-eind uurwerk dat wegdrijft. De bepalende factoren zijn de scope (een weergavemodule is dagen; een volledig component met beheer, frontend en koppelingen is weken), het aantal betrokken externe systemen, datamigratie vanuit verouderde structuren, en de diepgang van het testen die de toepassing vraagt. Twee eerlijke kaders om mee te begroten: zet het af tegen de meerjarige kosten van licentiëren, vechten met en omheen werken van een slechte match — en tegen de operationele kosten van het handmatige proces dat de software vervangt. Goed gericht maatwerk is op een termijn van drie jaar doorgaans de goedkoopste optie, en dat is het juiste perspectief voor software die u bezit.
Veelgestelde vragen
Wie is eigenaar van het intellectueel eigendom?
U ontvangt de volledige broncode met volledige rechten om die te gebruiken, aan te passen en het onderhoud aan anderen op te dragen, onder de GPL-licentie die Joomla-extensies regelt. Niets is geobfusceerd en niets is aan ons gekoppeld.
Kunnen jullie een maatwerkcomponent overnemen dat iemand anders heeft gebouwd?
Ja — dit is een van de meest voorkomende verzoeken die we krijgen. We auditen de bestaande code, documenteren wat die werkelijk doet (vaak de eerste documentatie die hij ooit heeft gehad), en onderhouden hem vervolgens, refactoren hem of herbouwen hem op een modern fundament, afhankelijk van zijn staat en uw plannen. Blokkeert hij momenteel een versie-upgrade, dan wordt de herbouw meegenomen als onderdeel van het upgradeproject.
Overleeft jullie maatwerkcode de Joomla-updates?
Dat is precies het doel van bouwen volgens native moderne architectuur. Kleine Joomla-updates horen hem nooit te breken; grote versieovergangen zijn geplande gebeurtenissen, en code geschreven volgens de conventies van Joomla 5/6 komt er met minimale moeite doorheen. Wij onderhouden wat we bouwen door die overgangen heen onder onze onderhoudsplannen.
Werken jullie samen met onze interne ontwikkelaar of ons bureau?
Probleemloos. We kunnen een afgerond extensie aan uw team opleveren, bouwen volgens hun conventies, hun Joomla-werk reviewen, of optreden als de Joomla-specialisten binnen een groter project. Voor bureaus is dit vastgelegd in onze white-label-partnerschap-dienst.
Kunnen jullie een NDA tekenen?
Ja. De verkenning raakt vaak uw interne processen en gegevens; geheimhoudingsovereenkomsten zijn voor ons routine, en als EU-bedrijf gebeurt alles onder EU-jurisdictie en met AVG-conforme verwerking.
Hoe lang duurt een typisch project?
Kleine modules en plugins: één tot twee weken. Middelgrote componenten of koppelingen: drie tot zes weken. Grotere applicaties: per mijlpaal geoffreerd. De specificatiefase vertelt u het precies, voordat u zich vastlegt.
Bindt maatwerkcode ons aan jullie hosting?
Nee. Alles wat wij bouwen draait op elke correct geconfigureerde moderne Joomla-hosting — we documenteren de vereisten (PHP-versie, extensies, instellen van geplande taken) als onderdeel van de oplevering. Klanten op onze managed hosting krijgen simpelweg het gemak dat de omgeving al klopt, en één partner die verantwoordelijk is voor de hele stack.
Kunnen jullie een extensie bouwen die we willen verkopen of distribueren?
Ja — geproductiseerde extensieontwikkeling is een ander vak (installerverpakking, updateservers, configuratie voor onbekende omgevingen, documentatie voor vreemden) en we scopen het ook als zodanig. Dezelfde engineeringstandaarden gelden; het verschil is bouwen voor duizend onbekende sites in plaats van één bekende.
Wat als we zes maanden na oplevering wijzigingen nodig hebben?
Dat is normaal en daar is op gerekend: gedocumenteerde code, een geschreven specificatie om aan te passen, en de oorspronkelijke engineers beschikbaar. Kleine wijzigingen worden als klein werk geoffreerd; grotere ontwikkelingen krijgen een herziene specificatie. Extensies onder een onderhoudsplan krijgen daarnaast compatibiliteitsupdates naarmate Joomla en PHP verder gaan — het verschil tussen software die ooit één keer af was en software die af blijft.
Vertel ons wat u gebouwd wilt hebben
Beschrijf het probleem — niet de oplossing; de oplossing is ons werk. We komen terug met een eerlijke beoordeling: configureren, kopen of bouwen, en wat elke route kost.