Originally presented at the 2018 PNW Drupal Summit -- https://pnwdrupalsummit.org/2018/sessions/expecto-patronum-or-how-i-learned-stop-worrying-and-love-command-line The BADcamp version will have some new & revised spells, errr... content.
Have you outgrown trying to manage all your projects using email or Trello, but tools like Jira and Project are complete overkill?
As an experienced project manager, I subscribe to the belief from the Agile Software Development Manifesto to value "Individuals and interactions over processes and tools". You don't want to spend more time managing the process than actually doing the work. But at the same time, how do you keep your projects within scope, budget and timeline?
In this session we'll showcase many of the user experience improvements that went into (and are still going into...) Backdrop CMS.
Because Backdrop's audience is a slightly less technical crowd than Drupal's it was important that the software be more intuitive and easier for everyone learn. Because many Backdrop projects may be also be considering WordPress as a software solution, Backdrop needed to be nearly as straightforward while still retaining it's ability to produce more flexible highly customized websites.
I'd like to present the case study at https://www.drupal.org/case-study/bunny-farm-framework-for-building-the…, detailing how I came up with the architecture, how it works, and why it would be useful.
The module and architecture encapsulates what I've learned over the years on how to create maintainable, fast and secure systems, supporting both decoupled (JSON) and normal Drupal output.
Accessibility can be overwhelming and a little mysterious. Dive in and experience one developer’s story filled with lessons learned, and invaluable tools and tricks picked up along the way. You’ll walk away with the skills to better serve users, and an appreciation for the magic behind the curtain.
Acronyms are everywhere, and if you work in or with a digital agency, you’re likely bombarded by them day in and day out. Emails sent from strategists asking about your KPIs for the year, letters appended to your project manager’s name, requests from marketing for your CRM details...the acronym soup goes on and on. The goal of this session is to equip attendees with knowledge of basic terms used in the industry and the correct ways to use them!
Told through the lens of my errant Googlings, this session will take participants through my journey from music teacher to web developer, examining the different types of learning that occurred along the way. We will delve into theories about learning, techniques to improve information retention and problem solving, and how to shift your perspective to learn what you can even when life is less than ideal.
For quite a while, I've been working with pre-configured gulp files and using the command "gulp watch" to complile my SASS. Recently, I've dug a little deeper to try and understand what Gulp is capable of, how I can customize my workflow with Gulp, and to better understand my alternatives.
This session is a beginners guide to Gulp. We'll start with what Gulp is, what all it is capable of, and whether or not you should use it? We'll take apart the configuration file used by Gulp, gulpfile.js, and show you how to customize it.
With the continued rise of static site generators that can play nicely with Drupal it has never been easier to take advantage of the speed, security, and scalability of static sites. This session will provide an overview of three static site generator projects and how they can be used to create a static build based on data from Drupal.
The session will cover:
An introduction to static site generators
An overview of Jekyll (a Ruby based option)
Development projects are becoming more complex every day. Managing a development environment with all the proper configuration and dependencies for just one project can be challenging, and those challenges are exponentially increased when working with multiple projects. Managing a local environment shouldn’t be a cumbersome task.
This session will cover:
Reasons to use a Docker-based development environment.
Is your Drupal site is more than a just website? Is it instead an application with hundreds of fields and gigabytes of data? You've probably already realized the difficulty of reporting and analytics from your production site. This session will explore ways you can flatten your data and move it to a reporting instance on AWS for reporting, analytics, and even microservices. This session will also highlight opportunities for automation along the way.
Drupal is one of the largest and longest-standing Open Source communities, yet it can feel difficult to make an impact. How do you find your place in such a large and diverse community? Many community members have made contributions to the project outside of code that have had a significant impact. I will share some stories and examples, to provide ideas of how you might be able to provide your contribution to the project. And using the framing of a “hero’s journey” we will explore how all the pieces fit together to make an impact on the greater whole.
Cue Pink Floyd music and me wailing on my guitar like a Pied Piper trying to lead you out of your insular ways. I don't mean to be harsh, but any time I try to get a "Drupal developer" to go to another PHP-related meetup no one wants to join me, even when there are free beer and food involved.
Content Security Policy is a new layer in web security to protect your site and your users from cross site scripting (XSS) vulnerabilities. Additional strategies are also available to expand it's capabilities to detect and mitigate threats like malicious browser extensions, content injection from proxies, and unauthorized http requests. Leveraging Drupal 8’s libraries system, the Content-Security-Policy module is being built to make this tool easily available to every Drupal site.
Building a Slack ChatBot is fairly simple. A ChatBot can be an assistant that provides guidance to your team members helping them simplify the repetitive daily tasks.
If you've been in web development for any length of time, a relative, friend or stranger has had an idea for you. This typically involves listening to a lengthy plan of how their idea will make them rich while you try to pretend that you care.
Finally, a friend of mine had a good idea. He had just purchased a Bed & Breakfast with an automated door lock system. He wanted to create a method to automatically send a guest their door keycode on the check-in date. My wheels started spinning, can I build this in Drupal? Yes!
If you have built several Drupal websites, you have undoubtedly noticed that all websites share some common components. Most sites have hero banners, quotes, 2-ups, 3-ups, among other repeatable patterns. Building these components over and over again loses its luster and, more importantly, distracts you from building the really unique and interesting components of the site. Instead of reinventing the wheel with every Drupal site you build, wouldn’t it be great if you could build these components once and leverage them across multiple sites?
Are you building a team of remote workers? Or transitioning your agency to become “fully distributed?”
Find out how to not only do it, but how to supercharge productivity and everyone’s happiness in the process. Spanning development, account and project management roles, our panel of remote pros share the bag of tools and practices that help them get more done and keep clients wowed — all while petting their own cats on their own couches in their own towns.
Over the last two years our community has seen the rise of countless solutions to implement design systems and components within Drupal. During the same period across camps, cons and the internet at large Adam and Brian have been having an ongoing conversation about best practices in component based development.
When a client comes to you, don’t start a project, start a relationship. The goal isn’t to solve individual problems, but have an ongoing conversation to assess client needs and find the best solutions.
Supporting Drupal sites requires attention to not only technical needs but also human. The number one most important element of a support program is to make your clients feel comfortable and taken care of. That requires a team of people who can all bring their own expertise and unique skills.
It's not easy to form a union, let alone behind prison walls. Mailroom censorship, bogus gang affiliation charges, repression against union organizers, and government surveillance all get in the way. Despite these barriers, organizers persist.
Communication is the lifeblood of the Incarcerated Workers Organizing Committee (IWOC). Learn how a Drupal helps IWOC keep channels of communication open, amplify voices usually marginalized and coordinated a nationwide strike that broke into the mainstream media and shook the foundations of the prison industrial complex.
Stanford University offers a wide array of opportunities for its students to study abroad. Historically, these opportunities were administered by various departments from all corners of the university. In 2015, Stanford’s Office of International Affairs started work on Stanford Off-Campus Learning Opportunities (SOLO), an initiative to bring all of these opportunities under one roof.
Drupal’s Installation Profiles are a great way to speed up the initial development when starting a new project. Taking them a step further and releasing profiles as distributions can speed up the creation of entire new websites for both developers and non-technical users alike. Many large organizations have dozens of separate websites, spanning multiple technologies like Drupal, or Wordpress or static pages, and need a quick and affordable way to create new websites for franchises or departments that share common pieces of custom functionality.
We often talk about websites the way we talk about cars. Are you driving a flashy sports car or a stable hatchback? And is yours a lemon, no matter how pretty the paint job? And if you just got one used, what’s going on under the hood? There’s a way to address these questions about your website, and it’s called a technical audit.
Remember when Drupal 8 was brand new and full of new features?
Are you still excited about Drupal 8? Drupal 8 has added many great features since 8.0.0 and many more features are coming soon(ish). If you haven't started with Drupal 8 or haven't kept up with new features that are being develped for Drupal core, this session is for you.
This presentation is an overview of what Drupal could look like in the near future. We will explore current development that is happening to add new features to Drupal core such as:
This beginner session will introduce the incredible potential of using the command line in developing for the web.
Interested Drupal users, designers and site builders will gain the knowledge of using SSH to connect to servers, Git for version control, Drush and Drupal Console for workign with Drupal, Aliases and Bash scripts for common tasks, and automation/task runners like Grunt and Gulp.
Attendees will come away from the session with their interest piqued, with the desire to learn more about using the command line in their workflow.
Community Out(r)age a.k.a. DIY DrupalCON
What if there would be no Drupalcon?
What if there would be no DrupalCON next year? This is exactly what happened to the European community while they were preparing for Vienna in 2017, The proposed solution was to promote camps and see what for a licence DrupalCon Europe would have in 2019.
Drupal has always been on the forefront of image processing and configuration in the content management world. Simple things, like real-time generation of image presets and an administration interface for creating and displaying different image styles, are a dream for site builders and designers.
There is a wide range of contributed modules that extend the power, flexibility, and responsiveness of Drupal core image management. This session will highlight some of the leading solutions for managing your imagery, the pros and cons, and where their usage is most appropriate.
One of the more interesting additions to Drupal 8 is the core conditions API. Condition plugins are used to make decisions about all kinds of things like block visibility, layout choices, page manager variants, and even rules. Decisions can be based upon any available contextual information from the URL or session, as well as remote service calls, database queries, or almost any other source.
I will walk through writing a simple condition plugin and then show some more complicated examples with configuration forms and unusual contexts.
Volunteering is cool, nobody questions that, but we are all pragmatic humans and thus need motivation. In this session I will share with you reflections derived from my experience of contribution to open source. Mostly it has been Drupal (6 years) and just recently initiated Gentoo Linux (6 months). During these 6 years I grew as a contributor to the status of a co-maintainer of Webform 8.x module.
New ways of interacting with machines are taking over the traditional ways of communications. In the form of chatbots/ virtual assistants, the future of communication with machines seem to lie with screen-less experience.
According to a survey by Gartner, by 2020 30% of web browsing sessions will be without screens.
Google Analytics is a powerful tool, but it can be unwieldy and inscrutable to the uninitiated. Sharing PDF exports is cumbersome and static. Analytics data may be spread across multiple accounts, making it hard to see the bigger picture.
To address these problems and more, we will look at how dashboards can turns analytics data into informational, easy-to-understand reports through data visualization. We will look at a number of popular dashboard options and how they might best apply to your needs.
Drupal has been criticized as "being slow" and, it's true, performance can sometimes be an issue. Some performance improvements are made easily by turning on core caching and leveraging a good hosting platform that provides things like Varnish and Redis support. Once you get through the easier wins, tuning can get more challenging and, often, the issues lie with slow database queries.
In this session, we will cover:
Debugging in the browser is something every Front End Developer should know, I wish I knew this before... but if you want to save time and learn more about how JS runs in your browser this session is for you.
Decoupled Drupal is clearly here to stay, so what does this mean from a business point of view? As we consider all the implications of this change -- a new programming language, new licences, and the technical considerations of how we visualize and build websites -- it’s important to identify how and when adaptations need to be made to our businesses to support all these changes.
Deploying front-end changes can be scary – while you may have set out to make nothing more than a humble CSS change to the footer of a landing page, it's very easy for that new CSS rule to cascade (excuse the pun) out of control, impacting other regions or pages in ways you never intended.
It used to be easy to deploy applications, you just deploy a VM on DigitalOcean, SSH into it, set up your LAMP stack and go from there.
What is all the excitement about AWS, Provisioning, Docker, Kubernetes, Serverless? You are still using DigitalOcean and are happy with it? If you asked yourself that question, I will give you the answer.
This session will walk you through the evolution of application deployment strategies and practices, starting from manual server deployment and ending in cloud infrastructure orchestration best practices.
You will learn:
The decentralized web is rapidly gaining steam in privacy and security circles as the promise of a "Web 3.0" begins to take hold. Nonetheless, among all of the challenges facing the nascent decentralized web, perhaps none is as pressing as user experience. Though many tout network effects and convenient features as the leading factors that led to the Big Tech walled gardens characterizing the web today, the attractive and seamless user experiences that the closed web offers are far too frequently ignored.
Nobody loves writing or responding to a request for proposals (RFPs) but it is often a necessary process. In this session, we will discuss the steps it takes to write a good website RFP, but also how to attract the right vendors to bid and what to do to make this process an educational and meaningful experience.
In this tactical session you will learn:
Learn to move content to Drupal 8 using the Migrate module without writing a single line of PHP. This training is aimed at site builders who will learn to combine various core and contributed modules and write YAML files to accomplish content migrations. No prior experience with the Migrate module is required.
Drupal deployments are hard. You have to make sure your code is deployed, composer dependencies are pulled, schema updates are performed and caches cleared, all with keeping the website up and responsive for the users, add the fact that you host on multiple servers and you have active users online updating some content 24/7 and it gets even more interesting. What if anything goes wrong and you want to rollback, do you have to deploy again and have your users wait?
The answer is No. Blue/Green deployments are the solution to this problem, but how do we do that with Drupal?
As a freelancer or agency, for some projects, we are hired to take it from design to launch and then the money runs out and we're "done". Maintenance is not in the project plan, so you move on to the next project.
Sometimes, though, you have a project that has the budget to sustain long-term maintenance and even healthy growth and evolution.
This session will provide an overview and live demonstration of the FolderShare module for Drupal 8. This module adds data management and data sharing capability to a Drupal site. The module takes advantage of Drupal's capability to provide a rich authoring/viewing environment that includes providing description to any file or folder as well as discussing it via comments. Users can securely upload and organize arbitrary files and folders and share them either publicly or privately with others (like Dropbox).
FolderShare: Organize, store and share data on any Drupal 8 site (a.k.a. Built in DropBox for Drupal)
This session will provide an overview and live demonstration of the FolderShare module for Drupal 8. This module adds data management and data sharing capability to a Drupal site. The module takes advantage of Drupal's capability to provide a rich authoring/viewing environment that includes providing a description to any file or folder as well as discussing it via comments. Users can securely upload and organize arbitrary files and folders and share them either publicly or privately with others (like Dropbox).
From humble beginnings as an internal infrastructure tool connecting microservices at Google, gRPC now powers microservices at companies like Netflix, Square, and even games like Pokemon Go. gRPC is language agnostic and can easily plug into any environment, making it an easy choice for modernizing (and standardizing!) infrastructure. In this talk, I will share a case study on how you can modernize an API by breaking it down into gRPC-powered microservices, and how your team can save time by using gRPC-generated client stubs.
Questions we will answer:
Get off your islands, and chat to collaborate with each other.
Get off your islands, and build projects together.
Get off your islands, and lose your company restrictions.
Get off your islands, and together play this game.
This session will handle on how we tend not to collaborate and contribute in own best or company interest.
Give away the story behind a few successes, followed by a BoF to share yours.
The first principle behind the Agile Manifesto is “to satisfy the customer through early and continuous delivery of valuable software.”
In an agency setting, our clients are one of the primary customers that we look to satisfy with our work. By bringing clients into the agile process, we can increase engagement and satisfaction - leading to more successful projects for all users, team members, and stakeholders.
In this session, you’ll learn:
Most Drupallers dream of being a contributor to the Drupal project. But, where do you begin? And more importantly, what are some of the tools to help navigate the adventure successfully? As a "non-coder", I will share some not-so-secret ways to feel better about jumping into the issue queue regardless of your technical background.
In this session, we will go over a couple of the tools that make contributing to the Drupal issue queue a bit easier when being a novice.
It's not easy managing a team of engineers. We manage work volume, timelines, and budgets, in addition to the engineering process itself. In a perfect world, we would create a series of technical processes and toolsets that supports a team of happy and productive engineers. However, even in this perfect world we need critical insight into the creative processes of our developers. Sometimes, what makes developers the most efficient isn't what makes them happy. And what makes them happy might be against a new business mandate.
In discussions about accessibility and diversity, our thoughts tend to jump to ARIA links, screen readers, and people of different ethnicities. While these are key aspects to both topics, this talk will push your thinking to considerations beyond accessibility and diversity basics. At its core, embracing accessibility provides us with a launching ramp to usability, and it helps us to serve and support a variety of users.
Do you host your own Drupal?
Do you wish you could have that great git-push-deploy workflow provided by so many hosted solutions, but on your own servers?
Wish no more!
With Open Source DevShop, you can use any linux server to host, test, and develop your Drupal sites.
DevShop installs in minutes, with no special script writing or configuration required.
In this session, we will demonstrate Automated Pull-Request-Environments with Behat testing, completing and deploying a new feature of our website LIVE in session!
Drupal is better than ever, but whether it is more successful is questionable. A pincer threatens Drupal. One side, Drupal's own power and complexity, discourages new users and contributors. The other, proprietary platforms, increasingly squeeze out custom web development through sheer economies of scale. Retreating into Drupal's new fortress, the enterprise, leaves many of us on the outside— and it doesn't escape the pincer, which will continue until there's nowhere left to hide.
Last summer, I took up the challenge to setup of a POC of running a simplytest.me like service with Kubernetes. The end result is a simple demonstration of the power of Kubernetes.
Using helm we can easily create ephemeral environments with additional modules with a single command.
All in 231 lines of code..
I joined the Drupal community about 7 years ago at a moment in my life when I was looking for more than just a CMS. Drupal and the Drupal community have filled needs for me that extend beyond the technical requirements of a client project. Sometime, I wonder if I expect too much from a loosely structured community that came about to create and support an open source software project.
We all know that every good, juicy story must have a compelling beginning that draws the reader in, action throughout and an ending that wraps up the story elements into a satisfying ending.
Like a good story, a good website needs to draw your desired audience in, keep the user engaged through their journey on your site until they take the desired actions.
In this session, we explore how to write that story. Utilize this no-fail approach to outlining the needs and requirements of your organization and audience to ensure that everyone gets the results they’re looking for.
By 2020, 85% of all enterprise interaction will be via bots.
AI-powered bots can make frictionless customer experiences, and drive more conversions. But how are you getting your chatbots to deliver the right answers? Are you stuck recreating all your content in a format that bots can use? That's definitely needless duplication of work, and the slower way, so your competitors could beat you to market.
Ever wanted to start a business while working remotely as a Drupal developer? This session is where you find out how.
Since remote work has taken off, developers can code for agencies on a part or three-quarters time basis and still have room to seriously pursue other interests — stay home to raise a child, go to school, or even start a separate business.
drupal-project is now the officially-recommended starting point for Drupal 8 sites with Composer. In this session, I'll show you how to:
- Quickly spin up a new site with Composer and drupal-project
- Customize drupal-project to suit your particular needs
- Leverage post-install tasks to keep yourself DRY
The goals of the learnings from this session are to:
There’s been a lot of ink spilled about how the RFP process is broken, particularly when it comes to technology projects. This session isn’t going to litigate various viewpoints on that front, because RFPs are not going anywhere anytime soon — especially when it comes to nonprofit, higher ed, and public sector projects.
Ignore the naysayers! Your RFP can be brilliant!
In many ways, my journey through Drupal has been inverted. After studying Computer Science, I began my Drupal career as a backend developer writing custom modules and dabbling in front-end work. More recently, as a Project Manager and Drupal Solutions Architect, I've focused on more site-building and organizing Drupal elements into flexible solutions. I've found myself relying on the theory I learned in school to direct my site building efforts.
Recently the field of static prototyping, living style guides, and front-end focused development tools has blossomed, and the adoption of these processes has entered into best practices. But we’ve always felt something was missing from this formula and the de-facto tools: Content Strategy.
Even Sherlock Holmes doesn’t know everything. There are simply too many acronyms and technologies to understand.
This talk will discuss some of the concepts I’ve touched, but never really understood with a focus on computer networking. Let’s look underneath the hood and see what’s going on.
This talk is about why RTFM (read the full manual) is so useful (if time were infinite). Hopefully you will learn something new, or come to a deeper understanding of a concept you’ve worked with, but haven’t quite fully grasped.
Campaign Kit is a new module that provides multiple functions to accept donations, including:
• standalone donation campaigns with fixed goals and/or end dates
• peer-to-peer campaigns
Rather of the boring "Would you like to support us with a donation?" call-to-action, instead create campaigns that have goals and let people know how the campaign is doing.
This session is the fourth one in the series, following the How to Content Model in Drupal 8 at DrupalCon Vienna 2017, Drupal 8 Hidden Power at DrupalCon Dublin 2016 and Drupal Architectures for Flexible Content at DrupalCon Barcelona 2015.
Decoupling Drupal is nothing new but it remains a great way to building websites that go beyond Drupal. In the past couple of years so many tools and options have become available which allows for a decoupled Drupal solution. Today we will learn about GatsbyJS, a react based Static Site Generator (SSG), that makes it easy to built a React Front-End while keeping the power of Drupal in the back end as well as all the editorial tools Drupal offers.
Walk away from this creatively practical, amusing, and down to earth look at Accessibility with a firm understanding of the Accessibility Life Cycle and the roles each of us plays in its success.
Better understand how Accessibility impacts all users
Learn the difference between WCAG 2.0 & 2.1 and see where 508 compliance fits in
Have a short list of common issues to help you set the stage with stakeholders
Unexpected complications will always arise and having explicit goals, positive dynamics, budget, timing, team with balance of skills, access to the information, the right channels to communicate, useful and constant feedback in a collaborative space will grant the ingredients to succeed.
Taking the time to get the essential pieces in place from the start will guarantee the success of a Project; as well as the team´s satisfaction because they are creating something wonderful and meaningful together.
3 T´s are Key factors in the longevity of the relationship with our client.
There are many ways you learn anything new that interests you, like attending classes for the same, talking to ones who have done it already etc. But what I believe is that the best way to learn something is by doing it practically!
Here, I am talking about learnings you can get while organising an event (example local Drupal Camps). In my opinion, there are so many things one can acquire when working towards making the event successful and that is what I will be presenting in this session.
Don't you wish there was a way to write content faster without having to log into your WordPress site? Turns out there is and it is called Markdown, which can be written in any text editor you choose. Based on the basics of HTML and with a goal of making marked up content as readable as possible, Markdown takes only minutes to learn and is the most transportable way you can write your content. Sites like GitHub, Bitbucket and Reddit already expect it and coming with WordPress 5.0, your default editor will be expecting it too.
Don't you wish there was a way you could give each and every user of your module a quick and easy way to learn what each setting really did and why it was there? Good news Drupal 8 users, this is actually in core. The Tour Module has been in core sine the first release of Drupal 8 and is awaiting you to leverage it.
In the years that I have been a front-end developer and site builder in Drupal, one thing has remained constant—the battle to allow editors more power without sacrificing design or performance. With Drupal 8 Layout Builder and Paragraphs, I finally have a solution that provides a good balance between flexibility and control. The best thing is that it all happens in a single column.
- Overview: We are managing AWS, and OpenStack by making our own Hybrid Cloud orchestration system by Drupal 8. We'll introduce our solution (Cloud module project) including its requirements, architecture design and business value.
We would like to show how Drupal 8 can define to manage multiple Cloud infrastructures and why Drupal 8 can be used as Web Application Framework.
We can meaningfully free software for use by anyone we need helpful, comprehensive documentation. This crucial to both onboarding and when new contributors inherent a project (especially when the original contributors get hit by the lottery bus.)
Straightforward and valuable agenda:
- Differences between Design System vs. Pattern Library vs. Style Guide.
- How to make it [work] serve for your Team.
- How to integrate it all with Drupal.
- How to share the Design language across Team and beyond - to the Client.
Properly organized, Design System should serve for you (not waste your resources!) and make your Frontend, Backend, Designers and Client all happier!
Have you ever wondered about the implications of your architectural decisions? Should an entity reference go on this entity type or that one? Why? Is it ok to nest many different entity types together? How many is too many? How many levels down? Paragraphs? Why? Fields or entity displays? When and why?
In the beginning, there was a conference called Decoupled Dev Days. It had a web site that was React but not actually decoupled at all. Then the next year, it became Decoupled Drupal Days and was still a static site. But this time, it was made with Gatsby. And as the days passed, and the content became more unmanageable, the need for a better CMS was needed. So Drupal was added and the site instantly became decoupled and easy to manage.
No.. Not really.
There were hoops to jump through, build problems, entity reference access issues and image conundrums.
Google Search is the most-used search engine on the World Wide Web, handling more than three billion searches each day. In this session, you will learn how you can optimize your websites for users and to be compatible with Google search engine. You will learn how search works. You will be given tips on how to do well on search and explore tools that Google offers which you can use to manage your online presence on Google Search. This session is suitable for website or business owners as well as web developers who want to learn more about your website presence on Google organic search.
What happens when you finish college and still don't know what you want to be? When you have to enter the workforce and start your life with no clear vision of where you might end up professionally? That's exactly what I had to find out the hard way. I spent years working uninspiring, thankless jobs that paid the bills. I got married and had a son, then had no identity other than "wife" and "mommy." I was hopelessly lost, depressed, and my worst self.
Like many in our community, I came to opensource from a non-traditional route. In this session I will share my journey to open source technology professional from a Bachelor of Arts degree majoring in Studio Art and minoring in Theatre, Master of Fine Arts in Theater and, a certification in Non-Profit Management.
You might ask, "Your degrees are in what?!"
Lets throw into the melange, severe learning disabilities discovered when I was a child.
Introduction of microservices promised faster project maintenance and debugging, easier scaling, high availability and lots of good, old, developer fun. However, a huge ecosystem of sometimes mutually incompatible tools and the lack of guidelines made the concept too scary for most of the teams.
Early adopters and teams with appropriate budgets started experimenting and building their own tools. The rest of us were attending conferences and trying to get the big picture from multiple, often dissonant sources.
This presentation will focus on a one-click approach to creating migrations in D8 from a CSV file without having to write any code. The no code content migration approach will be discussed using a new D8 module in the works: Contentin.
The Contentin module dynamically registers a migration from CSV file with one click. Currently, a new helper module called Contentout is being used to produce the hierarchical CSV file (preserves field:subfield, multi-value fields, provides indexing, etc.) that the Contentin module can use to register migrations without writing any custom code.
It can sometimes feel overwhelming to keep up with evolving technology. If you’re worried that migrating your organization’s Drupal 6 or 7 site to the latest version, Drupal 8, is going to cause headaches, this session is for you. Major benefits of migrating your site to D8 include: built-in responsiveness for mobile and other platforms, faster page loads and optimized performance, and a more streamlined and intuitive content editing experience. But change can be scary, I know.
There's been a lot of talk around the community about decoupling Drupal and using it as headless CMS, or progressively decoupling it and embedding modern JS frameworks inside a Drupal page. But when do you consider just not introducing Drupal and working with a pure framework implementation? And what if you still need to host it alongside Drupal?
With the component-based approach becoming more popular in Drupal 8 we’re beginning to see some slick front end environments show up in Drupal themes. The promise that talented front enders with little Drupal knowledge can jump right in is much closer to reality.
However, before diving into this new front end bliss, there are still some gotchas, plus lots of baked in goodies Drupal provides that one will need to have a handle on before getting started.
This talk will cover:
In Drupal 7, variable values can be overridden within settings.php. With the introduction of the configuration system in Drupal 8, overriding configuration values can be done in a similar manner, but other methods are now possible also. The session will cover:
Design systems are a powerful tool in any company’s arsenal. They provide consistency, support brand recognition, and streamline the design process itself. There are many benefits, but implementing systems across a large product portfolio can be cumbersome for the most nimble of teams.
Jigsaw puzzles are a fun way to test your ability to create and execute a strategy as well as testing your eye for spotting details. Drupal sites, like jigsaw puzzles, come in a variety of shapes, sizes, and complexities. Finding the best architecture for a particular Drupal site depends on these facets and more. How do you architect for different sized projects? What are some of the techniques that are used on each and every project? How do you break down the project and create the right strategy for implementation? How do you manage the build?
Drupal’s community governance has always been evolving, but recent community events have raised concerns amd shed light into potential shortcomings. Several community members created a Governance Task Force to explore this topic in depth. We’ll review the events that led up to the formation of the task force, how this group was formed, the process used by the task force, and strategies we used to engage the community.This presentation will share results from this effort, including key themes from community members and the prominent ideas delivered in the task force’s proposal.
- Reusable Patterns (Frontend Components) vs Web Components.
- Separation of concerns (aka MVC): styling, functionality, data.
- Yarn Workspaces to maintain separate component and manage its dependencies.
- data- attrs to control components in a declarative way and w/o js.
- Twig to build all together.
- Using with Drupal or other CMS.
- Using with Fractal or other pattern library.
- Demos: Reusable Carousel, Reusable Gallery, Reusable Modal, compound components.
Any Free/Libre Open Source Software project will have elements of do-ocracy (rule of those who do the work) but not all decisions should devolve to implementors. Rather, a basic principle is that decisions should be made by the people who are most affected.
Security is not a one-time activity that is performed and completed. A mature operation promotes continuous improvement in an ever evolving landscape of threats and mitigation techniques. Where does this leave us in the Drupal community? This presentation focuses on the tools and techniques for promoting security in practice related to Drupal, both the infrastructure and the application. We will explore the different user personas and targeted attacks that can be exploited within typical Drupal applications.
Your nonprofit client comes to you wanting “a website," but the content they want to fill it with is low-quality and lacks strategy. You love them, but you're stuck creating an information architecture and "content strategy" that seems the product of whim and muddled agendas. When you build the site, you end up with a great product on the tech side, but a sub-par total website because your client couldn't deliver on the content. You may think “content strategy” is the solution, but what do you do when the content to “strategize” is awful?
What's the deal with all this serverless talk? In this session you will learn the basic concepts around serverless. Serverless is a broad term used to describe an approach where the developer doesn't have to manage the server, only pays for what resources they use, and where scaling is automatic. We will take a beginner friendly look at this approach to development as well as walk through real world examples of use cases. Serverless has many uses, especially for decoupled projects. Attendees will leave with a good working knowledge on the subject.
SimplyTest.me has been a long-standing tool that has served Drupal community members with an easy-to-use tool for creating Drupal sandboxes. This session walks through how people use SimplyTest and shares the various features of SimplyTest and the current underlying technical architecture, including the distributed computing infrastructure, use of LXC, and the Drupal 7 based provisioning platform. Based on lessons learned and emerging technology, a roadmap has been created to both modernize and evolve SimplyTest.
Are you going to your local meetup or regional camp and watching sessions? Have you ever thought "I could do that" but are not sure how to get started? Well good news, this session is for you. Speaking at camps is a great way to give back to the community and assure that your tribal knowledge gets passed on.
Come learn the ropes with this hands on course that will guide you through figuring out what to talk about, how to submit sessions and some best practices on delivery.
There are a crazy amount of different approaches for layout management in Drupal today:
- Layout Discovery/Builder
- Block Layout
- Display Suite
- UI Patterns
- Paragraphs (+ Frontend UI)
In this session we will go through all of them and try to make a big picture — what is designed for, and how to use them properly — together, or independently from each other.
Ying and yang, night and day. One completes the other one. Tom has no fun without Jerry. After years working solo, we have found our better halves.
When a client relationship starts, both the Account Manager and the Project Manager are in search of success and profitability - the perfect golden cheese. One manages the work flow, while the other one keeps transparency and manages communications between agency and client.
Find out how this dynamic duo oversees client, team, project and budget health.
Some topics we’ll cover:
Every developer has been there: fresh out of school, new to the field, or using a new technology. There is a lot to know to successfully build Drupal websites. To be successful, developers learn technical skills in school or from websites and books. Applying those skills in the real-world is not always straightforward. In addition, soft skills are equally as important to being successful in this field and are often neglected.
The term "decentralized web" evokes a range of reactions. It might sound like a utopian fantasy cooked up by Mike Judge for the latest season of Silicon Valley, or your first thought might be something more akin to, "Isn't the web already decentralized?" Add in an overhyped buzzword like blockchain and the reactions get even more polarized.
Developers always want to go faster. Repetitive tasks are mind-numbing so we figure out how to make them easy or automated. I've learned new methods for making development faster by watching other developers do their work.
This session is a selection of tips and tricks that can help you streamline your development so you have more time to play outside. Some things we'll cover are:
A three part blog series has inspired this session that dives into real life situations where Personalization (or lack thereof) has impacted my life from not only a personal perspective but business perspective as well. I will go through my own experiences with Personalization, why this has become such an important component in the digital world, and how it affects us in our day to day.
What will be covered:
Fake news spread six times faster in social media than true stories. As technologists, our industry has built the tools that enable the spread of disinformation across social, the web, and beyond. But fake news is nothing new. With each advancement in the technology that powers the spread of information, from the printing press to blogging, fake news is there. What makes fake news so appealing? Is it a tech problem or a human problem?
Have you ever faced the need to fulfill the requirements of different business units within one docroot? Have you ever needed to build parts of your website to be separate entities and multi-site architecture wasn't an option?
I've been running a small Drupal shop for several years now and have experimented with lots of tools and technologies to manage my workflow, contractors, and the financial aspects of my business. It's easy to waste a lot of time chasing the latest and greatest tools.
I'd like to share the tool set I'm currently using, things I've tried, and gaps that I still need to fill. Most of all, I'd love to hear what tools that others have used and why they choose them.
Here are the categories I plan to discuss:
Drupal is an extremely flexible system. To achieve this, various layers of abstractions were built into it. A lot of concepts were created to explain these abstractions. Unfortunately, they are not always intuitive. This session aims to explain the basic building blocks for assembling a Drupal site and how they relate to each other. Many examples will be presented to help you understand Drupal and why it is so powerful.
New Relic is an amazing tool that can help us monitor and debug performance issues and errors. It is available from managed hosting environments such as Acquia, Amazee.io, Pantheon, and Platform.sh and you can integrate it with DIY servers too.
This session will cover some of the important features of New Relic including:
Great technologists often rise through the ranks, assuming responsibilities that go beyond just delivering technical work. This talk reflects on my journey from an engineer to leading teams. I’ll talk about what I’ve learned, how I learned it, and share my evolving thoughts on technical leadership. I share my perspective on topics like business awareness, servant leadership, failing fast, taking calculated risks, data-driven decision making, promoting pragmatism, and sharing a vision.
We are all on the outside, even when we are on the inside. Understand and explore inclusive actions to make a wholesome community - Drupal, family, friends, and life.
What does that even mean, anyway?
Everyone is disabled sometimes. Everyone is an outsider sometimes. Each person is a mix of disabilities and abilities, privileged and oppressed. We are comprised of life experiences that we must be sensitive to in ourselves and others as we communicate.
In this session, we will take a critical look at how the new JS world is impacting Drupal. We will address the barriers we have to make Drupal relevant for this novel ecosystem and analyze how our current Drupal administrative interface lags behind.
We rely our whole Drupal administrative interface on the fact that there is a site builder to build things. Maybe it's time to look at it differently. An alternative is OpenStory, a decoupled administrative interface aimed to improve the editorial experience in Drupal.
We will address the following points:
Backdrop CMS is the Drupal fork. It is a faster and less-complex version of Drupal 7 with more features you want, and fewer you don't.
This session will highlight the Backdrop Mission, it's intended audience, and it's guiding principles.
We'll explain the decision making process, introduce the Project Management Committee, and expand on how the project's direction is set by the needs of the whole community.
We'll cover topics like how we handle Security and Stability, and talk about how we're trying to decrease the cost of long-term website ownership.
As developers, we are capable of many amazing feats. We can create experiences that touch the lives of millions, brings aid to the corners of the world, empower new businesses and bring a voice to the voiceless. However with this capability, we must also take on the responsibility for the people, and data, we interact with.
Decoupled Drupal sites are hard, right? Wrong! In this session, we’ll detail a method for rapidly scaffolding a progressively-decoupled Drupal 8 site with a React-powered custom content area in no more than thirty minutes. Leveraging JSON API's zero-configuration API solution and Create React App's single-command React app build tool, we'll throw together a rock-solid decoupled Drupal 8 solution in no time flat.
Brace yourself, this will be a fast one!