- Can I use AEConnect Bundle directly in a Laravel project without Symfony?
- No, AEConnect is a Symfony bundle, but you can integrate it into Laravel using the `laravel/symfony-bridge` package to leverage Symfony’s DependencyInjection and Console components. Alternatively, deploy it as a microservice (e.g., Lumen) and communicate via HTTP or queues. Both approaches require custom setup.
- How do I handle Eloquent models if AEConnect requires Doctrine entities?
- You’ll need to either create separate Doctrine entities for synced data or map Eloquent models to Doctrine entities using traits or interfaces. This adds complexity but allows coexistence with Laravel’s Eloquent ORM. Consider using `doctrine/dbal` as a lightweight alternative if full Doctrine is overkill.
- Is the PCNTL extension required for bulk synchronization in Laravel?
- Yes, AEConnect uses PCNTL for parallel processing in bulk operations, but it’s incompatible with shared hosting, serverless (Lambda), or Docker without custom setup. Replace it with a queue system like Enqueue (already supported) to run bulk syncs asynchronously via Laravel’s queue workers (Redis, database, etc.).
- What Laravel versions and PHP versions does AEConnect support?
- AEConnect officially requires PHP 7.1+ and Symfony 3.4+, but it may not work out-of-the-box with PHP 8.x due to deprecated functions or type system changes. Laravel compatibility depends on your integration approach—Symfony bridge or microservice—so test thoroughly with your Laravel version (8.x+ recommended for modern setups).
- How do I configure entity mapping between Salesforce and Laravel?
- Entity mapping is defined via YAML or annotations in AEConnect’s configuration. You’ll map Salesforce objects to Doctrine entities, then either create separate Laravel models or bridge them to Eloquent using custom logic. The [entity_mapping.md](https://github.com/advisors-excel-llc/AEConnect/blob/master/Resources/docs/config/entity_mapping.md) guide provides detailed examples for field transformations and validation rules.
- Are there alternatives to AEConnect for Salesforce-Laravel integration?
- Yes, consider `spatie/laravel-salesforce` (Laravel-native, Eloquent-compatible) or `salesforce/apex-rest-toolkit` for direct REST API access. AEConnect’s strength is its bulk sync and validation features, but alternatives may offer better Laravel integration and active maintenance. Evaluate based on your need for Doctrine, Symfony, or simplicity.
- How do I test AEConnect in a Laravel environment before production?
- Start with a proof-of-concept: set up a Lumen/Symfony micro-app to validate entity mapping and sync logic. Use Laravel’s testing tools (PHPUnit, Pest) to mock Salesforce responses and test queue-based processing. For production, monitor bulk syncs with Laravel’s logging and consider rollback strategies for failed batches.
- Will AEConnect work with my Salesforce API version or org configuration?
- AEConnect relies on the `advisors-excel-llc/salesforce-rest-sdk`, which may not support newer Salesforce API versions (last updated in 2020). Test with your org’s API version early—you may need to fork the SDK or use Salesforce’s official REST API directly. Check the [Salesforce REST SDK docs](https://github.com/advisors-excel-llc/salesforce-rest-sdk) for compatibility notes.
- Can I contribute or maintain AEConnect if the package is no longer updated?
- Yes, you can fork the repository and maintain it yourself. Key risks include PHP 8.x incompatibility and Symfony 3.4 dependencies. Start by updating the SDK and Symfony components to newer versions, then test thoroughly. Consider opening a pull request to the original repo if you plan to upstream changes.
- How do I debug issues with AEConnect in a Laravel queue-based setup?
- Use Laravel’s queue logging (`--log` flag) and AEConnect’s built-in debug commands (e.g., `ae_connect:debug:connections`) to inspect sync progress. For queue failures, check the `failed_jobs` table and enable detailed exception logging. The [commands README](https://github.com/advisors-excel-llc/AEConnect/blob/master/Resources/docs/commands/README.md) lists debugging tools for connections, mappings, and bulk operations.