Understanding Drupal and taxonomies

By cyberpuffin, 20 May, 2023

Drupal - Content Management System (CMS)

It's been a while since I've really managed a website directly, let alone been responsible for the content.

Drupal is more of a name I remember than a system I'm pushing to use.  Either way, Ansible and Docker Compose combine to make the LAMP stack trivial to maintain.

Getting to know the system again, I'm finding the user-experience fairly pleasant.  The more familiar I get with the vernacular, the easier it is to navigate.

User

The first user created during initialization is the administrator user.  Logging in with this user opens administrative functions and toolbars.

You may notice a pencil icon as you hover the mouse over the page, which will bring up the menu items associated with the content block it's in.

Other users and roles can be created to manage specific aspects of the site without giving full control.  Users, roles, and permissions can be managed under the People (/admin/people) tab.

Content

Content Management System implies a certain level of management over the content .... in a system.

As the admin, or a user with the appropriate permissions, adding content can be done from the Content (/admin/content) tab.  The type of content that can be added is in Structure (/admin/structure) > Content types (/admin/structure/types).

Basic Page

Use basic pages for your static content, such as an 'About us' page.

Content (/admin/content) tab > Add content (/node/add)> Basic page

  • Title: About me
  • Body: It's good to be the king.
    • Note: the body is a "WYSIWYG" (What You See Is What You Get) editor and works in a similar manner to normal document editors, keyboard shortcuts and all.  Clicking "Source" will show the HTML structure produced by the WYSIWYG.
  • Text format: Basic HTML
    • Note: Unless there's a specific need, limiting to Basic HTML keeps everything clean.  Check Compose tips for more details on the different text formats.
  • Published: Checked
  • Revision log message: Initial revision of the about page
  • Menu settings:
    • Provide a menu link: Checked
    • Menu link title: About
    • Description: Learn about us
    • Parent link: <Main navigation>
    • Weight: 0
    • URL alias:
      • URL alias: /about

Taxonomy

This one took me an example and a few videos to get a grasp on.  Taxonomy allows you to define vernacular specific to your site.

Cleared it up?  Good, don't even have to go further!

Right, let me leave it to the description found in Taxonomy (/admin/structure/taxonomy):

Taxonomy is for categorizing content. Terms are grouped into vocabularies. For example, a vocabulary called "Fruit" would contain the terms "Apple" and "Banana".

Ok, so I'm rambling in the form of a "dev log" and I'm referencing specific technologies, one or multiple, in each post.

  • Add Vocabulary:
    • Name: Technology
    • Description: Dev log topics, applications and utilities used and described.
  • Add Term:
    • Name: Drupal
    • Description: Content Management System for building and maintaining websites.
    • Text format: Basic HTML
    • URL alias: /devlog/drupal
  • Repeat as necessary

Menu

With the technologies effectively categorizing the dev logs, a menu for each category would help navigation.  The Pathauto module seems like it might automat some of this, but I'm sticking with the plain Drupal deploy for now.

From Structure (/admin/structure) navigate to Menus (/admin/structure/menu) to see the list of currently enabled menus.  Next to Main navigation the Edit menu button will lead you to the list of links currently associated with the Main navigation menu.

  • Add link:
    • Menu link title: Dev Log
    • Link: Dev Log (Basic page)
    • Enabled: Checked
    • Description: Ramblings of a mad programmer
    • Parent link: <Main navigation>
    • Weight: 0
  • Add link:
    • Menu link title: Drupal
    • Link: /devlog/drupal
    • Enabled: Checked
    • Description: Posts discussing Drupal CMS
    • Parent link: -- Dev Log
    • Weight: 0
  • Repeat as necessary

Content Type

The final piece to tie this together, for now, is also in Structure (/admin/structure):  the Content Type (/admin/structure/types).

  • Add content type:
    • Name: Technology
    • Description: Which applications are applicable to this post?
  • Add field:
    • Add a new field:  Reference > Taxonomy term
    • Label: Technology
    • Type of item to reference: Taxonomy term
    • Allowed number of values: Unlimited
    • Required field: Checked
    • Reference type:
      • Vocabulary:
        • Technology: Checked

Wrapping up

Creating new dev log entries now involves writing (long-winded) posts in the body while selecting the Technology tag at the bottom to categorize.  Menu items lead to overviews of the categories with links to read more.

Technology

Comments