DrupalCamp NJ 2023


Videos from DrupalCamp NJ 2023.

Video Sponsor(s) / Provided by
Curated Videos
Learn how Princeton University approached a multi-year upgrade of nearly 1,000 websites from Drupal 7 to Drupal 9. This session will describe our approach to planning, leadership buy-in, funding, project managing, communicating, developing, designing, problem-solving, and launching. We'll tell you about our highs, lows, and lessons learned. We'll talk about our successful vendor partnerships and how we built fun into the project (hint: paper tigers).

Jill Moraca
Editoria11y v1 filled an unmet need for Drupal: a robust but still intuitive accessibility checker that worked like magic.

For all its code, it was also fairly straightforward under the hood: lots of jQuery and IF statements!

For Editoria11y v2, I had a lengthy wishlist:

Learn to let go of the jQuery dependency
Let the user dismiss yellow alerts...and synchronize the dismissal with other users
Let Drupal collect findings into site-wide reports
Be able to check really complex HTML, with multiple content root containers and shadow DOM components.
Leverage Drupal translations
Add some basic automated testing so I'd stop randomly breaking stuff
The catch? Everything on that list was something I did not know how to do.

But here we are, thanks to a long list of mentors and a lot of trial and error.

So let us take a it's-new-to-some-of-us, down-with-imposter-syndrome tour of the techniques it takes to build a complex Web application out of Vanilla JS, Drupal APIs and Shadow DOM.

John Jameson
This talk will be a deep dive into the intricacies of computer networking for web developers. Computer networking is a topic that befuddles web developers of all backgrounds and it's often never really properly taught for many programmers. Any web developer never needs to go too deep with networking, but it is advisable to know the basics and the fundamentals. In this talk, Yingquan will go over the fundamentals of IP addresses, routing, gateways, TCP/IP, and more, providing the details so that the audience will learn something new. He will provide demos so that the learning is actionable and people can follow along with their computer if they so choose. He will try his best to deliver a scintillating talk.

Yingquan Li
There are several different types of tests you can write and many different testing tools you can use during development to make sure your Drupal site does what it’s supposed to do. Writing some actual tests is the important part, and using Cypress for end-to-end testing is a great place to start.

By the end of this talk, you’ll know:

A bit about Drupal CI and how Drupal projects are tested including Functional JS and Nightwatch testing
Why you might want to use Cypress for end-to-end testing
Where you can learn more about Cypress 101
Advanced Cypress tips you can use while testing applications
Tips specific to testing Drupal applications with Cypress
Session link: https://slides.com/afinnarn/test-your

Alex Finnarn
Let's "get off the island" and look at Drupal security from the point of view of an outsider.

The OWASP Top Ten is an industry standard list of the most common vulnerabilities that can affect web sites. This session will start with an overview of the Top Ten, and then take a more detailed look at a few of these vulnerabilities. We will review some actual Drupal security advisories:

What the vulnerability looks like
How the Drupal security team communicates the problem
The code that was updated to fix the problem
The presenter is a member of the Drupal security team.

The audience for security is "all of the above", or it should be. Owners care if their sites are hacked, or if information is stolen. Builders and administrators need to know and follow best practices. Developers and project managers have to think about what can go wrong.

This session will help teach you about good "web hygiene" and what you can do to make your site more secure. It will also help you recognize when you need to rely on an expert.

Benji Fisher
According to a 2018 report by Blind, 58% of tech employees experience imposter syndrome. Despite your achievements, you may experience self-doubt about your capabilities and feel undeserving of your accomplishments. You are constantly doubting your competency. How is it possible that even after so many years at work – with all your success, accolades, and promotions – you still feel uncomfortable in your abilities?

We often try to overcompensate for these feelings of inadequacy by either working longer and harder, or by procrastinating, or through perfectionism. This leads to anxiety and burnout. We are literally adding unneeded pressure to a career that is already fast-paced and stressful. Having experienced this through much of my career, I can relate to how imposter syndrome impacts our mental health daily.

The truth is, you are perfectly capable of doing your work. Your success is not due to luck and your achievements have value. But your mind isn’t playing along. In this session, we will discuss the science of mind games that lead to imposter syndrome. You will learn strategies for how to regain control of your thoughts to celebrate growth and success. Join us on a journey that will impact your career for a lifetime.

Many successful people experience imposter syndrome. Discover why this is a construct of the mind, and learn strategies for feeling aligned with your capabilities and self-worth.

Dori Kelner
As a long time community member, I would love to talk about the how the Drupal community has been the backbone and driver of my crazy career. I have been lucky enough to be the Forest Gump of technology, and Drupal and the community have been a big reason why, I have been able to transition from large scale IT, to individual contributor, to technical leader to supporting federal delivery of services for farmers, veterans, and the general public.

Robbie Holmes
Everyone knows Google Analytics captures a wealth of information from your website. Giving stakeholders access to Google Analytics often leads to more questions than answers.

Welcome Google Data (now Looker) Studio, a tool allowing you to create informative dashboards. Now, your audience can have all the data they need in one handy place.

The session will include a live look at dashboards currently in use for reporting key dimensions and metrics.

Jeffrey S. Danielewicz
contributions. Learn from a Drupal core release manager—with over ten years of Drupal core experience—how to give an efficient and effective peer code review.

Peer code reviews are essential, improving maintainability, increasing productivity, and reducing costs. They can reduce the rate of defects (bugs) introduced into a codebase by as much as 80-90 percent. Most importantly, they build a shared understanding of the application within a team, and are an opportunity for developers to mentor each other.

Drupal core's peer code review process has two phases:

An initial peer code review cycle with one or more other contributors.
A final stage of code review by a Drupal core committer (one of the 15 people like xjm who can accept changes into Drupal core's production codebase).
As a result, the core committers are exposed to all the peer review (good and not-so-good) that is done by contributors throughout Drupal core issue queue. This makes committers ideal mentors as well as subject matter experts on both best practices and pitfalls to avoid.

In this session, you will also discover research and psychological principles for when code review is effective and when it is not. You will learn how to structure your change sets for reviewers, which can improve the whole team's code and maintainability. Finally, you will learn about automation and tooling that can help reviewers focus on what's most important.

Jess (xjm)
How do you ensure accessibility across a decentralized campus? What's my university's legal requirement for accessibility? Where do I even start? Great questions! The University of Pennsylvania's Senior Web Accessibility Analyst will walk you through how UPenn manages accessibility across its 12 schools and countless departments and centers.

In this session, you'll learn:

a framework you can use to kick start your accessibility initiatives
about tools and resources necessary for maintaining accessibility
communication tactics for non-technical stakeholders
procurement and contract-related strategies
And since every campus is unique, we'll leave plenty of time for Q&A!

Kara Gaulrapp
In this session I hope to explain all the technical details and architecture behind Project Browser. We'll talk about its classes and APIs, how you can make your own source plugin to interface with the Project Browser, and we'll even look at the Svelte frontend of Project Browser and how we're managing the nuances of progressive decoupling inside of Drupal. We'll also touch on how Project Browser interfaces with Package Manager (a gift from the Automatic Updates Initiative).

Christopher J. Wells
The trends in web development have been shifting towards a decoupled architecture for a while. Popular JS frameworks like Vue/Nuxt, React/Next.js, and Angular have been around for a while and are strongly supported, and newcomers like Remix, Svelte/Sveltekit, and Solid/SolidStart are generating buzz and winning over developers who want something fast and easy to code. But is shifting your web architecture over to be fully- or even partially decoupled a good idea? We'll look at several key questions your org should ask before making the decision to embrace this trend.

Tom Mount
Picture this: you’ve found an awesome new project on GitHub. It does exactly what you’re looking for, and it’s open-source. Amazing! This is going to change your life. So you roll up your sleeves and get going with it. But then, you run into an error. You Google it. StackOverflow. You search and search and search. You find similar queries, but never the answer. You pour over the code, hoping it helps, but the README file is no help. You search for anything documenting this project, but keep coming up empty. This project would be perfect, but no one ever documented it.

Far too often, the information we need is never found. It stays locked in the minds of the engineers who wrote the code, who wrangled the application, who made it work. Engineers are focused, and busy. But what good is code that no one knows how to use? Documentation is every bit as important as making sure the project works.

That buy-in can be hard. Stakeholders don’t want to pay for the time. Project managers don’t prioritize the work. Engineers don’t want to do it. What is put together is often incomplete or badly written.

The only way to solve this problem is to create a culture around documentation. In this session, we’ll talk about how to elevate the status of the humble documentation to its rightful place alongside your code. We’ll cover how to integrate the documentation process into your existing processes so that your engineers are on board, and how to show stakeholders and others who push back that documentation is not only worthwhile, but essential to the success of your project.

Alanna Burke
About 1,000 websites run on Princeton's Drupal-based "Site Builder" platform. Join me for a behind the scenes look at the platform, where I'll discuss:

A brief history of the platform and our group in the Office of Information Technology at Princeton
Overall platform architecture & devops
A look at some of our unique platform features and how they were built
The practices we follow to ensure the platform remains maintainable
How we plan and deploy monthly updates
Lessons learned after 4 years of launching the platform

Brian Osborne
With Drupal 8’s adoption of Composer, the Drupal community joined the larger PHP community in adopting PHP’s default package manager. While this brought about many benefits, such as Drupal 8 being built using many libraries that we don’t have to build and maintain by ourselves, it has not been without pain for the Drupal ecosystem and especially Drupal site builders. The Automatic Updates and Project Browser initiatives have the potential to be game changers in lessening the learning curve and maintenance burden that Composer has presented to many Drupal users and would-be users.

These modules will allow site builders to install and update Drupal projects through the user interface without having to deal with Composer at all. These modules handle the complexities of Composer through a behind-the-scenes module called Package Manager. In this session you will learn more about how Package Manager facilitates Composer operations and how you can integrate programmatically with it to customize the Automatic Updates and Project Browser experiences. You will also learn how you can create your own modules that use Package Manager to create custom Composer based functionality.

Ted Bowman
Adam Globus-HOenich
This presentation is for anyone who has created a website using Drupal and is interested in discovering a standardized, simpler, and faster way to model and build a website's content and information architecture.

The Drupal community's current approach is to create a site using varying practices and then define the Schema.org types on top of the 'custom' content architecture. The Schema.org Blueprints module turns this current Schema.org-last approach around and explores what a site creation experience would look like if we take a Schema.org-first approach to building a site's content architecture leveraging Schema.org's schemas for structuring data.

This presentation will explore and answer…

What is Schema.org?
What is Schema.org-first approach?
What is the Schema.org Blueprints module?
What are the goals of the Schema.org Blueprints module?
What are the benefits of the Schema.org Blueprints module?
What is next for the Schema.org Blueprints module?

Jacob Rockowitz
The Site Audit module is a classic. It will reach 10 years old this June. It gives you a detailed report of your Drupal site in the web admin, providing a nice pass-fail display for review. It has a drush command that renders the report in HTML, text, or vulcan.

The next version of Site Audit can now not only display reports, but can save them over time, and send them to remote servers. A "Site Audit Server" module is now available to receive the reports via simple REST API.

This means you can:

Store site audit reports in sites themselves to view changes over time.
Add fields to enhance reports.
Save site audit reports on cron.
Create a central drupal site for storing site audit reports from other sites.
Send site audit reports via REST to the Site Audit Server. Receive custom data and do stuff with it.
Send site audit reports via REST on Cron.
Vardot & ThinkDrop are using this architecture to build a "Drupal Support Dashboard" that can track all the sites we are responsible for, and give us feedback if the sites are in compliance and functioning.

This session will give a full tour of the features, a live code session for creating a Report and Checks, and we will create a simple Site Audit dashboard during the session.

Jon Pugh

Drupal is a registered trademark of Dries Buytaert.