As these components help me to build apps with ease and speed, it’s a fair reward to contribute back to them when I can. In addition to being the author and maintainer of the Doctrine MongoDB ODM compatibility layer of the Admin Bundle ; I’ve recently added some useful features to the Sonata Project and it’s time to give them more exposure.
ACL editor for the Admin Bundle
The ACL component of the Symfony framework is as powerful as complicated. The Sonata Admin bundle provides a useful integration with it allowing to restrict actions to authorized users only. What was missing was an interface to set the permissions. I’ve fixed that and this ACL editor is now provided with the Admin bundle. This is now matter of a click for an admin to give rights to users on entities.
If you want to use this feature in your project, refer to the Sonata Admin documentation that have been updated accordingly.
ACL list filtering for the admin
This is a perfect complement to the ACL editor previously described.
I’ve built a bundle called CoopTilleulsAclSonataAdminExtensionBundle (distributed separately) providing a Sonata admin extension that filter lists of entities. Only entities that the logged in user as the right to interact with are displayed.
It also works with the ACL system of the Symfony security component. The documentation is provided with the bundle.
Confirm dialog to avoid losing unsaved changes
A common pitfall with web apps is that when a link is clicked, unsaved data entered in a form is loose without warning. Thanks to the integration of my small confirmExit plugin for jQuery, the Sonata Admin no longer suffers of this flaw. This feature can be disabled through a configuration parameter.
My jQuery plugin internally use the useful
Integration of Sonata Media in CKEditor
The Sonata Media manager is the most powerful way to manage images, videos and files in Symfony powered applications. It supports YouTube, Vimeo and Dailymotion videos out of the box, image thumbnail generation and Amazon S3, FTP and CDN storage systems. It is highly extendable and is provided with a customized Sonata Admin UI.
What I missed was the ability to select and upload Media directly from CKEditor, the popular WYSYWG visual text editor. Those features is now available as a separate bundle (when I have time, I’ll move it directly in the SonataMedia bundle). The CoopTilleulsCKEditorSonataMediaBundle bundle allows to:
- Upload an image through Sonata Media directly form the CKeditor’s image dialog
- Select an existing Sonata Media file
- Create a link to a media handled with Sonata through the CKeditor’s link button
- Upload a file from the CKEditor’s link dialog
As always, the doc is included with the bundle.