Room DevPanel C11:00am to 11:45amAll Attendeesshaal, sjshaalSponsored By: Palantir
In this session we will cover:
Why Vue.js and how it helped with performance and privacy
Utilizing Drupal to overcome 3rd party API shortcomings
Performance measurements, scalability
Coordinating with multiple vendors on tight deadlines
Managing 4 internal teams
Implementing Risks and Decision Log
Palantir.net had a 10-week timeline to design and build their online conference platform from scratch. The client assembled a team of top-tier vendors and partners, with Palantir as the technical lead. Our role was to:
Implement a Drupal 9-centric solution that would sit nicely with their existing technology stack, leveraging style guide elements and enhancing their web marketing infrastructure.
Evaluate and make recommendations for the best third-party technology solutions for video streaming, one-on-one session management, feedback systems, sponsorship systems, and community and connection platforms.
Translate custom visual design provided by the client’s design partner into a style guide and then implement it on the live site
Coordinating and collaborating with a large team of partners and vendors on a tight timeline, developing a solution that could easily handle traffic from more than 100,000 attendees during the event.
Room Lullabot D11:00am to 11:45amAll AttendeescmcgrathSponsored By: Drupal Contractors by Esteemed
If you are a junior Drupal developer, you might be looking to find a mentor. If you're a senior Drupal developer, you may be looking for a mentee. If you're neither, you might be wondering where mentorship fits in your career–if at all.
It's no surprise, however, that a powerful mentor/mentee relationship can fast-track you toward rapid career/company growth. But if you went to find a mentor today, would you know what you need from the relationship?
Let's take some time to dive into mentorship as it relates to Drupal and engineering, and how you can get started discovering your next mentor/mentee as soon as possible.
Walk away learning more about:
Why mentor/mentee relationships are so important
Tips, tricks, and resources for improving your mentor/mentee relationships
How to overcome common Drupal & engineering mentorship obstacles
So, if you want to help bring out the best in people, let this talk support you in learning how to guide others–and yourself–to succeed.
Are you new to the Git workflow? Is the concept of version control sounds awesome but initimidating? Do you feel like Git would improve your development workflow but don't know where to start?
If this sounds like you, join me for this crash course into Git from the beginner to ninja. We will talk about using Git in the command line like a pro and cover most popular workflows, essential commands, and bonus tips and tricks that will improve your develpment workflow.
This session is great for beginners but intermediate users may also learn a few new tricks!
Room Drupal Contractors A11:00am to 11:45amAll Attendeesmikemiles86
Composer is a package manager that alleviates the complexity of dependencies in PHP based projects (such as Drupal 8/9). This session provides an introduction to the core concepts behind package management and Composer. No previous knowledge of Composer required.
Using practical examples as guidelines attendees will learn the basics of Composer, including:
What composer is and the concepts of how it works.
How to add composer to a project and packages to a project.
Semantic versioning patterns for packages.
General Do's and Don'ts when using Composer.
Attendees will leave this session with insights and basic knowledge of Composer. Including knowledge of how it works, the value it provides to projects and how to use it on any (PHP based) project.
Room Kanopi - Live Transcriptions available11:00am to 11:45amIntermediatebrianperry
Component based approaches to front end development have taken over the web. From conceptual approaches like Atomic Design, to component based frameworks like React and Vue, this perspective on web development is unlikely to fall out of favor any time soon. And like many others, I love it.
There is however, one component related technology that has eluded me: web components. Web components are of a set of web APIs and standards that can be used to create custom and reusable HTML elements. A custom element that isn’t tied to a specific framework and is supported across all modern browsers truly sounds like component utopia. Yet somehow, native web components still haven’t become a major part of my front end toolset. With web component adoption increasing, it seemed like time to better understand why.
This session recounts the highs, lows, and surprises of my experience as a newcomer to web components, including:
● Key technologies including custom elements and the shadow DOM
● Creating web components using the core API
● Creating web components with the help of a library
● Styling web components
● Application state and web components
● Using web components with frameworks like Angular, Vue and React
● My newfound and slightly more educated outlook on web components
Room Drupal Contractors A1:00pm to 1:45pmIntermediatekunalkursija
Composer - The dependency management tool for PHP applications is a complete feature rich package that addresses a lot of development and deployment problems. Unfortunately, most of the developers only get to know about the basic usage of it(Example: Running commands like ‘composer require drupal/MODULE’, ‘composer install’, and ‘composer update’).
One such lesser known-and-used feature out of many is integrating ‘scripts’ in the composer workflow of your web application. In this session we will cover the following sub-sections of composer scripting:
Registering and executing scripts on composer events
Registering & Executing custom composer commands
The above topics and their working examples will significantly help you understand how development and deployment teams can work together in simplifying the build process And thereby demystifying the know-how of one of the many powerful features of the composer called composer scripting.
Have you or your organization fallen victim to one of the classic website blunders? Was it organization by board member, stock photo syndrome, design by committee, vanishing volunteer web developer, or something else? We will discuss 10 classic website blunders we have witnessed that rendered potentially successful projects ineffective engagement tools, and tell you how to avoid them.
Identify common mistakes that associations make when designing a website.
Decide how to align your website with your organization's goals.
Find out how to categorize your target audience.
Determine how to identify an appropriate website ROI (Return On Investment).
Harmonize design and development by working with the latest module for Drupal’s Bootstrap Layout Builder to increase UX efficacy. Mahya, Aaron, and Mahmoud share the 5 guiding principles for designer-developer collaborations to bridge gaps. Learn more about core collaboration challenges, how to approach them, and component-based designs.
Room Lullabot D1:00pm to 1:45pmAll AttendeesdstolineSponsored By: DDEV
One question many of us have heard or had when we were getting started as web developers and/or entering a new role is a very simple “how do I deploy my site?” We’re often tied into vendor defined workflows, and literally just go with the flow, or are presented with solutions with very complex projects as the baseline. What if you wanted to evaluate the options objectively? What if you want to build your own workflow? What are some best practices? What are the basics of deploying a site?
In this session we’ll give a high level view of how to work with a Drupal project in this workflow:
Initial project creation using vanilla Drupal Core, setting up a Git repository, and a local development environment.
How to use Git to collaborate with a team and protect your work.
How to share your work in progress with team and stakeholders.
How to use continuous integration and deployment (CI/CD) to regularly test and deploy your work.
What you need to do to move a site from local or preview to live deployment.
When you leave the session you should have a grasp of the pieces of the process and how they fit together regardless of the specific tool or vendor you may use at each stage. You’ll understand how you can put together a workflow that works best for your projects, your team, your students or your clients.
Room Kanopi - Live Transcriptions available1:00pm to 1:45pmIntermediategtucker6
Ever wanted to learn about Drupal plugins as a module developer? Ever wondered what makes Drupal plugins work or why they’re useful? Well, literally every Drupal 8 module uses the Drupal plugin system! At their core, plugins are extensible bits of functionality. They are in YAML files, in Annotation classes, in hooks, and/or can be defined statically. Plugins can also have a custom discovery mechanism. Just create a custom plugin discovery class and use a plugin manager service.In this tutorial, you will learn:
How to use Drupal plugins
How to create new plugins
Why choose to use plugins
We will also explore plugin discovery, plugin decorators, plugin management, plugin derivatives, and plugin definitions. You'll learn how to wrap functionality around the main Plugin discovery class with a Plugin discovery decorator. Using a Plugin decorator, you can provide or alter existing configurations, and/or provide multiple discovery methods. Plugins are in many places and are crucial to every module in Drupal. Having a hard time thinking about what plugins already exist in Drupal? There are quite a few!
Some YAML plugins include routing, menu links, libraries and permissions
Some Annotation plugins include blocks, field types, actions, entity reference selections, content and configuration entity types
As you can see, Drupal Plugins are almost everywhere you look! I want to take you on a cosmic adventure into the Drupal Plugin universe. Please come with me.
We all want our websites to be resilient, fast & easy to work on but sometimes you inherit a project that’s not any of those things. Version control is murky or non-existent. Core is way, way, way, waaaaaay out of date. The documentation on the project hasn’t been touched in about 17 months, and there are multiple views named “Article”. Yikes.
You may not know how you got into this mess, but I’m here to help you find your way out. You too can gracefully inherit even the messiest legacy project and leave it better than you found it.
So many talks on best practices start from a blank slate; a brand new project where *this time* you’ll finally do everything right from the beginning. This talk focuses on what you can do on all the *other* projects you have: the ones with no budget for a rebuild, the ones that are short on time and long on requirements. You know the type.
Rather than diving into detail about which automated test suite to implement or how to name your views, this talk gives some principles to guide you as you untangle that spaghetti code one noodle at a time.
After this talk, attendees will be able to:
Diagnose the factors that cause instability and uncertainty for an adopted or legacy project.
Create an action plan for how to improve that project.
Use that plan to reduce instability and increase project performance.
The ideal attendee for this session is a developer or technical project manager who is responsible for working on a legacy project and wants to add some structure to that project. It should be a good fit for a developer who is looking to make the move to a senior or lead role.
Intermediate Drupal knowledge will be helpful, though not required. The concepts covered will apply beyond Drupal, but the language and examples will be Drupal-focused.
Room Lullabot D2:00pm to 2:45pmAll AttendeestedbowSponsored By: Acquia
At Drupalcon Global Dries announced Automatic Updates as 1 of 5 strategic initiatives for Drupal 9.
Automatic Updates is an existing initiative that has already produced a contributed module that can provide updates for non-Composer based Drupal 7 and Drupal 8 sites.
The next phase of the initiative is to add support for updates of Composer based sites to Drupal 9. Currently the initiative is focusing on moving update readiness checks and other supporting functionality from the contributed module into Drupal core.
Room DevPanel C2:00pm to 2:45pmAll AttendeesmonicadearSponsored By: Lullabot
In 2017, a national nonprofit focusing on social justice and environmental sustainability embarked on a 18-month process to convert three different platforms into one consolidated website.
As director of digital products during this conversion, I'll share lessons learned from the buildout including: the RFP and vendor selection process, an assessment of our user roles and permissions, the content structure, and a review of integrations with external systems.
We'll discuss additional considerations for how to hold space for multiple viewpoints, as well as how to implement a respectful, open, and transparent process for all stakeholders.
Room Drupal Contractors A2:00pm to 2:45pmAll Attendeesshrop
Are you losing sleep, worrying about your Drupal site’s security? That isn’t healthy! With Drupal being used for building websites and applications in government, non-profits, higher education, and corporate enterprises, it is important to make sure that projects follow regulatory and organizational security controls. Are you ready to learn how to take immediate steps to improve the security of your Drupal installation? Great, let’s get get started.
This session will provide the details you need to create a security-first plan to enhance Drupal’s strong security foundation with community-contributed modules. Attendees will learn how to leverage these community contributions to ensure Drupal’s ability to provide confidentiality, integrity, and availability for your users.
Drupal core and contributed module security enhancements will be demonstrated live. These demonstrations will show how to address many of the concerns listed in the globally recognized OWASP Top 10 Web Application Security Risks document. In addition, attendees will learn how to keep up with official security announcements from the Drupal Security Team, understand Drupal security advisories, and find resources to learn more about Drupal security.
Room Kanopi - Live Transcriptions available2:00pm to 2:45pmBeginnerdinarcon
How to integrate React.js into an existing website?
What are elements and components?
What is JSX and what about separation of concerns?
In this session, we’ll give you an in-depth case study that guides you through the UX, visual design, and development process we followed to create a new digital home for Princeton University’s School of Public and International Affairs.
Our goal was to migrate the school to Drupal 8, while implementing a completely new information architecture, visual framework, and content strategy that better speaks to the core audiences of the school: potential students, the press and policy makers, and current students and staff. We’ll show you how we assembled a team and worked together to gather research, create a strong UX strategy, and build a newly architected site in Drupal 8. Evolving Web’s Drupal Practice Lead and Content Strategist Suzanne Dergacheva, and the School of Public and International Affairs' Web Services Manager John Cloys, will explain the tools and methods they used throughout to get input from stakeholders and users.
We’ll cover the following topics:
UX & Strategy
Answering the “Why?” - the goals of the project and the goals of the School
Persona validation and prioritization - gathering input from stakeholders and real users
Gathering and sorting content
Usability testing and interpreting the research
Information overload: using personas as a lens to prioritize, remove, and rewrite content
Visual approach: creating a visual identity for a school within a school
Researching higher education best practices
Building a style guide for flexible content components
Migration strategy: workflow for a combined manual and automated migration
Integrating with Princeton: events, single-sign-on
Building a maintainable platform: developing with the site maintainers in mind
Collaborating on content and design in parallel
Accessibility as a priority throughout the process
Room Drupal Contractors A3:00pm to 3:45pmAll Attendeesmandclu
One of the key strengths of Drupal is its flourishing ecosystem for contributed modules. Best of all, you can jump in and add yoour own module! All you really need is a good idea, though of course some programming knowledge, understanding of Drupal coding standards, and a few other technical things would help.
This talk will focus less on how to write code or what code you should write, and more on the process of creating a module, submitting it on Drupal.org, and getting it adopted by the community. We'll touch on such topics as:
Looking for similar modules that already exist
Getting help from the community
Submitting your module - sandbox or full project?
Getting the word out
You'll hear about the firsthand experiences in developing Smart Date, which went from an idea to one of the top 500 most popular modules on drupal.org in less than two years.
Room Lullabot D3:00pm to 3:45pmIntermediateimalabyaSponsored By: Specbee
Github Actions enables you to create custom software development lifecycle workflows directly in your Github repository. These workflows are made out of different tasks so-called actions that can be run automatically on certain events.
This enables you to include Continues Integration (CI) and continuous deployment (CD) capabilities and many other features directly in your repository.
In this session, we are going to look at the core concepts of Github Actions and even dive into creating your own custom workflows to use Github Actions to run a basic build, lint, and deploy the changes to a Digital Ocean droplet.
Room Kanopi - Live Transcriptions available3:00pm to 3:45pmAll Attendeesweekbeforenext
In a world where working more hours is often touted as a badge of courage and an example of high productivity, keep in mind that overload burnout is a real thing. While our individual thresholds for burnout may vary, our minds and bodies have limitations that when met, can severely impact our lives.
So how do we recognize and avoid burnout in ourselves, as well as others? Join me as I share my experiences and the knowledge I’ve gained in my journey to both overcome and avoid burnout.
In this session, you will learn:
Overload burnout signs and symptoms
Common causes and triggers
Individuals that want to avoid or overcome burnout
Room Kanopi - Live Transcriptions available3:45pm to 5:00pmAll Attendeesadmin_fldc, mherchel
⚡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? Come to the room and share!