Q: How is this site different from other Drupal7 demos ? [slideshow]

A: It is object-oriented with graphical UML support !

There are many Drupal7 demonstration sites; this one supplements those sites and distinguishes itself from them in the following crucial and unique ways, as explained by this slideshow:

This site progressively includes UML analysis diagrams to illustrate encapsulation of the Drupal7 module development system in truly OO form, which will hopefully encourage further adoption of OOP in future versions of Drupal core and in the contributed module development community.

This site uses an overtly "self-referential" educational strategy to expose Drupal concepts to developers, rather than being based on contrived examples. For example, a contributed module menu link in a block might be called "A contributed module menu link in a block" and would appear in a block. The demonstration panels page is simply called Demo: Panels page, it does not pretend to be a panels page for a fictional online lolly shop.

The author Dr Darren is a fan and advocate of design patterns, graphical Unified Modeling Language (UML) and fully-integrated model-driven software development as available for Enterprise Java and C++ and many other languages, but not currently available for PHP-driven Drupal - in part because of its lack of full Object-Orientation (as well as limitations of reverse engineering of untyped PHP). The OOE = Object Oriented Examples = One Of Each tutorial module helps address that.

When coding against OOE Classes one never has to touch a Drupal structured array or structured array key directly. OOE methods do all the work on structured arrays for you and pass them back to Drupal core via an object-oriented bridge to the flat function-based .module file with Drupal hooks that merely delegate to OOE classes via a IModuleMap ["bridge"] such as OoeBridge.

The OOE module promotes eternally preferrable Don't Repeat Yourself (DRY Principle) coding instead of Write Everything Twice (WET) (because "we enjoy typing") coding, which is simply rampant in Drupal, where strings representing structured array keys are sometimes repeated dozens of times within one module.

'OOE' can stand for Object Oriented Examples, and this site demonstrates via OOE = Object Oriented Examples = One Of Each an object-oriented bridge to Drupal7 core, including consistent graphical UML analysis diagrams of the OOE system. (A sibling site will later create an OO bridge to Drupal8, which unfortunately under the hood still codes directly against structured arrays, despite some progress towards more OOP).

It employs an extensive educational tutorial module called OOE = Object Oriented Examples = One Of Each to demonstrate (progressively) one of each of the possible features and capabilities of Drupal contributed modules, drawing heavily on existing examples, but translating them to truly object-oriented form.

Visit also