- Does anaseqal/nova-import work with Laravel Nova 4 or Nova 5?
- No. The package is built for Nova 3 and its bundled Vue 2 assets will not compile or mount under Nova 4/5, and the failure often appears late at nova:publish. On Nova 4/5, treat the repository as a product specification rather than an installable dependency. Use it only on Nova 3 unless you plan to fork and rebuild the frontend.
- How do I install anaseqal/nova-import and add the import action to a Nova resource?
- Install it with Composer, publish the package provider and assets, then register the tool in your NovaServiceProvider. You add the import action to any resource, and users upload CSV or Excel files through a modal with column mapping. A one-to-three day spike on a scratch install at your exact versions is the right way to confirm the install path.
- What Laravel, PHP, and package versions does nova-import require?
- The supported stack is Nova 3, Laravel 6–8, PHP 7.2–7.4, and maatwebsite/excel ^3.1. That is a real but dated stack, so check Composer conflicts first, especially if you already run export or reporting packages. If you are on newer Laravel or PHP versions, assume you will need a fork or a different solution.
- How does column mapping work in nova-import?
- After upload, the modal lets users map spreadsheet columns to model attributes before the import runs. That mapping is what connects CSV or Excel headers to the fields your Eloquent model expects. Be careful with BOM'd or semicolon-delimited CSVs, because they can map zero columns without throwing an error.
- Does nova-import validate rows and show row-level errors?
- Yes. The package includes built-in validation and row-level error reporting so admins can see which rows failed. Validation is part of the upload-to-persist workflow rather than a separate custom import screen. For compliance-relevant data, pair it with your own review and audit process because the import runs synchronously.
- Can I customize the import logic or transform data before records are saved?
- Yes. It handles data transformation before saving records and is designed so you can customize import logic around your model. That makes it suitable for simple normalization or value mapping on flat, single-table imports. Anything relational, deduplicated, audited, or scheduled is outside its design envelope.
- Does nova-import support upserts or prevent duplicate rows on re-import?
- No. It calls Model::create() and has no upsert semantics, so re-running an import can duplicate rows or trip unique constraints. There is also no audit trail, and partial writes during a failed import leave no trace. If deduplication or idempotent imports matter, plan a custom import layer instead.
- Is nova-import suitable for large files or high-volume production imports?
- It is intended for low-to-medium volume, back-office admin imports, not customer-facing ingestion or recurring data pipelines. The import runs synchronously inside an admin request, so large files can hit request timeouts and partial writes are hard to recover. Use it for occasional reference-table seeding, not high-volume production jobs.
- What are the access control and security considerations for nova-import?
- In practice, canSee() on the tool is the main gate; the upload endpoint is authenticated but not otherwise authorized. Mass-assignment guards can also drop mapped columns while still reporting success, so verify which attributes actually persist. Excel can mangle leading-zero identifiers and serial dates, so validate imported values before trusting them.
- Is anaseqal/nova-import still maintained, and what alternatives should I compare?
- No. The last release was August 2020, it has around 70 stars and zero dependents, and there is no maintainer backstop or security patching channel, so adopting it means you own the fork. Compare it honestly against commercial options such as Techsemicolon or Kirschbaum, or a thin internal build. On Nova 3 it can be a tactical stopgap; on Nova 4/5 the honest path is not to install it.