oroinc / OroCRMTaskBundle

OroPlatform package, enables user tasks management.
Other
3 stars 6 forks source link

Unable to freshly install OroCRM because RenamedFixtureInterface doesn't exist. #2

Closed successmarket closed 4 years ago

successmarket commented 4 years ago

Summary
After updating the composer files to load the latest 3.1 version of Oro CRM, the system doesn't install anymore, giving an error on

Fatal error: Interface 'Oro\Bundle\MigrationBundle\Fixture\RenamedFixtureInterface' not found in /srv/vendor/oro/crm-task-bundle/Migrations/Data/ORM/LoadEmailTemplates.php on line 12

In LoadEmailTemplates.php line 12:

Attempted to load interface "RenamedFixtureInterface" from namespace "Oro\B undle\MigrationBundle\Fixture".

The issue is coming from the latest commit to the 3.1 TaskBundle repo https://github.com/oroinc/OroCRMTaskBundle/commit/e2b1aa5d6e6682c2919da72b3a018b2af32da273

Steps to reproduce
Clean install of the crm with this in composer

"require": { "oro/crm": "~3.1.1", "oro/platform-serialised-fields": "~3.1.1", "oro/crm-hangouts-call-bundle": "~3.1.1", "oro/crm-magento-embedded-contact-us": "~3.1.1", "oro/crm-dotmailer": "~3.1.1", "oro/crm-zendesk": "~3.1.1", "aws/aws-sdk-php": "^3.133", "cweagans/composer-patches": "^1.6" }

Actual Result Unable to install

Expected Result
Able to install

Details about your environment

anyt commented 4 years ago

Please share the output of the command:

composer info | grep oro/
successmarket commented 4 years ago

@anyt I have deleted the vendor folder since, trying to get back to taskbundle 3.1.9.

The latest platform, 3.1.20, doesn't have RenamedFixtureInterface that you are trying to use in this bundle, which creates the break.

https://github.com/oroinc/platform/tree/3.1.20/src/Oro/Bundle/MigrationBundle/Fixture

successmarket commented 4 years ago

FYI: This is the composer info, but after I hardcoded the 3.1.9 task bundle in my composer file.

Added "oro/crm-task-bundle": "3.1.9" to my file. Now the installation works without issue. 3.1.10 is definitely the issue.

oro/calendar-bundle 3.1.15 Calendar bundle for OroPlatform-based applications. oro/crm 3.1.17 OroCRM oro/crm-call-bundle 3.1.9 Oro Call Bundle oro/crm-dotmailer 3.1.12 Oro Dotmailer integration oro/crm-hangouts-call-bundle 3.1.3 Oro Google Hangouts integration oro/crm-magento-embedded-contact-us 3.1.4 OroCRM Magento Embedded Contact Us package oro/crm-task-bundle 3.1.9 Oro Task Bundle oro/crm-zendesk 3.1.4 OroCRM Zendesk Integration oro/doctrine-extensions 1.2.2 Doctrine Extensions for MySQL and PostgreSQL. oro/marketing 3.1.15 Oro Marketing Bundles oro/platform 3.1.20 Business Application Platform (BAP) oro/platform-serialised-fields 3.1.4 OroPlatform Serialized Fields oro/redis-config 3.1.4 OroRedisConfigBundle oro/twig-inspector 1.0.1 Oro Twig Inspector adds the possibility to find twig templates and blocks used for rendering HTML pages faster during development

anyt commented 4 years ago

It's not a hardcode, but the only solution.

To make it work back, you can lock the task bundle to 3.1.8, which is the latest version that is officially compatible with the oro/platform 3.1.20. I can't say for sure about 3.1.9 and later versions as they are not tested with oro/platform 3.1.20.

oro/platform 3.1 CE is not supported anymore, you should consider upgrading to 4.1.

successmarket commented 4 years ago

@anyt The issue is that if we stay on 3.1.X, your composer setup requires the latest 3.1.X . Because you broke it 12 days ago, it's a bit harsh to say that it is not supported anymore. If it's not supported, it should not change at all. If you want to stop supporting and also stop composer installing wrong versions, you should make the composer requirements use the proper versions in your bundles.

anyt commented 4 years ago

Thank you for the feedback. It makes sense, and we have plans to fix it in further oro/platform releases. But for 3.1, it goes as is.