bramwolf Posted March 7 Share Posted March 7 Hi All! Specs: Processwire [3.0.246] RockFrontend [5.1.0] RockMoney [3.0.2] RockMigrations [6.7.1] PHP 8.3 MySQL server with InnoDB engine Subdomain ( configured via DNS point to subfolder of public_html, works as expected ) I’ve been trying to install RockCommerce on a fresh install, but the installation fails caused by a timeout, With RockMigrations From v6.6.0 and onward the site gives a timeout error when trying to install RockCommerce. With RockMigrations From v6.5.0 the site doesn’t timeout but gives a error: ModulesInstaller: Unable to install module (RockCommerce): Can’t save page (id=0): /discounts/: It has no parent assigned This setup partially installs the module for later gives me this: ProcessWire: ProcessModule: Can’t save page (id=0): /discounts/: It has no parent assigned DEBUG MODE BACKTRACE ($config->debug == true): #0 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Pages.php(841): ProcessWire\PagesEditor->save() #1 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(419): ProcessWire\Pages->___save() #2 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/WireHooks.php(968): ProcessWire\Wire->_callMethod() #3 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(484): ProcessWire\WireHooks->runHooks() #4 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Page.php(2418): ProcessWire\Wire->__call() #5 /home/u855151783/domains/big-in-fabric.be/public_html/merge/site/modules/RockMigrations/RockMigrations.module.php(1101): ProcessWire\Page->save() #6 /home/u855151783/domains/big-in-fabric.be/public_html/merge/site/modules/RockCommerce/RockMigrations/afterAssets.php(6): ProcessWire\RockMigrations->createPage() #7 /home/u855151783/domains/big-in-fabric.be/public_html/merge/site/modules/RockMigrations/RockMigrations.module.php(4267): require('/home/u85515178...') #8 /home/u855151783/domains/big-in-fabric.be/public_html/merge/site/modules/RockMigrations/RockMigrations.module.php(4298): ProcessWire\RockMigrations->runConfigHooks() #9 /home/u855151783/domains/big-in-fabric.be/public_html/merge/site/modules/RockMigrations/RockMigrations.module.php(3524): ProcessWire\RockMigrations->runConfigMigrations() #10 /home/u855151783/domains/big-in-fabric.be/public_html/merge/site/modules/RockMigrations/RockMigrations.module.php(4172): ProcessWire\RockMigrations->migrateWatchfiles() #11 /home/u855151783/domains/big-in-fabric.be/public_html/merge/site/modules/RockMigrations/RockMigrations.module.php(5656): ProcessWire\RockMigrations->run() #12 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/WireHooks.php(1094): ProcessWire\RockMigrations->triggerMigrations() #13 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(484): ProcessWire\WireHooks->runHooks() #14 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/modules/Process/ProcessModule/ProcessModule.module(389): ProcessWire\Wire->__call() #15 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(413): ProcessWire\ProcessModule->___execute() #16 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/WireHooks.php(968): ProcessWire\Wire->_callMethod() #17 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(484): ProcessWire\WireHooks->runHooks() #18 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/ProcessController.php(361): ProcessWire\Wire->__call() #19 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(413): ProcessWire\ProcessController->___execute() #20 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/WireHooks.php(968): ProcessWire\Wire->_callMethod() #21 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(484): ProcessWire\WireHooks->runHooks() #22 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/admin.php(174): ProcessWire\Wire->__call() #23 /home/u855151783/domains/big-in-fabric.be/public_html/merge/site/templates/admin.php(18): require('/home/u85515178...') #24 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/TemplateFile.php(328): require('/home/u85515178...') #25 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(413): ProcessWire\TemplateFile->___render() #26 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/WireHooks.php(968): ProcessWire\Wire->_callMethod() #27 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(484): ProcessWire\WireHooks->runHooks() #28 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/modules/PageRender.module(581): ProcessWire\Wire->__call() #29 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(416): ProcessWire\PageRender->___renderPage() #30 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/WireHooks.php(968): ProcessWire\Wire->_callMethod() #31 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(484): ProcessWire\WireHooks->runHooks() #32 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/WireHooks.php(1094): ProcessWire\Wire->__call() #33 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(484): ProcessWire\WireHooks->runHooks() #34 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/modules/Process/ProcessPageView.module(193): ProcessWire\Wire->__call() #35 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/modules/Process/ProcessPageView.module(114): ProcessWire\ProcessPageView->renderPage() #36 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(416): ProcessWire\ProcessPageView->___execute() #37 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/WireHooks.php(968): ProcessWire\Wire->_callMethod() #38 /home/u855151783/domains/big-in-fabric.be/public_html/merge/wire/core/Wire.php(484): ProcessWire\WireHooks->runHooks() #39 /home/u855151783/domains/big-in-fabric.be/public_html/merge/index.php(55): ProcessWire\Wire->__call() #40 {main} It might still timeout after this, but atleast it return a proper error. I’ve tried pretty much all possible combinations of RockMigrations, RockCommerce 1.0 and 1.1 but to no avail 😞 Does anybody have any clue as to why this is happening? Any help would be greatly appreciated! 🙂 Grtz Bram 1 Link to comment Share on other sites More sharing options...
bernhard Posted March 7 Share Posted March 7 Hey @bramwolf thx for the detailed request (and of course thx for your purchase 🙂 )! On 3/7/2025 at 3:03 PM, bramwolf said: ModulesInstaller: Unable to install module (RockCommerce): Can’t save page (id=0): /discounts/: It has no parent assigned This setup partially installs the module for later gives me this: ProcessWire: ProcessModule: Can’t save page (id=0): /discounts/: It has no parent assigned Expand Thx! This was very helpful! I think I have fixed the issue - could you please try v1.1.1? https://www.baumrock.com/releases/rockcommerce/ Sorry for the trouble! Please let me know if everything works now as expected and mark the topic [solved] if it does 🙂 Link to comment Share on other sites More sharing options...
bramwolf Posted March 7 Author Share Posted March 7 Hi! Thanks for the quick reply, much appreciated! 🙂 I've tested version 1.1.1, but sadly I get the same result. The only way I could get that error instead of a timeout was by using RockMigrations 6.5.0. So I've tested it with RockMigrations 6.5.0 -> Error, and with RockMigrations 6.7.1 -> Timeout.. I've tested this on a fresh install of pw, so there shouldn't be any conflicting plugins. Link to comment Share on other sites More sharing options...
bernhard Posted March 7 Share Posted March 7 Hmm. That's strange. Your error states that it fails with creating the discounts page. So my guess is that this issue was introduced with the discounts update at v1.1.0 - May I ask you to try v1.0.0? Strange is that I was able to reproduce your issue with v1.1.0 but 1.1.1 fixed it for me. So I'm not sure how to reproduce/fix it but the first step would be to confirm that 1.0.0 works for you. You could then also try to update to 1.1.0, which should work. That's not a solution yet but it might help to narrow down the issue! Thx for your help and sorry for the trouble!! Link to comment Share on other sites More sharing options...
bramwolf Posted Thursday at 11:19 AM Author Share Posted Thursday at 11:19 AM Hi Bernhard, Thanks for your efforts, I can see you've been busy updating the modules these past weeks! 🙂 I've got pretty much everything to work now!! Thanks so much for the updates. I do still have two small issues, first is that I get an error on installing RockCommerce as seen here: - Module Install - RockCommerce +7 - ModulesInstaller: Error adding permission: rockcommerce-dashboard First problem I've tried this on a completely fresh install and I didn't get the error there, when all works as it's supposed to the "Shop" menu item in the admin top menu shows a dropdown width "Dashboard" and "Settings". I don't get this on the site that gives me the error. The page structure under "Admin" looks the same on both sites. The site that gives the error is a mulisite setup using multiple domains under the root and define those as page roots, I could imagine this is related to the cause of the problem? https://github.com/somatonic/Multisite/ EDIT: I uninstalled the Multisite module and RockCommerce, and reinstalled RockCommerce hoping the Multisite module would no longer interfere with the installation and this was in fact the case, so now I've got it installed correctly 🙂 A idea for future updates might be getting a parent page to install things under ( like "Admin" ) based on $pages->get(ID) instead of page slugs? ( Not sure if you're doing this.. ) In the case of Multisite slug redirects issues like mine might appear. 🙂 Second problem In the RockCommerce module settings I can set "Use product variations", it states that RockGrid will be installed after setting this to true, however it doesn't, and keeps telling me to install RockGrid to use variations, but RockGrid is a pro module, do I have to buy that as well to be able to use variations? I hope I've given you enough to go on, thanks again! 🙂 Link to comment Share on other sites More sharing options...
bernhard Posted 15 hours ago Share Posted 15 hours ago On 3/27/2025 at 11:19 AM, bramwolf said: I've got pretty much everything to work now!! Thanks so much for the updates. Expand Hi @bramwolf that's great! On 3/27/2025 at 11:19 AM, bramwolf said: First problem EDIT: I uninstalled the Multisite module and RockCommerce, and reinstalled RockCommerce hoping the Multisite module would no longer interfere with the installation and this was in fact the case, so now I've got it installed correctly 🙂 A idea for future updates might be getting a parent page to install things under ( like "Admin" ) based on $pages->get(ID) instead of page slugs? ( Not sure if you're doing this.. ) In the case of Multisite slug redirects issues like mine might appear. 🙂 Expand Great you found the reason for the issue. The multisite module is a dinosaur and has not seen any updates in 7 years. Of course in the ProcessWire universe this does not have to mean anything and soma for sure knew what he was doing, but I tried the module several times and always got into trouble somewhere. Rewriting page paths is a huge change and 3rd party modules (like RockCommerce) might need to account for such situations (or the other way round). So to be clear hear, I'm not going to even try to officially support the usage of RockCommerce together with any unofficial multisite module. I have written my own RockMultisite module and I'll likely never share it with the public because there are too many possible pitfalls. Having said that, of course I do try to help you and if there is anything I can do to make it work for you without breaking anything for anybody else I'm happy to do that! But unfortunately I don't understand what you are trying to say here: On 3/27/2025 at 11:19 AM, bramwolf said: A idea for future updates might be getting a parent page to install things under ( like "Admin" ) based on $pages->get(ID) instead of page slugs? ( Not sure if you're doing this.. ) Expand --- On 3/27/2025 at 11:19 AM, bramwolf said: Second problem In the RockCommerce module settings I can set "Use product variations", it states that RockGrid will be installed after setting this to true, however it doesn't, and keeps telling me to install RockGrid to use variations, but RockGrid is a pro module, do I have to buy that as well to be able to use variations? Expand Thx for that question. I was totally thinking that I mentioned that in the video, but turns out that I had the RockCalendar module in my mind. See this section of the showcase video: https://youtu.be/40h6I4i8JKs?si=rTlUzI95f8tH4dNr&t=254 This is exactly the same case/reason for RockCommerce and this shows why it's a separate module. Because I need the features/UI for multiple other modules. It seems that this information was missing for RockCommerce and I'm sorry for that. I updated the docs here: https://www.baumrock.com/en/processwire/modules/rockcommerce/docs/product-variations/ If you have any further questions let me know. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now