README.md 1.3 KB

Demonstrate various Drupal 8 features.

"blog" branch

This contains a solution to the exercise for the entity chapter. The exercise is the following:

  • Create a Blog entity and a BlogType entity as its bundle entity. Blogs are entities created by a User. Various bundles could be a traditional blog, an image gallery and a vlog.
  • Blog items (instances of the Blog entity) should be translatable and revisioned by default.
  • Access control to the Blog entity should be at the entity type level (Blog), not the entity bundle level (BlogType).
  • Both should have a complete CRUD UI: list, display, add/edit, delete
  • Blogs must appear as tabs under the user profile page, with sub-tabs per blog type
  • To better understand what's going on, it is probably better not to use the Drupal console generate commands.

Steps

  1. Create the module and a Blog content entity in it.
  2. Create a BlogType config entity as the bundle entity for Blog, enabling its collection route.
  3. Implement skeletons for add/edit/delete forms and implement a BlogType config entity schema to be able to test config import/export and the delete form
  4. Complete the implementation of the BlogType collection route to show type, name, description, and operations.
  5. Complete the BlogType CRUD by implementing the BlogTypeForm.