10 Drupal Fundamentals

Partly due to how robust and powerful it is, Drupal has a learning curve.  Like other content management systems, it has some of its own lingo.  Understanding the fundamental terms below will help anyone (technically inclined or not) better grasp the system.  These terms are applicable to the three versions of Drupal (5, 6, and 7) that I have used.

1. Node – a single piece of content.  When my clients refer to a web page on their Drupal site, they are referring to a node.  It is important to note that nodes do not have to be a web page, in many cases they are, but they can be other things like an item listed in a view (mentioned below) among other things.

2. Content Type – a standard configuration of a node.  When constructing a site, many pages have the same type of information laid out in the same fashion.  For instance, all of the bio pages on a site likely have a person’s name, picture, brief biographical text, and contact information.  Instead of creating these fields and laying out each page one at a time, Drupal content types allow one to set a standard set of data fields and layout of them.

3. Views – an organized list of nodes.  Through views sites can display a set of nodes in an organized fashion.  Sorting options include – but are not limited to: alphabetical order, publication date, most viewed, random, and taxonomy groupings.  The display format is customizable, and I’ve seen straight text, tables, and images all used in various ways.

4. Taxonomy – a list of related terms used to tag content.  Through Drupal, taxonomy terms allow for classifying nodes in a way other than content types.  For instance, a site can have a taxonomy term for each of the continents of the world.  Once that is done, one of the terms (say “North America”) can be applied to some bio pages, blog posts, and vendor pages even though they are nodes of different content types. Then they can be organized by this term to be displayed in a view.

5. Block – an area on a page that can contain content and then can be placed in a certain area of the site as defined by the site’s template.  A common use of blocks is to place items in a sidebar.  Such items can include images, sub menus, and views.  The great thing about blocks is that they can be restricted to only appear on certain pages of a site.  Further, configuration options also allow them to be only displayed to certain user roles (perhaps premium members or site administrators).

6. Webform – a content type that enables site administrators to create forms to gather information from site visitors.  A very common webform application is to create contact forms through which site administrators can create fields such as sender’s name, sender’s e-mail/phone number, type of inquiry (like general inquiry, price quote request, and media contact), and message.  Upon submission, the form can send an e-mail with the provided information to predefined recipients.  The data is also stored and can be exported into a spreadsheet.

7. User Role – a set of permissions granted to a user account.  Through roles site administrators can carefully grant specific abilities to certain users.  For instance, users with access to a premium member area of the site not intended for the public shouldn’t also have the ability to change the site’s menus, for instance.  However, through roles, users can be allowed to create, edit, and delete nodes of certain content types without necessarily granting them the ability to manage the site in other ways.

8. Module – a program specifically designed for Drupal that adds functionality to it.  One of the greatest features of Drupal is its modular design that allows for site administrators to tact on functionality to the CMS.  Modules do a variety of things ranging from controlling a node’s slug (the “…” part of sample.com/… to a specific format) to logging in users to an account based upon their IP address to connecting with third-party systems like Google Analytics, Eventbrite, and Salesforce.  There is a wide variety of modules that the Drupal open source community develops and maintains free of charge.

9. Themes – more or less a template for the site.  Drupal supports multi-themed sites.  One major use of this is creating a desktop theme and a mobile theme.  For sites that we create a mobile version using Drupal, we have created a mobile theme and then make sure that the theme that is displayed is based upon the device a site visitor is using.

10. Input Formats – modes that control the type of content entered into a field.  Most nodes have body fields where one can input the text and images for the node.  One does not need to know much about HTML or PHP to use Drupal, and this input formats will find ways to add line breaks and link urls and e-mail addresses for people without the need for the coding.  Used in concert with a WYSIWYG editor, a person can still present styled text and images using the Filtered or Full HTML formats.  Further, when judiciously granting rights to use formats through user roles (particularly to the Full HTML and PHP code formats), it can help secure the site since using HTML and PHP can be used by external users to hack the site.