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.
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.
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:
App, such as App\Domain\Content\Models\Article.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.
className. If you omit it, the tool will not work as expected.App and custom index names now require explicit configuration.tools() method is being hit, the className value is correct, Algolia credentials are configured, and the Nova user can view the resource.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.How can I help you explore Laravel packages today?