sonata-project/doctrine-phpcr-admin-bundle
Integrates Doctrine PHPCR with SonataAdminBundle for Symfony, enabling admin interfaces for PHPCR documents. Includes docs and CI badges, but note: this repository is abandoned with no active support; contributions welcome.
doctrine_phpcr).sonata_admin).document_tree, cmf_tree).edit_phpcr_many_to_one.html.twig) is possible but may require adjustments for newer Symfony/Twig versions.| Risk Area | Severity | Mitigation |
|---|---|---|
| Abandoned Maintenance | High | Fork the repository or allocate resources for patches. Monitor for Symfony 5/6+ compatibility. |
| Symfony 5/6+ Compatibility | High | Test thoroughly; expect deprecation warnings or breaking changes (e.g., Symfony’s config component). |
| PHPCR-ODM Version Lock | Medium | Bundle targets PHPCR-ODM v2.0; ensure your PHPCR setup aligns (e.g., Jackrabbit 2.x). |
| Twig/Sonata Template Changes | Medium | Update template paths (e.g., SonataDoctrinePHPCRAdminBundle:CRUD:...) to namespaced syntax (v2.1.1+). |
| ACL/Permission Gaps | Medium | Sonata’s ACL editor is supported, but custom PHPCR permissions may require extensions. |
| Performance at Scale | Low | PHPCR can be slow for deep hierarchies; optimize with indexes and caching (e.g., Varnish). |
Symfony Version:
PHPCR Backend:
root_node, repository_name).SonataAdmin Maturity:
Hierarchy Complexity:
Long-Term Maintenance:
Alternatives Evaluated:
Customization Needs:
sonata-project/core-bundle (^3.8–^3.14).sonata-project/doctrine-phpcr-odm-admin (for PHPCR-ODM integration).doctrine/phpcr-odm (v2.0+).symfony/config 4.2+).composer require sonata-project/doctrine-phpcr-admin-bundle
config/bundles.php:
SonataDoctrinePhpcrAdminBundle\SonataDoctrinePhpcrAdminBundle::class => ['all' => true],
config/packages/doctrine_phpcr.yaml):
doctrine_phpcr:
document_managers:
default:
backend:
type: "doctrine_phpcr_odm_backend"
# Jackrabbit/Sling config here
odm:
auto_mapping: true
auto_generate_proxy_classes: "%kernel.debug%"
src/Admin/PageAdmin.php):
use Sonata\DoctrinePhpcrAdminBundle\Admin\AbstractPhpcrAdmin;
class PageAdmin extends AbstractPhpcrAdmin {
protected $documentClass = 'App\Document\Page';
protected $parentDocumentClass = 'App\Document\Folder';
protected $baseRouteName = 'page';
protected $baseRoutePattern = 'page';
}
config/routes.yaml):
sonata_doctrine_phpcr_admin_tree:
resource: "@SonataDoctrinePhpcrAdminBundle/Resources/config/routing/tree.xml"
prefix: /admin
templates/SonataDoctrinePHPCRAdminBundle/CRUD/edit_phpcr_one_to_one.html.twig) for custom UI.| Component | Compatibility | Notes |
|---|---|---|
| Symfony | 3.4–4.4 (tested) | Symfony 5/6 untested; may need patches. |
| SonataAdminBundle | 2.3+ | Requires SonataAdmin’s core features (e.g., ACL, CRUD). |
| PHPCR-ODM | 2.0+ | Bundle targets v2.0; ensure your setup matches. |
| Twig | 2.x (namespaced syntax) | Older Twig versions may break template rendering. |
| PHP | 7.1+ | PHP 5/7.0 dropped in v2.2.0. |
| Jackrabbit/Sling | Tested with PHPCR backends | Configuration varies by backend. |
How can I help you explore Laravel packages today?