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 Profile Tool Laravel Package

diimolabs/nova-profile-tool

View on GitHub
Deep Wiki
Context7

Getting Started

This release (1.1.3) is additive: it adds form validation support and a configurable sidebar label. No breaking changes are called out.

  • Upgrade with composer require vendor/package:^1.1 or, if already installed, composer update vendor/package --with-dependencies.
  • If this is a first install, publish package config/assets/migrations as documented, then clear caches:
php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider"
php artisan migrate
php artisan optimize:clear
  • Look first at the package README, config/{package}.php, resources/lang/vendor/{package}, and the package service provider. For 1.1.3 specifically, search for validation, rules, sidebar, label, navigation, and menu.
  • First use case: change one sidebar label and add server-side validation to one package form. Then cover both with a feature test so the upgrade path stays safe.

Implementation Patterns

  • Prefer package config or translation files over editing vendor views when changing the sidebar label. The exact key varies by package, but look for a navigation/menu label entry:
// config/package.php
'navigation' => [
    'label' => 'Reports',
],

or a translation key:

// resources/lang/vendor/package/en/navigation.php
return ['reports' => 'Reports'];
  • Keep form validation server-side. Use a FormRequest, Validator::make(), or the package’s validation hook, then pass only validated data into the package action/service:
public function store(StoreReportRequest $request)
{
    $data = $request->validated();

    // Pass $data to the package service/action.
}
  • Use standard Laravel rules (required, email, unique, Rule::exists, Rule::in, after) and custom Rule classes for domain-specific checks. Avoid relying on package/client-side validation alone.
  • If package forms submit via AJAX/JSON, return a standard 422 validation response so front-end error handling works consistently:
if ($validator->fails()) {
    return response()->json(['errors' => $validator->errors()], 422);
}
  • For Livewire-backed package forms, use $this->validate() and $this->resetValidation() in the component. For Inertia, use useForm() and surface the errors prop.
  • Add feature tests for both new features:
$response = $this->post(route('package.form.store'), []);
$response->assertSessionHasErrors(['name', 'email']);

$this->get('/admin')->assertSee('Reports');
  • If the sidebar label varies by user/role, enforce permissions in policies/gates. Do not treat the visible label as authorization.

Gotchas and Tips

  • Config cache is the most common trap. After changing a sidebar label or validation config, run php artisan optimize:clear or at least php artisan config:clear.
  • Do not edit files under vendor/. Publish/override config, translations, or views. If you already published config, new 1.1.3 keys may not appear until you compare/republish or merge manually.
  • If the package ships its own validation rules, centralize validation in a FormRequest/action so web, API, and package entry points do not drift.
  • Validate ownership and tenant scope, not just format. Package forms often bypass your usual resource controller, so add rules like exists:projects,id,tenant_id,... where needed.
  • If sidebar label changes do not appear, clear config/menu/route caches and check whether a package menu cache or published view override is taking precedence.
  • Use translation keys for labels and validation messages. They handle locale changes and escaping more safely than hard-coded strings or raw HTML.
  • No breaking changes are noted for 1.1.3, but still run the package test suite and smoke-test forms and sidebar rendering after upgrade. Pin with ^1.1 and review the composer.lock diff.
  • Preferred extension points: package config, translations, custom Rule classes, service container bindings, published views/assets, and documented validation hooks. Avoid monkey-patching vendor code.
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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource