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 Tinymce Laravel Package

marshmallow/nova-tinymce

A TinyMCE rich-text editor field for Laravel Nova, adding a WYSIWYG input to Nova forms so you can create and format content with familiar TinyMCE editing tools.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Rich-text authoring inside Nova: Decides whether content editors (marketing, support, catalog) can draft and format HTML directly in the admin instead of asking engineering for copy changes.
  • Build vs. buy for WYSIWYG: A thin Nova field integration that saves the custom-field work of wiring TinyMCE, toolbar options, and inline image upload. The build alternative is a bespoke Nova field plus media endpoint.
  • Content operations roadmap: Helps choose between extending Nova as a lightweight CMS versus investing in a dedicated/headless CMS. This package is appropriate for low-volume, internal authoring; it is not a content-platform strategy.
  • Media handling policy: Forces decisions on where inline images are stored (local disk vs. S3), who can upload, file size/type limits, retention, and whether images need transforms/CDN delivery.
  • Feature scoping: Useful for admin-only capabilities such as blog drafts, product descriptions, email templates, help-center articles, and internal documentation — not customer-facing page builders or collaborative editing.
  • Risk posture: With 3 stars and 0 dependents, adopting it is a tactical, reversible decision rather than a platform commitment; plan to vendor/fork if the feature proves valuable. v2.3.2 is the minimum acceptable version — earlier releases register assets under capitalised names that 404 on hosts or middleware that lowercase URLs, which silently kills every Nova form using the field (saves fail client-side with no server-side error).
  • Operational debuggability: The v2.3.2 incident is a reminder that this field can fail entirely in the browser without a request ever reaching the app. Budget for client-side verification (console checks, an end-to-end "can an editor save?" smoke test) as part of rollout, not just server-side monitoring.

When to Consider This Package

Consider it when:

  • The product already runs Laravel Nova and the team wants TinyMCE specifically — familiar editor UX, configurable toolbar/plugins, paste behavior — rather than Nova’s default Trix or Markdown fields.
  • The authoring audience is small and internal, content is stored as HTML in a text column, and a few days of integration effort matters more than long-term vendor support.
  • Inline image upload to the application server is acceptable, with the team able to add validation, authorization, storage configuration, and HTML sanitization around it.
  • The team is willing to pin the version (v2.3.2 or later), review the source, and own maintenance — there is no meaningful community safety net at this adoption level.

Look elsewhere when:

  • You need an SLA, security review artifacts, enterprise support, or a maintained package with a dependent ecosystem.
  • Requirements include multi-tenant media isolation, image transformations/CDN, collaborative editing, versioning, or strict content sanitization guarantees.
  • TinyMCE premium plugins or TinyMCE Cloud are required; those are separate commercial decisions even though the package itself is MIT.
  • Nova’s native field or a more actively maintained Nova editor package satisfies the need with less supply-chain risk.
  • The content is customer-facing or regulatory-sensitive; a low-adoption admin package should not become the control point for public content integrity.
  • Your delivery path normalises URL case (SEO/canonicalisation middleware, some CDNs and proxies, certain managed hosts). On such stacks the pre-2.3.2 failure mode is total and silent; only adopt on v2.3.2+ and verify a save end-to-end before wider rollout.

How to Pitch It (Stakeholders)

Executives: This is a low-cost, MIT-licensed add-on that gives editors a familiar Word-like writing experience inside our existing Nova admin, including inline image upload. It can reduce engineering interruptions for copy changes and improve content velocity without buying a new CMS. The trade-off is maturity: tiny adoption and a single-maintainer profile mean we should pilot it for one internal content type, not make it a platform dependency. The latest patch (v2.3.2) fixes a defect that silently broke all admin form saves on hosts that lowercase URLs — a good signal the maintainer is responsive, and a reminder to pin versions and smoke-test saving. Success looks like editor adoption, fewer copy-change tickets, and no security or upgrade incidents.

Engineering: The integration surface is small — a Nova field wrapper around TinyMCE plus an image upload path. Install v2.3.2 or later; earlier versions register the Nova-TinyMCE assets under capitalised names, which 404 when a host, CDN, or middleware (e.g. SEO canonicalisation 301s) lowercases URLs, leaving the Vue component unregistered and every affected form failing on submit with TypeError: t.fill is not a function — with no server-side request or log line. The upgrade is drop-in: only the three asset names changed; component names and the $component contract with the built dist/ bundle are untouched. Beyond that, harden the upload endpoint (auth, MIME/size validation, storage disk, filename handling), sanitize stored HTML on render, pin the package version, and add tests covering field configuration, media cleanup, and an end-to-end "editor can save the form" check to catch client-side-only failures. Because there are no dependents, budget for forking or wrapping the package if Nova upgrades break it. Estimate: hours to integrate, a few days to harden, document, and add the save smoke test.

Recommendation: Run a time-boxed pilot on one low-risk content type, on v2.3.2+, with an end-to-end save test in CI. Measure author adoption, support tickets, and maintenance effort. Revisit the build-vs-buy decision if content volume, compliance requirements, media complexity, or repeated silent-failure classes outgrow what a small Nova field can safely support.

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.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource