Drupal approach, seriously

  • Data model: CCK, Views, Relativity
  • Business logic: encapsulate in a custom module: hook_validate, submit, node_api, form_alter
  • Horizontal features galore: user mgmt, access mgmt, calendaring, attachments, workflow, syndication, search
  • Presentation: theming, form elements, jQuery