Sonata admin

De toegevoegde waarde van Sonata Admin

Vrijwel elke applicatie heeft een aantal basis bewerkingsmogelijkheden die je kunt gebruiken om gegevens aan te passen. Je wilt nieuwe content toevoegen en spelfouten kunnen aanpassen. Als informatie niet meer relevant is, wil je deze kunnen verwijderen en je wilt overzichtelijk - bijvoorbeeld in lijstvorm - content kunnen bekijken. Deze basis bewerkingsmogelijkheden worden CRUD - Create, Read, Update en Delete - genoemd. Dit vormt de basis van Sonata Admin. Dit is een gratis open source ‘uitbreidingspakket’ van het Symfony framework dat we gebruiken voor back-end/beheer van oplossingen die we bouwen. In dit blog licht ik toe wat de toegevoegde waarde van Sonata Admin is. Met Sonata Admin kun je de website en content beheren. Het pakket is met name geschikt voor business applicaties. Na slechts een paar instellingen toont het overzichten en maakt het individuele items bewerkbaar. Een back-end developer kan in het platform verschillende datatypen - zoals taken, pagina's, gebruikers en producten - stoppen. Sonata Admin zorgt er vervolgens voor dat de CRUD-bewerkingen voor deze datatypen automatisch gegenereerd worden. Dat scheelt veel tijd. Tijd die kan worden gebruikt om aan andere functionaliteiten te werken.

Standaard functionaliteiten

Het prettige aan Sonata Admin is dat het veel standaard functionaliteiten heeft. Filters Sonata Admin heeft een uitgebreid filtersysteem waarmee je makkelijk kunt filteren op eenvoudige waarden, zoals producttype. Via een geavanceerde filter kun je filteren met bepaalde voorwaarden. Je kunt bijvoorbeeld filteren op producten met een voorraad van meer dan 20 stuks. Zoeken Daarnaast is er een makkelijk te configureren zoekfunctie waarbij op basis van ingestelde filters de hele database wordt doorzocht. Vanuit het resultatenoverzicht kun je direct doorklikken naar het gevonden item. Rechten Naast het automatisch genereren van de CRUD-bewerkingen, zorgt Sonata Admin er ook voor dat er per datatype verschillende toegangsrechten worden aangemaakt. Zo kun je bijvoorbeeld instellen dat een gebruiker met de rol 'medewerker' een product wel mag bekijken, maar niet mag bewerken. Dat mag bijvoorbeeld alleen een gebruiker met de rol 'teamleider'. Sonata Admin is een bundel op het Symfony framework. Daarom kun je ook gebruik maken van de standaard functionaliteit van dat framework en de toegangsrechten zo fijnmazig instellen als je nodig hebt. Exports Het is mogelijk data vanuit Sonata Admin te exporteren, zodat het ergens anders gebruikt kan worden. Je kunt kiezen uit één van de meegeleverde formaten, waaronder csv en xls, maar het systeem is zo opgezet dat je ook gemakkelijk een ander formaat kunt toevoegen. Uiteraard kun je ook hier je eigen velden kiezen, zodat je precies krijgt wat je nodig hebt. Dashboard met widgets Het dashboard - de homepage - kun je zelf inrichten door middel van widgets. Bijvoorbeeld met een grafiek waarin je kunt zien hoeveel taken de afgelopen dagen zijn voltooid of een lijstje links naar items die je aandacht vereisen, omdat de deadline binnenkort verloopt. Dashboard Sonata AdminVoorbeeld van een handmatig ingericht dashboardDatabase relaties In de meeste databases is het onvermijdelijk dat er relaties bestaan tussen de verschillende items, bijvoorbeeld een gebruiker en een team. Met Sonata Admin is het makkelijk om deze relaties te tonen, erop te filteren en verschillende items te koppelen. Je kunt bij 'team' een veld 'gebruikers' toevoegen. Door namen van gebruikers te typen, kun je deze toevoegen aan het desbetreffende team.

Makkelijk uit te breiden

Soms zijn de standaard functionaliteiten niet genoeg en heb je meer nodig. Sonata Admin heeft voor veel voorkomende functionaliteiten extra uitbreidingen uitgebracht. Zo kun je de applicatie aanpassen naar jouw behoeften. Er zijn uitbreidingen voor gebruikersbeheer, tweestapsverificatie, tekstverwerker, vertalingen, zoeken via de gespecialiseerde search engine ElasticSearch en meer.

Te gebruiken met Symfony 4

Je kunt Sonata Admin met Symfony 4 gebruiken. Sonata Admin maakt dan, waar mogelijk, gebruik van de standaard componenten. Netvlies ontwikkelt al jaren webapplicaties op het Symfony framework. Gebruik maken van Sonata Admin maakt het nog makkelijker om een applicatie te ontwikkelen.

Goed te stylen

Het design van Sonata Admin is modulair opgezet door middel van templates. Er zijn templates voor lijstweergave, formulieren, knoppen en alle andere elementen die worden gebruikt om de pagina op te bouwen. Voor de opmaak en interactieve elementen gebruikt Sonata Admin respectievelijk Bootstrap en jQuery. Dit maakt het eenvoudig om Sonata Admin helemaal naar je hand te zetten. Voor onze klanten hebben we tevens een eigen basis stijl ontwikkeld.

Bestaande oplossing vs. maatwerkoplossing

Bij de keuze tussen een bestaande oplossing of maatwerkoplossing is het belangrijk om te kijken naar de historie en activiteit van het bestaande project. Doel van het gebruik van een bestaande oplossing is het besparen van development uren nu én in de toekomst. Nu tijd besparen door een oplossing te gebruiken die niet meer wordt ondersteund is niet zinvol. In de toekomst kost het dan alsnog extra uren om de oplossing veilig te kunnen blijven gebruiken. Bij Sonata Admin zit dat wel goed. In de open source community zijn bijdragen van 500 ontwikkelaars, een uitgebreide test suite en de bundel wordt al jaren actief onderhouden. Zo is, op het moment van schrijven, enkele dagen geleden nog een update doorgevoerd met een paar kleine verbeteringen. Daarnaast wordt gewerkt aan een grote update waarna wordt verwacht dat Sonata de komende jaren nog zal worden ondersteund. En daarna is het toch ook weer tijd voor een grote update van de applicatie.

Wanneer zet je Sonata Admin in?

Sonata Admin is vooral geschikt voor applicaties die sterk leunen op de eerder genoemde CRUD-bewerkingen. Bij Netvlies spreken we dan meestal over een administratietool. Het is wel mogelijk om Sonata Admin door middel van uitbreidingspakketten te gebruiken als CMS of webshop, maar daar zijn andere gespecialiseerde alternatieven vaak beter in.

De toegevoegde waarde van Sonata Admin

Dankzij Sonata Admin kost het developers minder tijd om de beheerkant van een oplossing te bouwen. Tijd die we kunnen gebruiken om andere klant specifiekere functionaliteiten te bouwen. Gecombineerd met het eenvoudige gebruik, de standaard functionaliteiten en het gebruik met Symfony 4 is Sonata Admin een ideale tool.