
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.
Voorbeeld 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.
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.