CMS Course

Part of the Content Strategy Master's degree programme at FH Joanneum in Graz, Austria.

This course is a practical introduction to web-based content management systems (CMS). Using Craft CMS, we will explore a real-world content-driven website and together model and implement advanced content types and relationships.


Introduction to contentstrategy.at

An introduction to the Content Strategy Knowledge Base (OER) and how it will be used by the students throughout the semester and the programme.


Lesson 1: Elements & Fields

Elements are the building blocks of Craft CMS and they allow for the population of content through the use of fields. In this lesson we explore the types of elements available, how they are grouped and how the authoring experience (AX) can be designed using relational content modelling and field layouts.

  • Element types: entries, categories, assets, etc.
  • Element groups: sections, category groups, asset volumes, etc.
  • Fields: simple fields, relation fields, repeatable fields

Lesson 2: Relational Content Modelling

Relational content modelling allows us to make our content modular and reusable within the CMS, enabling us to distribute it through multiple channels (web, email marketing, campaigns, RSS feeds, GraphQL, etc.). In this lesson we explore how content can be related to other content in Craft CMS using relation fields and the various relationship types that are available.

  • Relation fields: entries, categories, assets, etc.
  • Relationship types: one-to-one, one-to-many, many-to-many

Assignment #1: Model Collections

Get familiar with Craft CMS by modelling two or more collections of related items. First settle on a domain of interest (travel, cooking, plants, etc.). Create two or more sections to represent your content types and create and assign at least one Entries field to relate the sections. Be sure to use appropriate field types and use field labels and instructions as necessary.

Recommended reading:


Lesson 3: Review of Assignment #1

Students are invited to share the results of their assignment work, noting what they discovered along the way and what limitations they cam across. This is followed by questions and a discussion about the approach they took and what could be done differently.


Lesson 4: Conditional Fields & Localisation

Conditional fields are a powerful feature that allow you to show or hide fields, based on the content of other fileds. Localisation of content involves making it available in multiple languages and locales. A locale represents a region (such as a country) and determines the formatting of dates, times, numbers, currencies and other units. In this lesson we look at how we can use conditional fields as well as localise content through the use of the multi-site feature in Craft.

  • Sites and Languages (docs)
  • Translation Methods of Fields (docs)
  • Propagating Entries Across Sites (docs)

Assignment #2: Add Conditional Fields & Localisation

Expand on assignment #1 by adding at least one conditional field, as well as a second language (your mother tongue, for example) to your site, carefully choosing which fields to make translatable.


Lesson 5: Review of Assignment #2

Students are invited to share the results of their assignment work, followed by questions and a discussion about the broader applications of content management systems.

Ben Croker

Ben Croker

Craft CMS Plugin Developer, Trainer & Consultant