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 Algolia Laravel Package

nathanheffley/nova-algolia

A Laravel Nova integration that brings Algolia-powered search to your admin panel. Add instant, typo-tolerant full-text search to Nova resources, configure indexes from your models, and let admins find records quickly across large datasets.

View on GitHub
Deep Wiki
Context7

Getting Started

Install the package via Composer and follow the README’s Nova resource registration example. The first thing to check after upgrading to v1.0.0 is that every Nova resource using the Algolia resource tool calls className with the model’s fully qualified class name:

use YourVendor\YourPackage\ResourceTools\AlgoliaInfo;

AlgoliaInfo::make()
    ->className(\App\Models\Post::class);

Start by adding the tool to one representative Nova resource and opening that resource’s detail page. That is the primary day-to-day use case in v1.0.0: viewing Algolia information for a specific model directly from its Nova resource.

The old dedicated Algolia page has been removed in this release, so do not look for a central Algolia dashboard in the Nova sidebar. The replacement functionality is intended to arrive later as cards, but for now the per-resource tool is the main entry point.

Implementation Patterns

Register the resource tool on each Nova resource whose model has Algolia data you want to inspect. Always pass the model class explicitly:

public function tools(NovaRequest $request): array
{
    return [
        AlgoliaInfo::make()
            ->className(\App\Models\Article::class),
    ];
}

Use the explicit className pattern especially when:

  • The model lives outside App, such as App\Domain\Content\Models\Article.
  • The Algolia index name does not match the model name.
  • You have multiple models sharing similar index naming conventions.
  • You want the Nova resource to remain correct if the Algolia index is renamed later.

For existing installations, treat this as a migration task: find every Nova resource that registers the Algolia tool, add className, and verify the resource detail page still loads. Remove any assumptions or documentation references to the removed Algolia page.

For larger applications, consider centralizing the tool registration in a shared trait or helper if many resources follow the same pattern. Keep the class name explicit per model rather than attempting to infer it from the index name.

Use Nova authorization and tool visibility controls if Algolia credentials or index metadata should not be exposed to all Nova users. The tool belongs on resources where administrators or content managers need to confirm indexing status or inspect Algolia metadata.

Gotchas and Tips

  • Breaking change: the dedicated Algolia page has been removed. Bookmarks, menu links, and internal documentation pointing to that page will break.
  • Required configuration: the resource tool now requires className. If you omit it, the tool will not work as expected.
  • No automatic model guessing: previous versions parsed Algolia index names to infer model names. That behavior is gone in v1.0.0, which is why models outside App and custom index names now require explicit configuration.
  • Full class names matter: pass the model’s fully qualified class name. A typo or missing namespace will prevent the tool from resolving the model correctly.
  • No dashboard replacement yet: the release notes indicate cards are planned to restore the old page’s functionality. Until then, do not promise users a central Algolia overview inside Nova.
  • Nova Tools limitations: the removal of the page was driven by limited customization options in Nova Tools. Avoid building workflows that depend on heavily customizing a global Algolia admin page.
  • Debugging checklist: confirm the package is discovered, the Nova resource’s tools() method is being hit, the className value is correct, Algolia credentials are configured, and the Nova user can view the resource.
  • Pin versions during migration: if you still depend on the removed Algolia page, stay on the previous major version until your resources are updated and the planned card-based replacement is available.
  • Extension point: className is now the main customization point for model resolution. Future card-based functionality should be monitored in release notes because it may introduce additional registration or configuration steps.
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.
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
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log