Drupal Dev Days Milan 2016

62
Group for D8: Bigger, better and most definitely sexier Magentix Kristiaan Van den Eynde

Transcript of Drupal Dev Days Milan 2016

Page 1: Drupal Dev Days Milan 2016

Group for D8: Bigger, better and most definitely sexier

MagentixKristiaan Van den Eynde

Page 2: Drupal Dev Days Milan 2016

• Drupal developer at Deeson

Kristiaan Van den Eynde

Page 3: Drupal Dev Days Milan 2016

• Captain Awesome at Deeson

Kristiaan Van den Eynde

Page 4: Drupal Dev Days Milan 2016

Kristiaan Van den Eynde• Captain Awesome at Deeson• Antwerp, Belgium

Page 5: Drupal Dev Days Milan 2016

Kristiaan Van den Eynde• Captain Awesome at Deeson• Antwerp, Belgium• Happily married

Page 6: Drupal Dev Days Milan 2016

Kristiaan Van den Eynde• Captain Awesome at Deeson• Antwerp, Belgium• Happily married• Awesome cat

Page 7: Drupal Dev Days Milan 2016

Kristiaan Van den Eynde• Captain Awesome at Deeson• Antwerp, Belgium• Happily married• Awesome cat• Highly Sensitive Person

Page 8: Drupal Dev Days Milan 2016

What is Group?

Page 9: Drupal Dev Days Milan 2016

Group is a management tool

Page 10: Drupal Dev Days Milan 2016

Group is a management tool

• Group content together following a specific set of rules

AWESOME

Page 11: Drupal Dev Days Milan 2016

Group is a management tool

• Group content together following a specific set of rules• Grant users permissions for a small section of the site

AWESOME

Page 12: Drupal Dev Days Milan 2016

Group is a management tool

• Group content together following a specific set of rules• Grant users permissions for a small section of the site• Control access to specific pieces of content

AWESOME

Page 13: Drupal Dev Days Milan 2016

What about OG?Asking the inevitable question in your stead

Page 14: Drupal Dev Days Milan 2016

(It’s bad karma)

No needless bashing

Page 15: Drupal Dev Days Milan 2016

• It repurposes existing entities• Its groups can overrule configuration (hence: organic)• All of its magic is based on who has what fields • The user and developer experience wasn’t really great

What I didn’t like about OG:

Page 16: Drupal Dev Days Milan 2016

A story about the happiness of content

Group’s approach

Page 17: Drupal Dev Days Milan 2016

Drupal Content College

Page 18: Drupal Dev Days Milan 2016

Nodes

Drupal Content College

Page 19: Drupal Dev Days Milan 2016

Users

Drupal Content College

Page 20: Drupal Dev Days Milan 2016

Terms

Drupal Content College

Page 21: Drupal Dev Days Milan 2016

Graduation day

Page 22: Drupal Dev Days Milan 2016

Graduation day

Page 23: Drupal Dev Days Milan 2016

Graduation dayGroup?

Page 24: Drupal Dev Days Milan 2016

Group fixes thisIt makes the flurbs happy again

Page 25: Drupal Dev Days Milan 2016

Drupal Content College

Page 26: Drupal Dev Days Milan 2016

Happy graduates all around

Page 27: Drupal Dev Days Milan 2016

Key take-aways• Groups do what they were meant to do all along

Page 28: Drupal Dev Days Milan 2016

Key take-aways• Groups do what they were meant to do all along• We don’t touch other entities

Page 29: Drupal Dev Days Milan 2016

Key take-aways• Groups do what they were meant to do all along• We don’t touch other entities• Flurbs should be happy

Page 30: Drupal Dev Days Milan 2016

Key take-aways• Groups do what they were meant to do all along *• We don’t touch other entities• Flurbs should be happy

* Dedicated classes!

Page 31: Drupal Dev Days Milan 2016

CENSORED

Page 32: Drupal Dev Days Milan 2016

How does Group work?

Page 33: Drupal Dev Days Milan 2016

Groups have group types

Page 34: Drupal Dev Days Milan 2016

Groups have group types• Like content types, but for groups

Page 35: Drupal Dev Days Milan 2016

Groups have group types• Like content types, but for groups• Define fields, roles, permissions and available content

Page 36: Drupal Dev Days Milan 2016

Groups have group types• Like content types, but for groups• Define fields, roles, permissions and available content• Applies to all groups of that type, no per-group overrides

Page 37: Drupal Dev Days Milan 2016

Serves two content stories

Page 38: Drupal Dev Days Milan 2016

Serves two content stories

• Members (users)• Don’t really care about

the user, but more about the relationship

• Example: gaming portal

Why or how?

Page 39: Drupal Dev Days Milan 2016

Serves two content stories

• Members (users)• Don’t really care about

the user, but more about the relationship

• Example: gaming portal

Why or how? What?• Private pages (nodes)• Don’t really care about

the relationship, but more about the node

• Example: paid content

Page 40: Drupal Dev Days Milan 2016

How entities are grouped

Page 41: Drupal Dev Days Milan 2016

Group NodePress area Press release

How entities are grouped

Page 42: Drupal Dev Days Milan 2016

Group NodeRelation entity

How entities are grouped

Press area Press release

Page 43: Drupal Dev Days Milan 2016

Group NodeRelation entity• Fieldable

How entities are grouped

Press area Press release

Page 44: Drupal Dev Days Milan 2016

Group Node

How entities are grouped

Relation entityPress area Press release• Fieldable

• Per group type• Per target entity type*

Page 45: Drupal Dev Days Milan 2016

Group Node• Fieldable• Per group type• Per target entity type*• Managed by plugins

How entities are grouped

Relation entityPress area Press release

Page 46: Drupal Dev Days Milan 2016

Managed by plugins?

Page 47: Drupal Dev Days Milan 2016

Managed by pluginsThe site builder’s dream

Page 48: Drupal Dev Days Milan 2016

Managed by plugins

• Per instance configuration

The site builder’s dream

Page 49: Drupal Dev Days Milan 2016

Managed by plugins

• Per instance configuration• Really flexible

The site builder’s dream

Page 50: Drupal Dev Days Milan 2016

Managed by plugins

• Per instance configuration• Really flexible• No coding required

The site builder’s dream

Page 51: Drupal Dev Days Milan 2016

Managed by pluginsThe developer’s dream

Page 52: Drupal Dev Days Milan 2016

Managed by pluginsThe developer’s dream

• Coding required (duh)

Page 53: Drupal Dev Days Milan 2016

Managed by pluginsThe developer’s dream

• Coding required (duh)• Lots of functionality already provided

Page 54: Drupal Dev Days Milan 2016

Managed by pluginsThe developer’s dream

• Coding required (duh)• Lots of functionality already provided • Can be flagged as enforced

Page 55: Drupal Dev Days Milan 2016

Managed by pluginsThe developer’s dream

• Coding required (duh)• Lots of functionality already provided • Can be flagged as enforced• As few as 10 lines needed to get started

Page 56: Drupal Dev Days Milan 2016

Warning: developer porn

Page 57: Drupal Dev Days Milan 2016

Managed by plugins

Page 58: Drupal Dev Days Milan 2016

Live demo

Page 59: Drupal Dev Days Milan 2016
Page 60: Drupal Dev Days Milan 2016

Questions?

Page 61: Drupal Dev Days Milan 2016

We’re hiring!

Page 62: Drupal Dev Days Milan 2016