10:00am to 10:30am
Virtual Check-In
Room Kanopi - Live Transcriptions available 10:00am to 10:30am All Attendees admin_fldcCome say hello virtually to other attendees before sessions start - we will be here to answer any questions you may have as well about the Camp!
10:30am to 10:45am
Opening Session
Room Kanopi - Live Transcriptions available 10:30am to 10:45am All Attendees ultimike, mherchel, hotsaucedesign, volkswagenchickA few quick words before the Camp gets under way. We will be brief, we promise!
11:00am to 11:45am
The anatomy of Git workflow and essentials commands you must memorize
Room DDEV B 11:00am to 11:45am Expert amykhailovaAre 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!
Watch on Youtube →Composer 101
Room Drupal Contractors A 11:00am to 11:45am All Attendees mikemiles86Composer 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.
Watch on Youtube →
Building a Virtual Conference for 100,000 attendees in 10 weeks, using Drupal + Vue
Room DevPanel C 11:00am to 11:45am All Attendees shaal, sjshaal Sponsored By: PalantirIn this session we will cover:
Engineering:
- Why Vue.js and how it helped with performance and privacy
- Utilizing Drupal to overcome 3rd party API shortcomings
- Performance measurements, scalability
Project Management:
- Coordinating with multiple vendors on tight deadlines
- Managing 4 internal teams
- Implementing Risks and Decision Log
Short summary:
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.
Finding a Drupal Mentor: a How-to Guide for Kicking Your Career into High Gear
Room Lullabot D 11:00am to 11:45am All Attendees cmcgrath Sponsored By: Drupal Contractors by EsteemedIf 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.
Watch on Youtube →Web components through the eyes of a newcomer
Room Kanopi - Live Transcriptions available 11:00am to 11:45am Intermediate brianperryComponent 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
SLIDES - https://noti.st/brianperry/bdLuuQ/web-components-through-the-eyes-of-a-newcomer
Watch on Youtube →11:45am to 1:00pm
Lunch
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
Two Sides of the Same Coin: Maximizing UX With Drupal’s Bootstrap Layout Builder
Room DevPanel C 1:00pm to 1:45pm All Attendees aaron_ixm, mahya_ixm, mahmoud_ixmHarmonize 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.
Watch on Youtube →Demystifying deployment workflows
Room Lullabot D 1:00pm to 1:45pm All Attendees dstoline Sponsored By: DDEVOne 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.
Watch on Youtube →Composer Scripting
Room Drupal Contractors A 1:00pm to 1:45pm Intermediate kunalkursija
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:
- Composer events
- Composer scripts
- Registering and executing scripts on composer events
- Composer commands
- Registering & Executing custom composer commands
-
- PHPCS
- PHPCBF
- PHPUnit
- Referencing scripts
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.
Watch on Youtube →Classic Website Blunders
Room DDEV B 1:00pm to 1:45pm All Attendees stephenpashbyHave 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.
Takeaways:
- 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).
Creating and Using Plugins as a Module Developer
Room Kanopi - Live Transcriptions available 1:00pm to 1:45pm Intermediate gtucker6Ever 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.
Watch on Youtube →1:45pm to 2:00pm
Coffee Break
1:45pm to 2:00pm All Attendees admin_fldcGo get a beverage or snack and get ready to dive into the rest of the day!
2:00pm to 2:45pm
Case Study: Converting a National Environmental Nonprofit to Drupal
Room DevPanel C 2:00pm to 2:45pm All Attendees monicadear Sponsored By: LullabotIn 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.
Details of the case study are here: http://bit.ly/enviro-nonprofit-drupal
Link to slides: http://bit.ly/drupal-case-study
Watch on Youtube →
Sleep Better at Night with a Secure Drupal Site
Room Drupal Contractors A 2:00pm to 2:45pm All Attendees shropAre 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.
Security risks and improvements covered
- Attack surface reduction
- Broken Access Control
- Cross-Site Scripting XSS
- Insufficient logging & monitoring
- Password policies
- Security misconfiguration
- Using components with known vulnerabilities
So You Inherited a Mess: First Steps in Adopting a Legacy Project
Room DDEV B 2:00pm to 2:45pm Intermediate sparklingrobotsWe 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.
Learning Objectives
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.
Target Audience
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.
Prerequisites
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.
Watch on Youtube →Automatic Updates: the Future of Drupal
Room Lullabot D 2:00pm to 2:45pm All Attendees tedbow Sponsored By: AcquiaAt 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.
Learn about the initiative and how you can help
Watch on Youtube →Understanding React.js
Room Kanopi - Live Transcriptions available 2:00pm to 2:45pm Beginner dinarconReact.js is one of the top players in the JavaScript libraries world. This session aims to explain the basic concepts of library outside of the context of any particular CMS implementation. Throughout the presentation, a static site will be converted into a dynamic React.js application. Many examples will be presented to help you understand how it works and why it is so powerful. No previous experience with React.js is required. Basic familiarity with HTML, CSS, and JavaScript syntax suffices. You will learn about:
- How to integrate React.js into an existing website?
- What are elements and components?
- What is JSX and what about separation of concerns?
- How to reuse components?
- What are props, states, hooks, and proptypes?
2:45pm to 3:00pm
Coffee Break
2:45pm to 3:00pm All Attendees admin_fldcGo get a beverage or snack and get ready to dive into the rest of the day!
3:00pm to 3:45pm
Enabling the Change-Makers: Redesigning Princeton's School of Public and International Affairs Website
Room DevPanel C 3:00pm to 3:45pm All Attendees pixelite, jcloysIn 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
Design
- 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
Development
- 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
Process
- Collaborating on content and design in parallel
- Accessibility as a priority throughout the process
- Tools and techniques for project success
I have a great idea for a module! Now what?
Room Drupal Contractors A 3:00pm to 3:45pm All Attendees mandcluOne 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.
Watch on Youtube →Drag and Drop Content Management in Drupal
Room DDEV B 3:00pm to 3:45pm Intermediate chrisodva, acouchPresenters: Chris O'Donnell and Aaron Couch
By combining design systems with Layout Builder and Drupal features such as blocks we can deliver a "Wix" like drag and drop experience to site builders tasked with managing Drupal 8/9 websites.
In this session attendees will learn:
- How to integrate design systems with Drupal
- How to combine component libraries with Drupal Blocks and Layout Builder
- How to use Emulsify to manage your component library for the website
- How to leverage prebuilt built components on other websites
- How this approach builds on Drupal's inherent flexibility
Non-technical attendees will learn how this approach increases agility while decreasing costs by enabling reuse of previously completed work.
Watch on Youtube →Build a CI/CD pipeline for your Drupal application using Github Actions
Room Lullabot D 3:00pm to 3:45pm Intermediate imalabya Sponsored By: SpecbeeGithub 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.
The session will cover the following areas
- Why care about Github Actions?
- Core concepts of Github Actions
- Using workflow and action templates
- Configuring a workflow
- Running a workflow
Watch on Youtube →
Redefining productivity during burnout
Room Kanopi - Live Transcriptions available 3:00pm to 3:45pm All Attendees weekbeforenextIn 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
- Mitigation strategies
Target audience:
- Individuals that want to avoid or overcome burnout
- Leaders that want to support their teams
3:45pm to 5:00pm
⚡Closing / Lightning Talks⚡
Room Kanopi - Live Transcriptions available 3:45pm to 5:00pm All Attendees admin_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!
Add your name to the list at https://docs.google.com/document/d/1KobBiZgyr3YKjjZNKnyOMhyXL-Rc0Uzdh-hq-uDMKjg/edit?usp=sharing
5:15pm to 8:00pm
After Party
Room Kanopi - Live Transcriptions available 5:15pm to 8:00pm All Attendees admin_fldcCome hang out (virtually) after a day of sessions - play some games, have some drinks and socialize!