{"id":21418900,"url":"https://github.com/oneduo/nova-file-manager","last_synced_at":"2025-04-04T18:09:49.011Z","repository":{"id":53837909,"uuid":"505375003","full_name":"oneduo/nova-file-manager","owner":"oneduo","description":"The most advanced File Manager for Laravel Nova, feature rich and robust build.","archived":false,"fork":false,"pushed_at":"2024-05-01T02:55:05.000Z","size":63436,"stargazers_count":120,"open_issues_count":18,"forks_count":34,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-05-01T09:50:04.200Z","etag":null,"topics":["file","laravel","manager","nova"],"latest_commit_sha":null,"homepage":"https://oneduo.github.io/nova-file-manager/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oneduo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["oneduo"]}},"created_at":"2022-06-20T09:25:50.000Z","updated_at":"2024-06-03T17:55:27.009Z","dependencies_parsed_at":"2024-01-11T12:07:35.592Z","dependency_job_id":"f29c4205-9687-43db-8356-5df96897c3e7","html_url":"https://github.com/oneduo/nova-file-manager","commit_stats":{"total_commits":448,"total_committers":16,"mean_commits":28.0,"dds":0.6763392857142857,"last_synced_commit":"cbab92712fa831a719b48076c544eb198b29033f"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneduo%2Fnova-file-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneduo%2Fnova-file-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneduo%2Fnova-file-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneduo%2Fnova-file-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oneduo","download_url":"https://codeload.github.com/oneduo/nova-file-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247226215,"owners_count":20904465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["file","laravel","manager","nova"],"created_at":"2024-11-22T19:28:55.856Z","updated_at":"2025-04-04T18:09:48.989Z","avatar_url":"https://github.com/oneduo.png","language":"PHP","funding_links":["https://github.com/sponsors/oneduo"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./docs/images/banner.png\"/\u003e\n\n\u003ca href=\"https://oneduo.github.io/nova-file-manager/\" taget=\"_blank\"\u003e\u003cimg src=\"./docs/images/documentation.png\"/\u003e\u003c/a\u003e\n\n\u003ca href=\"https://novapackages.com/packages/oneduo/nova-file-manager\" target=\"_blank\"\u003e\u003cimg src=\"./docs/images/support.png\"/\u003e\u003c/a\u003e\n\n# Nova File Manager\n\n\u003cdiv align=\"left\"\u003e\n\n![Status](https://img.shields.io/badge/status-active-success.svg)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)\n![PHP](https://img.shields.io/badge/PHP-8-blue.svg)\n![Laravel Nova](https://img.shields.io/badge/laravel%2Fnova-4-cyan.svg)\n[![Latest Version on Packagist](https://img.shields.io/packagist/v/oneduo/nova-file-manager.svg)](https://packagist.org/packages/oneduo/nova-file-manager)\n[![Total Downloads](https://img.shields.io/packagist/dt/bbs-lab/nova-file-manager.svg)](https://packagist.org/packages/bbs-lab/nova-file-manager)\n[![Downloads](https://img.shields.io/packagist/dt/oneduo/nova-file-manager.svg)](https://packagist.org/packages/oneduo/nova-file-manager)\n[![Run tests](https://github.com/oneduo/nova-file-manager/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/oneduo/nova-file-manager/actions/workflows/tests.yml)\n[![codecov](https://codecov.io/github/oneduo/nova-file-manager/branch/main/graph/badge.svg?token=L6LXFBA9JX)](https://codecov.io/github/oneduo/nova-file-manager)\n\u003c/div\u003e\n\n---\n\n\u003cp\u003e\nA file manager tool and field for Laravel Nova. Beautifully designed, and customizable, this tool will provide a plug'n'play solution for your file management needs.\n\n**Features :**\n\n⚡️ Blazing fast  \n📦️ Laravel Nova 4 compatible  \n💅 Built with Tailwindcss 3, Vue 3 and Pinia  \n🪨 Rock solid codebase built with Typescript  \n💽 Multi disk and filesystem support  \n🧩 Supports chunk and resumable uploads  \n🔧 Various customization and configuration options  \n🔍 A performant local search feature with Spotlight  \n🤹‍ Can save multiple assets from the same field  \n🔐 Access control and authorization gates  \n✂️ Built-in crop tool and image editor  \n📇 Built-in PDF viewer  \n🗂️ Drag and drop upload, with entire folder upload support  \n🗃️ Supports unzipping files  \n🚩 Onboarding tour for new users\n\u003c/p\u003e\n\n\n## Table of Contents\n\n- [Getting Started](#getting_started)\n    - [Prerequisites](#prerequisites)\n    - [Installing](#installing)\n    - [Configuration](#configuration)\n- [Usage](#usage)\n- [Configuration](#configuration-file)\n- [Authors](#authors)\n- [Screenshots](#screenshots)\n- [Changelog](#changelog)\n- [Security](#security)\n- [Contributing](#contributing)\n- [Credits](#credits)\n- [License](#license)\n\n## Getting Started \u003ca name = \"getting_started\"\u003e\u003c/a\u003e\n\n### Prerequisites\n\nThis package requires the following :\n\n- PHP 8.0 or higher\n- Laravel Nova 4\n\n\u003e **Note** If you plan on using this package with an S3 bucket, be mindful to follow the instructions\n\u003e for \u003ca href=\"https://laravel.com/docs/9.x/filesystem#s3-driver-configuration\"\u003esetting up an S3 storage disk. \u003c/a\u003e\n\n### Installing\n\nTo get started, you will need to install the following dependencies :\n\n```\ncomposer require oneduo/nova-file-manager\n```\n\nThat's it, you're ready to go!\n\n### Configuration\n\nYou may publish the package's configuration by running the following command :\n\n```bash\nphp artisan vendor:publish --tag=\"nova-file-manager-config\"\n```\n\n\u003e **Note** You can find details about the configuration options in\n\u003e the [configuration file section](#configuration-file).\n\n## Usage \u003ca name=\"usage\"\u003e\u003c/a\u003e\n\nTo get yourself started, you need to add the following tool to your `NovaServiceProvider.php`\n\n```php\n// NovaServiceProvider.php\n\nuse Oneduo\\NovaFileManager\\NovaFileManager;\n\nclass NovaServiceProvider extends NovaApplicationServiceProvider\n{\n    // ...\n\n    public function tools(): array\n    {\n        return [\n            // ... any other tools\n            NovaFileManager::make(),\n        ];\n    }\n}\n```\n\nNow that the tool is registered, if you go back to your Nova dashboard, you should see a new navigation entry labeled \"\nFile Manager\".\n\nOnce you've added the tool, you can start using it.\n\nGo ahead and add a `FileManager` field to your Nova resource.\n\n```php\n// app/Nova/User.php\n\nuse Oneduo\\NovaFileManager\\FileManager;\n\nclass User extends Resource\n{\n    // ...\n\n    public function fields(NovaRequest $request): array\n    {\n        return [\n            // ... any other fields\n            FileManager::make(__('Avatar'), 'avatar'),\n        ];\n    }\n}\n```\n\nYou have now successfully added a File Manager field to your resource.\n\n## Configuration file \u003ca name = \"configuration-file\"\u003e\u003c/a\u003e\n\n| Key                                  | Description                                                                              | Type       | Default   | Notes                                                             |\n|--------------------------------------|------------------------------------------------------------------------------------------|------------|-----------|-------------------------------------------------------------------|\n| `default_disk`                       | The default disk used by the package                                                     | `string`   | `public`  | The default disk must be defined in your `filesystems.php` config |\n| `available_disks`                    | Provides a list of available disks to be used by the package                             | `string[]` | -         |                                                                   |\n| `show_hidden_files`                  | Toggles whether or not to show files and folders that start with a \"dot\"                 | `bool`     | `false`   |                                                                   |\n| `human_readable_size`                | When set to true, the package will display file sizes in a more friendly readable format | `bool`     | `true`    |                                                                   |\n| `human_readable_datetime`            | When set to true, the package will display dates with `diffForHumans()`                  | `bool`     | `true`    |                                                                   |\n| `file_analysis.enable`               | When set to true, the package will use getID3 to parse metadata from the files           | `bool`     | `true`    |                                                                   |\n| `file_analysis.cache.enable`         | When set to true, the package will cache the file analysis result                        | `bool`     | `true`    |                                                                   |\n| `file_analysis.cache.ttl_in_seconds` | TTL for analysis caching in seconds                                                      | `int`      | `86400`   |                                                                   |\n| `url_signing.enabled`                | When set to true, all the file urls will be signed                                       | `bool`     | `false`   |                                                                   |\n| `url_signing.unit`                   | Defines the unit for the expiration time                                                 | `string`   | `minutes` | The expiration time must not exceed 1 week                        |\n| `url_signing.value`                  | Defines the value for the expiration time                                                | `int`      | `10`      |                                                                   |\n\nFor a full list of updated configuration options, please refer to the full documentation\nat https://oneduo.github.io/nova-file-manager/configuration.html\n\n## Authors \u003ca name = \"authors\"\u003e\u003c/a\u003e\n\n- [Charaf Rezrazi](https://github.com/rezrazi)\n- [Mikaël Popowicz](https://github.com/mikaelpopowicz)\n\nSee also the list of [contributors](https://github.com/oneduo/nova-file-manager/contributors) who\nparticipated in this project.\n\n## Screenshots \u003ca name= \"screenshots\"\u003e\u003c/a\u003e\n\nYou can find more screenshots here https://oneduo.github.io/nova-file-manager/screenshots.html.\n\n## Changelog\n\nPlease see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.\n\n## Security\n\nIf you discover any security related issues, please email charaf@rezrazi.fr instead of using the issue tracker.\n\n## Contributing\n\nPlease see [CONTRIBUTING](CONTRIBUTING.md) for details.\n\n## Credits\n\n- [getID3() by James Heinrich](https://github.com/JamesHeinrich/getID3)\n- [Laravel Chunk Upload](https://github.com/pionl/laravel-chunk-upload)\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE.md) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foneduo%2Fnova-file-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foneduo%2Fnova-file-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foneduo%2Fnova-file-manager/lists"}