idavoll/setting-module
A Laravel settings module for centralized, database-backed configuration management. Store and retrieve typed settings, organize values by group, and integrate modular packages through a simple, consistent API.
Architecture fit. idavoll/setting-module is not a general-purpose Laravel settings package — it is a single module written specifically for AsgardCMS, a modular CMS built on top of Laravel. Its integration surface assumes the AsgardCMS host application: module service-provider conventions, the Modules\ namespace and module manifest, the Asgard admin theme (AdminLTE/Bootstrap-era assets), Asgard's permission and menu registration APIs, and its translation loading scheme. For a team already running AsgardCMS, this is the native "site settings" subsystem and slots in with near-zero architectural friction. For anyone on plain Laravel, Laravel Octane/modern Laravel, or any other CMS, the fit is effectively zero — adopting it would mean adopting AsgardCMS.
Integration feasibility. Straightforward within its target environment (composer require, enable the module, run migrations, seed defaults), but that environment is the constraint. The realistic feasibility question is not "can we install this" but "can we install AsgardCMS at a version this module supports," which pins the host application to legacy Laravel/PHP. Outside AsgardCMS, the module is best treated as a reference implementation: the migration, repository, and settings-resolution patterns can be lifted, but the controller/Blade/admin pieces will not port cleanly.
Technical risk. High, and concentrated in four areas:
NOASSERTION designation means the license could not be recognized from the manifest. Until the actual license file is read and cleared by legal, commercial use is an open question — this alone can block adoption in an enterprise.Key questions.
composer.json, and do they still receive security fixes?LICENSE, and does it permit our intended distribution model?Stack fit. Realistically viable only for: AsgardCMS 2.x on Laravel 5.4–5.7, PHP 7.1–7.4, traditional server-rendered admin. Not viable for Laravel 9+, PHP 8.2+, Livewire/Inertia front ends, multi-tenant SaaS, or API-only services. If the target application is not already AsgardCMS, skip this package and evaluate spatie/laravel-settings or a thin custom settings table instead.
Migration path (AsgardCMS host).
path or a private VCS mirror) rather than tracking upstream — upstream may not exist in six months.config/*.php; migrate reads to the module's repository only after the diff is clean.SettingsInterface so the underlying implementation can be swapped later without touching call sites.Compatibility. Expect conflicts with anything requiring modern illuminate/* components, PHP 8 attributes/typed properties, or PSR-4-autoloaded packages that dropped PHP 7 support. Run composer why-not against the full dependency graph before committing. Any other AsgardCMS module that also touches settings should be checked for duplicate key ownership.
Sequencing. License clearance → dependency/compatibility audit → isolated staging install → fork-and-pin → interface abstraction → production cutover. Do not begin with a production install; the audit steps are the ones that can kill the initiative.
Maintenance. Treat this as acquired source code, not a dependency. Budget for an internal owner, a fork under your VCS, and a standing item to review it at least quarterly for security advisories in its transitive dependencies (the admin theme assets are the usual culprits). The effort is small in lines of code but non-zero forever, because nothing arrives from upstream.
Support. Effectively none: no active issue triage, no maintainer response, no community. Internal escalation means reading the source. Factor in slower incident resolution for any settings-related bug, and document the settings key inventory so on-call engineers are not reverse-engineering it during an outage.
Scaling. Low risk in the common case — settings reads should be cached and served from config/memory, and write volume is negligible. The failure mode to watch is an uncached per-request database read on a hot path (e.g., every page load resolving a dozen settings keys); verify caching behavior and add a warm-up if absent. There is no meaningful multi-tenant or horizontal-sharding story; if multi-tenancy is on the roadmap, this module is a dead end.
Failure modes.
Ramp-up. A competent Laravel engineer can learn the module's surface in a few days — it is a settings CRUD with a repository. The real ramp-up cost is AsgardCMS module conventions and the legacy admin stack, call it one to two weeks to first productive change, plus the harder problem of hiring or backfilling engineers with AsgardCMS experience, which is a thin market. Plan for knowledge concentration on one or two people and mitigate with written runbooks.
Recommendation. Score 0.42 with zero dependents reflects reality: viable only as an incumbent component of an existing AsgardCMS installation, where the cheapest path is fork, pin, and isolate. For any greenfield or modern-Laravel context, reject and use a maintained settings package; the opportunity here is the pattern, not the package.
How can I help you explore Laravel packages today?