9:00am to 9:30am
9:45am to 10:30am
From dropout to advocate: challenges and lessons from a web dev, PHP, and Drupal noob
Room Auditorium 9:45am to 10:30am Beginner chadwcarlsonAccepting failure can be hard, and a fresh start in a new field can be even harder. Two years after withdrawing from a graduate program, finding a place at Platform.sh brought a new and exciting community, but also plenty of stress, imposter syndrome, and a real need to catch up fast on all things web development and DevOps, all while working remotely for a 100% distributed company. It was difficult and isolating at times, especially working with PHP and Drupal for the first time (coming from a Python background). This talk will cover the challenges and lessons that come with a fish out of water becoming a developer advocate (and being human).
Watch on Youtube →Hooks & Events Overview: How Complex Systems Communicate
Room 170 9:45am to 10:30am Intermediate daggerhartEvent systems are a programming pattern that allow many disparate parts of complex software communicate and react to changes from other parts. Many software frameworks have some type of event system that allow the system to be extended easily. Historically Drupal and WordPress have called them "hooks", whereas JavaScript and other software call them "events".
Now with Drupal 8's adoption of Symfony framework, Drupal 8 now has two event systems in place; the older system of hooks, and the newer system of Symfony events. The patterns behind event systems are universal, and gaining a fundamental understanding of them can be significantly helpful when learning or creating new frameworks.
In this presentation we'll explore the anatomy of any event system and we'll see how these concepts are shared and applied to Drupal hooks, Symfony events, WordPress hooks, and even JavaScript events.
Learning Objectives
By the end of this session attendees will be able to:
- recognize an event system, regardless of what the framework has named events
- make use of the event systems in Drupal, WordPress, and JavaScript
- identify the parts of an event system and understand how they work
- discuss the pros and cons of the most popular frameworks' event systems
Target Audience
This presentation is great for developers who are familiar with working in themes and modules and want to understand more about what is going on under the hood of Drupal.
Prerequisites
Attendees will get the most out of this session if they have written/implemented at least one hook or JavaScript event before, regardless of level of comfort with doing so. jQuery click handlers count! Copy and paste is totally okay.
Watch on Youtube →Accessible Media
Room 172 9:45am to 10:30am Beginner volkswagenchickAccessibility is essential for developers and organizations that want to create high-quality websites and web tools, and not exclude people from using their products and services. If you’re in charge of your website, you have a lot of things to cover between keeping it up to date, entering and managing content, and making sure it's all accessible.
As part of an inclusive content strategy, how accessible is your media?
We'll do a deep dive into making your media more accessible. We'll cover definitions, standards, guidelines, as well as images, videos, captions, media players, forms, and more.
Watch on Youtube →
Living That Contractor Life
Room 177 9:45am to 10:30am All Attendees albertBe your own boss! Set your own hours! Start a business that provides for the future and retirement. These are a few of the common dreams of the consultant/freelancer, but then reality quickly sets in. How do I manage new requests? What do I do when the client isn't happy and is refusing to pay? I've completed this project, how do I find the next one?
All developers who have stepped outside of the 9-5 have experienced varying levels of this anxiety. During this 45 minute session, I'll share my experiences, some of the adversities I've faced, and how I've managed to thrive within this lifestyle and begin building a sustainable business that eventually should allow me to work less and earn more.
Watch on Youtube →Insanely fast mobile, offline-first, interactive sites with Svelte, Sapper, and Drupal
Room 180 9:45am to 10:30am All Attendees Jitesh DoshiIf you find GatsbyJS, ReactJS, Angular, NextJS/NuxtJS, REST & GraphQL interesting then this talk is for you. We will learn how to marry 3 wonderful platforms to build insanely fast, offline-first, mobile-friendly, interactive Single Page Applications (SPA) / web sites.
- Drupal is great as a CMS, and even better as a headless/decoupled CMS.
- Svelte is compiler that compiles HTML+CSS+JavaScript into pure JavaScript that is executable on client (browser) as well as server (NodeJS). The code it produces does not use Virutal DOM, does not need a runtime framewok, and thus produces very small bundles that run faster than alternatives such as ReactJS and Angular. As a bonus, the developer experience is extremely pleasant, due to the simplicity of Svelte programming model.
- Sapper is a client- as well as server-side framework that lets you create high performance websites that can fetch content or data from RESTful backends and render them either client-side or server-side with Svelte. And blurs the line between the client and the server by rendering either on client or server.
The end result is a website that is SEO friendly, fast, content rich, and interactive.
Benefits
- Content rich and easy to manage because is Drupal!
- Fast performance due to Sapper's prefetching and Svelte's SSR (server-side rendering)
- SEO ready due to server-side rendering (SSR)
- Mobile ready and offline-first due to Sapper's service worker.
- All the sweetness of Svelte, which makes it super easy to build highly interactive JavaScript driven sites.
11:00am to 11:45am
Custom Drupal data migration: a Georgia GovHub story
Room Auditorium 11:00am to 11:45am Intermediate weekbeforenextAs Digital Services Georgia upgraded their Drupal 7 multisite platform to Drupal 8, they capitalized on the opportunity to make improvements to their content model. Data migrations were customized to move and shape data to fit into new content types and fields.
Let's take a look at some of the strategies, tools, and techniques used to migrate site data from the GeorgiaGov Platform to Georgia GovHub.
Topics that will be covered:
- Discovery and planning
- Strategies and workflow
- Sample solutions
- Site specific overrides
- Nested Paragraphs
- Circular dependencies
- WYSIWYG Document Object Model (DOM) processing
Documentation: the Why, the How, the Do It Now!
Room 170 11:00am to 11:45am All Attendees Qymana BottsIf someone were to join your team today, how quickly would they be able to ramp up? Would they be able to hit the ground running or would they keep tripping over the unspoken quirks of your system? Having a documentation can solve many problems before they arise. Whether you are a team of one or one thousand, having a good, current reference of the whys and hows of your system can save you a lot of headaches down the line. In this talk, we will discuss the benefits of having good docs and the potential risks and costs of the alternative; as well as tips and resources to get you started. Attendees will leave this session with... - An overview of different types of documentation and their most effective used cases and audiences - Techniques for writing and maintaining good documentation - Arguments to get teams on board with making documentation part of their process Documentation extends beyond the question of "What does this code do?" As such, attendees of all levels and roles can benefit from this session.
Watch on Youtube →Dealing with mental illness, or: How I learned to dislike myself less
Room 172 11:00am to 11:45am All Attendees dorfRoughly one in five Americans will deal with some form of mental illness this year. In our community, the tech community, that number is much higer. I am one of those people, I'm not alone, and neither are you. Please join me as I tell my story of coming to terms with my diseases, my road to treatment, and how I decided to become a better human by starting the conversation about mental health in the tech community.
In this talk I tell my story of how I came to terms with the fact that I have mental illnesses, and how I came to understand that I’m not alone. Within my story, I tell how I came to the point of accepting I need help, my path to getting help, what treatments worked for me and how, and what led me to becoming an advocate for people with mental illness in the tech community and someone passionate about continuing to start the conversation about mental health.
I also provide advice for anyone who may or may not have mental illness to help them become a better human.
Learning Objectives
At the end of this session, attendees will...
1. have gone on a journey with me from denial to fully accepting and embracing my mental illness, and have the tools, language, and understanding of what mental illness is and how it affects people to be a better human.
2. be able to apply some of the resources provided to their own lives or companies to help continue the conversation about mental health in tech and help build a more inclusive community.
3. have the knowledge at their disposal to understand that people with mental illness are not damaged or broken, but they're people who just happen to have a disease.
Target Audience
The target audience for this session includes anyone who is dealing with mental illness in this community, but feels like they are alone; people who may not have mental illness, but want to be supportive and be better humans; or people who are afraid of people with mental illness because all that they know is from what they've seen on the worst of TV or movies.
Prerequisites
Attendees will get the most out of this session if they have a desire to learn what life is like for someone with mental illness, how they can be supportive of people with mental illness, and what resources are available.
Watch on Youtube →Decoupled Drupal with Flutter
Room 177 11:00am to 11:45am Intermediate shropDecoupled Drupal has become commonplace with JavaScript front-end frameworks. That setup makes a lot of sense for decoupled websites and progressive web applications. What about accessing Drupal content from within native mobile Android and iOS applications, native desktop applications, and more? That is just what this session will dive into; combining the power of Drupal as a CMS, and Flutter for super fast and beautiful native apps.
Flutter is a Google-developed open source UI toolkit for building amazing, natively compiled applications for mobile, web, and desktop from one codebase. Flutter is user and developer-focused around four vision pillars: beautiful, fast, productive, and open. While it is best known for helping launch mobile native apps, such as the official Hamilton app, it is now being used for building native desktop and web applications.
We will kick off this session discussing how native applications can benefit from integration with Drupal for content delivery to your users. Attendees will learn about native application use cases and when to use native application vs. PWAs (Progressive Web Applications). The session will wrap with a live mobile app demo, including code examples from the Contenta Flutter open source project!
Topics Covered
- Why consume Drupal content with native applications?
- Drupal and native application architecture
- What’s Flutter?
-
Demo - Recipe magazine companion mobile app
- Consuming content via Contenta CMS API
- Saving persistent state and user data with Google Firebase
Watch on Youtube →
An overview of front-end component integration methods in Drupal 8
Room 179 11:00am to 11:45am Intermediate brianperrySince 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 component libraries and design systems. Gone are the days of redundant styles and markup, making way for the efficiencies found when Drupal and tools like Pattern Lab or Storybook 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.
This session will provide an overview of methods that can be used to provide data from Drupal to a front-end component that lives outside of the traditional Drupal templates directory, including:
* Mapping data via preprocessing
* Mapping data in twig templates
** Helper modules including Component Libraries, Twig Tweak, and Twig Field Value
** Popular component-based themes and starter kits
* UI Patterns and related supporting modules
* Pattern Kit
* Compony
* Single File Components
Finally, we’ll look ahead to how this process could evolve beyond Drupal 8.
At the end of this session, attendees will be able to:
* Develop a solution to map data from Drupal to components that live outside of the templates directory.
* Recognize the potential challenges related to front-end component integration in Drupal 8.
* Identify the component integration approach that works best for their team or project.
Avoiding launch fails with load testing
Room 180 11:00am to 11:45am All Attendees ksenour, aczietlow
Slides from the Presentation available here: https://aczietlow.github.io/locustio-slides/#/
Launching a website can be a nerve-wracking experience, often times with developers working up until the wire trying to finish that one last feature. If only there was a crystal ball that would show you a vision of how your site would fare when the masses were set loose upon it.
Good news for you, there is! Load testing.
In our opinion, this is one type of test you absolutely cannot go live without and we’re here to convince you why. Or, if it isn’t your decision to make - to equip you with some arguments that you can take to your stakeholders and hopefully convince them too!
Attendees will leave with a better understanding of what load testing is, why it is important to load test a site, how you can use load testing in your development workflow, where to find load testing resources and who should be making space in their timelines for load testing (spoiler: everyone)!
This session is for:
- Stakeholders who want a guarantee of launch success.
- Developers who don’t want to be called at 2am to rollback deployments.
- Project Managers who want to ensure projects run smoothly, have the proper time allowed for all the steps and launch without a hitch.
It will be helpful if attendees have experience launching websites either from the stakeholder, developer or project management perspective. A basic understanding of other automated testing processes is not required, but may provide additional context.
Watch on Youtube →11:45am to 1:00pm
Lunch
Room Library 11:45am to 1:00pm All Attendees admin_fldcLunch from world famous Gringos Locos! This is basically an awesome burrito bar, where you can also find vegetarian, vegan, and gluten free meal options. This lunch is included with your ticket!
1:00pm to 1:45pm
Scope in CSS with and without JavaScript
Room Auditorium 1:00pm to 1:45pm Intermediate brianperryCSS is global by nature. This is a powerful feature of CSS that can allow you to create consistent styling throughout your site with small amounts of code. But increasingly there are cases where front-end developers want to instead scope their styles to a specific component and ensure that component styles don’t impact other areas of the site.
This session will provide an overview of the various approaches to scoping CSS, both when using CSS alone, and when using CSS combined with JavaScript.
Starting from the perspective of CSS only approaches we’ll look at:
- A brief review of CSS Inheritance, specificity and the Cascade
- Scoping with BEM and other CSS methodologies
- Atomic or Functional CSS
Next we’ll examine the various scoping approaches when using CSS in JavaScript, including:
- Potential advantages and disadvantages to CSS-in-JS
- React CSS-in-JS libraries including Styled Components
- Component styling using single file components in Vue
- Scoped styles using CSS Modules
Finally, we’ll wrap up by looking at a few ways that global and scoped CSS can be used together effectively.
- Approaches to using both global and scoped CSS when using CSS-in-JS
- Ways to share styles between ’traditional’ styling and CSS-in-JS approaches
- Web Components and the future of CSS scope
Choosing tech for the enterprise, like you work on The Enterprise
Room 170 1:00pm to 1:45pm Beginner mizvalentine13Vetting, selecting and implementing enterprise IT solutions can be a daunting task; but it doesn’t have to be! With the right planning, research, and methodology, you and your organization can explore strange new worlds--from Drupal to hosting to your own corporate procurement process--with composure and confidence. In this session, we’ll discuss a practical approach that ensures you’ll find the right tech, at the right time, for the right budget, and boldly go where your IT org has never gone before.
Topics include:
- Requirements analysis
- Identifying and working within constraints
- Market research
- Technical bake-offs
- Vendor selection and management
- Implementation planning
- Support and maintenance
At the end of this session, attendees will be able to:
- Gather, define, rank, and prioritize functional requirements for the purchase of enterprise technology, both within and across stakeholder groups
- Identify appropriate potential technology solutions, critically evaluate those solutions, and propose a top choice with confidence and consensus
- Manage and select vendors, and plan for successful implementation and maintenance phases
Taking Maximum Advantage of Drupal Core's Composer Template
Room 172 1:00pm to 1:45pm All Attendees ultimikeIf you're looking to build a modern Drupal 8 or 9 site, then you're probably going to want to use the Drupal core Composer "recommended-project" template. Debuting with Drupal 8.8, this modern, (officially) community-supported Composer template gets your project off on the right foot.
This session will both deconstruct and provide examples, tips, and tricks for making the most of the drupal/recommended-project template. We will compare and contrast it with the "Drupal Composer / Drupal Project" template, and introduce some additional dependencies to help manage your project's codebase effectively.
Watch on Youtube →Pantheon/Acquia-like hosting in your own Cloud Provider account!
Room 177 1:00pm to 1:45pm All Attendees salimWait. What are you paying for hosting your site?
Discover the TEN ways DevPanel can help you get your site under control…
- Minimize your costs: use your own Cloud Provider
- Full control: run your Dev > Test > Live environments
- Batteries Included: VS Code Code-Server IDE, phpMyAdmin, etc.
- All browser based: Dev environments are not tied to any laptop!
- Faster Onboarding: no need for local environments for each developer
- Pair Programming anyone? Let developers collaborate on their dev environments!
- Fully Compatible: Git-Flow and Multi-dev workflow - like you’re used to…
- Low Risk: import/export from/to Pantheon and Acquia
- Hassle-Free: auto-scale up and down using Kubernetes and micro-services
- No Vendor Lock In: Everything runs in your own Cloud Provider account - even without DevPanel!
See how you can run Drupal, Wordpress, or any custom app on your cloud provider with a point-and-click control panel that removes the complexity of managing your own infrastructure and puts the controls back in your hands.
Come see what DevPanel can do for you!
** We're also looking for Beta-Testers for some amazing upcoming tech **
Winning at Work: 7 Secrets to Communicating Well
Room 179 1:00pm to 1:45pm All Attendees jacquiT-wolfHuman beings love to win. One could say we are wired to win, and typically, we enjoy our victories best when shared.
This session will illuminate 7 secrets to Better Communication, including...
- The challenges and advantages we receive from our core brain/body evolutionary programming
- The power of deliberate, structured communication
- How the relationship with Self affects the relationship to others and to the collective
- How to cultivate a positive orientation for problem-solving (rather than negative orientation which leads mostly to complaining!)
- What win-win means (and it’s not I give a little, you give a little, and we are both compromised and disgruntled)
- How maintaining two levels of awareness can harness the true power of your mind
- Why winning feels so good: the power of gratitude and acknowledgment.
Web Accessibility Through the Ages
Room 180 1:00pm to 1:45pm Beginner helenasueWe've come a long way, baby. From being somewhere between a myth and an afterthought to being a mainstream consideration in websites everywhere, accessibility knowledge, technology, and law has grown by leaps and bounds through the years. In this session, we'll take a look back at the beginnings of accessibility, the updated current standards today, and a look into future at some of the new technologies that accessibility has coming down the pipe. This isn't a code-heavy session, so it's a good one for leadership, project managers, and editors to attend to better understand the accessibility landscape as it affects our industry.
Watch on Youtube →2:15pm to 3:00pm
Designing for chaos: The design process behind Olivero
Room Auditorium 2:15pm to 3:00pm All Attendees jponch, jwitkowskiOlivero is a core initiative to create a new default theme for Drupal 9. Designing a core theme presents unique challenges as compared to designing traditional websites. This talk will tell the story of what it’s like to design a theme for an open source content management system (CMS) and will answer questions like:
- What is Olivero, and why did we create it?
- What are the challenges of designing for an open source community made up of thousands of stakeholders?
- What compromises were made to make the design accessible?
- What are the challenges of designing for a CMS that will be used for a wide variety of sites?
- What approaches and methods did we use to do this successfully?
Throughout this session, we’ll walk through real-world methods and processes. We’ll discuss each stage, from the first conceptual “zoom mocks” to the various ideas along the way that never saw the light of day!
At the end of this session, you’ll be ready to identify challenges, architect solutions, and validate results when designing a new theme.
Watch on Youtube →Centralised content distribution and syndication demystified. Why and how?
Room 170 2:15pm to 3:00pm All Attendees vidhatanandOften large organizations have a need to share content across multiple Drupal sites within their platform. This could be sharing content like news, events, or staff profiles, and can be achieved with creating a central content repository.
A central content repository allows the content editors to edit content directly from the backend of one site. Using the publisher site, organizations can publish, reuse, and syndicate content across a variety of subscriber sites and publishing channels.
Feature Highlights
- Centrally manage the content through one platform
- Cross-publish articles on full networks of subscriber sites.
- Use a simple site vs category mapping for automated syndication of articles.
- Have a centralized reporting to boost the editorial teams’ productivity & article publication pace.
Learning Objectives
At the end of the session the attendees would be able to take away the following:
- Centralized Content Distribution Architecture.
- Real-time content syndication by setting up publisher and subscriber sites.
- Configuring content schema between publisher and subscriber sites.
- Minimizing Failures during data transmission.
- Choosing the right infrastructure for content distribution.
Target Audience
Developer, Architects, and Organisations maintaining multiple Drupal properties.
Prerequisites
Drupal 8 site-building
Great Drupal 8 Websites Are Made Before the First Line of Code is Written
Room 172 2:15pm to 3:00pm All Attendees chrisodvaThe world's greatest Agile process can't save a project that was a bad idea from the start. In this session, we will review the principles of Human-Centered Design, and how applying these principles well before you even install Drupal 8 core can dramatically improve project outcomes. The session includes several interactive components that allow the attendees to apply the principals of Human-Centered Design to a real-world problem.
Watch on Youtube →Cookies: Lessons Learned from the Latest Guidance, Cases and Enforcement Actions
Room 177 2:15pm to 3:00pm All Attendees Patrick WhitneyGlobal privacy regulations such as the GDPR, CCPA and ePrivacy, as well as updated guidelines from the CNIL and the ICO will have a profound effect on marketing activities. Faced with the legal and financial ramifications of ignoring a consumer’s right to privacy, marketers must rethink their data collection, use, and retention methods. In this session we’ll share the latest updates and what to expect from the impending ePrivacy regulation, provide regulatory updates on cookies best practices from the CNIL and the ICO, and answer practical questions around how cookies and tracking technologies can be used by companies in practice while remaining compliant with global privacy regulations.
- Learn the latest updates and what to expect from the impending ePrivacy regulation
- Hear regulatory updates on cookies best practices from the CNIL and the ICO
- Understand how can cookies and tracking technologies can be used by companies in practice while remaining compliant with global privacy regulations
Disruption is coming. Will Drupal survive?
Room 179 2:15pm to 3:00pm Intermediate ksalbrechtEvery organism, to every organization, will be affected by a disruption to its existence some how, in some way. Disruption is a fact of life. How can we be prepared to survive and thrive in the face of it? Will we have sufficient awareness of a coming disruption? Will we be able to deliberate effectively and, if so, decide and act in time to survive? Further, just surviving is not enough. We also need to be able to be the disrupters.
In this session, we'll take a step back to first explore how nature itself survives and thrives in disruption. We'll explore this in light of important discoveries made in physics over the latter half of the 20th century which are seen as the new explanation of how nature works. Using this as our foundation, essentially learning from nature about how surviving and thriving in disruption works, we'll extract the key mechanisms and show how to implement them in our organizations.
Finally, we explore what this all might mean for Drupal. Disruption is coming for Drupal too. All the same questions apply, but how might we answer them as the Drupal community?
Learning Objectives
At the end of this session, attendees will be able to:
- Apply an understanding of Self-organized criticality to foster innovation
- Apply an understanding of Beyond Budgeting, Sociocracy, Liberating Structures, and agility to implement next steps to start transforming their organization to better survive and thrive
- Take new actions in the Drupal Community to further Drupal's thriving, and improve its resiliency
Target Audience
This session is for:
- Stakeholders
- Leaders
- Managers
- Team members
Prerequisites
Attendees will get the most out of this session by being familiar with:
- Agile methodology in general
- Agile frameworks like Scrum
- General business management techniques and challenges
Picking your Project Management Software for Success
Room 180 2:15pm to 3:00pm All Attendees sunsanddesignChoosing a Project Management system can be an overwhelming and daunting task. This talk will discuss the different kinds of systems, how they work and the pros and cons of each. This talk will cover 7 management types and how you can use these to determine which of the most common Project Management Tools are good for your team. It will also look at which tools are good to use for varying workflow types such as Agile, Scrum, waterfall, etc. We will also take a look at how I help agencies choose the tools right for their team. After attending this session you should walk away with:
- The ability to narrow down your team’s project personality type.
- The ability to apply this type to PM tool selection.
- A good understanding of what to look at when trying to choose a PM tool.
- And gain a deeper understanding of how the major PM tool players work from a high level.
3:30pm to 4:30pm
⚡Lightning Talks⚡
Room Auditorium 3:30pm to 4:30pm All Attendees admin_fldc⚡Lightning Talks⚡ are short (5min-ish) impromptu sessions on anything you want. Do you have something you’re proud of? Do you have a new technique that’s saving you time? Have you learned about something cool? Get up and share!
4:30pm to 5:00pm
Closing Session
Room Auditorium 4:30pm to 5:00pm All Attendees mherchelThank you for coming out. Closing remarks and details about the after party and next day's activities.