Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Nova Ckeditor4 Field Laravel Package

waynestate/nova-ckeditor4-field

A Laravel Nova field that integrates the CKEditor 4 WYSIWYG editor into your admin panel. Add rich text editing to any Nova resource with configurable toolbars, image and file uploads handled through Nova, and straightforward customization for content-heavy applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature scoping — "do we ship rich text editing this quarter?" If your admin surface is Laravel Nova, this package collapses a multi-day field-integration task into a composer require plus a CKEditor4::make() call. That makes "yes, add WYSIWYG to the content model" a low-cost scope decision rather than a sprint-sized commitment.
  • Build vs. buy (buy → fork). The package is a thin, MIT-licensed wrapper around a field class and CKEditor 4 assets. The realistic build option isn't "write it from scratch," it's "copy this and own it." Either way the effort is small, so the decision hinges on maintenance appetite, not cost.
  • Migration and consolidation. Strongest use case: you already have CKEditor 4 in a legacy app — existing HTML content, custom plugins, toolbar presets, stylesheets — and you're moving the admin into Nova. This preserves editorial muscle memory and avoids a content re-authoring project that a CKEditor 5 migration would otherwise trigger.
  • Use cases worth evaluating it against: marketing/CMS-style pages edited by non-technical staff, blog or news content, help-center/knowledge-base articles, email template bodies, and internal policy documents — anything where an editor expects tables, source view, and paste-from-Word behavior.
  • Roadmap sequencing / stopgap framing. Treat it as a tactical enabler: unblock content editing now, schedule the editor modernization as explicit later roadmap work rather than letting a legacy editor silently become permanent infrastructure.

When to Consider This Package

Adopt when:

  • Laravel Nova is already the committed admin layer (this package has no value outside Nova).
  • You have a concrete CKEditor 4 dependency — legacy content, custom plugins, or an existing CKEditor 4 LTS license — that makes editor parity cheaper than editor migration.
  • You're comfortable with a 60-ish-star, single-maintainer, zero-dependent package and are prepared to fork it (MIT makes this trivial). Vendor support is not part of the deal. 2.0.1 brought a first-time outside contributor, which is a mild positive signal but does not change the maintenance concentration risk.
  • Your content authors are trusted internal users, and you sanitize/validate HTML on output server-side rather than relying on the editor as a security boundary.
  • The team can absorb Nova major-version upgrades itself — pin the package, verify compatibility on each Nova bump.

Look elsewhere when:

  • You're greenfield with no CKEditor 4 investment. CKEditor 4 is end-of-life upstream (commercial LTS is the only supported path), and multiple XSS advisories have landed against it. Starting new on it is borrowing risk for no gain — evaluate CKEditor 5, TipTap, or a maintained Nova field instead.
  • Security, accessibility, or compliance review is a gating requirement. EOL editor code plus a low-visibility wrapper is a hard sell to a security reviewer, and the audit trail (one maintainer, few stars, no dependents) won't reassure them.
  • You need a support contract, SLA, or indemnification.
  • You aren't on Nova — this is a Nova-shaped tool, not a general Laravel form field.
  • You need proven ecosystem validation. Zero dependents and a low composite score mean you are effectively the first serious adopter; budget accordingly for discovering the sharp edges yourself.

Upgrading from 2.0.0: 2.0.1 changes the model-write path — fillAttribute now defers to Nova's parent implementation instead of intercepting the value. That's a compatibility fix, not a feature: it should make the field behave more predictably with fillUsing, field defaults, nullable columns, and dependent fields. It is a patch release with no migration step, but it is a behavioral change on persistence, so re-verify on staging: that empty editor content still writes the value you expect (empty string vs. null), that any existing fillUsing callback still wins, and that stored content matches pre-upgrade output. If you had quietly come to rely on the old interception, that reliance is now a bug in your app, not in the package.

How to Pitch It (Stakeholders)

To executives: This is a small, free (MIT) integration that lets our existing Nova admin support formatted content editing in days instead of weeks, and it preserves any CKEditor 4 content and authoring workflows we already have. It's low-cost and low-commitment — we can fork it if the maintainer walks away. The trade-off to acknowledge up front: the underlying editor is legacy and end-of-life, so this is a bridge, not a destination. Recommend approving it as a tactical unblock with an explicit follow-on item to modernize the editor.

To engineering: A thin Nova field wrapper around CKEditor 4 — one field class plus front-end assets, config passthrough for toolbar/plugins. No black box, no exotic dependencies, MIT so forking is a legitimate maintenance strategy. 2.0.1 is a one-line-of-intent fix: the field now returns the parent fillAttribute result by default, meaning Nova owns how values land on the model rather than the field overriding it — good for defaults/fillUsing/nullable interop, but confirm empty-content persistence before shipping. Two non-negotiables: sanitize HTML server-side on render (do not treat the editor as a trust boundary), and pin the version with a documented re-verification step on every Nova upgrade. If we need supported CKEditor 4 past the LTS window, that's a licensing line item, not a code one.

Risk summary to carry into the decision: single maintainer, negligible adoption signals, upstream editor EOL with a history of XSS advisories, an implicit coupling to Nova's release cadence, and — as of 2.0.1 — a persistence-path behavior change in a patch version. All manageable for an internal, trusted-author admin tool; none acceptable for a customer-facing or regulated surface.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package