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

Laravel Nova Contexts Laravel Package

novius/laravel-nova-contexts

Adds selectable contexts to Laravel Nova: define scopes such as sites, tenants, or locales, let users switch between them from the Nova UI, and automatically apply the matching global scopes to your resources and queries.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Evidence basis. The supplied artifacts are a 1.1.0 release note ("Laravel 9 compatibility"), an undated package description, and the fact of zero stars and a 2022-07-22 last release. There is no composer.json, no CI matrix, no changelog, no issue history, and no evidence of downstream adoption. Everything below is framed as hypotheses to validate, and the assessment is deliberately scoped to what a single package description can defensibly support.

Architecture fit. This is a Nova UI package, not an application service. It extends Laravel Nova through its documented extension points: a header tool (context switcher), resource scoping hooks, and custom fields/filters that read the active context. Nova is a closed-source, commercially licensed product with its own major version cadence that is loosely coupled to Laravel's; the package therefore has two compatibility axes (Laravel major × Nova major), not one, and a release that says "Laravel 9" is silent on which Nova version it targets. The deeper architectural dependency is Novius Contexts: this package is described as a presentation layer over an external context-aware model/middleware system, so its real fit question is not "does the switcher render" but "does our data model already subscribe to the Novius Contexts contract for tenant scoping, and is that contract stable." If we are not already running Novius Contexts, adopting this package drags in a second opinionated dependency that governs how every context-scoped model is scoped, queried, and migrated.

Integration feasibility. Higher friction than the 1.1.0 note implies, for reasons unrelated to Laravel version. Three gates: (1) Nova license and version — a paid, per-seat product; the package must match our Nova major (Nova 4 for Laravel 9; Nova 5 for Laravel 10/11), and no evidence is provided that this package ships a Nova 5 line. (2) Novius Contexts prerequisite — if we have not already adopted it, the true integration is a multi-tenant scoping retrofit, not a composer require. (3) Zero adoption signal — 0 stars, no issue history visible, no downstream references; there is no community to lean on for edge cases, no "me too" reports for breakage on newer Nova, and no contributor bench beyond the vendor.

Technical risk. Ranked by confidence and relevance:

  1. Nova-version compatibility risk (high confidence, high impact). The last release is dated 2022-07-22 and the sole feature called out is Laravel 9. Nova 5 (needed for Laravel 10/11/12-era stacks) is not mentioned. If we run a current Nova, this package is very likely a no-op at best and a broken tool registration at worst.
  2. Two-layer dependency risk (high confidence, high impact). Nova (commercial, closed) and Novius Contexts (unknown cadence) both sit underneath this package. Upgrading either can break us through a package that neither vendor controls — and with zero adoption, we cannot infer that anyone has tested that combination.
  3. Maintenance-velocity signal (high confidence). Three years between the last release and today, on a package whose only advertised feature is arriving at a framework version the ecosystem has already left. This predicts the next two years of upgrade lag, not necessarily present-day defect.
  4. Behavioural opacity of a minor release (medium confidence, medium impact). The 1.1.0 note is one line. Whether it widened composer constraints or refactored Nova tool registration/scoping logic determines whether it is cheap or not.
  5. Evidence gap (certain). We are assessing marketing copy and a version number. Any commitment is a commitment to the maintainer's intent, not the code.
  6. Multi-tenancy blast radius (medium confidence, high impact). Context scoping is a data-isolation concern. A bug in the "automatic resource scoping" path is a cross-tenant data exposure class of defect, which is categorically different from a broken UI filter.

Key questions to put to the maintainer before adoption.

  • Which Nova major versions does 1.1.0 support, and is there a Nova 5 line planned or shipped? Provide the composer.json diff for laravel/nova and novius/laravel-contexts between 1.0.x and 1.1.0.
  • Was the 1.1.0 change composer-metadata only, or did it touch scoping, middleware, or the switcher tool? File-level diff or changelog, please.
  • What is the supported matrix for Novius Contexts — minimum version, and is that package itself on a current release cadence?
  • How does resource scoping behave under Nova global search, Nova lenses, Nova actions, and queued jobs (which run outside the request and therefore outside the header switcher)?
  • What test coverage exists for isolation correctness — specifically, is there evidence that a context leak cannot cross tenants?
  • Release cadence, issue-response time, bus factor, and commercial support arrangement for the Novius ecosystem.

Integration Approach

Stack fit. The first decision is a three-way question, not a version pin. (a) Do we run Laravel Nova at all? If not, the package is irrelevant regardless of quality — Nova is a paid product and this is a Nova-only extension. (b) Do we already run Novius Contexts for multi-tenant scoping? If yes, this package is a UI acceleration on an existing investment and the analysis is local. If no, "integrating laravel-nova-contexts" is a euphemism for a multi-tenant scoping retrofit across models, migrations, jobs, and admin screens — a different project with a different budget. (c) Which Nova major are we on? Nova 4 maps to Laravel 9; Nova 5 maps to Laravel 10/11. The 1.1.0 note is silent on Nova version, and no Nova 5 compatibility is advertised.

Migration path. Treat it as a scoped spike, not a drop-in:

  1. Confirm the prerequisites — Nova license and major version, Novius Contexts installed and on a supported release, and an inventory of the models that already participate in context scoping.
  2. Attempt the install in a throwaway Nova application booted at our target Laravel/Nova versions, not just at Laravel 9. If the tool fails to register against Nova 5, the decision is made at step 2 and no further effort is spent.
  3. Prove isolation end-to-end on a scratch tenant dataset: create in context A, switch, verify invisibility in B; repeat across list, detail, global search, lenses, actions, and a queued job.
  4. Only then plan a production pilot limited to one admin surface — do not roll the switcher across the whole panel first.
  5. Document the exit — how to remove the tool and revert models to unscoped if a defect or abandonment forces it.

Compatibility. Hard floors to verify before any branch time is spent: Nova major version (not stated in 1.1.0); Novius Contexts minimum version; PHP and Laravel support (Laravel 9 implies PHP 8.0+, Symfony 6, Flysystem 3 for any file-carrying fields). The package's only claimed compatibility point is Laravel 9, which reached end of security fixes in February 2025 — so a supported install is an install on an EOL framework line, which will conflict with any estate that has already moved to Laravel 10/11/12.

Sequencing. (1) Prerequisites audit: Nova license and version, Novius Contexts presence, list of scoped models. (2) Spike install in a disposable Nova app at our real Nova major. (3) Isolation proof on scratch data — list, search, lens, action, queued job. (4) Maintainer questions resolved (Nova 5 roadmap, isolation test coverage). (5) Production pilot on one surface with a rollback runbook. (6) Decide on full adoption or walk away. Any of (1)–(4) can kill the effort, which is why they come before a production pilot rather than after.

Operational Impact

Maintenance. The observed cadence is one release in the last three years, and the content of that release is framework-compatibility metadata. Nova itself ships on a regular major cadence that is coupled to Laravel's; with no Nova 5 line advertised, we should budget for this package to lag each Nova major by an indeterminate interval — potentially indefinitely. Whether that is tolerable is a function of depth: a context switcher is on the request path of every admin screen that renders a scoped resource, which is a high-blast-radius place for lag, not a dev-only convenience.

Support. Two upstreams, neither of which we control, and one of which (Nova) is a commercial license — meaning if Nova releases a major that breaks this package's tool registration, our recourse is to the Novius maintainer's goodwill or to forking a 0-star repository with no community. Add the EOL Laravel 9 constraint: any CVE in Laravel or its Symfony 6 dependencies after that point becomes ours to remediate via a framework upgrade that may itself break this package. That is a dated obligation to write into the adoption decision, not to discover during an incident.

Scaling. Nothing here changes runtime throughput in any way a compatibility note can speak to; treat scaling as unassessed rather than validated. The scaling risk that matters is organisational: a second Nova extension and a Novius Contexts dependency that must both remain compatible with each Nova release, on a stack we are trying to keep current, each adding an upgrade step we do not own.

Failure modes. (a) Context leak — a scoping bug in fields, filters, lenses, or queue jobs exposing one tenant's data in another's admin view; this is the failure mode that justifies the entire diligence burden, and 0 stars means no community evidence that it does not occur. (b) Nova-major breakage — Nova upgrades to 5.x/6.x, the package does not, and the switcher (or the whole tool registration) breaks in the admin panel. (c) Novius dependency stranding — Novius Contexts moves on, this UI layer does not, and we are pinned to an old Contexts release to keep the switcher working. (d) Abandonment — the maintainer stops releasing before the next Nova major, leaving us to fork or remove the tool under time pressure. (e) False confidence — teams read "Laravel Nova Contexts" as an official Nova feature and skip the diligence a 0-star third-party extension actually requires.

Ramp-up. Low for developers fluent in Nova extension points and composer dependency resolution — the package itself is likely to be a thin tool + field + filter layer over the Novius Contexts contract. The non-obvious costs are (i) multi-tenant isolation reasoning, which is a different skill from Nova UI work and the actual failure surface here, and (ii) knowledge of which Nova surfaces (search, lenses, actions, queued jobs) the scoping does and does not cover — which must be documented in the integration ticket while the pilot is fresh, because reconstructing it at the next Nova upgrade will be expensive.

TPM recommendation. Do not treat the 1.1.0 note as grounds for adoption. The gating questions are binary and answerable in a day: is there a Nova 5 line, and is there isolation test coverage against Nova's non-list surfaces (search, lenses, actions, queued jobs)? If both answers are absent or negative, this is not a dependency we should take on a request-path admin surface, and the multi-tenant scoping problem is better solved explicitly in our own Nova tooling where we own the upgrade cadence and the isolation guarantees. If both answers are positive and we are already invested in Novius Contexts, run the spike and the isolation proof before any production pilot, and adopt a single surface at a time.

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.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast