Drupal Dev Days Milan 2016

Post on 11-Jan-2017

94 views 0 download

Transcript of Drupal Dev Days Milan 2016

Group for D8: Bigger, better and most definitely sexier

MagentixKristiaan Van den Eynde

• Drupal developer at Deeson

Kristiaan Van den Eynde

• Captain Awesome at Deeson

Kristiaan Van den Eynde

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

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

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

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

What is Group?

Group is a management tool

Group is a management tool

• Group content together following a specific set of rules

AWESOME

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

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

What about OG?Asking the inevitable question in your stead

(It’s bad karma)

No needless bashing

• 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:

A story about the happiness of content

Group’s approach

Drupal Content College

Nodes

Drupal Content College

Users

Drupal Content College

Terms

Drupal Content College

Graduation day

Graduation day

Graduation dayGroup?

Group fixes thisIt makes the flurbs happy again

Drupal Content College

Happy graduates all around

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

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

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

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!

CENSORED

How does Group work?

Groups have group types

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

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

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

Serves two content stories

Serves two content stories

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

the user, but more about the relationship

• Example: gaming portal

Why or how?

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

How entities are grouped

Group NodePress area Press release

How entities are grouped

Group NodeRelation entity

How entities are grouped

Press area Press release

Group NodeRelation entity• Fieldable

How entities are grouped

Press area Press release

Group Node

How entities are grouped

Relation entityPress area Press release• Fieldable

• Per group type• Per target entity type*

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

How entities are grouped

Relation entityPress area Press release

Managed by plugins?

Managed by pluginsThe site builder’s dream

Managed by plugins

• Per instance configuration

The site builder’s dream

Managed by plugins

• Per instance configuration• Really flexible

The site builder’s dream

Managed by plugins

• Per instance configuration• Really flexible• No coding required

The site builder’s dream

Managed by pluginsThe developer’s dream

Managed by pluginsThe developer’s dream

• Coding required (duh)

Managed by pluginsThe developer’s dream

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

Managed by pluginsThe developer’s dream

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

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

Warning: developer porn

Managed by plugins

Live demo

Questions?

We’re hiring!