Accepting 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).
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.
By the end of this session attendees will be able to:
recognize an event system, regardless of what the framework has named events
identify the parts of an event system and understand how they work
discuss the pros and cons of the most popular frameworks' event systems
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.
Accessibility 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.
Be 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.
If 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.
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.
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.
As 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.
If 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.
Roughly 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.
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.
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.
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.
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!
Why consume Drupal content with native applications?
Drupal and native application architecture
Demo - Recipe magazine companion mobile app
Consuming content via Contenta CMS API
Saving persistent state and user data with Google Firebase
Since 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
* 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.
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.
Room Auditorium1:00pm to 1:45pmIntermediatebrianperry
CSS 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.
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
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
Vetting, 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.
Identifying and working within constraints
Vendor selection and management
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
If 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.
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 **
We'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.
Olivero 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.
Often 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.
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.
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.
Developer, Architects, and Organisations maintaining multiple Drupal properties.
The 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.
Global 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
Every 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?
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
This session is for:
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
Choosing 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.
Room Auditorium3:30pm to 4:30pmAll Attendeesadmin_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!