Course description

In this course we will explore the world of entities in Drupal 8 using the example of managing events as part of your Drupal site. While historically nodes and node types are used exclusively for all content management needs, Drupal 8 makes it very appealing to create new entity types that are custom-tailored to your specific use-case. By gluing together just the parts of functionality that you want, you can utilize all of Drupal’s power and flexibility for your custom entities with a minimal amount of code. In addition to being a great, practical addition to your toolbox for future Drupal projects, the ability to create your own entity types comes with a deep understanding of the Drupal 8 Entity API and its components.

Learning Objectives

At the end of the course participants will have gained an in-depth understanding of the Drupal 8 Entity API. On top of that they will have created a ready-to-use Event entity type that is highly integrated and benefits from all of Drupal's flexibilities - all with very few lines of code.


This course will answer the following questions:

  • How is content stored in Drupal?
  • What are entities?
  • What are (and aren't) content entities?
  • What are fields?
  • How are entities translated?

On top of that the following topics will be covered as aspects relating to entities:

  • Routing
  • Administration
  • Access control
  • Forms
  • Rendering
  • Views

Who will gain the most from this course?

People who answer any of the following questions with “yes”:

  • Are you exhausted of Drupal sites with large amounts of node types with different custom logic attached to those node types scattered around in various hooks?
  • Are you annoyed with nodes being used for content that shouldn’t actually be displayed on its own page?
  • Do you want to explore using Drupal as a heavy-duty data storage system instead of a website toolkit?
  • Are you intrigued by exploring the inner workings of Drupal's Entity API?
  • Have you created (or tried to create) a custom entity type before in Drupal 7 (or 8)?

Prerequisites for this course

This course entails creating a Drupal module so familiarity with PHP programming and some experience with creating Drupal 7 or Drupal 8 modules is required. Some basic familiarity with Git and Drush is also required.

Dev Environments


  • A local Drupal 8 development site
  • Git
  • Drush

It does not matter whether you run your local environment on Linux, Mac or Windows; it only matters that you can run Drupal 8 and that you can clone our example module on Github without problems.

Course Information

Date: 26 September 2016
Time: 9:00 - 17:00
Cost: €553.50 early bird rate (through 26 August), €615 regular rate - includes lunch and coffee breaks
Training Company: Leap Digital
Trainers: Tobias Stöckler (tstoeckler), Jan Stöckler (janstoeckler) & Christian López Espínola (penyaskito)
Experience Level:Intermediate
Drupal Version: 8.x, 8.2x

Register Now

If no timezone is set on your profile, time is displayed in UTC.
Update your profile's timezone