The problem of many types of content

David Yelvington mentioned back in December 2008 that his Drupal site had over 30 content types:

Why on earth so many content types? It's easy to see good reasons for news items to be structurally more complex than a simple blog post. But we also have some types of content you probably wouldn't think about at first. Wire stories are an interesting case.... Promos are another.... Other content includes special types for various video players, feeds from other technology and content partners, items aggregated from websites in the community, podcasts, cartoons, Soundslides shows, and Tweets.... Drupal also creates content types for internal purposes, such as representing user groups, webforms, etc.

To be honest, thirty seems about right for a medium-sized site, so my first reaction wasn't one of surprise at all. David's explained briefly what a content type is in his own post, so I'll not repeat that here. Safe to say that what makes a job advert on a site distinguishable---and capable of holding different information---from a publication or organizational event is that each is derived from a different content type. Some CMSes call these "templates", as does Torchbox's proprietary alternative.

Really, really big sites (especially multi-domain sites, sites with organic groups, sites with microsites, sites with just a lot of transitory projects going on) need a lot of types of content. Even a medium-sized site can easily have two dozen content types, just to satisfy things like news, PR, departmentalization, events, products, staff, directories.... The most recent Drupal builds I've been involved in have all had over twenty content types, and Torchbox's biggest non-Drupal site has literally hundreds of "templates", serving many tens of subdomains and several years of legacy content for many different projects.

What Drupal's content-type maintenance (especially in Drupal 5) highlights is that implicit in Drupal's interface design has been a small number of content types: or at any rate sufficiently few to be listed without much scrolling of your browser window. I'd hate to see an unfortunate user maintaining a Drupal site containing two hundred content types. Yet again (yawn), we're working on a module---currently only for Drupal 5---to categorize content types. It currently only improves the tabular content-type admin page by grouping similar content types into separate tables, but the hooks should then be available in order to have more segmented views of content types.

You can never predict where usability (as opposed to programmatic) scalability will bite you. At least Drupal's modular nature---rich in overrides and workflow interrupts---more often than not allows you to solve some of these problems in hindsight.

Comments

Edit (well: comment, really): alpha version of nicetypes module now available. Let me know what you think.