Skip to main content

Why A Duck?

You have a record; it contains tracks. Consider the relationship between the tracks and between each individual track and the album as a whole: The tracks may also be by different recording artists.

Or ponder the relationship between financial donations to political parties from corporations and those from individuals—and add in the specific amounts of those donations. Muse upon the family relationship between the Marx Brothers—or the Bush twins.

Website building is full of relationships. Yet, despite several attempts, Drupal has not had a generic relationship solution. Node reference and user reference are useful modules but extremely limited. One of the biggest problems with them is the inherent notion of direction. And yet, often relations do not have a direction. Also, there are clearly only two nodes in a relation expressed by node reference. Storing the relationship between the Marx Brothers is not an easy task with such a limited tool.

Enter Relation (http://drupal.org/project/relation). Relation is not a field, but an entity in itself. It can store directed but also non-directed relations. It can store as many entities as you want, so storing all five Marx brothers is easy. And, relation is not just simply an entity but a fieldable entity (it's Drupal 7 and later only) so you can add a number field to the 'donation' relation and store how much was donated. The module provides an API and builds user facing components on top of the API. It integrates both with Views and Rules.

We covered examples in the opening paragraph, now let’s tackle the record album. There are various questions we might want the website to answer, such as: What is track three? What album does it belong to? What are the other tracks on the album?

Share/Save

In Time For Christmas: Drupal Watchdog #2, Mobile Drupal

We're proud to announce that the print edition of Drupal Watchdog Issue #2 is finally available for purchase from Amazon.com! We've incorporated all the fantastic feedback we received from the Beta release offered earlier this year. And for anyone that prefers digital formats, you can purchase a high-resolution digital copy from Zinio. (The print edition contains four bonus photo pages spread throughout the issue, with photos taken at the DrupalCon in Croydon, UK earlier this year.) Help Drupal Watchdog grow and purchase a copy of Drupal Watchdog Issue #2 today!

Share/Save

Drupal Watchdog #2: Beta Download

A Beta copy of Drupal Watchdog Issue #2 is now available as a free download from this website! Visit http://drupalwatchdog.com/1/2/beta-download-register to sign up for a free account and download the 64-page PDF. We're looking for feedback on this issue before we go to print in early September, so please spread the word and email feedback to jeremy@drupalwatchdog.com.

The final print edition will be available for order from Amazon.com. Current subscription holders can expect their copies to arrive by mid-to-late September. A high-resolution electronic edition will be available for purchase from Zinio.com around September 15th.

We're also seeking suggestions for topics and themes for the next issue. We're looking for authors, illustrators, advertisers, and people who want to be involved. Reach out to help make issue #3 amazing, to be available at the Denver DrupalCon in March of 2012.

Share/Save

Drupal Watchdog #2: Mobile Drupal

We are thrilled to bring you the second issue of Drupal Watchdog! A PDF-version will be freely available for download to all attendees of the London DrupalCon from this website this week. Read on for more details about the issue, and various ways to obtain it even if you're not attending the DrupalCon.

Features
Dries Buytaert, the creator of Drupal, contributed a column in Issue #1 titled “Making Drupal A Go-To Platform For Building Mobile Applications.” Issue #2 of Watchdog tackles this same topic in much greater depth, exploring the present state and future course of Mobile Drupal.

Larry Garfield kicks things off in style by asking, “What Does Mobile Mean?” He explores the many definitions people apply to the word “mobile” and provides a roadmap for keeping Drupal relevant in the rapidly arriving future, where visits from mobile devices outnumber those from desktop and laptop computers.

John Albin Wilkins continues the discussion in his article, “Finding Our Path In The Mobile Wild.” In his article, you will find an in-depth comparison of the most prominent methods of serving mobile content, with each method applied specifically to Drupal. He compares and contrasts websites built specifically for mobile devices with those favoring the fluidly adaptive Responsive Design. While reviewing the pros and cons of each, he discusses the current revolution we're facing with site building and content management.

In “Responsive Web Design: Look Great On Any Device,” Bruno De Bondt and Kristof Orts offer a compelling case for Responsive Design. Patrick Teglia documents the real-life efforts required to develop the mobile app released for Chicago DrupalCon in “The Drupal Mobile Process.” And Matthew Farina provides four simple yet effective tips on obtaining “Big Performance Wins On The Front End.”

Share/Save

The Future of Drupal: Drupal 8 and Beyond

It's the year 2000. The NASDAQ is at its all-time high. However, ADSL is barely standardized yet, and cable broadband is still new and expensive. A dutch student writes a piece of software to facilitate and utilize the sharing of an ADSL connection between eight friends. The software moves to the Internet where it powers a message board. When feature requests begin to pour in, Dries Buytaert, the author, open sources Drupal “here, do it yourself” engaging the community in development who answers the challenge...

Technical:

The Drupal software is growing rapidly. The first version in CVS is less than 4,000 lines of code (plus one theme). In the beginning of 2005, Drupal 4.6 gets close to 30,000 lines (plus several themes). Drupal 7 in early 2011 gets released with close to 100,000 lines (plus themes and tests).

The software changes as it grows. It started as a message board and soon became a platform for experimentation. Support for aggregating third party content via RSS was added in 2001 and Drupal was generating feeds even earlier – years before RSS became popular.

The world does not stand still. The semantic web slowly is becoming a reality. AJAX made the dream of desktop-like applications inside the browser a reality.

The Drupal software continues to widen its reach. AJAX has been supported for years now and Drupal 7 adds RDF support.

However, there are many problems we need to face. The organic growth of the software means many parts are very seriously outdated and no longer adequate.

To this day, input for Drupal mostly means a form filled in a browser. Output is almost always an XHTML page.

Drupal for many years has worked like this: First bootstrap Drupal fully, initializing a lot of data (current language, session, path, theme, user etc). Then decide which function handles the page and call it. Once that's done, bolt on the blocks and render an HTML page.

This does not work well if we want to use Drupal as a service platform or dynamic web application. Both of these are cases that require just a small piece of information encoded in JSON or XML as a reply, and not the whole page. Although Drupal 7 made it easier to send non-HTML replies, there is no facility to just send a small part.

Share/Save

Drupal 7 Books: Valuable Resources for Site Builders

There are numerous ways for programmers of all skill levels to get up to speed on this most recent version of our favorite content management system. Reading a Drupal 7 book (or several) offers some advantages, especially if you take the time and effort to work through the examples provided by the author(s): Unlike an article or even a lengthy tutorial, a book can convey far more detailed information; it allows you to jump from one section to another faster than any other medium; it can be personalized with notes in the margins or highlighting; and it will continue functioning even if the electricity goes out!

Thus it is worthwhile to survey all the books devoted to Drupal 7 -- thirteen in total -- comprising those published as of this writing, and those currently scheduled to be released in 2011. Most of the publishers' offerings are introductory, and explain to the nontechnical reader how to build and maintain websites without any custom programming, and hence no need for knowledge of PHP, JavaScript, and other Web technologies. The remaining books are aimed at more advanced Drupal developers interested in creating their own modules or themes, and would only be usable by readers with the required programming proficiency.

Of all the technical publishers, Apress is to be commended for producing five of the titles on our list -- three of which should be suitable for non-programmers. For instance, Beginning Drupal 7 and The Definitive Guide to Drupal 7 differ markedly in how they go about instructing the reader. Beginning Drupal 7 was written by a single author, Todd Tomlinson, and employs a great many screenshots to illustrate everything from Drupal installation to the use of views, panels, and themes. In contrast, The Definitive Guide to Drupal 7 boasts 15 authors and is almost twice as long, with much narrative and some sample code. Intended to be quite comprehensive, it covers not only the basics, but also shows how to plan successful projects, develop modules, and contribute to the Drupal community. As of this writing, it is scheduled to be published on February 28th, 2011. Robert J. Townsend takes a more technical approach in his Foundation Drupal 7, by including some topics not seen in similar books, such as how to set up multiple site installations.

Share/Save

Seven Modules You'll Be Using Next

With the release of Drupal 7 earlier this year, it's a great time to take a look at some lesser-known modules that you might find yourself using in the future. None of these 7 modules are considered top-tier modules...yet. In fact, none of them are even in the top 150 most downloaded modules. Modules were selected based on their usefulness and their proven ability to do something extremely well without getting in the way of other tasks. In fact, the majority of these modules are quite small demonstrating that you don't have to write 10,000 lines of code to make a big contribution in the Drupal community. All module statistics are accurate as of publication deadlines.

Module Filter

Project URL: http://www.drupal.org/project/module_filter
Usage: Installed on more than 4,000 sites, ranked 299
Maintainers: James Jeffrey greenSkin) and Brian Gilbert (realityloop)

The Module Filter is one of those modules that as soon as you install it on one site you'll know right away you'll be installing it on all your sites. It organizes your site's administrative Modules List page (admin/build/modules) the way it's supposed to be. By making use of vertical tabs, it greatly reduces the vertical scrolling on the page. The genius behind the module is its "Filter list" quick search box. As soon as the page is loaded, the cursor is automatically placed in this field and all the user has to do it start typing the first few letters of the module they're looking for and the list magically displays matches. For those of us who aren't addicted to Drush yet, this module greatly speeds up the navigation on the Modules List page.

Environment Indicator

Project URL: http://drupal.org/project/environment_indicator
Usage: Installed on more than 600 sites, ranked 1,123
Maintainer: Tom Kirkpatrick (mrFelton)

Share/Save

Really Important Views-related Modules

Views by itself is a powerful and highly flexible module that provides website builders with critical list making abilities. The core of Views, however, does not contain every piece of functionality that you could wish for – many Drupal developers have found reasons to expand on Views’ capabilities. Note that some of these modules have not yet been fully ported to use Views 3.x, or Drupal 7. Here are a few you should know about.

Share/Save

The Drupal Association: Stewards of the Drop

If you have been around the Drupal community for any length of time you have probably heard of the Drupal Association. What you may not be aware of is the myriad ways in which the Association helps foster and support the growth of Drupal, both as a software project and a community

The Association funds the ongoing support and maintenance of Drupal.org, the website that’s home to the Drupal project and community. It also helps organize and support Drupal events around the world. In the United States, the Drupal Association partners with DrupalCon, Inc., a non-profit that organizes the annual North American DrupalCon and provides fiscal agency and insurance for DrupalCamps and other local events.

The Association also funds and supports other projects that are too large for community volunteers to handle on their own, but essential to the growth of Drupal. Recent examples include the Drupal.org redesign and migration to the Git version control system.

Finally, the Association protects the Drupal project and community through legal work and advocacy, and helps promote it through marketing and promotion efforts. Although the Association is dedicated to protecting Drupal’s source code, it does not play any role in the development or direction of the software itself.

The Association has grown tremendously since its humble beginnings only four years ago. Originally created to help raise funds to support the Drupal.org site infrastructure, the Drupal Association today is a large international organization that boasts hundreds of members from around the globe.

The Association is run by a General Assembly of 34 Permanent Members who are responsible for electing a board from among its membership. The current board consists of nine members led by President Dries Buytaert, the founding developer of the Drupal project. The General Assembly is also responsible for adding new Permanent Members to its ranks on an annual basis. While only members of the board vote on resolutions, the entire General Assembly takes part in the debate and monitors all board activities. The board is responsible for everything from approving spending decisions to deciding the location of the next DrupalCon.

Share/Save

Drupal: Secure by Default, Inconsistent by Nature

There are lots of considerations to take into account when building a software platform that can be extended by third-party modules. One major goal is that the system should be secure from the minute you install it, and that’s pretty easy for a project with a lot of talented contributors like Drupal. But it’s not so easy to create a system that will be secure from install and stay secure as you change the configuration, add modules, write modules, and create your own theme.

What is a “secure” web application?

A web application is secure if private data is kept private, the site cannot be forced offline or into a degraded mode by a remote visitor, the site resources are used only for their intended purposes, and the site content can be edited only by appropriate users. - Chapter 1, Cracking Drupal by Greg James Knaddison

Most software projects don’t have to worry about this problem as much as a modular framework like Drupal does. They build software and it gets used. There is no need to make life easy on developers and themers. For Drupal, though, contributed or custom modules are key to a typical site and it is important that the core API is easy to learn and helps site builders keep their product safe.

Drupal has increasingly taken the stance that security should be built into the API and those who use it properly get protection as a hidden benefit. This means that sites are more likely to have safe code even if their owners don’t understand the complexities of security issues. However, many people both inside and outside the Drupal community feel that this is inconsistent “magic” and should be avoided, suggesting that those who don’t understand the issues are likely to accidentally introduce them if and when the API fails their use case.

Let’s review some examples of how Drupal’s API is safe by default and see if we can’t determine which is better.

Several “safe by default” functions

First, let’s take a look at the l() function (a lower case L), which takes several arguments and returns a formatted HTML link.
The shortest form follows and hasn’t changed from Drupal 4.6 until now:

Share/Save

Pages

Premium Drupal Themes by Adaptivethemes