presta/cms-ckeditor-bundle
Integrates the CKEditor WYSIWYG editor into PrestaCMS, a Symfony-based content management system. This bundle wires rich text editing into CMS pages with configurable toolbars and editor options, installed via Composer and enabled in the Symfony kernel.
Architecture fit
The package is not a Laravel package — it is a Symfony 2-era bundle (PrestaCMSCKEditorBundle) built for PrestaCMS, a discontinued Symfony CMS distribution. It has no service providers, no facades, no Laravel package discovery, and no Composer autoload contract compatible with a Laravel application. Its integration points are Symfony-specific: bundle registration in AppKernel, DI container configuration, Twig form themes, Assetic/asset publishing, and hard coupling to sonata-project/media-bundle and PrestaCMS page routing. Architectural fit against a Laravel codebase is effectively zero.
Integration feasibility Not feasible as a drop-in dependency in Laravel. Making use of it would require porting the CKEditor form type, the SonataMedia browsing integration, and the page-link picker into Laravel equivalents (Blade, Livewire/Inertia, a media library, and a route-aware link inserter). At that point the upstream code contributes almost nothing — the value is the idea, not the implementation. If the target is a legacy PrestaCMS/Symfony 2 estate, it is installable only against pinned PHP 5.x/7.0-era constraints.
Technical risk Very high, bordering on unacceptable:
AppKernel, and Resources/public asset conventions are removed or deprecated in Symfony 4+; Twig form theme syntax has changed.Key questions
Stack fit Poor. This is Symfony 2 + Twig + Assetic + Sonata. Laravel needs a Blade/Vue/React-rendered editor with a Laravel-side upload and media endpoint. The bundle's genuine capability — a CKEditor plugin that lets authors embed SonataMedia assets and link to CMS pages via a picker — has clean modern analogues.
Migration path
spatie/laravel-medialibrary for assets, and a link-picker endpoint that resolves Laravel named routes rather than Symfony CMF page IDs.Compatibility Requires PHP 5.x-era runtime and Symfony 2.x components; incompatible with PHP 8.x and Laravel 8–11. CKEditor version bundled is legacy and will not share config or plugin API with CKEditor 5.
Sequencing Discovery of actual requirement → architecture decision record rejecting the package → editor and media-library selection → link-picker and upload API → content migration (if legacy data exists) → decommission. Budget one spike (1–2 days) to confirm no hidden institutional dependency on the bundle before closing it out.
Maintenance Zero upstream maintenance and no realistic prospect of it. Any use implies an internal fork with full ownership of PHP upgrades, CKEditor security updates, and SonataMedia patches — a permanent tax for a UI feature that has well-supported off-the-shelf solutions.
Support No vendor, no community, 2 stars, 0 dependents. Incident triage would rest entirely on internal engineers reverse-engineering 2014 Symfony conventions. No documentation beyond the README.
Scaling Largely irrelevant — an editor integration is not a scaling bottleneck. The real scaling concern is editorial throughput and asset storage, which the modern stack handles better (CDN-backed media library, async uploads, responsive image conversions) than a 2014 Assetic pipeline.
Failure modes
Resources/public symlinks.Ramp-up Low effort to read, high effort to trust. A new engineer needs no time to learn the package (it does little) but significant时间 to establish that it is safe — and the correct conclusion is that it is not. Recommend a short ADR and immediate substitution with a maintained editor plus a Laravel-native media and link-picker service.
How can I help you explore Laravel packages today?