Large Catalogues and Localisation

Permalink
Hi All... Got a few potential issues for a couple of projects I'm working on... any input would be appreciated!

A product catalogue with over 500k items. Obviously this isn't manageable with the core eCommerce (i.e. creating pages for each item) so a single page might do the trick. Based on URL parameters getting info from web services and rendering out... simple.

Each item detail page may need to be localised (standard en_GB style locales) - again the web service can deal with the dynamic content differences.

However, If the website editors want to add content/blocks to:

1. Specific items
2. Specific locales
3. A combination of both

Then the current system is not going to cope with that. I have thought about adding item id and locale to the block tables, but this doesnt work because every blobk for every item would appear on the same single page.

There are a few other potential solutions that Im thinking over, but thought I'd see if anyone has done anything like this before? (and in a scalable way!)

Thanks in advance.

5fly
 
JohntheFish replied on at Permalink Reply
JohntheFish
If you could code attributes so you have attributes for each item, then your additional item data could either be in the attributes, or in a page linked from an item's attribute.
5fly replied on at Permalink Reply
5fly
Because each item is coming from a web service, C5 knows nothing about them, therefore can't assign attributes... If thats what you meant! :)
JohntheFish replied on at Permalink Reply
JohntheFish
I was thinking more of extending the attributes model so you could assign attributes to them individually.

That's what eCommerce does for products.

I there is some stuff in the developers docs and howtos on doing this. I can't remember exactly where.
5fly replied on at Permalink Reply
5fly
Cheers - Ill take a look at attributes - not 100% sure how they would solve the problem, must be missing something fundamental....
mkly replied on at Permalink Reply
mkly
You can actually wrap you service calls in an attribute. Basically you would be calling the web service instead of the database.

Otherwise, you are correct in that concrete5 has likely too much overhead for this. If I were you it's one of two things.

1. If you really want to still use c5, because the rest of the site does then you might want to use a single page with some cart libraries from out in the web. But that is basically just developing your application outside of concerete5 anyway so you are probably better off to...

2. Use something like CodeIgniter with it's cart class etc and just build it out. Then you can just make a dashboard page in concrete5 that uses the models from CodeIgniter.