Weave Code
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
Aviary Bundle

Aviary Bundle Laravel Package

appventus/aviary-bundle

View on GitHub
Deep Wiki
Context7

Symfony AvAviaryBundle

Frequently asked questions about Aviary Bundle
Can I use appventus/aviary-bundle in a pure Laravel project without Symfony?
Yes, but with caveats. The bundle relies on Symfony components like Doctrine ORM and Forms, which can be integrated via Laravel’s Symfony bridge (e.g., `symfony/orm`). However, you’ll need to replace Twig templates with Blade, abstract Symfony logic into Laravel services, and manually map Doctrine’s `Gallery` entity to Eloquent models. Frontend assets (BlueImp Uploader, Aviary Feather) can be included via CDN/npm independently.
What Laravel versions support this bundle?
The bundle itself targets Symfony 2.x, but you can use its frontend components (BlueImp Uploader, Aviary Feather) with Laravel 8+. For backend integration, ensure compatibility with Symfony 5.4+ components (e.g., `symfony/orm`, `symfony/form`) via Composer. Test thoroughly, as Doctrine ORM may conflict with Laravel’s Eloquent.
How do I handle file uploads in Laravel if I skip the Symfony backend?
Replace the Symfony `GalleryType` form with Laravel’s native file upload handling (e.g., `Request` facade + `Storage` facade). Use BlueImp Uploader’s standalone JS for frontend uploads, then process files in a Laravel controller. For image editing, use client-side libraries like Fabric.js or Photopea instead of Aviary’s API to avoid Adobe’s paid dependency.
Are there security risks with BlueImp Uploader in Laravel?
Yes, especially without explicit validation. BlueImp Uploader alone doesn’t sanitize files—you must validate MIME types, file sizes, and scan for malware in Laravel using packages like `spatie/laravel-medialibrary` or custom middleware. The bundle lacks security documentation, so audit the frontend JS and backend file storage paths (e.g., `aviary.uploadpath`) for vulnerabilities.
How do I migrate the Doctrine Gallery entity to Laravel Eloquent?
Create a Laravel model (e.g., `Gallery`) with `hasOne`/`belongsTo` relationships to your primary model. Use Laravel migrations to replicate Doctrine’s schema (e.g., `uploads` table for file paths). Replace Doctrine’s `Gallery` entity methods with Eloquent accessors/mutators. Tools like `doctrine/dbal` can help translate SQL queries if needed.
What alternatives exist for Aviary’s image editing in Laravel?
Consider client-side libraries like Fabric.js (canvas-based editing), Cropper.js (image cropping), or Photopea (open-source alternative to Aviary). For server-side processing, use `intervention/image` or `spatie/image-optimizer`. If you need Adobe’s features, evaluate the cost of Adobe Creative SDK vs. open-source alternatives.
Why is the bundle archived, and should I still use it?
The last commit was in 2015, and it depends on deprecated Symfony bundles (e.g., `friendsofsymfony/jsrouting-bundle`). Use it only if you’re comfortable forking the repo or rewriting critical components (e.g., upload handlers). For new projects, alternatives like `spatie/laravel-medialibrary` or standalone JS libraries reduce long-term maintenance risks.
How do I integrate BlueImp Uploader with Laravel Mix/Vite?
Include BlueImp’s JS/CSS via CDN in your `resources/views` or install via npm (`npm install blueimp-file-uploader`). Configure Laravel Mix/Vite to bundle the assets without conflicts (e.g., check jQuery version compatibility). The uploader’s server-side scripts (e.g., `server/php/` for PHP handlers) can be replaced with Laravel routes/controllers.
Can I use this bundle for large-scale file uploads (e.g., 100MB+ files)?
BlueImp Uploader supports chunked uploads, but scaling depends on your backend. For Laravel, use queue workers (e.g., Laravel Horizon) to process uploads asynchronously. The bundle’s Symfony backend may not handle large files efficiently—replace it with Laravel’s `Storage` facade and chunked upload logic if needed.
How do I replace the hardcoded `aviary.uploadpath` with Laravel’s storage system?
Override the `aviary.uploadpath` parameter in your Laravel config (e.g., `config/aviary.php`) to point to `storage/app/public`. Use Laravel’s `Storage` facade to handle file paths dynamically. For example, replace `/uploads/` with `storage_path('app/public/uploads')`. Ensure the directory is symlinked (`php artisan storage:link`) for public access.
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.
comsave/common
alecsammon/php-raml-parser
chrome-php/wrench
lendable/composer-license-checker
typhoon/reflection
mesilov/moneyphp-percentage
mike42/gfx-php
bookdown/themes
aura/view
aura/html
aura/cli
povils/phpmnd
nayjest/manipulator
omnipay/tests
psr-mock/http-message-implementation
psr-mock/http-factory-implementation
psr-mock/http-client-implementation
voku/email-check
voku/urlify
rtheunissen/guzzle-log-middleware