Modx site with a lot of resources

Summary

Hello,

As a hobby I have a website which publishes wine tasting notes (https://vinotopia.be). Currently runs on Webflow, before that on Drupal 7. I want to move away from Webflow because basically its CMS capability sucks.

I’ve built another hobby site on MODX (https://whichbachcantata.be) which works like a charm, so I’m working on moving my wine site to MODX as well.

The site has currently about 8000 tasting notes and that will continue to grow of course. But before I fully develop it, could someone confirm that MODX can handle about 10,000 resources? Or would you advise another CMS platform?

Also if anyone has tips, tricks or pointers on how to manage that amount of resources, I’d be happy to hear it.

Thanks & cheers --Mike

Environment

MODX 3.0.4 pl MODX Cloud

Mike, welcome to MODX. MODX is definitely able to handle large numbers of resources, but for snappy performance, you may want to create a custom DB table for the notes, since resources carry a lot of baggage that you many not need.

And searching and sorting resources using Template Variables (which I suspect you’ll need) can be a little sluggish.

In the manager, you may want to use the Collections extra, if all your notes-resources are located in the same ‘folder’ (to hide them from the resource-tree).

Wonderful tip @halftrainedharry seems very useful, thanks!

Cheers --Mike

Here is one way to create a custom DB table. There is also MIGXdb and this tutorial in the MODX docs.

Many thanks @bobray , you’re the best! I’m not a professional website builder and do not know PHP (although I get by with snippets here and there and ChatGPT as a copilot), which method (ClassExtender or MIGXdb) would you advise?

Also, will both methods allow me to expose results in the front end as easily as using e.g. template variables?

Thanks & cheers --Mike

It depends on the specific use case:

With ClassExtender you still create normal MODX resources, but you add another database table for additional resource fields. This can improve the performance, if you have a lot of TVs that you can replace with custom resource fields.

MIGXdb is usually used when you don’t need resources at all.
For example if your “wine tasting notes” don’t need to be requested individually via their assigned URL, you could add them all to a custom database table. (Then you would output them in a resource using the snippet “migxLoopCollection” instead of “getResources”/“pdoResources”).

1 Like

Thanks @halftrainedharry , that makes it clear. I think I’m going to develop the site initially with normal tasting note resources and see how it behaves performance wise. If needed I’ll then work towards ClassExtender or MIGXdb - don’t know yet what would be the better choice.

I’d like to get an MVP of the site running by May so I can cancel my Webflow account, so standard resources will be the fastest way of doing that. Curious.

Thanks for all the help and advice!

Cheers --Mike

1 Like

I think MIGXdb might be a better choice if you want to avoid writing custom PHP code.

1 Like