Posted on 20/11/2014 22:34:39
A long term solution...
How about making all products item based? A product item would be any item inheriting from "buyable item" (a standard code first item?), which means that it can have prices, stock states, etc. and it can be added to a cart. That way each product would always have a single unique (canonical) URL, because it can only exist in one place. It would be possible to create multiple lists with the same products by using Item Publisher or similar, but each product would still have a unique URL. This might create some limitations, but it would be a lot simpler to set up and it would just work out of the box.
While we are at it, why not make all of eCommerce item based? It doesn't necessarily mean that everything should live in the site structure.
This has not been fully thought through (no shit), but maybe it's worth investigating. I think most would agree that some major breaking changes are better than having to deal with stuff that is already broken on a daily basis. This change could even be done gradually while preserving some backwards compatibility.
Once all content is item based the API could be reduced considerably and it would make it so much easier for Dynamicweb to maintain and for partners to extend. A single API for all content instead of having multiple APIs that happen to coexist inside the belly of Dynamicweb.