Drupal

Walt Haas's picture

Updated: 

14/03/2016 - 11:44

Drupal is a powerful open source content management system (CMS). In the CMS world Drupal is usually considered the most powerful CMS, but also the hardest to learn. Both of these qualities stem from the large number and great power of Drupal contributed modules.

Because of Drupal's architecture, it is possible to write a module for a niche application, such as avalanche forecasting, that can plug into Drupal to provide a specialized function while still taking advantage of all the other modules. In order to do this, the programmer must have enough understanding of Drupal internals to integrate the new module into the existing framework.

If you are learning to write Drupal modules, this is probably not the place to start. A better starting point would be the Drupal developer documentation and BuildAModule. After you have learned the basics, this site might be useful to help you with the details.

It is useful to think of Drupal as a persistent object store in which each object is stored as a Drupal entity optionally combined with additional fields. This conceptual object store is implemented with a Relational Database Management System (RDBMS). Drupal developers need to understand both object and relational concepts to be effective.