Jump to content

Problems installing RockCommerce


bramwolf
 Share

Recommended Posts

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.

580552117_Screenshot2025-03-07at14_53_52.thumb.png.9fe882dbb707e8162b432bc08671e8ec.png

831492252_Screenshot2025-03-07at14_56_41.thumb.png.d0962e7441bd1fb975fc7e4a6d641c5c.png

 

With RockMigrations From v6.5.0 the site doesn’t timeout but gives a error:

931843717_Screenshot2025-03-07at14_57_47.thumb.png.eeeb81730af74b97a1ac8e3982ba1c0f.png


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: Cant 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

  • Thanks 1
Link to comment
Share on other sites

Hey @bramwolf thx for the detailed request (and of course thx for your purchase 🙂 )!

  On 3/7/2025 at 3:03 PM, bramwolf said:

931843717_Screenshot2025-03-07at14_57_47.thumb.png.eeeb81730af74b97a1ac8e3982ba1c0f.png


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: Cant 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

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

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

  • 3 weeks later...

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

  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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...