Vinai / groupscatalog2

Magento extension to enable you to hide categories and products from customers depending on their customer group. This is a Magento 1.6 and newer compatible version of the Netzarbeiter Customer Groups Catalog extension.
139 stars 59 forks source link

How to upgrade from older version of Netzarbeiter_GroupsCatalog #118

Closed kiatng closed 6 years ago

kiatng commented 9 years ago

I have an older version:

<Netzarbeiter_GroupsCatalog>
    <version>0.4.7</version>
</Netzarbeiter_GroupsCatalog>
  1. Is there a ready guide to upgrade to groupscatalog2?
  2. Will it be OK to install alongside the older version?
  3. CE 1.9.1.1, there is Strict Notice: Declaration of Netzarbeiter_GroupsCatalog_Model_Catalog_Resource_Eav_Mysql4_Category_Flat::_loadNodes() should be compatible with Mage_Catalog_Model_Resource_Category_Flat::_loadNodes($parentNode = NULL, $recursionLevel = 0, $storeId = 0, $onlyActive = true) I haven't tested groupscatalog2, but it seems to have the same _loadNodes
charlieaf92 commented 9 years ago

I could use help with this as well. I have an early beta of the original GroupsCatalog installed in Magento 1.5 and am trying to upgrade to Magento 1.9.1. After the upgrade, I am receiving errors related to GroupsCatalog but do not see a clear way to update from the original to the newer version 2. Any help would be appreciated.

Vinai commented 9 years ago

I wrote very brief instructions in the readme:

To upgrade, first create a backup (file system and database). Then install the GroupsCatalog 2 module, and visit the admin page at System - Tools - Groups Catalog 2 Migration. There you will find a step-by-step wizard assisting you to migrate all settings for the system configuration, all products and all categories.

Originally I used the migration wizard tool to upgrade a few client sites from the older GroupsCatalog plugin to the current GroupsCatalog2.
The important thing being that to start the migration, both extensions have to be installed. All the migration tool does is it copies the settings from the old extension to the new one. After the migration tool is run, then it assists you in removing the old modules database artifacts and then the old module code can be deleted.

After I migrated the client sites, I have never used the migration tool again, and it is not part of the module functionality that I test with new releases (I only have a limited amount of time). Because of that I'm not 100% sure it still works. Hope that helps!

charlieaf92 commented 9 years ago

Thank you for your prompt response and please excuse my questions if they seem overtly obvious. If I understand the process correctly it should take place as:

Install GroupsCatalog2 on existing version of Magento (in this case 1.5) Run the migration wizard Upgrade Magneto to the latest version

I've tried this and after uploading the source files (extension keys for Magento connect are not displaying), clearing cache the site throws out the following error and I am unable to access admin area:

Fatal error: Class 'Mage_Catalog_Model_Resource_Setup' not found in /home/liquids/public_html/fresh/app/code/community/Netzarbeiter/GroupsCatalog2/Model/Resource/Setup.php on line 5

Again, thank you for your help.

Cheers

kiatng commented 9 years ago

@charlieaf92 In the second sentence in README.md: It is a rewrite of the extension Netzarbeiter_GroupsCatalog for Magento 1.6 and newer. So ver 1.5 is not supported.

@Vinai Thanks for the upgrade guide. I will give it try after the production is upgraded to CE ver 1.9.1.1.

Vinai commented 9 years ago

To confirm, the high level steps would be

  1. Upgrade Magento
  2. Install GroupsCatalog2
  3. Run the migration wizard
  4. Uninstall the old module
joolswills commented 9 years ago

One problem is the old module is throwing errors on an upgraded site- so can the migration wizard work with the old module disabled ?

Strict Notice: Declaration of Netzarbeiter_GroupsCatalog_Model_Catalog_Resource_Eav_Mysql4_Category_Flat::_loadNodes() should be compatible with Mage_Catalog_Model_Resource_Category_Flat::_loadNodes($parentNode = NULL, $recursionLevel = 0, $storeId = 0, $onlyActive = true)  in pp/code/community/Netzarbeiter/GroupsCatalog/Model/Catalog/Resource/Eav/Mysql4/Category/Flat.php on line 6

I guess I can just manually fix up the old extension, but it might be worth mentioning this for users. Or Maybe I can just change the error levels and ignore it.

joolswills commented 9 years ago

quick fix anyway - for anyone else:

Index: app/code/community/Netzarbeiter/GroupsCatalog/Model/Catalog/Resource/Eav/Mysql4/Category/Flat.php
===================================================================
--- app/code/community/Netzarbeiter/GroupsCatalog/Model/Catalog/Resource/Eav/Mysql4/Category/Flat.php   (revision 7)
+++ app/code/community/Netzarbeiter/GroupsCatalog/Model/Catalog/Resource/Eav/Mysql4/Category/Flat.php   (working copy)
@@ -13,7 +13,7 @@
     * @param int $storeId
     * @return array
     */
-   protected function _loadNodes($parentNode = null, $recursionLevel = 0, $storeId = 0)
+   protected function _loadNodes($parentNode = null, $recursionLevel = 0, $storeId = 0, $onlyActive = true)
    {
        $nodes = parent::_loadNodes($parentNode, $recursionLevel, $storeId);