Alberta Heart Institute, CMS complaints
One of the challenges I've had working with MSCMS is understanding that content is stored as objects and not as records in a relational database. So, apparently, you can't just write a query that grabs all the pages with the keyword "arrhythmia." You have to recursively crawl through the whole site tree (i.e., every page) to find that information.
This seems like a staggeringly inefficient way of finding related pieces of content, especially ones that aren't on the current branch. Which makes me wonder: If this kind of object-oriented content model is so efficient at presenting traditional hierarchies, is it at the expense of valuable contextual connections across branches of a hierarchy? It's like my content is chained to the taxonomy, and I can't leverage my metadata to set it free. Or something.
One solution I thought of was to crawl sections of the site nightly and dump the metadata and url of each page into a database. But a sophisticated CMS shouldn't force you to resort to such a kluge.
If you know a way around this problem, please enlighten me either in the comments or by email.

