Drupal Concepts and Terminology

Drupal is a content management framework used widely in Trinity College of Arts & Sciences—as well as the larger Duke University community—that allows users to create and manage digital content. It can be customized using various modules and themes, and its flexible security model (i.e. user permissions and roles) allows for granular control over content creation and management. It offers powerful content creation and editing tools, including a WYSIWYG editor and a revision history.

Drupal can integrate with various external services such as Scholars@Duke, the Duke Event Calendar, social media and streaming platforms, and analytics tools. It has a large and active community of developers and users that provide support and resources for users of all skill levels.

Within this glossary you will find several common concepts, essential jargon, and basic terminology related to Drupal and the implementation provided by Trinity Web Support.

 

Content

Information that communicates or transfers meaningful information to a site visitor; includes text, graphics, images, audio, and video.

 

Field

A data element that stores a particular type of information. Field types include plain text, rich text, image, file, date, and email, among others. In some cases, it is required to add data to a field; for example, the date field is required when creating an event.

the date field.
A date range field with start and end values; the red asterisk denotes that both values are required.

 

Rich Text Field

A field that supports formatted text such as bold, italic, lists and headings, as well as tables, in-line images, and embedded media. Most content types include at least one rich text field. For more information about the formatting options available in a rich text field, see the text editor documentation.

CKEditor 5 user interface.
A rich text field — the Body field stores the main content for most content types.

 

Content type

A collection of fields — in essence a template — that describes a specific type of content. For example, an Event content type might consist of the following fields:

  • Title (plain text)
  • Description (rich text)
  • Speaker (plain text)
  • Start/End date (date range)
  • Contact (plain text)
  • Contact email (email field)
  • Contact phone (plain text)

A News content type might include fields for:

  • Headline (plain text)
  • Byline (plain text)
  • Published date (date)
  • Body (rich text)
  • Image (image field)

A Basic page might only have a Title (plain text) field and a Body (rich text) field.

Editors use the available content types to add content (i.e. ‘nodes’) to their site. Editors do not create or manipulate content types, but a good understanding of the concept will facilitate discussions around functional enhancements. A list of content types that have been created for Trinity College of Arts & Sciences can be found on this website.

 

Node (also referred to as a content item)

A distinct piece of content that is created using, and thus modeled after, an existing content type. In layman’s terms, a node can be thought of as the foundation of a page (an anchor to the definition of page) on a Drupal website. Nodes can be created manually by an editor with sufficient privileges or via an import from an external source such as the Duke Events Calendar.

 

Published

The state of a node which allows it to be viewed by anonymous (not logged in) site visitors. This state can be changed to unpublished, effectively hiding the content from visitors other than authenticated users with permission to view unpublished nodes.

 

Revision

A historical version of an existing node which is used to keep track of changes—each time a node is edited and saved, a revision is created. Nodes may be reverted to a previous version by a site editor.

 

a view showing upcoming events.
A view showing three events
View

A mechanism to display a collection of nodes (content items) that match a set of criteria which have been specified by the site builder. These criteria may be as simple as “all published nodes of the News article content type”, but can take other filters into account such as dates, taxonomy, and so on, depending on the fields available.

These filters can be exposed to site visitors, allowing the user to dynamically change which nodes are included in the view. A typical example of an exposed filter is a category menu from which a user can select a term on which to filter the view.

The way a view is displayed is configurable, both in terms of the format (e.g. slideshows, tables, unordered lists) and which fields are included. Content editors do not create or manipulate views, but should be familiar with the concept and the capabilities in order to facilitate discussions around functional enhancements.

 

Taxonomy

Drupal‘s system of categorization. A site‘s taxonomy is made up of vocabularies, which are made up of individual terms. For example, most department sites have a vocabulary called Class, which includes the terms Faculty, Graduate Students, and Staff.

 

Vocabulary

A collection of terms; see taxonomy.

 

Block

A snippet of content which can be displayed on one or more pages throughout a site. The typical use case for a block is to show contact information in the footer on every page of a website. When modifying a block, the change will be apparent everywhere the block is displayed.

 

Menu

A list of links that provides site visitors the means of navigating through the site. The Main menu typically includes a link to every page of the site, organized in a hierarchical fashion which a site editor can reorder. Depending on the content type, a content editor can provide a menu link to nodes created using that content type. Not all content types allow their nodes to be assigned to a menu, as these nodes will be accessed via a view (an anchor to the definition of view). An example of this is the Event content type: nodes of this type are not typically assigned to a menu, but are displayed in an Upcoming Events view.

 

parent/child menu items.
A parent menu item (Getting started) with three child items.
Parent/Child

Certain components within Drupal, such as menus and vocabularies, have hierarchical relationships. For example, a menu item which is nested under another item is the child of the parent under which it is nested.

 

Paragraph type

Similar to a content type, paragraph types are collections of fields. A paragraph acts as content container within an existing content type. For example, the Basic page content type has several fields where a paragraph can be added to display an accordion, a tab section, or a photo gallery. For more information about this functionality, please see Working with Drupal’s “Paragraphs”.

 

Paragraph

A type of component that can be placed on a Basic page in addition to the Title and Body fields. Several paragraph types have been created, some of which define a column-based layout, others provide a way to add a variety of content on their own or nested within a layout-defining paragraph. Only users with the Site Builder role are capable of using the layout-defining paragraphs, and only those with the Site Builder and Site Editor role can use the content-based paragraphs.

 

Theme

A collection of HTML, CSS, images, JavaScript, and other assets which make up the presentation layer (i.e. the front-end design) of a Drupal website. The theme controls the appearance, behavior, and placement of elements such as the header and footer, menus, and so on. With few exceptions, such as vendor-built applications, the Drupal sites built and maintained by Trinity Web Support use a variation of the same theme which provides a level of consistent branding and user experience across the TCA&S online presence, while still allowing for unique design elements via the options provided or by theme overrides.

 

Page

An assembly of one or more content elements (i.e. a node, view, block, and/or menu) that are rendered together when a site visitor accesses one of your site‘s URLs (or web address, e.g. http://www.duke.edu/path), whether from an external link or search result, via one of the site‘s menus, or in rare cases by direct input.

 

Region

An area defined by the site‘s theme in which content elements (nodes, views, blocks, and menus) may be placed.

 

User (also referred to as user account)

An individual‘s presence on a Drupal site.

 

Anonymous user

A site visitor who is not logged in.

 

Authenticated user

A site visitor who has logged into a Drupal site and is identified by their account, or ‘user account’. A visitor may not have elevated privileges, i.e. editing rights, simply by the fact that they are authenticated. Typically, their account must also have been given an additional role or roles for which permissions have been assigned, for example the ability to edit nodes of a particular content type.

 

Permission

A setting that controls access to content and functionality within a Drupal site. For example, creating a Basic page is a permission that is available to the Content AuthorSite Editor, and Site Builder roles.

 

Role

A set of permissions that defines what an individual is capable of doing when logged-in to a Drupal site. Roles are assigned to user accounts, thereby giving a user permission to edit content, for example. Roles can be assigned to multiple users, and users can have multiple roles.

 

Administration toolbar/shortcut tray

The black and gray menu bar which is presented to authenticated users with an editing role. The orientation of the menu can be changed from top-horizontal to vertical-left by clicking the |⬅ button. Along with the shortcut tray, the admin menu provides navigation and links for performing several administrative tasks on the site. The navigation in the admin menu varies depending on your editing role (e.g. Content Author vs. Site Manager).

Drupal's admin toolbar.
The admin menu presented to a logged in Content Author

 

Module

A piece of software which provides a component of functionality to a Drupal website. There are three types of modules: Core modules, which are present on any site built in Drupal that provide the baseline functionality, contributed modules, which are developed by the Drupal user community and are incorporated separately from the core offering to extend Drupal’s core functionality, and custom modules, which provide bespoke functionality to address a very specific use case and are not typically available to the Drupal community.

Modules can be enabled or disabled, though several core modules are required in order for Drupal to simply function. Editors cannot install, enable, nor disable modules, but should be familiar with the concept in order to facilitate discussions around functional enhancements.