webwizo/laravel-shortcodes-filament
Filament panel integration for webwizo/laravel-shortcodes. Adds admin resources and pages to create, edit, and organize shortcodes from your Filament dashboard, letting editors manage dynamic content snippets, attributes, and previews without touching code.
Architecture fit: v1.0.1 strengthens the package’s fit for Laravel applications using Filament as an admin/content surface. The type field formalizes two modes: Static shortcodes for safe, reusable HTML templates and Dynamic shortcodes for live database-backed content. This is a useful TPM-level capability because it lets content editors compose reusable snippets without engineering deploys, while gating database-backed behavior behind an explicit shortcode type.
Integration feasibility: The upgrade requires a schema change: publish the package migrations and run php artisan migrate to add the type column to the existing shortcodes table. The package also exposes a Facade (Webwizo\ShortcodesFilament\Facades\Shortcode) for compile(), strip(), register(), and related operations, which improves developer ergonomics. Integration is feasible for a Laravel/Filament stack, but must be staged because existing shortcodes need a deliberate default/backfill decision for type.
Technical risk: The release fixes a real functional bug in dynamic data source lookup, so dynamic shortcodes that previously returned nothing should begin resolving data after upgrade. That is desirable but is still a behavior change and should be tested against existing content. Missing, invalid, or soft-deleted lookup values now render nothing instead of exposing raw {{db.*}} placeholders; this is safer for end users but can create silent blank sections if editors misconfigure data. The migration command uses --force, which can overwrite already-published migration files; production rollout should avoid uncontrolled forced publishing. Early v1.0.1 maturity also warrants version pinning and rollback planning.
Key questions:
type for existing shortcodes after migration, and does the package backfill it safely?type migration or dynamic behavior causes production content issues?Stack fit: This package fits a Laravel + Filament application where TPMs want to give content/admin users controlled shortcode composition. Static shortcodes are low-risk and suitable for broader editor access. Dynamic shortcodes should be treated as a governed capability because they attach live database sources and can affect performance, data exposure, and content correctness.
Migration path: Treat v1.0.1 as a minor release with an operational migration, not a drop-in patch. In staging: update the package, publish migrations under version control, inspect the generated migration, run php artisan migrate, backfill or confirm the type value for existing shortcodes, then test static and dynamic shortcodes. The documented --force command should only be used where overwriting published migration files is intentional and reviewed.
Compatibility: Validate the package against the application’s PHP, Laravel, Filament, and database versions before rollout. Confirm the type column definition is compatible with existing table size and indexing needs. Confirm whether existing shortcode records without a type are treated as Static by default or require explicit remediation.
Sequencing:
--force unless the runbook explicitly requires it.type values, usually defaulting existing simple templates to Static unless they are known dynamic sources.compile(), strip(), register(), and Facade imports.id="".Maintenance: The package now carries a schema dependency on the shortcodes.type column. Future upgrades may require additional migrations, so migration files should be version-controlled and applied through the normal deployment pipeline. Pin the package version and review release notes before upgrading, especially while the package is at v1.0.x.
Support: Content editors will need guidance on choosing Static versus Dynamic and on supplying required lookup attributes. Support teams should know that missing, invalid, or soft-deleted lookup values intentionally render nothing; this prevents broken placeholder output but can look like a content bug. Provide a troubleshooting path for blank dynamic shortcodes.
Scaling: Static shortcodes are cheap template rendering. Dynamic shortcodes can introduce database reads during content render, potentially per shortcode instance. TPMs should limit dynamic shortcode use to approved cases, ensure lookup columns are indexed, and confirm whether rendering is cached. High-traffic pages with multiple dynamic shortcodes should be load-tested.
Failure modes: Key failure modes include migration issues from forced publishing, existing shortcodes lacking an appropriate type, dynamic shortcodes silently rendering blank after lookup failures, templates breaking because empty attributes are no longer emitted, and production content relying on raw {{db.*}} placeholders that will now be suppressed. These are mostly safer behaviors, but they require staging validation and editor communication.
Ramp-up: Developer ramp-up is low because the package uses familiar Laravel/Filament patterns and the Facade improves IDE support. Content-ops ramp-up is low for Static shortcodes and moderate for Dynamic shortcodes, where editors need clearer rules, examples, and approval boundaries. TPM should position Dynamic shortcodes as a governed feature rather than an unrestricted editor capability.
How can I help you explore Laravel packages today?