User Tools

Site Tools


dr:what

This is an old revision of the document!


Table of Contents

Of course, Drupal has historically been about the community more than the software, but this is not the point. The question here is: what defines the Drupal experience technically, be it for developers, themers, or content authors

Developers

  • The hook mechanism. Refined from its inception to the generalizing categories of accumulators (hooks invokable via module_invoke_all) and alterators (hook_*_alter) while early/historical pseudo-hooks (hook_insert/update/delete…)
  • The theme() mechanism, with its overlaid overrides, theme functions and templates
  • Render arrays, with their properties (#) and elements (no #)
  • Complete renouncement of basic PHP practice expected (forms, superglobals, sessions…)
  • Refusal to give in to the MVC for the benefit of practitioners with more academic training than experience
  • Storage
    • No ORM, but DB API virtualization
    • SQL mandatory (until D7), NoSQL available (D6 and later)
    • File management
  • No mandatory content relationships
    • Taxonomy
    • 9-level deep book structure
  • Content (until D6)
    • Everything rich is either a node, comment, or user account (until D6)
    • Every piece of rich content has a unique owner
    • Fieldable nodes (CCK) and accounts (Profile)
    • Terms and vocabularies are plain text
  • Content (D7 and later)
    • Everything is a fieldable entity
    • Yes, even fields, although it may not be implemented yet
    • Including user accounts

Themers

  • Multiple themes
  • Hierarchical templates
  • RTL support
  • Presupposed XHTML (until D7)

Admins

  • Online configuration, without a separate CLI installer/manager (à la Django or Rails)
    • Drush does not count, being contrib an addon
  • Themable extensible query/report builder (Views)
dr/what.1283714414.txt.gz · Last modified: 2020/11/23 17:23 (external edit)