- What is numaxlab/nova-ckeditor5-classic?
- It is a Laravel Nova field package that integrates the CKEditor 5 Classic rich-text editor as a ready-to-use WYSIWYG field for Nova resources and forms. Architecturally it is a thin Nova field: a PHP Field subclass that hands off to a compiled Vue component wrapping a bundled CKEditor 5 Classic build. It stores plain HTML in a database column you own, so the data model outlives the integration.
- How do I install numaxlab/nova-ckeditor5-classic?
- Install it with Composer using numaxlab/nova-ckeditor5-classic, register the field on your Nova resource, and publish the package assets. Mechanically the install is trivial, but the real work is validating version constraints before you commit. On a Nova 3 stack with compatible Laravel and PHP versions it can be installed as-is.
- Does nova-ckeditor5-classic support Laravel Nova 4 or Nova 5?
- No. The last release was January 2021, which places it squarely in the Nova 3, Laravel 8, and PHP 7.x–8.0 window. Nova 4 introduced Vue 3 and Inertia and Nova 5 continued reworking the field component contract and front-end toolchain, so a Nova 3 field component is not expected to mount correctly. Treat it as a port or rewrite rather than an install on any supported Nova release.
- Which Laravel and PHP versions does this package support?
- Its declared support window is Nova 3.x, Laravel 8, and PHP 7.4–8.0, with asset tooling built on Nova 3-era Mix conventions. The Composer constraints are pinned to that era and will not declare support for Laravel 9 through 12 or PHP 8.1 and newer. On newer stacks you should expect to fork and relax composer.json, or vendor the source into your application.
- Is nova-ckeditor5-classic still maintained?
- No. The repository is archived, the last release was January 2021, and the project has a single maintainer, roughly 38 stars, no CI signal, and no test suite. There is effectively no community to inherit a fork from. Any continued use needs an explicit fork-and-own commitment with a named engineer and a review cadence.
- What license applies to the bundled CKEditor 5 build?
- The package repository itself is MIT, but the vendored CKEditor 5 Classic build carries its own terms: GPL-2.0-or-later or a commercial license from CKSource. For an internal-only admin panel the practical exposure is low. For anything distributed, resold, or bundled into a client deliverable, this needs a legal read before you ship it.
- Is it safe to keep using the old bundled CKEditor 5 build?
- The CKEditor build is frozen at a 2020 or 2021 version, and CKEditor 5 has since taken XSS and paste-handling advisories. With an archived repository there is no CVE response path, so you inherit that patching obligation yourself. Regardless of the editor, always sanitize HTML server-side because you should never trust rich-text field output.
- How do I add the CKEditor5 field to a Laravel Nova resource?
- Register the package's field class in your resource's fields method, the same way you would add any other Nova field. The package has no service provider magic and no database migrations, so there is no extra wiring beyond registration and asset publishing. The value it stores is plain HTML in a column you define yourself.
- What are the alternatives to nova-ckeditor5-classic for rich text in Nova?
- For Nova 4 or Nova 5, choose a maintained Nova-native editor field or build a thin wrapper around a current CKEditor 5 release. If your authoring needs are modest, a plain textarea or sanitized HTML field may be sufficient. Otherwise, the realistic options are adopt-and-fork the existing package or replace it outright.
- Can I fork nova-ckeditor5-classic and maintain it myself?
- Yes. The recommended path is to vendor the repository into packages/ or a private VCS, rename the namespace, relax the Composer constraints, and rebuild the CKEditor bundle from a current CKEditor 5 release under your own license terms. Budget roughly two to four engineer-days for the initial fork plus a recurring maintenance tax. You also need a named owner and review cadence because there is no upstream community to rely on.