dr:what
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
dr:what [2010/09/05 15:34] – created fgm | dr:what [2020/11/23 17:23] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | 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, | + | ====== What defines Drupal ? ====== |
+ | |||
+ | 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, | ||
+ | |||
+ | ==== Why ? ==== | ||
+ | |||
+ | The goal here is to think what [[dr/ | ||
+ | |||
+ | * Drupy 1 was designed as a line-per-line [[http:// | ||
+ | * Drupy 2 was designed as a rebuild of Drupal 7 main features on top of Django | ||
+ | * The goal for Drupyx, besides improving the overall Python-fu at OSInet, is to provide a Drupal-like developer experience (DX), themer experience (TX), and admin experience (AX) on top of Python, without an additional framework layer | ||
+ | |||
+ | Drupy 1 shows how low-level porting has been a trap, and actively discourages from pursuing in the same vein without higher-level thoughts. | ||
+ | |||
+ | Discussion transferred to http:// | ||
+ | ==== 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/ | * 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/ | ||
* The theme() mechanism, with its overlaid overrides, theme functions and templates | * The theme() mechanism, with its overlaid overrides, theme functions and templates | ||
- | * Render arrays, with their properties (#) and items (no #) | + | * Render arrays, with their properties (#) and elements |
- | * Online configuration, | + | * Complete renouncement of basic PHP practice expected (forms, superglobals, |
- | * Refusal to give in to the MVC for the benefits of theorists | + | * 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 | ||
+ | * " | ||
+ | * IRC #drupal, # | ||
+ | * http:// | ||
+ | |||
+ | ==== Themers ==== | ||
+ | |||
+ | * Multiple themes | ||
+ | * Hierarchical templates | ||
+ | * RTL support | ||
+ | * Presupposed XHTML (until D7) | ||
+ | * Blue :-) | ||
+ | |||
+ | Something will have to give, here: Python seems to be unusable as a PHP-like templating language, thanks to its reliance on indentation. | ||
+ | |||
+ | ==== Admins ==== | ||
+ | |||
+ | * Online configuration, | ||
+ | * Drush does not count, being contrib an addon | ||
+ | * Themable extensible query/ | ||
+ | * IRC # | ||
dr/what.1283700879.txt.gz · Last modified: 2020/11/23 17:23 (external edit)