magento / magento2

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
http://www.magento.com
Open Software License 3.0
11.44k stars 9.29k forks source link

Unable to disable module Magento_Review #18302

Closed MsEngineer closed 5 years ago

MsEngineer commented 5 years ago

Preconditions

  1. Magento 2.2.6

Steps to reproduce

  1. Disable Magento_Review module

Expected result

  1. Module should be disabled

Actual result

  1. Dependency errors
magento-engcom-team commented 5 years ago

Hi @MsEngineer. Thank you for your report. To help us process this issue please make sure that you provided the following information:

Please make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, please, add a comment to the issue:

@magento-engcom-team give me $VERSION instance

where $VERSION is version tags (starting from 2.2.0+) or develop branches (for example: 2.3-develop). For more details, please, review the Magento Contributor Assistant documentation.

@MsEngineer do you confirm that you was able to reproduce the issue on vanilla Magento instance following steps to reproduce?

MsEngineer commented 5 years ago

I did an upgrade from Magento 2.2.5 to 2.2.6, I used to be able to disable the module under 2.2.5 but not anymore since the upgrade. Error:

Unable to change status of modules because of the following constraints:
Cannot disable Magento_Review because modules depend on it:
Magento_Store: Magento_Store->Magento_Catalog->Magento_Customer->Magento_Review
Magento_AdminNotification: Magento_AdminNotification->Magento_Backend->Magento_Customer->Magento_Review
Magento_Directory: Magento_Directory->Magento_Backend->Magento_Customer->Magento_Review
Magento_Eav: Magento_Eav->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Customer: Magento_Customer->Magento_Review
Magento_Theme: Magento_Theme->Magento_Customer->Magento_Review
Magento_Indexer: Magento_Indexer->Magento_Backend->Magento_Customer->Magento_Review
Magento_Cms: Magento_Cms->Magento_Theme->Magento_Customer->Magento_Review
Magento_Catalog: Magento_Catalog->Magento_Customer->Magento_Review
Magento_Payment: Magento_Payment->Magento_Sales->Magento_Customer->Magento_Review
Magento_Rule: Magento_Rule->Magento_Catalog->Magento_Customer->Magento_Review
Magento_CatalogInventory: Magento_CatalogInventory->Magento_Customer->Magento_Review
Magento_Sales: Magento_Sales->Magento_Customer->Magento_Review
Magento_Quote: Magento_Quote->Magento_Customer->Magento_Review
Magento_Checkout: Magento_Checkout->Magento_Customer->Magento_Review
Magento_Vault: Magento_Vault->Magento_Customer->Magento_Review
Magento_Backend: Magento_Backend->Magento_Customer->Magento_Review
MageDirect_MauticIntegration: MageDirect_MauticIntegration->Magento_Customer->Magento_Review
Magento_Email: Magento_Email->Magento_Theme->Magento_Customer->Magento_Review
Amazon_Core: Amazon_Core->Magento_Customer->Magento_Review
Magento_AdvancedPricingImportExport: Magento_AdvancedPricingImportExport->Magento_Customer->Magento_Review
Magento_Config: Magento_Config->Magento_Backend->Magento_Customer->Magento_Review
Magento_Authorization: Magento_Authorization->Magento_Backend->Magento_Customer->Magento_Review
Magento_Authorizenet: Magento_Authorizenet->Magento_Catalog->Magento_Customer->Magento_Review
Magento_User: Magento_User->Magento_Backend->Magento_Customer->Magento_Review
Magento_Backup: Magento_Backup->Magento_Backend->Magento_Customer->Magento_Review
Magento_Paypal: Magento_Paypal->Magento_Customer->Magento_Review
Magento_Bundle: Magento_Bundle->Magento_Customer->Magento_Review
Magento_BundleImportExport: Magento_BundleImportExport->Magento_Catalog->Magento_Customer->Magento_Review
Magento_CacheInvalidate: Magento_CacheInvalidate->Magento_PageCache->Magento_Backend->Magento_Customer->Magento_Review
Magento_Captcha: Magento_Captcha->Magento_Customer->Magento_Review
Amazon_Login: Amazon_Login->Magento_Customer->Magento_Review
Magento_Security: Magento_Security->Magento_Backend->Magento_Customer->Magento_Review
Magento_CatalogImportExport: Magento_CatalogImportExport->Magento_Customer->Magento_Review
Amazon_Payment: Amazon_Payment->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Cron: Magento_Cron->Magento_Store->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Msrp: Magento_Msrp->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Search: Magento_Search->Magento_Reports->Magento_Review
Magento_CatalogUrlRewrite: Magento_CatalogUrlRewrite->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Widget: Magento_Widget->Magento_Theme->Magento_Customer->Magento_Review
Magento_CheckoutAgreements: Magento_CheckoutAgreements->Magento_Quote->Magento_Customer->Magento_Review
Henhed_Piwik: Henhed_Piwik->Magento_Customer->Magento_Review
Magento_CmsUrlRewrite: Magento_CmsUrlRewrite->Magento_Cms->Magento_Theme->Magento_Customer->Magento_Review
Magento_Integration: Magento_Integration->Magento_Customer->Magento_Review
Magento_ConfigurableImportExport: Magento_ConfigurableImportExport->Magento_Catalog->Magento_Customer->Magento_Review
Magento_CatalogRule: Magento_CatalogRule->Magento_Customer->Magento_Review
Magento_ConfigurableProduct: Magento_ConfigurableProduct->Magento_Customer->Magento_Review
Magento_Contact: Magento_Contact->Magento_Customer->Magento_Review
Magento_Cookie: Magento_Cookie->Magento_Store->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Newsletter: Magento_Newsletter->Magento_Customer->Magento_Review
Magento_CurrencySymbol: Magento_CurrencySymbol->Magento_Backend->Magento_Customer->Magento_Review
Magento_Analytics: Magento_Analytics->Magento_Backend->Magento_Customer->Magento_Review
Magento_CustomerImportExport: Magento_CustomerImportExport->Magento_Customer->Magento_Review
Magento_Deploy: Magento_Deploy->Magento_Store->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Developer: Magento_Developer->Magento_Store->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Dhl: Magento_Dhl->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Downloadable: Magento_Downloadable->Magento_Customer->Magento_Review
Magento_ImportExport: Magento_ImportExport->Magento_Catalog->Magento_Customer->Magento_Review
Magento_CatalogRuleConfigurable: Magento_CatalogRuleConfigurable->Magento_Catalog->Magento_Customer->Magento_Review
MagePal_GmailSmtpApp: MagePal_GmailSmtpApp->Magento_Backend->Magento_Customer->Magento_Review
Magento_EncryptionKey: Magento_EncryptionKey->Magento_Backend->Magento_Customer->Magento_Review
Magento_Fedex: Magento_Fedex->Magento_Catalog->Magento_Customer->Magento_Review
Magento_GiftMessage: Magento_GiftMessage->Magento_Customer->Magento_Review
Magento_GoogleAdwords: Magento_GoogleAdwords->Magento_Sales->Magento_Customer->Magento_Review
Magento_GoogleAnalytics: Magento_GoogleAnalytics->Magento_Sales->Magento_Customer->Magento_Review
Magento_Ui: Magento_Ui->Magento_Backend->Magento_Customer->Magento_Review
Magento_GroupedImportExport: Magento_GroupedImportExport->Magento_Catalog->Magento_Customer->Magento_Review
Magento_GroupedProduct: Magento_GroupedProduct->Magento_Customer->Magento_Review
Magento_DownloadableImportExport: Magento_DownloadableImportExport->Magento_Catalog->Magento_Customer->Magento_Review
Magento_InstantPurchase: Magento_InstantPurchase->Magento_Customer->Magento_Review
Magento_CatalogAnalytics: Magento_CatalogAnalytics->Magento_Catalog->Magento_Customer->Magento_Review
Magento_LayeredNavigation: Magento_LayeredNavigation->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Marketplace: Magento_Marketplace->Magento_Backend->Magento_Customer->Magento_Review
Magento_MediaStorage: Magento_MediaStorage->Magento_Backend->Magento_Customer->Magento_Review
Magento_ConfigurableProductSales: Magento_ConfigurableProductSales->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Multishipping: Magento_Multishipping->Magento_Customer->Magento_Review
Magento_NewRelicReporting: Magento_NewRelicReporting->Magento_Customer->Magento_Review
Magento_ProductAlert: Magento_ProductAlert->Magento_Customer->Magento_Review
Magento_OfflinePayments: Magento_OfflinePayments->Magento_Checkout->Magento_Customer->Magento_Review
Magento_SalesRule: Magento_SalesRule->Magento_Customer->Magento_Review
Magento_PageCache: Magento_PageCache->Magento_Backend->Magento_Customer->Magento_Review
Klarna_Core: Klarna_Core->Magento_Customer->Magento_Review
Klarna_Ordermanagement: Klarna_Ordermanagement->Magento_Sales->Magento_Customer->Magento_Review
Magento_Persistent: Magento_Persistent->Magento_Customer->Magento_Review
Magento_Reports: Magento_Reports->Magento_Review
Magento_ProductVideo: Magento_ProductVideo->Magento_Catalog->Magento_Customer->Magento_Review
Klarna_Kp: Klarna_Kp->Magento_Customer->Magento_Review
Magento_QuoteAnalytics: Magento_QuoteAnalytics->Magento_Quote->Magento_Customer->Magento_Review
Magento_ReleaseNotification: Magento_ReleaseNotification->Magento_Backend->Magento_Customer->Magento_Review
Magento_SendFriend: Magento_SendFriend->Magento_Customer->Magento_Review
Magento_Shipping: Magento_Shipping->Magento_Customer->Magento_Review
Magento_ReviewAnalytics: Magento_ReviewAnalytics->Magento_Review
Magento_Robots: Magento_Robots->Magento_Store->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Rss: Magento_Rss->Magento_Customer->Magento_Review
Magento_SalesAnalytics: Magento_SalesAnalytics->Magento_Sales->Magento_Customer->Magento_Review
Magento_SalesInventory: Magento_SalesInventory->Magento_Catalog->Magento_Customer->Magento_Review
Magento_OfflineShipping: Magento_OfflineShipping->Magento_Catalog->Magento_Customer->Magento_Review
KiwiCommerce_LoginAsCustomer: KiwiCommerce_LoginAsCustomer->Magento_Customer->Magento_Review
Magento_UrlRewrite: Magento_UrlRewrite->Magento_Catalog->Magento_Customer->Magento_Review
Magento_CatalogSearch: Magento_CatalogSearch->Magento_Customer->Magento_Review
Magento_CustomerAnalytics: Magento_CustomerAnalytics->Magento_Customer->Magento_Review
Magento_Wishlist: Magento_Wishlist->Magento_Customer->Magento_Review
Magento_Tax: Magento_Tax->Magento_Customer->Magento_Review
Magento_Signifyd: Magento_Signifyd->Magento_Customer->Magento_Review
Magento_Sitemap: Magento_Sitemap->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Webapi: Magento_Webapi->Magento_Backend->Magento_Customer->Magento_Review
Magento_Swatches: Magento_Swatches->Magento_Customer->Magento_Review
Magento_TaxImportExport: Magento_TaxImportExport->Magento_Backend->Magento_Customer->Magento_Review
Magento_Translation: Magento_Translation->Magento_Backend->Magento_Customer->Magento_Review
Magento_GoogleOptimizer: Magento_GoogleOptimizer->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Ups: Magento_Ups->Magento_CatalogInventory->Magento_Customer->Magento_Review
Magento_Usps: Magento_Usps->Magento_Catalog->Magento_Customer->Magento_Review
Magento_Variable: Magento_Variable->Magento_Backend->Magento_Customer->Magento_Review
Magento_Braintree: Magento_Braintree->Magento_Customer->Magento_Review
Magento_WebapiSecurity: Magento_WebapiSecurity->Magento_Webapi->Magento_Backend->Magento_Customer->Magento_Review
Magento_Weee: Magento_Weee->Magento_Customer->Magento_Review
Magento_CatalogWidget: Magento_CatalogWidget->Magento_Customer->Magento_Review
Dotdigitalgroup_Email: Dotdigitalgroup_Email->Magento_Review
Magento_WishlistAnalytics: Magento_WishlistAnalytics->Magento_Wishlist->Magento_Customer->Magento_Review
Maghos_BankTransfer: Maghos_BankTransfer->Magento_Checkout->Magento_Customer->Magento_Review
Stripeofficial_Core: Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Stripeofficial_BANCONTACT: Stripeofficial_BANCONTACT->Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Stripeofficial_Alipay: Stripeofficial_Alipay->Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Stripeofficial_CreditCards: Stripeofficial_CreditCards->Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Stripeofficial_GiroPay: Stripeofficial_GiroPay->Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Stripeofficial_IDeal: Stripeofficial_IDeal->Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Stripeofficial_InstantCheckout: Stripeofficial_InstantCheckout->Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Stripeofficial_Przelewy: Stripeofficial_Przelewy->Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Stripeofficial_SEPA: Stripeofficial_SEPA->Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Stripeofficial_SOFORT: Stripeofficial_SOFORT->Stripeofficial_Core->Magento_Sales->Magento_Customer->Magento_Review
Temando_Shipping: Temando_Shipping->Magento_Customer->Magento_Review
Vertex_Tax: Vertex_Tax->Magento_Customer->Magento_Review
magento-engcom-team commented 5 years ago

Hi @navarr. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:

navarr commented 5 years ago

squashtoberfest

magento-engcom-team commented 5 years ago

@navarr Thank you for verifying the issue. Based on the provided information internal tickets MAGETWO-95718, MAGETWO-95719 were created

magento-engcom-team commented 5 years ago

Hi @navarr. Thank you for working on this issue. Looks like this issue is already verified and confirmed. But if your want to validate it one more time, please, go though the following instruction:

navarr commented 5 years ago

In working on this issue, I've discovered that I'll be moving around classes that are part of the public API.

Therefore, this cannot be fixed in the 2.2 line, and my changes will likely be too late for the 2.3 line. This likely won't be fixed until Magento 2.4

As a workaround you should consider removing it from your custom theme.

MsEngineer commented 5 years ago

Thank you @navarr for your help! It is really appreciated...

navarr commented 5 years ago

Hi @MsEngineer,

If you'd like to do some early real-world testing for me - you can apply this patch: https://patch-diff.githubusercontent.com/raw/magento/magento2/pull/18731.patch

This moves the straggling pieces of the Review module out of the Customer module.

MsEngineer commented 5 years ago

@navarr Thank you for this @navarr. I am happy to help in using your patch but I am not sure how to apply it. Could you help, please?

djixas commented 5 years ago

Still broken

orlangur commented 5 years ago

@navarr,

I did an upgrade from Magento 2.2.5 to 2.2.6, I used to be able to disable the module under 2.2.5 but not anymore since the upgrade.

Why we cannot revert such changes in backward-compatible manner?

navarr commented 5 years ago

@orlangur Regarding the claim of 2.2.5; the 2.2.5 branch shows that magento/module-review is a requirement of magento/module-customer; so it should not have been disable-able. I've not run any testing on that scenario, but if it was disable-able it would have been a mistake.

These changes cannot be made in a backward compatible manner due to the removal of an @api annotated class (a block) from the Customer module.

orlangur commented 5 years ago

Thanks @navarr, so

I used to be able to disable the module under 2.2.5 but not anymore since the upgrade.

statement is not true in fact.

If it was true, problematic changes could be reverted: no new @api annotated class could be added in a patch release.

So, there is no bug but mentioned change is useful from modularity perspective.

m2-assistant[bot] commented 5 years ago

Hi @NishaJangid. Thank you for working on this issue. Looks like this issue is already verified and confirmed. But if you want to validate it one more time, please, go though the following instruction: