Submit a Session

Session submission deadline is January 17th, 2020.

Composer 101

Speaker: mikemiles86
Audience: All Attendees
Track: Development & Performance

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.

 

Preventing Burnout

Speaker: mikemiles86
Audience: All Attendees
Track: Being Human

All professionals deal with challenging, high-stress and/or high-pressure situations. Everyone has their limits, and too much stress or pressure can lead to “burnout,” a state of physical and emotional exhaustion. Burnout takes its toll not only on the individual but also co-workers, team, friends, and family.  By working together, individuals and managers can avoid burnout.

This session explores the dangers of burnout and the negative impact it has on teams and individuals. We will review the three main types of burnout: Frenetic, Under-Challenged, and Worn-Out.  Attendees will walk away with the ability to identify, treat, and prevent burnout in themselves and others. 

 

embedding JavaScript apps as Configurable Blocks

Speaker: Jitesh Doshi
Audience: All Attendees
Track: Design, Theming, & Front-end Development

This talk shows how to embed your JavaScript apps in your Drupal sites as configurable "blocks" along with a admin managed configuration data -- an architecture I call "Islands of App in Ocean of Content". We'll be using the "component" module (drupal.org/project/component)

  • How to write embeddable apps in JavaScript/React/Svelte/Angular/Vue/ES5/ES6/etc
  • How to embed your browser JavaScript apps in your Drupal site as "blocks"
  • How add configuration forms to those blocks and how to use that config data in the JavaScript app
  • How to expose REST/GraphQL from Drupal and consume it from JavaScript in browser
  • How to keep your users Anonymous to Drupal, but authenticated to you, such that Drupal can cache 100% of the content
  • How to integrate IaaS such as Firebase to provide third-party authentication, storage, database, and even compute.

See a limited intro / preview here - https://youtu.be/SWA8d83j__I.

Enabling the Change-Makers: Redesigning Princeton's School of Public and International Affairs Website

Speaker: pixelite
Audience: All Attendees
Track: Beginner Track

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

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

Drag and Drop Content Management in Drupal

Speaker: chrisodva, acouch
Audience: Intermediate
Track: Site Building

Presenters: 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.

Creating custom REST API endpoints

Speaker: danrogers
Audience: Intermediate
Track: Development & Performance

Drupal ships with several good core options for REST API returns. While stock REST endpoints in drupal can (and should) be used in lots of scenarios, sometimes we need to get a little tricky. The meteoric rise of decoupled architecture and JS MVC apps make us more and more dependent on API returns than ever before, even for a "normal" drupal site. Sometimes it is difficult, or impossible to effectively use core REST or things like JSON API in some of these advanced scenarios. But what to do? Making a custom REST API is hard right? Spoiler alert: not really!

Extending the core REST API with your own custom endpoints is simpler than you may imagine, and allows you to easily accommodate several different use cases, such as:

  • The need to match the existing JSON structure being used on a separate application or sites.
  • The desire for a custom JSON structure.
  • The need for non-standard ordering, filtering, etc.
  • The need for complex logic in the entity query.
  • The desire for a simplified JSON return.
  • The need to combine multiple queries into a single JSON return.
  • and more!

In this session, we look at several simplified examples and use cases, as well as provide an example module and documentation, to jumpstart your own custom project. We will focus on how to create your own simplified GET endpoints based on custom Entity Queries, but can also discuss other options such as POST endpoints, variables, filters, and more, time-dependent.

JSON:API 101: UNDERSTANDING JSON:API IN DRUPAL

Audience: All Attendees
Track: Development & Performance

The JSON:API module is a fully compliant implementation of the JSON:API Specification. In its own words, the JSON:API specification is:

A specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests.

Drupal 8.7 ships with JSON:API which makes a solid and stable path to support decoupled Drupal through standardisation of payload structures and query string parameters.

JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability.

Drupal's data-structures, i.e. entity types, bundles, and fields, are incredibly well suited to the JSON:API.

Learning Objectives

In this session i will cover an introduction of the JSON:API specifications and how it compares with the Drupal 8 core REST module, when to go for JSON:API and what JSON:API can't do. We will also learn about why it made sense for JSON:API to be added to Drupal core.

You will also learn how to use the zero-configuration JSON:API module provides a standardised API for exposes resources, interacting with relationships between resources (entity references), fetching of only the selected fields, and filtering, sorting and paginating collections of resources.

At the end of this session, attendees will be able to know more about:

  • What is JSON: API Specifications?
  • How to work with JSON: API in Drupal?
  • JSON: API vs. core's REST module
  • What are all JSON: API Security Considerations
  • How to work with POST, GET, PATCH requests in JSON:API
  • What are all the Things which JSON:API can’t do
  • Live Demo to expoler all JSON:API awesome cool features.

Target Audience
This hands on session is helpful for who are looking into build and consume web-service API via Drupal using JSON:API module. After this session audience will get to know awesomeness of the JSON:API module and it's OOTB features.

Prerequisites
Attendees will get the most out of this session by being familiar with Drupal 8 and web-services concepts like RESTful web-services

Twelve Tips for Planning your .edu Drupal Project

Speaker: monicadear
Audience: All Attendees
Track: Site Building

Based on knowledge gained from working with .edu teams who are moving or upgrading, to Drupal, this presentation reviews: who to bring onto the redesign committee, guidelines, goal-setting, the minimum viable product, how to structure content, categories and taxonomies, success metrics, the RFP, the vendor review, kickoff, the plan for migrations, and how to handle the buildout process from feedback cycles through launch.

Drupal has been increasingly viewed as a flexible, scalable, and secure platform for universities and powers websites for Oxford, Harvard, Stanford, MIT, University of Arizona, Penn State, and the University of Toronto.

Participants will take away a set of appropriate steps to guide their .edu Drupal migration process.

Additional reference: https://www.lullabot.com/articles/twelve-tips-planning-your-edu-drupal-development

Link to slides here: http://bit.ly/12tips-drupaledu

 

Decoupling Our Corporate Website Using Drupal, GraphQL, and Gridsome (Vue)

Speaker: Nugg
Audience: All Attendees
Track: Development & Performance

Today, terms like decoupling, headless, and JAMStack are all buzz words that describe a movement that is really starting to take off in the industry.  With hosting providers like Netlify really pushing for the JAMStack and vendors that we love, like Pantheon, starting to promote static site generation; we are on a path to changing how we build Drupal websites.

In this session, Steve Lavigne, Director of Technology at OPIN Digital, will discuss how they rebuilt and decoupled their corporate website using Drupal, GraphQL, and Gridsome (Vue).

Some key take-aways from this talk will include:

  • How to prepare Drupal 8/9 for decoupling.
  • How to manage content and set up Drupal with decoupling in mind.
  • How to extract data, including menus, from Drupal using GraphQL.
  • How to create reusable components in Vue.
  • How to map those components to Drupal Blocks.
  • How to compose your static pages while still using Drupal's Layout Builder.
  • How to generate a static site using Gridsome.
  • How to host both the Drupal back-end and Gridsome front-end for free.

Steve will also discuss the overall pros and cons of decoupling a corporate website using Drupal.

100% Remote: Successfully Managing a Distributed Workforce

Speaker: monicadear
Audience: All Attendees
Track: Project Management and Consulting

Technical project manager Monica S. Flores shares practical knowledge on how to manage remote teams based on the 100% distributed team at Lullabot, a design and strategy agency that supports Fortune 500 companies, government agencies, higher education, and publishers. Staff working across 9 time zones use tools like scheduled meetings, Slack, Paper, Google, Jira, and Zoom. We’ll discuss fundamental ways to practice compassion, respect boundaries, and foster psychological safety, and learn 7 tips to successfully manage your workforce both in the office and distributed.

Participants will be able to:
1) understand how values drive the business of managing remotely,
2) learn a suite of existing tools and technologies to manage distributed teams, and
3) determine their next steps for implementing better communications with their own direct reports.

Link to slides: http://bit.ly/7tips-remotework

 

Maximizing Composer

Speaker: ultimike
Audience: Intermediate
Track: Site Building

As a (aspiring or otherwise) professional Drupal developer, taking full advantage of what Composer has to offer can pay dividends. This session will provide some tips and tricks for using Composer with Drupal 8 and 9 projects, as well as provide a sneak peak at the improvements of the next major version of Composer.

This session will provide live examples of various features of both Composer and its ecosystem, including: understanding version constraints, using Composer plugins, overcoming dependency conflicts, and demystifying (part of) the composer.lock file

Redefining productivity during burnout

Speaker: weekbeforenext
Audience: All Attendees
Track: Being Human

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
  • Mitigation strategies

Target audience:

  • Individuals that want to avoid or overcome burnout
  • Leaders that want to support their teams

Your Daily Starbucks Is Not Making You Poor

Speaker: chrisodva
Audience: All Attendees
Track: Being Human

Financial insecurity is rampant throughout the country at all income levels,  and the Drupal community is not immune. However, most of the advice that is supposed to help just makes life worse. How exactly do you build up a six-month emergency fund when you can barely get through the month? Switching to generic toilet paper and skipping your daily pass through the  Starbucks drive-thru (we are still in a pandemic) is not going to balance your budget and set you on the path to a prosperous life. 

Changing how you think about money, however, will lead to balance in your life, and that will lead to balance in your budget too.

In this session, attendees will learn:

  • Why much of the financial advice they got from their parents was wrong
  • Why being financially insecure is not a moral failing
  • How to identify the true source of your financial stress in just a couple of hours
  • How to build a sustainable budget that addresses that financial stress
  • How to maintain the budget long term and eliminate a huge source of stress in your life

 

First Time Contribution Workshop

Speaker: volkswagenchick
Audience: All Attendees
Track: Beginner Track

Not a coder? That’s perfectly fine! There will be mentors available for those who need a little help to get started. 

We will also have a Contribution Workshop for first-time contributors. There will be help setting up the necessary tools, understanding which types of issues to work on, and even some live demos of the complete contribution process (from finding an issue, fixing the problem, making a patch, uploading a patch, and reviewing the patch for commit). 

Not everyone who works on open source projects is a developer. Smaller tasks help the less experienced gain confidence and experience, which, in turn, leads to more contributions. Code is very important, but so are all the other parts.

The anatomy of Git workflow and essentials commands you must memorize

Speaker: amykhailova
Audience: Expert
Track: Beginner Track

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!

Accessibility is a moving target

Speaker: volkswagenchick
Audience: All Attendees
Track: Beginner Track

Despite our best efforts, it’s difficult to future proof a website for accessibility standards. Your code and design may follow current standards, but will your careful compliance become obsolete when new guidelines are released?  What happens when the site is updated or content is entered? What browsers or assistive technology agents do your consumers use?

We will review and demo a holistic approach for the complete lifecycle of an accessible website —including how to iterate on existing content without impacting the hard work you put in during the build.

Attendees will come away from this session with:

  • How to get started on improving accessibility on an existing site
  • Tips on what useful combinations of user agents, browsers, devices, etc. to test
  • A list of free tools that a site owner/content author can use to be sure their website is compliant before and after a build
  • What WCAG 2.2 guidelines are on the horizon

Case Study: Converting a National Environmental Nonprofit to Drupal

Speaker: monicadear
Audience: All Attendees
Track: Site Building

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.

Details of the case study are here: http://bit.ly/GA2017casestudy

Link to slides: http://bit.ly/drupal-case-study