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

Page Module Laravel Package

idavoll/page-module

A Laravel package for adding CMS-style pages to your application, with page management, routing, and Blade rendering. It integrates with Eloquent and Laravel conventions to help you create, organize, and serve editable content pages.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. idavoll/page-module is not a standalone Laravel package in the modern sense — it is a module of AsgardCMS, bound to that CMS's runtime contract: its module loader (nwidart/laravel-modules lineage), its admin menu registry, its Sentinel-based ACL (Page::permissions()), its repository/presenter conventions (prettus/l5-repository), and its translation pattern for pages / page_translations tables. The public surface a consuming application actually touches is small (a Page entity, a slug-based frontend route, a backend/page CRUD screen), but the implicit surface is the entire AsgardCMS kernel. It fits cleanly only inside an existing AsgardCMS install; it does not compose into an arbitrary Laravel application without dragging the CMS in behind it.

Integration feasibility. Low. Three independent blockers: (1) the upstream CMS is effectively dormant, so version pins resolve to Laravel 5.x / PHP 7.x era code; (2) Dependents: 0 and Stars: 0 means there is no ecosystem evidence — no forks, no issue threads, no third-party fixes — that anyone has run this against anything; (3) License: NOASSERTION is a hard stop for most enterprise legal reviews until a human reads the actual LICENSE file, because absent an explicit grant, default copyright applies and we have no redistribution or derivative rights. The score: 0.67 and opportunity: 23.22 are consistent with this: the package is a historical artifact, not a candidate dependency.

Technical risk. High and concentrated in security and maintenance. A Laravel 5.x dependency chain is past end-of-life and receives no security patches — every CVE in the framework, Sentinel, and the PHP runtime is permanently open. Secondary risk is silent breakage: module loader and facade resolution fail in non-obvious ways on PHP upgrades, and the failure mode is a blank admin screen rather than a stack trace. Tertiary risk is knowledge: the AsgardCMS documentation set has largely rotted, so debugging is archaeology.

Key questions. (a) Is the target application an existing AsgardCMS deployment we must keep alive, or a new build? This single answer changes the recommendation entirely. (b) What does the LICENSE file actually say — MIT, custom, or nothing? (c) Is idavoll/page-module a hard fork of asgardcms/Page, and if so, what did it change? (d) Which Laravel and PHP minors are pinned in composer.json? (e) Who owns this code path today, and is there a funded plan to exit it?

Integration Approach

Stack fit. For a greenfield Laravel 10/11/12 product, there is no fit — the correct move is to model Pages directly: a pages table with a translatable title/slug/body and a Filament or Nova resource for authoring. That is roughly one to two days of work and eliminates the entire dependency chain, the unknown license, and the EOL framework. For a legacy AsgardCMS install, fit is native but terminal.

Migration path. Treat this as a content extraction problem, not a code port. Snapshot the pages and page_translations tables, map them to the target schema (the translation table is the only non-obvious piece — one row per page per locale, keyed by page_id and locale), and re-implement the frontend route with a straightforward Route::get('{slug}') plus a fallback resolver. Preserve slugs verbatim and keep a redirect map; that is the only part with SEO consequences. Do not attempt to shim the AsgardCMS repository interface into a modern app — the abstraction buys nothing and the caching decorators actively obscure behavior.

Compatibility. If you must run it in place, pin the full stack atomically (PHP 7.4, the exact Laravel minor, the exact Sentinel and module-loader versions) and run it in a container so the host environment cannot drift underneath you. Freeze composer.json and commit composer.lock; disable automated dependency updates on this repository entirely.

Sequencing. (1) Read the license and get a legal disposition — this gates everything. (2) Inventory the live dependency tree and confirm which Laravel/PHP versions actually resolve. (3) Containerize and snapshot the current instance as the rollback target. (4) Build the parallel modern implementation behind a feature flag. (5) Export content, verify slug parity and translation completeness, run both in read-only comparison. (6) Cut over, keep the legacy container warm for one release cycle, then decommission.

Operational Impact

Maintenance. Effectively unmaintained upstream. There will be no security releases, no PHP-version compatibility work, and no bug fixes we did not write ourselves. Every hour spent on this module is an hour we own forever; budget it as internal fork maintenance, not as dependency consumption.

Support. Zero. No maintainer activity, no issue history worth reading, no community to escalate to. The internal owner must be named explicitly, with a documented escalation path — "whoever touched it last" is not an operating model.

Scaling. Adequate for a content site; the bottleneck is the CMS monolith and its MySQL schema, not this module. Page reads are cached through the repository decorator layer, so traffic scaling is a cache-configuration exercise. Authoring throughput and admin UX are the real limits.

Failure modes. Ranked by likelihood: (1) admin UI renders blank after a PHP or dependency bump — module loader or facade failure; (2) Sentinel permission drift locks editors out of backend/page; (3) translation rows orphan on partial saves, producing pages that exist in one locale only; (4) unpatched framework vulnerabilities accumulate silently with no upgrade path; (5) composer resolution breaks irrecoverably once a transitive package is yanked from Packagist. Items 1 and 5 are the ones that turn a maintenance task into an incident.

Ramp-up. Steep and non-transferable. A new engineer needs AsgardCMS-specific knowledge — module anatomy, the repository/presenter idiom, the menu registry, the ACL model — that does not appear in general Laravel material and is barely documented anywhere current. Estimate two to three weeks before someone is productive, and accept that the knowledge cannot be hired for, only grown.

Recommendation. Do not adopt for new work, regardless of license outcome. For an existing deployment, treat this module as a known liability with a dated exit: assign an owner, fund the extraction described above inside the next two quarters, and measure success as deletion of the AsgardCMS dependency from the estate. The 0.67 score is not a false negative — it is an accurate reading of an abandoned, unlicensed, zero-adoption artifact.

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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin