Magento2: [2.2.0 CE] bug between integration and shopialfb modules

Created on 11 Oct 2017  路  7Comments  路  Source: magento/magento2

During any setup:upgrade command, the integration account of the module shopialfb is reset.

Preconditions

  1. having afresh magento 2.2.0 environment
  2. look at in the BO integration screen that the shopialFB accoung is "Inactive".

Steps to reproduce

  1. Launch the setup:upgrade command
  2. look at in the BO integration screen that the shopialFB accoung is "Reset".
  3. look at in the BO the warning message on the top of the page about "integration account"

Expected result

  1. the intregration account must not be reset

Actual result

  1. the intregration account have been reseted

The file./vendor/shopialfb/facebook-module/etc/integration.xml describe the integration account to manage.
The file ./vendor/magento/module-integration/Model/ConfigBasedIntegrationManager.php tests if there is a difference between the integration.xml file and the integration account in the database and recreate the integration account if there is a difference (for security reason).

The pb is that the acl "Magento_Backend::admin" is automatically added in database, so there is always a difference between the ACL asked by the xml file :
Array
(
[0] => Magento_Backend::store
[1] => Magento_Backend::stores
[2] => Magento_Backend::stores_settings
[3] => Magento_Catalog::catalog
[4] => Magento_Catalog::catalog_inventory
[5] => Magento_Catalog::products
)
and the ACL already saved in the database:
Array
(
[0] => Magento_Backend::admin
[1] => Magento_Backend::store
[2] => Magento_Backend::stores
[3] => Magento_Backend::stores_settings
[4] => Magento_Catalog::catalog
[5] => Magento_Catalog::catalog_inventory
[6] => Magento_Catalog::products
)
it can be found in the method MagentoIntegrationModelConfigBasedIntegrationManager::hasDataChanged

=> At every setup:upgrade, it reset the shopialfb integration account.

Confirmed P3 ready for dev Reproduced on 2.2.x Reproduced on 2.3.x S3

Most helpful comment

Can confirm this issue is still present in Magento 2.2.1 CE and EE

All 7 comments

The Magento_Backend::admin acl allows to use the BO, it is logical that magento add it if we do not ask for it.
The pb is that the test made here forgot to ignore the ACL diff if this diff is only that the Magento_Backend::admin acl is in the database and no in the new asked ACL.

The Magento_Backend::admin acl is missing because the following method doest not add it when it reads the integration.xml files

https://github.com/magento/magento2/blob/2.2-develop/app/code/Magento/Integration/Model/Config/Consolidated/Converter.php#L78

Am experiencing the same issue. Only temporary fix I have been able to come up with is to disable the shopialfb module.

Can confirm this issue is still present in Magento 2.2.1 CE and EE

@spipu, thank you for your report.
We've created internal ticket(s) MAGETWO-84727 to track progress on the issue.

What's the status of this? I'm still having the problem with the default Magento 2.2.3 installation, a year later.

Any solutions? Same bug at 2.3.0. With my custom extension

Was this page helpful?
0 / 5 - 0 ratings