DrupalCamp Twin Cities 2018


Videos from DrupalCamp Twin Cities 2018.

Conference page
Video Sponsor(s) / Provided by
Twin Cities Drupal
Curated Videos
Mauricio Dinarte

Drupal is an extremely flexible system. To achieve this, various layers of abstractions were built into it. A lot of concepts were created to explain these abstractions. Unfortunately, they are not always intuitive. This session aims to explain the basic building blocks for assembling a Drupal site and how they relate to each other. Many examples will be presented to help you understand Drupal and why it is so powerful.

Learning Objectives & Outcomes:
* What is a node?
* What is a content type?
* What are fields and why are they useful?
* What is a block and what can I do with it?
* What is a view?
* What is a module and its purpose?
* What is a theme and how can it change the look and feel of my website?
* How does the taxonomy system work?
* How are users and permissions managed?
* How can I create the navigation of my website?
* Why does a kitten passes away every time I make a quick fix in the downloaded code? How can I prevent that?

By Amber Matz

Between Drupal 8's regularly scheduled updates and its security releases, it's more important than ever to understand how to keep your Drupal 8 site up-to-date.

Getting your Drupal 8 site up-to-date can depend on a number of factors:

- How the Drupal site was installed in the first place
- What tools were used (i.e. Composer, Drush)
- How out-of-date it was in the first place

In this session, we'll:

- Review the concept of semantic versioning, what Drupal's different kinds of releases mean, and how they are scheduled
- Cover best practices for updating Drupal, including the use of Composer and Drush for this purpose
- Demonstrate how adapt your site-install to use Composer
- Discuss when and how you can use Drush to update your site
- Point you toward resources about Drupal releases, including security patches

Note: This session will *not* cover migrating from a previous major version of Drupal (i.e. Drupal 6 or 7) to Drupal 8.

Learning Objectives & Outcomes:
By the end of this session, you will:
- Be better equipped to update your Drupal 8 site using current best practices and tools, including Composer and Drush
- Understand how to install Drupal with ease-of-updates in mind
- Know how to keep yourself informed about Drupal's maintenance, security, and new feature releases.

By Brian Perry

Since the release of Drupal 8, great strides have been made to develop a component based theming workflow that takes advantage of the best that Twig has to offer and also plays nice with living style guides and pattern libraries. Gone are the days of redundant styles and markup, making way for the efficiencies found when Drupal and tools like Pattern Lab can share the exact same code. That said, handling the mapping of data between Drupal and your component library can still be quite complicated and difficult to coordinate on larger cross-functional teams.

The UI Patterns Module offers a number of powerful ways to define and manage components in a way that Drupal understands. By exposing these patterns as Drupal plugins, UI Patterns makes it possible to manage this data mapping process within the Drupal Admin UI and also easily use these patterns from your pattern library with component friendly modules like Paragraphs and and Field Layout.

This session will cover:

* A brief introduction to component based theming concepts
* An overview of the common approach to integrating Drupal with pattern library components without the UI Patterns Module.
* Basic setup and use of the UI Patterns Module to manage mappings between Drupal and your pattern library.
* The various integration sub-modules included with UI Patterns.
* Advanced topics like rendering patterns via a Twig function, rendering patterns programmatically, handling sub-patterns, and pattern variants.
* A proposed workflow for using UI Patterns alongside an external Pattern Library like Pattern Lab.
* Automatically discovering patterns from your pattern library with the UI Patterns Pattern Lab module.
* A look at the Foundation Patterns theme and efforts to use UI Patterns in a contributed theme.

Learning Objectives & Outcomes:
This session is for front-end developers who have experimented with component based theming in Drupal 8 and have been looking to streamline the process. It is also for front-end developers who haven’t yet adopted this emerging component based theming approach and have wondered how it might impact their workflow. And for those who are involved with Drupal 8 projects but are not front-end developers, this session should help you become aware of some of the potential challenges, as well as the advantages to this component based theming approach as it relates to your work.

Slides: http://bit.ly/ui_patterns_tcd

By Brandon Hundt

In 2015, Dries published a blog post titled “The Future of Decoupled Drupal”. In this post, he outlines several ways to approach “decoupling”, a fancy word that refers to the process of migrating from a monolithic CMS to an API-driven, distributed architecture. One of the concepts Dries outlined in this post is “progressive decoupling”, or moving certain components or pages of a site towards an API-driven architecture, one piece at a time. Since this post was published, there has been a lot of buzz within the Drupal community about this new concept.

Public Radio International (PRI) has been running on a Drupal 7 site for just about 5 years now. As their organizational needs have grown, they began approaching the idea of migrating to an API-driven architecture to support new and upcoming technical requirements. Four Kitchens has been working with the PRI team for a few months now to iteratively pull parts of the site out of the Drupal frontend and into a modern JavaScript system, powered by PRI’s new API. See our new decoupled homepage at www.pri.org.

In this session, we’ll be talking through the following points:
Scenarios in which progressive decoupling is an appropriate path.

PRI’s organizational goals and technical requirements that necessitated a progressively decoupled approach.
Detailed architectural overview of the mechanisms PRI and Four Kitchens successfully built to support this approach.
Tools we built during this initiative that you can use to save time when you decide migrate from a CMS monolith to a distributed architecture.

Challenges we faced during the project, and how we overcame them.

Learning Objectives & Outcomes:
This is a case study on PRI's experience in progressive decoupling a Drupal 7 editorial news site. Learn our objectives and the challenges we faced.

By Jon Firebaugh

Built on Drupal 7, we took a clients workflow from Word and Excel templates to Drupal and in the process created a file repository for client uploads. We streamlined the workflow, used granular permissions to allow both vendors and clients to view only the project content related to them. Of interest is the use of the following modules: Display Suite, File Field Paths, Entity Reference, Entity Reference Autofill, Entity Connect, Auto Entity Label, Multiupload Filefield Widget, Field Group, Field Permissions, Conditional Fields, ACL, Content Access, Feeds, PDF using mPDF, and Rules to automate some node creation and permissions. Much of this should be transferable to Drupal 8 when the modules are stable and ported.

Learning Objectives & Outcomes:
A highly functional client solution can be built without custom code thanks to the work of the awesome Drupal community. It requires patience and extensive researching in the contrib space. Configuring the modules and some tips and pain points will be discussed.

By Ochen Kaylan

The GDPR (General Data Protection Regulation) just went into effect May 25, 2018. So, 1) What is it? And 2) Do you have to care about it? The short answer is: 1) It’s complicated. And 2) Almost certainly, yes. You are probably legally obligated to care about it.

In this session, we’ll talk about the GDPR in general. Why does it exist? What types of information does it cover? Who does it affect? We’ll also talk about the issues you, either as a site owner or as a site builder, need to think about as you’re building and maintaining your sites in order to stay in compliant with the GDPR. Finally, we’ll talk about Drupal-specific tools and strategies to help meet and manage your requirements under the GDPR.

Here are the presentation slides: http://bit.ly/tcdrupal-gdpr

Learning Objectives & Outcomes:
At the end of this session, you should have enough information about the GDPR to meaningfully engage in (or, if need be, start) conversations within your organization about the GDPR and potential strategies going forward.

By Matthew Tift

The music industry is one of those areas where Drupal does well. For example, Lady Gaga, Bruno Mars, Eric Clapton, The Grateful Dead, Led Zeppelin, The Beatles, Turner Broadcasting, Atlantic Records, Nonesuch, Warner Bros. Records, the Grammys, and Radio France all use Drupal. But this list of Drupal sites can do more than impress our friends at parties. These websites represent opportunities to understand how a wide variety of people, companies, and industries can collaborate successfully.

Drawing from interviews, case studies, articles, blog posts, videos, and other sources, this talk will examine what we can learn from some of the more noteworthy musical developments in the Drupal community over the past 12 years. We'll go backstage with Sony Music, Warner Music Group, MTV, and other Drupal projects to learn about their genesis, varieties of collaboration, and how Drupal benefited from these projects. Come to this session to learn lessons relevant for business, nonprofits, NGOs, and our daily human interactions.

By Wilbur Ince

Three nimble contenders will enter the ring...which will survive?

In this session we will compare 3 docker based development environments and see how they stack up. We'll explore their strengths and weaknesses, and consider how they perform on MAC, Windows and Linux machines. We'll explore the automation tool sets that each provides.

If you have been suffering with creating local project development environments, this will be the best 60 minutes of your camp!

By Tim Broeker

During the early planning stages for Drupal 8, one of the most anticipated changes was the new Configuration Management Initiative. Today it is safe to say that the hype was real, and that the new configuration system is perhaps single most important change in the Drupal 8 universe.

And yet more than two years after the release of Drupal 8, the configuration system remains somewhat of a mystery to both experienced Drupal 7 developers and new Drupal 8 developers. Best practices are still being actively developed and discussed, and hard problems are still being solved both in the contributed module space and in Drupal core proper.

This session aims to unravel the mysteries of the Drupal 8 configuration system, and to outline an evolving set of best practices explained in human terms.

Whether you are a solo consultant or part of a larger team with distributed developers, this session will leave you with a fundamental understanding of why configuration management exists, how it works, why it matters, and how to take advantage of this impressive system no matter what kind of Drupal site you are managing.

How did we get here?

Learn about the history of configuration in Drupal, the rise and fall of the Features module, the promise of a better way, and the ultimate decision to develop a new configuration system for Drupal 8.

Why is it important?

We provide real world examples that explain why the configuration system is so important, how it can cut your development time by as much as 30% or more, and how it has provided a virtually fail safe solution for deploying Drupal sites whether you are a one-person show or a large distributed team deploying mission critical websites.

How does it work?

We will cover the basic fundamentals of configuration management, the difference between “active” configuration and configuration in “code”, and why it matters. We will cover the basics of the Configuration API, the configuration UI, and the critical Drush commands you will need to effectively manage configuration.

Okay, but how does it REALLY work?

The truth is that configuration management is complicated, and even more so once you start to encounter some of the difficulties surrounding projects that are complicated by clients, content editors, and multiple developers who are all actively trying to work on a site.

This session will do a deep dive into these issues and provide solutions such as:

Managing configuration in a team environment -- learn how to do fail-safe deploys no matter who is working on a site
Configuration Split module -- learn how to use different configuration schemes depending on your environment
Configuration exclusions -- learn how clients can make configuration changes on things like Webforms without losing work
Learn more about config ecosystem and other contributed solutions to common problems
Gotchas -- learn what to do when things go crazy and the key_value_expire table takes over your configuration
How to recover when things go bad -- avoid configuration loss and overriding work
To infinity, and beyond!

Finally we will take a look at the future of configuration management in Drupal, and some of the more powerful ways it can help you:

What is happening in core? (e.g. configuration split, configuration installs)
Devops and continuous integration for the win
Better QA and fail safe deploys every time
Why the configuration system matters, even for a single developer
Learning Objectives & Outcomes:
By the end of this session you should have a fundamental understanding of the Drupal 8 configuration system, a list of real world best practices and strategies, and a plan for how you can leverage the configuration system to take your Drupal 8 builds to ever greater heights.

By Kristen Mayer

Weightlifting and tech. On the surface, these two things may not seem to have much in common, but as a woman trying to navigate both of these male-dominated spheres, I’ve often been intimidated, and doubted whether I really belonged. While I was able to overcome imposter syndrome in my weightlifting practice fairly quickly, I’ve struggled with it for many years with in the tech sphere.

In this session, I’ll look at the strategies that helped me overcome imposter syndrome in the gym, and my journey applying them to my professional life.

Learning Objectives & Outcomes:
I hope that anyone attending this session will walk away feeling empowered about their position and skills within the tech community!

By Will Long, Elliot Christenson

CiviCRM is an Constituent Relationship Management (CRM) system, primarily for nonprofit or civic organizations, that can be integrated into Drupal (6, 7 & 8) as well as Wordpress, Joomla and Backdrop. And it's Open Source!

Drupal and CiviCRM have had a long history together, but there is only small overlap between the communities of people who really know both platforms.

Our team at myDropWizard are long-time Drupalers who have only started digging really deep into CiviCRM and we've discovered some AMAZING things that we want to share with the wider Drupal community.

For example:

API First? Yeah, CiviCRM already has that. :-)
Using front-end frameworks like Angular to build admin UI's? Already doing that too.
WYSIWYG e-mail building tool that rivals the user experience of Mailchimp? Check!
Super flexible membership management with recurring payment? Done for years.
This presentation will include a short introduction to CiviCRM, and how an organization might want to use it with Drupal, and a deep dive into some of the coolest features that never knew where there. :-)

If you work at or sometimes build Drupal sites for nonprofits or governments or other civic organizations, you NEED to see this! There's some really cool value that you could provide to these organizations that you're missing out on.

Learning Objectives & Outcomes:
The goal is to learn a little bit about CiviCRM, and some of the coolest features (from the perspective of a Drupaler), so that you can know if you want to dig deeper, or maybe consider using CiviCRM on a future project.

By Benjamin Melançon

Any Free/Libre Open Source Software project will have elements of do-ocracy (rule of those who do the work) but this approach does not work for all decisions a software community must make.

Largely of necessity in heavily volunteer-driven projects, all people who must carry out a decision have to consent to the course of action. Everyone should get a say in the direction and conditions of their work (and no one gets to say they are just following orders).

A good decision-making process requires everyone involved be heard from, and encourages making decisions based on data and scheduling a time to revisit decisions.

We'll talk about ways we can do even better, but the nature of needing the consent of people to do the work, to carry out a decision, gives us a good minimum baseline in our processes for much of what we do.

When a decision strongly affects more than those who carry it out, however, we need better ways of making these decisions. We can scale conversations and decisions in a fair and truly democratic way.

Learning Objectives & Outcomes:
* Come with at least a passing familiarity with various ways decisions are or have been made in Drupal.
* Leave knowing about sociocracy and sortition and how these esoteric concepts could make our community scale

By Adam Fuchs

Who has ever been frustrated by complex, inaccurate, or otherwise painful Drupal 8 search setups.

The Whos have—that’s who!

Drupal 8 core Search has been revamped, revumped, pumped up and wahoozled! It is much more powerful and accurate than in D7, but it still concentrates on text in nodes and not other entities those nodes might contain—like Paragraphs, Views, Whos, Yous, or custom blocks. Core Search also does not allow you to choose which fields you want to index, how important those fields are, or use any preprocessors to tailor your search. Search API gives you all this and more.

But how do I use it—you say? Come to this session on a lovely June Day is what I say! You’ll learn Search API, custom search boxes, some things about foxes and why Search API-based views rocks-es!

Learning Objectives & Outcomes:
Learn when Search API is right for your site instead of core Search
Learn how to properly switch from core Search to Search API
Learn how to Search Up and configure a Search API server and index, including complex fields, and processors.
Learn how to create advanced views keyword exposed filters that work with term reference and select fields as well as multiple entity reference fields.

By Will Long

Drupal 8 features many enhancements, one of the most-prominent being the implementation of the Twig templating system. But are you really getting the most out of your Twig? If you’re not using Twig extensions, then no--you’re not.

Twig extensions allow developers to add processing capabilities to Twig’s template rendering via via custom filters and functions. The Twig Tweak module is a popular solution for adding common functionality to Twig, and as developers we can provide even more power to the folks working with our templates.

This session will cover:

* Functionality provided by the core and contrib extensions
* Implementing custom Twig extensions
* Practical examples of functionality possibly through Twig extensions

Slides: https://www.dropbox.com/s/l8up8ob3f7pns7c/TC%20Drupal_%20Next%20Level%20...

Sample code: https://github.com/kerasai/twig_ext_demo

Additional Resources:

* Twig extension 1.x documentation: https://twig.symfony.com/doc/1.x/advanced.html
* Drupal Core Twig Filters: https://www.drupal.org/node/2357633
* Drupal Core Twig Functions: https://www.drupal.org/node/2486991
* Twig Tweak: https://www.drupal.org/project/twig_tweak
* Twig Extensions: https://www.drupal.org/project/twig_extensions

Learning Objectives & Outcomes:
* Define Twig extensions, specifically the usage of functions and filters
* Identify functionality of core Twig extension, and its shortcomings
* Cover existing contrib options for Twig extensions
* Roll a custom Twig extension

By Christopher Stephan

With the rise and proliferation of User Experience (UX) or Experience Design (XD) as a practice and profession, people have come to a nodding understanding of what it is, what it's for, and what it requires. The problem is that many of them are wrong.

We'll discuss present perceptions of Experience Design and examine its roots in Human Centrism. It is these roots that differentiates it from other approaches and design professions and schools of thought. These same roots, and the value they provide, need to be understood because they are inextricably tied to the methods we employ, how we gather actionable insights, and how we achieve meaningful innovation.

Human Centrism, like the mythological Antaeus, has very specific requirements for bringing it's power to bear. We'll talk about those requirements and the rewards of meeting them.

Learning Objectives & Outcomes:
Learn about the requirements of a Human Centric approach to Design and Software Development, and how the effort only yields rewards with investment.

By Drew Gorton

Those of us planning, designing, building or supporting Drupal for others are increasingly working for people who see that work through the lens of Marketing. This session will start by looking at the big picture of what's happening in the web market (Wix, WordPress, Sitecore, etc.), where Drupal fits today and how that evolution involves marketing professionals. Put another way, if Drupal is becoming the tool for Ambitious Digital Experiences, those experiences are paid for by Marketing budgets.

If you’ve come to Drupal via tech ("Come for the code" as we like to say) you might not have an intuitive grasp of the language and concerns of marketing professionals. This session will explain what Marketers do (it’s different than Sales!), how they do it and what matters to them. Come to this session for an overview of Drupal in the web market, a primer on marketing terms (MQLs, CTAs, Funnels, ...), marketing needs (NNN, CTR, Conversions, …) and competing marketing technologies (there are zillions!).

You will leave this session with a better understanding why marketers matter to Drupal professionals, what motivates our marketing colleagues, what they care about and how to make your work more relevant and valuable to them.

Learning Objectives & Outcomes:
Come to this session for a primer on marketing terms (MQLs, CTAs, Funnels, ...), marketing needs (NNN, CTR, Conversions, …) and competing marketing technologies (there are zillions!). We’ll start with the big picture and dive down into how things fit together and why they matter.

By Dan Moriarty

I have a confession to make. Even though I work in tech, and have seen so many changes over my years in web design, at heart I am a skeptic. I read about new technology, I see and hear the hype, I see my friends and colleagues dive in, and I think, “Meh”.

Smart speaker? Meh. Why can’t I just click and type instead?
Augmented reality? Meh. Why do I want to look at the real world through my phone screen?
AI? This isn’t truly artificial intelligence, is it? So why should I care?
But as much as I want may dismiss some things as “uninteresting’ or “not ready for prime time”, I am also a curious person, and I do care about technology. At some point the next big thing will truly “arrive” and changes the way we lead our lives. It may be in small ways, or it could lead to greater things I’ve never imagined.

Let’s take a run down on today’s “next big things” and try to understand them better. Specifically, (a) what is this and why should I care? (b) how can I start using these today? (c) is there a practical application with Drupal?

Topics include:

Voice-activated search and smart speakers
Artificial intelligence
Augmented and virtual reality
Decoupled and Progressively Decoupled Drupal
Learning Objectives & Outcomes:
Discuss the “next big things” in online technology and try to understand them better. For each topic we'll discuss:

what is this and why should I care?
how can I start using these today?
is there a pratical application with Drupal?

By Tess Flynn

Every site is "healthy" until it isn't. Don't leave things to chance by doing a site health check!

In this session we'll introduce the tools and techniques to perform a health-check on your Drupal site using easy, off-the-shelf tools. We'll outline the goals of the health check, and what to do if you discover something wrong, or worse, how to recover from a hack.

Knowledge of Drupal, business processes, and the command line are helpful, but not required.

Learning Objectives & Outcomes:
Goals of a site health check.
Outline the mindset of an auditor.
Using Drupal's built in tools.
Using Hacked Module.
Using Site Audit.
Checking the human processes.
Checking infrastructure.
What to do if you discover a hack.
When to ask for help.

By Jack Franks

...But we'll do some live migrations against from NASA APIs, so we'll *make* it rocket science!

Migrate is now a core component in Drupal 8 and it's changed an awful lot from Drupal 7. Migrate is now simple and easy, requires a lot less code, and can be taught to do some amazing tricks. There's been a lot done about upgrading and migrating your Drupal 6 or 7 site so we won't cover that here. Instead, we'll cover some of the scary parts like writing custom migrate source, destination, and process objects; wandering through the jungle of the Drupal 8 Migrate contrib space (migrate_drupal_d8 and migrate_source_csv, for example); managing your custom migrations with CMI; and seeding your site with starting content using migrations! This session will be very configuration-heavy and code-intensive, with lots of live demos. (What could possibly go wrong?)

Learn some fun and valuable new migrate skills and explore the frontier that is Drupal 8 Migrate.

You can find the code and slides for this presentation at http://tiny.cc/d8migrate

Learning Objectives & Outcomes:
You'll learn how to structure a custom migration module, what tools you should use to be really successful with your migrations and seriously cut down your development time, how to write custom plugins, and how to run migrations customized by interactions with your site (like running a migration with settings from a form!).

By Tessa Kriesel

It’s easy to spend your entire day, heads down, coding projects without thinking twice about other developers around you. We often get too absorbed with completing our immediate deadlines to spend any time considering the future of our projects, the future of our teams. By not mentoring new developers we are failing our future. We are failing at providing new developers with the industry experience they need to be a one-day successful candidate for our teams. Let’s talk about ways we can contribute to mentoring new developers in our teams and in our communities.

By Theo Ballew

If you've been a part of the Drupal world over the past few years you've no doubt heard of, pondered, or taken part yourself in the headless debate. JavaScript frameworks like React and Vue are the new hotness, and they're taking the world by storm; at the same time Drupal 8 has gone in a similar direction, with the REST module being pulled into core, and helpful new contrib modules like JSON API and GraphQL popping up.

JavaScript frameworks are the new hotness for a reason, they do some really cool stuff, and they do it well! But, Drupal 8 does some really cool stuff too, and often with little or no custom code, saving dev time and dollars for other clients or features.

In this session we'll explore two small example sites, one built entirely with Drupal 8, and one built with both Drupal 8 and React. We'll focus on identifying the strengths and weaknesses of each approach, and hopefully leave with a better understanding of when to go headless, and when to leave good enough alone.

Learning Objectives & Outcomes:
By exploring two small example sites, one headless and one standard Drupal 8, we hope to highlight the strengths and weaknesses of each approach, and come away with a better understanding of when to reach for one approach over the other.

By Jason Want

Come learn about the current state of the Google AMP project and its integration with Drupal, where it's all heading, and how to incorporate AMP with your current or next project.

What is Google AMP? AMP is an open-source library that provides a straightforward way to create web pages that are compelling, smooth, and load near instantaneously for site visitors. It is supported by many different platforms, and it's compatible across browsers.

During this session, participants will learn the current state of the AMP project through a historical context of the project's beginnings and development in response to web traffic's shift to mobile devices. Together, we'll review some AMP examples to highlight specific e-commerce and UX driven AMP components and what makes valid AMP code.

After an AMP introduction, we'll review how to integrate AMP with Drupal with an eye for creating a development checklist for your current or next project. Through this process, attendees will become familiar with both Drupal AMP module and theme contrib projects.

About Jason Want
Jason has eight years of experience working with Drupal as a site architect and builder, themer and developer. He is an Acquia Certified Drupal 7&8 Developer and Certified Scrum Master. Jason is passionate about Drupal and enjoys participating in monthly New Orleans Drupal User group meet-ups and as DrupalCon North America co-chair of the Horizons track.

He has recently attended the Google AMP Roadshow and Hackathon events in Chicago in March 2018.

When he’s not working with The Nerdery team, you can find Jason spending time with his family, camping, sailing on Lake Pontchartrain or gardening in the yard in New Orleans.

Learning Objectives & Outcomes:
* Why mobile web performance is critical to the engaging new site visitors and converting them.
* How the Google AMP project can provide the framework to deliver a performance-focused strategy for your web project (not just for publishers and blogs anymore!)
* What makes AMP code valid
* What AMP components are and how to combine them to make interactive web features
* How to integrate AMP with your Drupal project

By Michael Babker

To varying degrees, each one of us are responsible for steering the open web. From businesses who create platforms based on open source technologies to "decision makers" involved in managing open source projects, each one of us in some way influence how the open web evolves. Though our platforms often times have overlapping target markets which creates a perception of competition amongst them, the fact is that the "big 3" CMS' account for over 70% of the CMS market space and over 35% of the Internet as a whole, and that it is important that our communities understand their roles as market leaders and are able to openly discuss common issues and concerns. Through this session, Michael will use his experience as a core contributor and release manager within Joomla to lead this discussion on how we as leaders in the open source community have a responsibility to steer the open web and make informed and responsible decisions for our users.

Learning Objectives & Outcomes:
Why it is important as consumers and contributors to open source to openly collaborate and discuss common issues to enable us to steer the open web.

By Chris Greatens

Today, people have access to more information than ever before and they can access that information across many different devices. However, just having access to more information and more access to that information does not translate into an engaging user experience. Content providers have a wealth of information about their users available, but too often do not use that information effectively. Users expectations are growing and content providers will have to change their strategy to provide the type of engaging experience that users want and need.

How can content providers leverage what they know about their users to provide the right information to the right person on the right device at the right time?

This session will focus on the following questions:
* What is personalization? What is contextualization?
* What types of data are available and how can they be used to provide value to the customer?
* How do privacy concerns or GDPR affect personalization?
* What are some good and bad examples of personalization in the wild?
* What is the best way to plan out a successful personalization project?
* How should a project team be staffed?
* What are the best tools and techniques are available to Drupal site builders?

Learning Objectives & Outcomes:
People attending this session will leave with a better knowledge of what personalization is, how it can be used effectively while be mindful of privacy concerns, and how to best execute a Drupal personalization project.

By Keith Bundy

This session will discuss what accessibility is, why it is important, and who it benefits. The presenter is totally blind and will incorporate a demonstration of a screen reader with the program.

Learning Objectives & Outcomes:
Attendees will be able to define digital accessibility and state who benefits from accessibility. Attendees will also come away with a greater appreciation of how screen reader users browse web sites.

By Diane Kulseth

The world of search engine optimization is changing faster than ever, thanks to artificial intelligence, and marketers are clamoring for new updates to websites to meet these changes.

What changes are most important to the website and how do you manage these? What should you be proactive about, and how do you stay on track with an ever-evolving discipline?

Learning Objectives & Outcomes:
In this session, attendees will learn the key points behind the biggest changes in search, and the common requests they'll hear from their marketing teams. Attendees will leave equipped to speak to these requests and prioritize according to their capacity and impact on site performance.

By Chris Weber

Together we'll go beyond learning how tools like PhpStorm can level up your developer-y super powers and demonstrate how your developer life can change if you maximize your use of these tools.


As developers we struggle everyday to solve problems and we rely on development tools to help us puzzle through those problems. Years ago, I adopted PhpStorm to augment my skills and in doing so I've learned a lot of ways how to gain the most out of the tool.

Come as we break through the levels of complexity and level up your skills as we talk about:

* Navigating through code to quickly reach the depth and breath of the Drupal codebase.
* Use your detective skills to understand your code with debuggers, code comparison tools, code generators, and history.
* Scan your code for errors with passive analysis tools.
* Rummage through your endless bag of self-made solutions, tools, and handy helpers.
* How to make PhpStorm adapt to the way you like to work and harness the power of keyboard shortcuts to gain a new super power.

Ahead of the talk, if there are specific things you want to hear about. Please shout out to me @chris_m_weber on twitter or leave a comment.

Learning Objectives & Outcomes:
Learn a new super power with an advanced development tool.

By Jen Lampton and Nate Lampton

Backdrop CMS is the Drupal fork. It is a faster and less-complex version of Drupal 7 with more features you want, and fewer you don't.

This session will highlight the Backdrop Mission, it's intended audience, and it's guiding principles.

We'll explain the decision making process, introduce the Project Management Committee, and expand on how the project's direction is set by the needs of the whole community.

We'll cover topics like how we handle Security and Stability, and talk about how we're trying to decrease the cost of long-term website ownership.

Learning Objectives & Outcomes:
This session is to help people understand why Backdrop CMS is necessary, the people it aims to serve, and the objectives it aims to meet.

(Note to organizers, we'd also be happy to do this as a 45 or 30 minute session if that fits better in the schedule)

By Joe Shindelar

Sharing is at the root of our community. We share code, knowledge, experiences, and sometimes even conflict—all in the interest of making Drupal better, our community stronger, and improving ourselves. But sharing is rarely easy to do. Competing forces like lack of time, imposter syndrome, and the lack of a safety net to fall back on can make it feel like we don't have anything worth contributing.

I believe that everyone has something to share. And that contributions comes in many different shapes and sizes. But I also totally recognize that figuring out what that is, or how to get involved can be super challenging.

In this session I'll draw from my 10+ years of experience working on, with, and in, open-source communities to share ideas about:

Different ways that you can contribute to open-source. Some of which involve code, and others that don't
Our local community and opportunities to get involved
The value of contributing to open-source for both individuals and businesses
Saying no, and being comfortable with doing so
Ways to encourage others around you, and help to foster new contributors
This session is for anyone who is interested in learning about how to get more involved in the Drupal community. And how doing so can lead to tangible outcomes and opportunities for growth both in your personal and professional life.

Learning Objectives & Outcomes:
Attendees will learn about various ways they can get involved in, and contribute to, both the local Drupal community and the larger Drupal project.

By Tim Erickson

Attend any Drupal event and you will hear people talking about how important the Drupal community is to them or how much the Drupal community has impacted their life. Look deeper and ask around and you will also find many people who at some point in time have felt betrayed or let down by the community when it failed to meet their expectations.

Do some of us expect too much from the community and how do we cope when the community fails to live up to those expectations?
How much can and should we expect from an open source community?
Does the community exist solely in service to product called Drupal or is Drupal merely the byproduct of a community with goals and values of its own?
My plan is to share some of my personal thoughts and experiences on this topic, but also to hear from the audience about what they expect from the Drupal community and how they cope when the community fails to meet those expectations.

Learning Objectives & Outcomes:
To talk about what community means.
To reflect on our individual relationships with the community and what we expect from the community.
To prepare ourselves for that moment when the community fails to live up to our expectations.

By Werner Glinka

Drupal 8 is a great back-end content management system that can be used to feed data to all sorts of clients.

This case study describes a project that uses a headless Drupal 8 installation that feeds content to a local Metalsmith-based static-site build process. Server data are used to build pages dynamically at build time using Metalsmith as the site generator and the Nunjucks template engine.

The result combines all the benefits of a static website and the backend data management prowess of Drupal.

This use case is unique in that Drupal is used only to manage content in the backend and then to provide the content to the build process via an API.

In this session we will look closer at the project setup and development workflow.

Learning Objectives & Outcomes:
Simple Drupal 8 headless setup with JSON API
Development tools to implement the API
Metalsmith setup

By Steve Persch

Adding structural concepts to a CMS is easier than removing them. Drupal has collected the concept of blocks, regions, Panels, Panes, layouts, beans, theme hooks, render elements, view modes, Views, and the list goes on and on. WordPress, that other GPL, LAMP stack CMS from the early 2000s, has the same problem of too many ways to do the same things. So WordPress is starting fresh by rewriting the central component of most WordPress sites, the WYSIWYG that controls the body field.

The Gutenberg editor that will land soon in WordPress core strikes a new and better balance between showing content editors how posts will be rendered and exposing the underlying structure. It is widely expected that once the body field goes Gutenberg, the entire page will too. Drupal tends to turn site building tools into content editing tools. The WordPress community is doing the reverse.

This presentation will cover:
* The WordPress mission to Democratize Publishing
* The functionality of Gutenberg
* Modern JavaScript and React usage
* Community reaction

Learning Objectives & Outcomes:
Attendees can expect to learn about how WordPress is answering many of the same questions facing the Drupal community. I hope the outcome is a questioning of assumptions around how Drupal sites, and Drupal itself, are built.

By Seth Viebrock

Developers, designers, and clients alike should be data advocates, because in today’s age it is plentiful and an important precursor to successful website redesigns.

Just like stereotypes can misrepresent reality, best practices can misrepresent what actually works for *your* particular site redesign. Be an advocate for archetypes (data-backed) over stereotypes (your own opinion). Whenever possible, favor data-informed decision making over “best practices”, egos, and the latest idea your boss dreamed up. Of course data is only as useful as the insights you draw from it, but why not look at it rather than ignore it, before spending your client’s dollars and putting your relationship with them on the line. Perfection does not exist in web design, but practicing data analysis can sure make things better.

Drupal is a highly customizable, data-friendly platform, so let’s take a look at how we can use data for a better redesign, a better experience, and better KPIs and end results!

About the author: Seth Viebrock is Founder and CEO of Origin Eight, a Drupal and WordPress web design and digital marketing optimization agency based in Minneapolis.

Learning Objectives & Outcomes:
Here are some data concepts and sources we will cover, which can inform a successful redesign:

__Data-driven personas__
* What’s the difference between a stereotype (an inference based on personal experience) and an archetype (based on individual data points from a given demographic)?
* What kind of data sources are available to support and build these personas?

__Persuasive data__
* Your new redesign touts that this business/organization/institution can deliver a product or a set of promises…but what supporting data do you have to “prove” this to the end-users, and what does this mean when planning your data structures / content types?
* How do you leverage and position testimonials, data-driven badges, and other “social proof”, as well as data from authority, liking, and scarcity (there are only X seats left to see this presentation!).

__User-centric, data-driven UX/Usability__
* The main goal of usability from your client’s perspective is more profit (or a similar KPI). How does something as simple as the prioritization of content on a page equate to profit?
* What data exists right now that you can look at and use, without heading into a usability lab?
* How does this data solve for the “ego problem” of web design?
* Some of this data only takes a few minutes of your time – learn a few tips and tricks, too.

__What data do you have on the end-user?__
* Are there valuable opportunities for personalization of website content, even if it’s just the weather, referrer, or country of origin? Why would that matter?

__ Data-driven copywriting__
* So your client wants a website, but all websites need copy. Learn about what kind of data can inform copy-first design, even if it’s not always realistic, and at least think about what kind of data you or the client can collect to inform the usage of space on the page.

* Simple tricks for evaluating website performance in analytics (i.e. detecting a bug in Chrome without ever looking at the page, based on user completion of page goals), how to set your website and client up for success, and how to continuously improve.

By Dan Ficker

No matter if you're a developer, designer, manager or a business owner, you're a person. And these days, being a person on the Internet can be a minefield. Phishing attacks are trying to steal your information and some of your passwords have been published on the internet. But you have to work on the Internet--living off the grid is not an option.

In this session, I will go over some common attacks that you should be aware of. Also, I will highlight some simple, practical ways to protect yourself while browsing the Internet for fun or work. No doubt, some in the room will say, "This is too hard to be secure," and others will say, "This speaker is not paranoid enough." Security is a continuum, and this is meant to be a point for you, the attendee, to evaluate your personal security practices and think about improving them.

Learning Objectives & Outcomes:
* Is Your Browsing Secure?
* Is Your Communication Secure?
* Backing Up Data
* Examples of Phishing
* Examples of Impersonation
* Two-Factor Authentication
* Password Managers
* Trust No One vs. Cloud Services

By Dwayne McDaniel

How many times have you been in a situation where the client is never happy with the results, no matter what you do? How many 'emergency' messages have you responded to because the site isn't quite right in some new way? How many clients have you lost or fired because they honestly had no idea what they really wanted? If you answered yes to any of those questions, this session is for you!
Gathered from years of 'learning it the hard way' I am excited to share my knowledge with Freelancers, Agency Owners, Project Managers, Business Development professionals as well as anyone else who wants to better manage conversations.
Walk away from this talk with a better understanding of:
- Project And Sales Pipeline Strategy
- Uncovering Client Business Goals
- KPIs vs KPIs
- Managing Scope

Learning Objectives & Outcomes:
This is all stuff I think people at some level know, but as I have been told many times, no one says out loud. I would ideally like to save folks in business positions and newer agencies and freelancers some pain by sharing what I went through to learn these points.

By Eric Weinberg

I have gotten a lot of interest recently on my use of R, google analytics and Drupal to create a website that has dynamic content that is predictive based on a users previous browsing history of the site and behavior relative to site goals. The project uses R, and an additional server, and can be used to switch or modify content on a page to help guide users. This is a big topic and a bit off the the traditional path so it would be an introduction to some the concepts and tools used to build predictive analytics into a drupal website.

Learning Objectives & Outcomes:
Understand infrastructure and tools needed for predictive analytics
Understand basics of R and how it (and/or Python) can be used to aid the process
Understand how to integrate back-end prediction server with your Drupal front-end


Drupal is a registered trademark of Dries Buytaert.