froscon06 1.02

FrOSCon 2006
Free and Open Source Software Conference

Robert Douglass
Day 2
Location HS5
Start time 16:00
Duration 01:00
ID 19
Type Lecture
Track Content Management
Language english

Rapid prototyping web applications with Drupal

The emerging generation of developer tools for a well-loved CMS.

Drupal has long been considered a developer-friendly platform for creating LAMP web applications. A new generation of tools is emerging that will make Drupal more attractive to developers than ever before. This lecture will introduce the Content Construction Kit, Views, Actions, Workflows and the Relationship Manager to demonstrate how complex applications can be created writing little or no code.

New tools are available that will make Drupal easier to customize and which will reduce the workload of programmers dramatically. Individually, these tools are each powerful and interesting in their own right, but used together they can revolutionize the way Drupal is used to build web applications.

The Tools

Content Construction Kit (CCK) [2]

The ability to define custom data types easily, and from the web interface, is one of the most popular features of Drupal today, with the flexinode module[1] being one of the most popular modules. With Drupal 4.7, a new tool has emerged that overcomes flexinode's limitations with regards to performance while adding semantic meaning to fields, making them reusable, and separating the concepts of data type and user interface.

Views [3]

The views module is Drupal's version of saved queries with a reporting tool built on top. Views enables the custom presentation of existing data, including tabular and list views.

Actions [4]

A Drupal action is a specially written PHP function that can be named, configured through the web interface, and saved.

Workflow [5]

The workflow module allows for the definition of the various states a Drupal object (node) can have. The possible set of state changes can be defined and a set of actions can be assigned to each transition. Initiating state change is governed by role-based user permissions.

The Relationship Manager [6]

Allows Drupal objects (nodes) to be aware of how they relate to other objects. These relations can be expressed in RDF making Drupal a premier candidate for driving the Semantic Web.

The Message

Using these tools together opens up whole new ways of building applications. The developer can start by defining the various data types (CCK), including the data structures and User Interface. Then, using the Relationship Manager, the various relations and connections between data types is determined. The Workflow module is used to assign named states to the data model, and the Actions module provides the framework for deciding what happens when state transitions are triggered. Finally, the Views module allows the data model to be queried and presented.

This lecture will cover each of these tools while walking through the creation of a new web application.

[1] [2] [3] [4] [5] [6]