Thanks, I will have a look at TV bindings and snippets.
As to TVs and categories, I don’t know. Wordpress seems to use categories to subset or section out groups of blog posts for different treatment. It’s their way of getting around the one-blog (db table) limitation. EE has simply gone to using multiple "weblogs" (db tables), then defining the fields for each table, totally separate from display. But if you don’t want to have to think about and predefine data structures, it might not be a bad idea to tie them directly into on-site presentation (i.e. templates). I got to thinking about the problem of data entry last night, and it would seem it is just another web presentation task in the shape of providing an interactive form. Does Modx require data entry to go through the Manager or can you design forms (templates) to collect document data directly via the web site? Is there a preferred method or expectation here?
Yes, I can see the possibilities for using CSS to re-stylize a template, for example for web or print. Thanks for suggesting that. If necessary, though, how do you have "as many templates as you like" in Modx for a given document? Don’t you have to specify for each document which template it uses? When you talk about mobile presentation and switching templates, does that mean you could have a sort of a traffic cop template (with plug-ins), one attached to each document, which would then direct off to other templates for a variety of different actual displays? I could see that.
As to the majority of cases being document -> web page, I’m not so sure. In trying to figure out the core paradigms used by the various CMS’s out there (and what my own data looks like for my various projects), it seems to me there are least four different paradigms driving data and display. One is indeed the "article" idea, where each web page (minus headers, footers, sidebars) basically displays one long document. There is also the "list" idea, where a list of records (short or long, single field or multi-field) is presented, be they blog posts or teasers or titles or menu items. All the data is of the same type. You’re grabbing records from a single table (selected, sorted, with choice of fields to display). Third, there is the "database" idea, where the content of fields is presented in some more complex way, for example combining relational data. However it works, though, the data and relationships are well-defined. Finally, there is the "mashup" idea, where you just want to grab various kinds of content on an ad hoc basis, or through some kind of search, and throw it together onscreen, making it look nice and orderly (but where underlying data types vary widely and data interrelationships are neither neatly defined nor persistent).
Most CMS’s do articles and lists, along with headers, footers, and sidebars. Home pages often need custom coding. Wordpress does this for a single "blog," Joomla goes for articles, EE does multiple "blogs" and seems to be pushing towards a database paradigm (as is Drupal with CCK). If a truly database-y solution is required, you usually end up going with a totally custom design (not a CMS), using some kind of programmer/developer framework, or something more along the lines of Filemaker. Here the paradigm comes from client side apps, and the challenge is to make it web friendly. Mashups, on the other hand, seem to be the wave of the future, especially now that we have wildly powerful searching capability (Google turns up all kinds of stuff!) and tagging (coming out of the social computing craze -- again, turning up all kinds of stuff!). Drupal seems to be experimenting with mashups for Drupal 7.
How does Modx see itself?