Results of the Sonata Admin survey
Earlier this year, we did a little user survey to learn what people are doing with Sonata Admin in their CMF projects.
We got about ten replies with detailed inputs. In summary, we got the feedback that the admin interface feels cleaned
up because only the used features are present. Rather than other systems, where the developer has to remove everything
that is not used, CMF developers only add what is needed, leading to a cleaner interface.
Below are the questions and a summary of the responses. Where applicable, the related issues are linked:
What works well in the administration interface?
Embedding blocks into the page editing.
Navigation by content type
What does not work?
Selecting content with the tree browser is difficult. The tree browser has no filter to
only present allowed types of documents, and no typing with autocomplete.
See Tree view issues.
The admin is data type oriented, rather than content structure oriented. The tree is only
available on the home page so editors lose their context.
Media management needs to be improved to become more convenient.
What is missing?
deciding which document is online.
Better editing of tree structures (Menu, URLs)
Tool to create internal links in text fields in the admin (could be reused in frontend editing too).
See github issue.
Multidomain support, e.g. in the routing. Note: This has
since the survey was conducted.
Standard way of connecting Doctrine ORM entities with PHPCR-ODM documents and back.
There are several incomplete approaches, see this discussion.
What are your pain points while developing the admin?
Documentation of Sonata Admin is lacking. Particularly on customizing templates (figuring out template
names, missing blocks as extension points leading to overwrite large templates), for relations, and the
integration with standard symfony forms.
Too many ways to accomplish the same thing: Parameters in the service definition, overwriting
methods or properties in the admin. Each admin class does everything, difficult to reuse tables or lists.