DrupalSouth Auckland 2017


The biggest Drupal conference for Australia and New Zealand comes to Auckland for the first time on November 16-17 2017. Around 125 Drupalers attended. 

Conference page
Video Sponsor(s) / Provided by
Curated Videos
Join us for a panel discussion around configuration management in Drupal 8. We will aim to look into what was promised with regards to config in Drupal 8, what was delivered in core, and what the current best practises are.

Rather than the usual slideshow-driven talks, we’d like to have a more interactive discussion with real-world examples of what site builders are doing when it comes to configuration management.

Do you use it out-of-the-box, do you have a set of must-have contrib modules, or do you use some home-brewed tools to help you manage configuration? Do you love it, do you hate it, do you just ignore it?
In this talk, we will explore using various AWS technologies and Drupal to work towards high availability. We will show you how to build a fault-tolerant website with no single point of failure.
Developing a site as an install profile gives you the ability to quickly install a clean, fully functional site from code, makes development environments easier to manage, and mitigates the need to pass a canonical database around. It also means you can spin up a completely new instance of your site, rebranded with completely different content.

Excellent configuration management was introduced with Drupal 8, however if you're building a site as an install profile the process of managing default configuration can take a bit to get the hang of.

Follow along as we explain the concept of building your Drupal 8 project as an install profile.
Q&A for Building better data-driven Drupal8 websites with dvf and govCMS.
Communication. It's a skill. You already know how to communicate. Most of us do it, in one way or another, every single day. But what makes someone a great communicator? Is it natural talent or a skill that can be learned? Or something in between. This talk explores communication techniques, strategies and skills. Some that are simple, and some that need practice. Wherever you are on the communicator skill spectrum, you should find something new to put in your comms toolbelt. Come along and be prepared to talk to other members of the audience, share your own ideas and strategies for getting your point across, and for listening and understanding your colleagues, friends, and family.
In so many of the companies I've worked for, introverts are consistently misunderstood, unintentionally overlooked for promotions, or even just unrecognised for their achievements. The focus of this talk is in no way about extroverts necessarily being bad people or leaders. Ironically, the spotlight will be on the advantages of an introvert scrum master and what you're likely to gain from these supposedly 'reserved' servant leaders.
Kubernetes is a cluster management system designed to wrap multiple hosts into 1 consistent API for deploying applications.

PreviousNext have been hosting Drupal sites backed by Kubernetes for over a year and a half, over this time we have built a series of tools to help our developers.

Step aboard matey, we are going to sail the open container seas with Kubernetes and Drupal 8.
This session will expand on a recent blog post detailing how to utilise the Drupal 8 Asset Library system, and how, when coupled with a Style-guide driven design and development approach you can drastically improve the front-end performance of your website.
As a Drupal developer, both hobbyist and professional, it's not at all uncommon to suffer from a case of "The Cobbler's Children Have No Shoes".

Suffice to say, when I discovered I had let my personal websites lapse so long that my IPs had been re-assigned and my domains now pointed to an unsuspecting website, it was time to start again.

But in the years since the sites were built web technologies have blossomed. Time for something new.

In this session, I will take you through my experiments with new technologies, in my ambitious headless Drupal 8 VR build.
Component driven design has become common in frontend development, providing the brand consistency within robust CSS frameworks. Drupal 8 projects running living styleguides on KSS and Pattern Lab are becoming common. This talks discusses both the technical and non-technical advantages of this approach, and explores emerging patterns of styleguide integration in Drupal 8.
Turn your Drupal 8 theme into a clean, mean machine by combining style guide driven development with DRY techniques and advanced features of Twig to smash out components that can be used over and over in a variety of ways.
In this talk we'll discuss how Drupal programmers actually should use Behat. The original idea behind Behaviour Driven Development is that non-programmers, customers, could read tests. But too often Behat scripts read like programs: click here, click there, check for this, that kind of thing. So how do we write scenarios that read like the customer wrote it?

This talk is targeted at programmers as it takes some technical expertise to write readable Behat programs. We'll discuss how to pass variables and settings to your tests using behat.yml, how to write your own features, and how to provide your own modules with features. But we'll keep focused on the main goal: how do we write a feature that reads like a customer would write it, and will understand it? And how do we write features that do not easily break when the website changes?

Some knowledge of Behat would be helpful, not essential. A basic understanding of Drupal and PHP is assumed.
Have you heard about unit testing, but are not sure how to implement it in Drupal 8?

Unit testing is an essential part of modern development practices and can help you more confidently write better code with and less bugs. Learn how to efficiently run and write units tests in Drupal 8, and how to structure your code so that it's more testable.
Inline SVG in themes for aesthetics, accessibility & performance

You may be aware that inline SVGs offer many benefits over icon fonts, such as better aesthetics, accessibility & performance. This talk will explain some inline SVG gotchas, show you how to easily embed them into Twig templates in your theme, and delve into some workflow techniques to automatically optimise SVGs.
Front-end development is constantly evolving, it’s hard to keep up. Hear about some of the emerging technology and web design trends, from flexbox & css grids, to interactive SVG maps and theming without Bootstrap. We’ll discuss browser support for these new tools and how to implement them in your Drupal sites while keeping your front-end scalable & maintainable.
A case study of build a drupal 8 theme with DTA UIKIT , utilised with gulp. Gulp is an open-source JavaScript toolkit has been adopted in the different system automation area. As a backend dev leaning to the frontend, I start to love it after using it in different projects. Gulp not only can watch/generate CSS file from SASS structure, but also can manage different tasks such as testing or even generate static design pattern pages. In this talk, I would like to show you some of my learning curve experiences with Gulp and some code snippets of Gulp tasks.
Aimee’s talk will cover open source software, open government and open data, and how they can interact to form civic technology initiatives with the potential to benefit us all.
Drupal has evolved a lot over the last 16 years. In today’s fast paced world evolving isn’t always enough. Sometimes radical change is needed.

The requirements for web projects are becoming more complex. It is almost impossible for one tool to satisfy all the needs of a project. Increasingly solutions are composed of multiple systems, as opposed to being built with a single framework.

To meet this challenge Drupal needs a metamorphosis. During his presentation Dave will discuss Drupal’s history as a caterpillar and what’s needed for the project to transform into an elegant and nimble butterfly.
Are you a project manager or site owner who works closely with developers? Does it sometimes seem like they are speaking a different language? Is it frustrating when you put in a request and get back a totally different result than you expected? Why are developers so reluctant to commit to an estimate?

Over nearly two decades of working with programmers, I’ve noticed that a lot of the disconnect between front and back of house stems from a fundamental lack of knowledge about what the other team does.

In this session, we’ll talk about some common frustrations that non-technical folks have when working with developers. We’ll learn more about the nature of programming which will help explain the seemingly quirky and inexplicable habits of your dev team.

Then we’ll outline how you can have a more effective relationship with your developers by asking the right questions, and by tweaking your approach to task assignment and bug reporting.

We’ll wrap things up by focusing on the big picture - collaborating with programmers to solve problems by setting realistic expectations, encouraging their creativity and prioritizing effective communication. We’ll also think about how we further bridge the gap between teams by helping your dev team better understand your job.
We've all heard the hyperbole of Drupal powering a million websites, but what does that mean in reality? Where does Drupal really sit in relation to other CMS platforms, both open source and proprietary? What trends are emerging that will impact Drupal's market share? This talk will look outside the Drupal bubble and take a high level view of its market potential in the medium to long term and approaches business owners and developers can take to capitalise on Drupal's strengths and buffer against it's potential weaknesses.
Content strategy in a nutshell: We all know we need to do it, but only very few projects have one*. Why? Content is communication and websites communicate. Right? So, you sit down and open the Content strategy template - if you have one, otherwise you might google - and you start to feel uncomfortable. You might feel the need to go to the kitchen and make a coffee, maybe there are some cookies in the cupboard? Why? Because you don’t have the answers the template asks of you. The more content on your website (or any other digital publication) and the larger your company (or government department), the less answers you have.

This talk is about throwing the template away and find the answers you (really) need, the tools that can support you, and the resilience to survive. But we also take it a step further, we will show you examples on how design will support your strategy. And yes, there is some cool Drupal stuff as well.
How does Drupal deliver a page? Digging into the code from the top down, you will very quickly come into contact with two very powerful Symfony components - the HttpKernel and the Event Dispatcher that it relies on.

In this talk we will cover what events are, what the Event Dispatcher component is and why it is useful, how to subscribe to events and how to dispatch your own events.

We will also take a look at some of the events in D8's core, show a demo of the EventDispatcher in action, and look closely at the chain of events that takes place for Drupal to deliver a page.
Modifiers and Looks are two new contrib modules which open up new creative possibilities to editors and designers. When used together they combine to provide a powerful, reusable system enabling modifications to be made to individual entities as well as site wide components. Typical modifiers include typography, color, background images, parallax, video, corners, shadows and many others. It is possible to define collections of modifiers as Looks in the UI and then apply them to different parts of the site as required. This makes it possible to build and design Druapl 8 sites without touching the theme layer at all.
This talk is about bridging the gap between learning and earning, providing practical tips & experiences of growing local tech talent. Ruth will draw on a decade's experience running a tech internship programme, mobilising the tech community to build a bridge and get over it's so-called pipeline problem.

What if our education, attraction, selection & retention strategies are broken? What if we can decrease the time & effort between "newbie" & "productive team member"?

There will be a sprinkling of future of education / future of work buzzwords, but not an excessive amount. There will be some examples & tips for finding & onboarding newbies. Plus some practical tips about how each of us can make a significant contribution at a personal, professional & organisational level.

Who is this talk for? Anyone with an interest in building technology teams, products, services or businesses. Anyone interested in people, education, diversity & inclusion, professional development, getting hired, learning stuff, getting promoted, or helping someone else get hired, learn stuff, or get promoted. Also, emoji fans.
Webform module has been integral part of Drupal. Usage statistics nearing half a million mark on drupal.org is a credible testimony to it.

In this session we will explore how can we convert a simple webform into a chatbot using Conversational Forms module. This talk won't have any slides, rather we will spend our time building a chatbot in realtime using webforms and demonstrating how easy it can be to publish your own chatbot with Drupal without even writing a single line of code.

This chatbot can find its application in contact forms, guiding the user to correct product on your site, feedback forms, surveys and any data collection activity that can be done with a webform.
Drupal 7 has been around for a long time. As a sitebuilder, it is the best CMS around for building complex website solutions with minimal need to write custom code. So how does Drupal 8 compare? There are some phenomenal improvements in D8, but is Drupal 8 now for developers only? This talk will look at how sitebuilders can transition to D8 without having to take a step back in terms of capability and flexibility.
Islandora is a digital repository solution based on Drupal and Fedora Commons. This talk introduces Islandora and the way Drupal interacts with an external content repository. I describe the recent migration of the QuakeStudies digital archive to Islandora (Drupal 7 and Fedora Commons 3.8), including the innovative utilisation of Drupal Migrate framework to target both Drupal nodes and a non-Drupal destination (Fedora Commons). Finally we review the exciting future of Islandora CLAW (Drupal 8 with Fedora Commons 4) including more RDF and support for W3C Linked Data Platform standards.
Continuous Integration is used on almost any new project. This session aimed at everyone who want to understand what Continuous Integration actually means.

This session will cover the following topics:

What is Continuous Integration?
Continuous Integration applications
Common continuous integration services and providers
Real life example of using CI in Drupal projects
Continuous Collaboration (CC) is a software delivery approach in which organizations work seamlessly together across technical and non-technical departments. The approach aims to reduce the friction inherent in software development projects by aligning with an organization’s decision making processes and by allowing non technical stakeholders and team members to contribute and give meaningful feedback on a day-to-day basis. As with CI and CD, CC also ensures that any changes or features that have reached the end of the process can be deployed.

This talk will introduce the advantages of CC and demonstrate how it can be implemented using Probo.CI
Every Drupal application has its secrets - and I don’t mean that dodgy code you wrote during an all-nighter. Database credentials, API keys, personally identifiable information - a secret is any data which could cause harm to your organisation if exposed.

This session will introduce the concepts of secrets and secret management, before moving onto practical examples of securely storing secrets in Drupal.

Who should attend this session?

This session is aimed at mid-to-senior Developers, operations engineers, and site builders looking to improve the security posture of their projects.

What takeaways can attendees expect?

A conceptual understanding of secret management and its advantages.
Ability to leverage Key module to securely store secrets in Drupal.
An overview of the major secret management tools currently in the marketplace, including Amazon KMS and Hashicorp Vault.
Resources to kick-start your journey to secure Drupal applications.
Will talk about components, integrations, uses cases and more.
Every web professional knows the challenge of being asked to deliver in a shorter time frame, or to do more in the time available, or watched as timelines slip away through endless bugs or rework, yet there are development teams out there which eclipse their peers and somehow deliver more. What are the secrets of these “high-performing” development teams, what are the roadblocks to implementing them, and how can you take your development process from good to brilliant?

This session will provide some answers, drawn from the experiences of the Platform.sh team and our clients, including:

How do you improve developer productivity?
How do you make UAT much more efficient?
What should your deployment pattern look like?
What kinds of code management and branching patterns are most effective?
Things don't just HAPPEN randomly. Something changed. Traffic changed. Code changed. A value in the database changed. Solving the problem is the art of solving what changed. If you can articulate the difference between what worked before, and what does not work now, the solution almost always presents itself.

Scenarios include;

What template file is that page or block using?
How to use xDebug and XhProf
Lovely logs - what’s in them and good ways to collect them
Devel Module & Memory Profiler
Advanced developer tools (such as console.log, Network panel)
Drupal 8 brings with it a massive amount of caching options, and an updated cache system. These changes place a lot of power in the hands of developers, but with this power comes a wealth of choice. Having so many choices can sometimes be counterproductive. When trying to decide where is the best location for a specific cache bin, things can get tricky. During the development of an application that can receive hundreds of form submissions per minute, we ran into some of these tricky situations.

Looking at some of the options available to us: Database, APCu, Chainedfast, Opcode, Redis, Memcahced we realised we would have to brute force this problem to get the optimum results. Some of what we learned has been counterintuitive to our previous understandings, and we feel that we need to share our story. Sit back and listen to some of our learnings so that you might not have to go through the same process.
You've probably heard you should be using Composer; Drush 8 recommends building your site with Composer; Drupal Console offers Composer as the first installation method; but WHY?!

This short talk will give you the information you need to decide whether Composer is right for you (hint: it is).
Cloud Native Drupal

Whether in your own data centre or in a managed provider, traditional web servers are fragile things. They are constantly exposed to attack, complex and costly to scale, and over time their configuration can drift dramatically from what you might have started with.

Moving to cloud-native Drupal can have immense benefits for you and your team:

Improve performance and reduce costs by storing private and public files in cloud storage
Quickly recover from failure by simply destroying and replacing failed instances without concern
Simplify deployments by moving environment settings out of code, and in to dynamic variables
But this move is not simple, with many challenges along the way, including:

How to successfully configure the S3FS module for local and production environments
How to run Drush inside a Docker container
How to share assets between environments
How to safely implement, or roll-back, S3-based public and private files
In this talk, we'll demonstrate our approach to running Drupal in immutable Docker containers. We'll show you how we overcame these challenges, and discuss the rewards, like the opportunity to spend less time worrying about infrastructure, and more time building great apps.
Drank (Drupal Rank) provides a measure of content quality by collecting metrics from a range of data sources and then calculating a score which you can sort content by. This talk shows you what you can do with the module and how it all works.

What the hack is Drupal Ajax framework? Do you ever wondered why do i need to do Drupal.ajax() rather then directly doing simple jQuery.ajax(). What power this Drupal.ajax provide me? How can i utilise this drupal ajax framework to ajaxify my forms, autocomplete and some custom solution? This session is going to cover all of this.

From Drupal 6, drupal has a way of handling Ajax request. In Drupal 6 it used to be called AHAH(Asynchronous HTML and HTTP). In Drupal 7 it became Ajax Framework, giving all the power to developer to manage all different kind of ajax request with minimum amount of code. AJax framework allow developers to add ajax capabilities to any link, form, autocomplete, form validation, form submission and all sort of functionality.

Drupal 8 continues to use same Drupal framework with slight modification and utilising all the power of Object Oriented Programming power.

In this session i will start from simple ajax request to all the option and complexity of Drupal ajax framework. Main take away from this session will be that you will know how Drupal ajax framework works behind the scene.

Things I am going to cover in this session:

What is Drupal Ajax command?
What are the different Drupal ajax commands?
How to write your custom Drupal ajax command?
Few use case of Drupal ajax commands in Forms, Autocomplete and Views.
Demo with code sample.
You're a Drupal admin and know how to login to a website to check for any available core or module updates. What about the scenario where your team manage a dozen internal and external sites with different installed modules? When a new critical security vulnerability is announced on the Drupal Security list, how can you quickly determine which sites need patching? This talk introduces an open-source management tool that can be used to monitor all your Drupal sites.
Traditional site auditing tools all have their flaws, from having to install them into your codebase, to their inability to customise how the check runs.

Drutiny is an open source Symfony Console based application used to audit Drupal 7 or Drupal 8 sites. All checks are run from the outside looking in, and require no special code or modules to be enabled on the remote site. This means you can audit all environments from development to production and not leave any lasting performance degradation. Your definition of best practice can evolve outside your Drupal sites, and the checks that you run against the site will always be up to date.

Who this session is for:

Developers looking to see how they can save time and costly mistakes, e.g. on pre-launch checklists
Technical leads looking to improve team processes and standardise site builds within the team
Business and product owners looking to see what automated reports exist to help prove the quality of sites
Anyone tasked with support of a lot of sites long term
The high level topics covered are:

Problems with existing techniques
Introduction to the tool and why it was written
How to write your own custom profiles and checks
Auto-remediation of certain checks
How other people are making use of site audit, such as govCMS
Live demonstration
How to contribute
Now in our third year, govCMS (www.govcms.gov.au) has delivered significant success building an open source community inside government. With the release of Drupal 8.4, and the improvements it brings that better support a government publishing workflow, we’ve created a Drupal 8 version of govCMS (www.github.com/govcms/govcms8).

Based on our experience working with government to build, maintain and support a variety of websites, along with generous contributions from our community, we are in the beta stage of our release. We will be working collaboratively with the govCMS community to ensure that we provide an efficient and effective experience for agencies, developers and contributors. Touching on the major decision points, and providing insight into our process, we’ll examine the changes and new features that will continue the success of govCMS.

govCMS provides tools and hosting services for agencies across all levels of government in Australia. This talk will also cover aspects of the all-of-government community that’s formed around Drupal inside government, and the great collaboration and sharing outcomes we’ve already seen.
Reflections on community, commercialisation, failure and success through the lens of a professional Drupal practice.

This a follow-up to the popular DrupalSouth ‘16 talk, “Module a Week or: How I Learned to Stop Worrying and Love the Open Source”, but not really a sequel more a franchise reboot.
The world is a scary place right now. While the risk posed by Cyber Security threats is high, there are many organisations and people for whom this is the least of their concerns.

In a time of unsettled economies & governments, where there are more breaches each week than we would have once seen in a year... how can we change the way we enable and inspire security change to stop trying to scare the terrified and start trying to help.
Dependency Injection sounds like a fancy term for something complicated and advanced. After all, most people didn’t start hearing about this until recently when the PHP world was overtaken by object oriented programming. Dependency Injection sounds intimidating, but it is not. It is simple to understand and once you do, using it in PHP and Drupal is very easy.

In this session, you will learn what Dependency Injection is and how it helps you structure your programs better. You will learn some very basic concepts like constructor injection with analogies and examples and then move on to see how it is done in real life.
Brief overview of a Pōwhiri (welcoming Ceremony)

The powhiri recognises the coming together of two groups that are separated not only physically but also spiritually. It is a profound acknowledgement that we are all creatures of a spiritual realm. The pōwhiri is a series of traditional rituals. It usually starts with a wero (ritual challenge) which occurs when a particularly important visitor(s) is being welcomed. If there is no wero, the karanga (call) signifies the beginning of the ceremony. A kaikaranga (caller) from our tribe will begin to call the guests connecting the physical world and spiritual world. Once guests are seated we will begin with a karakia (blessing). This will be followed by whaikorero (formal welcoming speeches), firstly by the tangata whenua (home people), followed by a waiata tautoko (supporting song).
Conversational interfaces are taking the digital world by storm, from chatbots and AI assistants like Siri to always on devices like Google Home and Amazon Alexa.

If you aren't thinking about using them to interact with your clients and customers, then you should be. With the near ubiquitous nature of smart-phones, voice-first is fast overtaking traditional user input such as touch, pointers and keyboard.

In this session we will give an introduction to Google's API.ai and show how you can use it to build rich conversational UIs that can integrate with a wide range of channels such as Google actions, Facebook Messenger, Slack and Skype as well as powering 24/7 interactions on your website.

We will then look into how you can use your existing Drupal content and entities to directly integrate with API.ai so that your Drupal site can power all of your digital presences, from a single canonical source.
When an Australian Government data-matching program began sending people to debt collectors, a crowdsourced Drupal site build became the cornerstone action that triggered participation and community support. The site build turned an issue into a movement.

Lyndsey Jackson, instigator of Australia’s #notmydebt, introduces the approach behind this collaborative social media campaign, and discusses some of the challenges, and rewards, of crowdsourced resistance.

Lyndsey will talk about how using Drupal was important not just for the campaign, but as an example of how the Drupal community can use their skill and influence to support non technologists in embracing Drupal and using it on their own projects as a force for good.
Are your feature requests really subconscious territorial behaviour produced by frustrated mammals forced to pretend to be office workers? Are the dead eyes of the procurement department really magic 8 balls showing you the way?

Thomas Murphy from Xequals will share some of the shamanic messages he has received while in trances brought on by excessive bureaucracy. Find out some great design patterns to help Drupal survive the onslaught of industrial strength cognitive dissonance.
The use of ES6 in JavaScript is becoming increasingly popular in front end development. ES6 provides many new features that make it easier to write more modular, extensible and maintainable applications. This talk will present on a development workflow and code patterns that allow one to efficiently integrate ES6 code into drupal libraries.
Entity Browser opens up new ways of how we can browse and reference nodes, files or any entities. During this session you will learn how to build custom browser widgets for a node-listing page, an entity-queue as well as how to build an image browser - all based on this module and its extensions. The aim is to have a user-friendly and highly customizable browser which allows content administrators to browse for existing nodes and images. We will concentrate on the site building and admin experience, not front-end. You will see the possibilities, limitations and possible UX improvements as well.
Drupal 8.4 introduced a new Workflow API, and the Content Moderation module in core is built on top of it. But the Workflow API can do more than just moderate content: it’s a living, breathing State Machine in Drupal core.

In this session, I will give you a practical demonstration on how to use the Workflow API to model an issue tracker with a new Workflow Type.

Intended Audience
This session is for Drupal Developers who want to learn about the new Workflow API in Drupal 8.4 and get into some real code examples of implementing custom workflows. Warning: there will be lots of code.

What You Should Get Out of the Session
You should come away with a clear understanding of the API, and its components, and what you need to do to implement your own workflows.

Drupal is a registered trademark of Dries Buytaert.