Extending Drupal with Joe Shindelar (to incorporate parts into When There's Not a Module for That)

Melissa Armstrong (she/her) Organizer • 44 minutes ago Hi @Joe Shindelar ! Feel free to begin sharing your screen and testing out your audio/video as soon as you arrive!

Bethany Lister Organizer • 41 minutes ago @Joe Shindelar , hello! Break a leg!

Melissa Armstrong (she/her) Organizer • 40 minutes ago Hi Joe@ I can hear you

Melissa Armstrong (she/her) Organizer • 40 minutes ago And the slides look good!

Joe Shindelar 40 minutes ago :)

Melissa Armstrong (she/her) Organizer • 39 minutes ago So, you have 5 minutes until attendees start arriving, and then you’ll have 5 minutes until you begin!

Joe Shindelar 39 minutes ago Sounds good. Thanks

Essam Al-Qaie 34 minutes ago Hey everyone!

Joe Shindelar 33 minutes ago If anyone would like a copy of the slides and a bunch of additional notes can be found here https://bit.ly/2Oxvk96

Chris Komlenic 33 minutes ago +1 for Notion :)

Jemma Ku 32 minutes ago Thanks for the slides @Joe Shindelar

Lukas Fischer@NETNODE 32 minutes ago Nice tie!

Joe Shindelar 32 minutes ago :) thanks

Eric Kirsner 32 minutes ago Thanks for the slides link!

Amber Matz 31 minutes ago hi Joe!

Joe Shindelar 31 minutes ago 👋

Melissa Armstrong (she/her) Organizer • 30 minutes ago Welcome! A reminder that the DrupalCon Code of Conduct applies to all areas of the event. For general event inquiries, please contact help@drupalcon.zendesk.com

Abraham Nguyen 30 minutes ago yea

Richard Davies 30 minutes ago yes

Jemma Ku 30 minutes ago yes!

Greg Watson 30 minutes ago yes

Nining Ningrum 30 minutes ago yes

Anne Vaughan 30 minutes ago yes

Alfredo Fonseca 30 minutes ago yes

Essam Al-Qaie 30 minutes ago Yes

Alexander LaBrie 30 minutes ago Yup

Shaun Oleson 30 minutes ago Yes

Amber Matz 30 minutes ago yes

Ezra Wolfe 30 minutes ago Yes

Povilas Mecys 30 minutes ago yes

Jeff Ong 30 minutes ago yes

Yuanyuan ZHANG 30 minutes ago yes

Julie Leuthard 30 minutes ago yes

Chris Komlenic 30 minutes ago yep

Steve Fischer 30 minutes ago yes

Bart Declercq 30 minutes ago Can confirm, hearing you fine

Frederic MEFIANT 30 minutes ago perfect

Tania Sizer 30 minutes ago yes

Shaun Oleson 30 minutes ago Yeah

Greg Watson 30 minutes ago we are real

Amber Matz 29 minutes ago Here’s the link again: https://bit.ly/2Oxvk96

Paige Eaton (she/her) 29 minutes ago @Greg Watson speak for yourself!

Paige Eaton (she/her) 29 minutes ago :)

Kacey Black (they/them) 29 minutes ago I thought everything was cake now

Ben Woods 28 minutes ago I’ve built some custom modules in D8, but I’m here to make sure I’m doing it right!

George Agathos 20 minutes ago Hooks will be deprecated at some point right

Billy Wardrop 20 minutes ago Plugins in D8 are great

Klara Binon 18 minutes ago hi Billy

Billy Wardrop 17 minutes ago Hi klara

Billy Wardrop 17 minutes ago Hope you are well :)

Klara Binon 17 minutes ago great!

Keven Dickey 8 minutes ago Q: Where do you typically store business logic for services? In a custom module? Then will other modules declare it as a dependency when they need to use functionality in it?

Shaun Oleson a few seconds ago Hey @Ben Woods , I’m in the same boat!

Greg Watson in a few seconds Q: Why are there so few uses of Events in core?

Greg Watson in a few seconds ty

Dan Billingsley in a few seconds @Keven Dickey Yes if you were adding a service. In core/core.services.yml you can see how they are declared in core and how there is many many interdependencies between them.

Dan Billingsley in a few seconds less hooks/more events was one of the potential priorities in Dries’ keynote. Didn’t make the D9 “cut” though. :)

Michael Conley in a few seconds Q: Could alters be replaced by events in the future?

Ben Woods in a few seconds I sort of think that if you know you need custom code, but you’re not entirely sure what pattern you should use, or how it’s going to grow, you can at least start with hooks.

Joseph Spinelli in a few seconds Could you use a Service to do the work of a Hook? If they’re both global scope

Melissa Armstrong (she/her) Organizer • in a few seconds We hope you’re enjoying the session! Please take a minute to share your thoughts by responding to the brief survey linked in the pinned post at the top of this chat!

Dan Billingsley in a few seconds @Joseph Spinelli the hook is also how your code gets “triggered” which is not a concept that is part of a service. A hook will often use some kind of service, for example.

Dan Billingsley in a few seconds This is what I loathe about hooks the most. It’s very 1990s every-function-name-is-unique non-OO coding.

Keven Dickey in a few seconds See this thread for entity lifecycle events thread trying to replace hooks: https://www.drupal.org/project/drupal/issues/2551893

Dan Billingsley in a few seconds Joe, fantastic presentation summarizing these concepts! Kudos!

Shiraz Dindar in a few seconds i agree, great presentation.

Michael Conley in a few seconds Best presentation I’ve attended thus far

Joseph Spinelli in a few seconds Thanks Dan!

Lukas Fischer@NETNODE in a few seconds Agree, best presentation!

Brooke Hedrick (he/him) in a few seconds Great job! Thank you.

Kevin Wiechmann (he/him) in a few seconds Great preso. Just as good as on your training videos on Drupalize.me

Adrian Ababei in a few seconds Same here, best presentation so far!

Rithya Lath in a few seconds Thank you!

Michael Conley in a few seconds Hey Adrian!

Vikrant Sawant in a few seconds Thank you!

Saurav Shrestha in a few seconds This was super useful.

Kevin Wiechmann (he/him) in a few seconds Usable

Nining Ningrum in a few seconds Thank you!!!

Steve Fischer in a few seconds Great presentation!

Alexander LaBrie in a few seconds Thank you!

Jordan Karlov in a few seconds Thank you! Great presentation!

Saurav Shrestha in a few seconds Hope there will be a recorded version released soon.

Peter Farrow in a few seconds Thanks!

Paul Martin in a few seconds Amazing presentation!!! Thank you!

Amber Matz in a few seconds Thanks Joe!

Gregory Kallenberg in a few seconds Awesome! Great stuff!

JESSICA LANDGREBE in a few seconds thank you!

Jorge Fernandez in a few seconds Awesome talk. Thank you!

Yuanyuan ZHANG in a few seconds Really good presentation, thank you Joe!

Greg Watson in a few seconds Thanks. A great resource for later.

Nicole Harnish in a few seconds Youre the best Joe

Anne (Banoodle) Bonham in a few seconds Excellent - thanks!

Charles Dowe in a few seconds Thanks. Wonderful presentation and slides!

Jordan Karlov in a few seconds Q: Using YML plugin definitions - example?

Nicole Harnish in a few seconds ! haha I love your talks

Bo Shipley in a few seconds Awesome session, as always!!

Joseph Spinelli in a few seconds Thank you!! Awesome presentation

James Shee in a few seconds Thank you, great overview and details

Brooke Hedrick (he/him) in a few seconds Ha! was joethebrave already taken?

Ashley Jones in a few seconds Thanks, Joe!! Excellent Talk!

Nining Ningrum in a few seconds Q: How scary is it for developer who is still in Drupal 7 moving forward with Drupal 8?

Matthew Tift (he/him) in a few seconds Thanks, Joe!!

Jemma Ku in a few seconds great presentation. @Joe Shindelar knows what he is talking about. ;-)

Agnes Chisholm (amaria) in a few seconds Thanks!

Brent Bell in a few seconds Thank you, @Joe Shindelar !! Excellent presentation. 👏👏👏

adrianna flores in a few seconds thank you, great presentation!

Adrian Ababei in a few seconds if we use an interface for a service, are we going to inject the interface (in the controller for example)?

Joseph Spinelli in a few seconds Q: Do you have any Drupal courses out there?

Ben Woods in a few seconds This was fantastic, thank you!

Gnanagowthaman Sankar in a few seconds Mail Plugin is available in drupal 8 how to implement a third party api to send email instead of the default php_mail one. ??

Lukas Fischer@NETNODE in a few seconds Q: How many ties do you own? ;-)

Benjamin “mlncn” Melançon (he/him/Agaric’s migration trainings next week) in a few seconds @Nining Ningrum Not that scary! (Partly because all the most-fun hooks, like hook_form_alter, are still in full effect)

Rahul Shinde in a few seconds thanks for these awesome recap @Joe Shindelar

Jordan Karlov in a few seconds Q: Using YML plugin definitions - example?

Mauricio (@dinarcon) Dinarte (he/him) in a few seconds https://drupalize.me/

Mauricio (@dinarcon) Dinarte (he/him) in a few seconds Thanks Joe!

Richard Persche in a few seconds Thank you! This was great!

Anne Vaughan in a few seconds Thank you!

Nining Ningrum in a few seconds Thanks @Benjamin “mlncn” Melançon (he/him/Agaric’s migration trainings next week)

Amber Matz in a few seconds There’s links to tutorials in the notes!

Adrian Ababei in a few seconds https://drupalize.me/

Jason Frye in a few seconds Thanks!

Polo Reynaga (lreynaga, he/him) in a few seconds Thank you Joe

Nicole Harnish in a few seconds Thanks!

Michael Conley in a few seconds Thank you!

Amber Matz in a few seconds https://www.notion.so/Altering-Extending-and-Enhancing-Drupal-503811d79f3045de9f9c84e2df235235

Billy Wardrop in a few seconds Thanks

Tyler Paavola in a few seconds Q: Is there a common procedure for analyzing a module to determine how to extend its functionality?

Jordan Karlov in a few seconds clap clap clap

Shaun Oleson in a few seconds Great session!

John Rearick in a few seconds Thanks You!