Upcoming Talks

An Introduction to Unit Testing (for WordPress)

If you are a software developer, you might have come across the term “testable code”. Almost always when someone refers to it they do it in the context of unit testing. So in order to understand, and then learn to how to write, testable code, you first have to understand unit testing. And this is what this talk is all about.

Thorsten first provides a high-level overview of unit testing in general, and classifies it in terms of test level, and testing methods and techniques. He then explores and explains different possible units. The second part of the talk is dominated by one of the key principles of unit testing: testing in isolation. What is it? How can it be done? What is this mocking that pops up here and there? Next, Thorsten shows different unit test examples, involving both PHP and JavaScript, and highlighting different (yet simplified) aspects of real-life code. Thorsten concludes with a few tips for writing good unit tests.

Past Talks

The Hitchhiker’s Guide to the WordPress Coding Standards

Rules are meant to be broken. Nevertheless, rules are there for good reasons, and even more when you have a say in them.

In this talk, Thorsten will start by providing an overview of the rules and best practices for coding in the WordPress universe. If you want to know about code style, coding standards, code conventions, code quality—and why it all matters!—this talk is for you.

The second half of the talk will cover applying these rules via a WordPress-specific Composer package based on the well-known PHP_CodeSniffer tool. Both projects changed a lot recently, so you might learn something new. And now with Tide, this is getting more and more important for plugin and theme authors.

Using PSR-7 Middleware in Your RESTful WordPress Projects

In the PHP world in general, there is a standard (recommendation) when it comes to HTTP messages: PSR-7. Despite things like Calypso, Gutenberg and the growing JavaScript codebase in general, WordPress is written in PHP. Thus, wouldn’t it be nice to do what the rest of the PHP world is doing? Isn’t there some way to leverage all the existing PSR-7 middleware and incorporate them into the WordPress REST API? Well, there is.

In this talk, Thorsten will give an overview of the PSR-7 HTTP message interfaces. After that, he will compare these with the structures of WordPress Core, and analyze whether or not they match with the PSR-7 interfaces. Finally, Thorsten will provide a closer look into an example implementation of PSR-7-compliant WordPress REST requests and responses, respectively, and explain their inner workings.

REST in Pieces

Since both the infrastructure and the first set of endpoints of the WordPress REST API got merged into Core, it’s obvious for plugin and even theme authors to jump on the bandwagon. If you are interested in a sweeping statement about this, this one’s for you.

In the first part of this talk, Thorsten briefly looks back on the history of introducing a REST API to WordPress. He then comments on the current state of WordPress Core, and what we might expect in the (near) future.

The currently suggested way to develop using the WordPress REST API includes using a handful of functions and maybe writing up a custom class that extends a gigantic abstract controller class provided by WordPress Core. In essence, this results in procedural code, with the used functions not even being pure (as they are using global variables). That’s why the second part of this talk is about WP REST Starter, a Composer package for working with the WordPress REST API in an object-oriented fashion.

Using the interfaces and default implementations provided by WP REST Starter helps you write proper object-oriented code that is easier to understand, easier to extend, easier to test, and easier to maintain. Furthermore, in case the internals of the WordPress REST API will ever change, you can rely on WP REST Starter taking care of this, if possible. No need to adapt all your RESTful WordPress projects.

An Introduction to Unit Testing (for WordPress)

If you are a software developer, you might have come across the term “testable code”. Almost always when someone refers to it they do it in the context of unit testing. So in order to understand, and then learn to how to write, testable code, you first have to understand unit testing. And this is what this talk is all about.

Thorsten first provides a high-level overview of unit testing in general, and classifies it in terms of test level, and testing methods and techniques. He then explores and explains different possible units. The second part of the talk is dominated by one of the key principles of unit testing: testing in isolation. What is it? How can it be done? What is this mocking that pops up here and there? Next, Thorsten shows different unit test examples, involving both PHP and JavaScript, and highlighting different (yet simplified) aspects of real-life code. Thorsten concludes with a few tips for writing good unit tests.

REST in Pieces

Since both the infrastructure and the first set of endpoints of the WordPress REST API got merged into Core, it’s obvious for plugin and even theme authors to jump on the bandwagon. If you are interested in a sweeping statement about this, this one’s for you.

In the first part of this talk, Thorsten briefly looks back on the history of introducing a REST API to WordPress. He then comments on the current state of WordPress Core, and what we might expect in the (near) future.

The currently suggested way to develop using the WordPress REST API includes using a handful of functions and maybe writing up a custom class that extends a gigantic abstract controller class provided by WordPress Core. In essence, this results in procedural code, with the used functions not even being pure (as they are using global variables).

That’s why the second part of this talk is about WP REST Starter, a Composer package for working with the WordPress REST API in an object-oriented fashion. Using the interfaces and default implementations provided by WP REST Starter helps you write proper object-oriented code that is easier to understand, easier to extend, easier to test, and easier to maintain. Furthermore, in case the internals of the WordPress REST API will ever change, you can rely on WP REST Starter taking care of this, if possible.

No need to adapt any of your RESTful WordPress projects.

One Website, All the Languages

WordPress powers more than every fourth of all websites in the world, in one or more of the 6,500+ world languages. WordPress itself does not allow for multilingual content, though, so that’s where plugins come in handy. One of these is MultilingualPress: THE multisite-based free open source plugin for multilingual websites.

In this talk, Thorsten provides a short introduction to both MultilingualPress and WordPress multisite. By means of several user stories, he then explains how to set up your multilingual WordPress website with MultilingualPress.

An Introduction to Software Testing

What is a test? Why should one test? Who should test? What, when, and how should be tested? These questions and more are to be answered. Primarily, this session is aimed at developers. Designers, and (technical) project leads and managers, however, are addressed as well, because they also take a part in the development process, and hence testing.

One Website, All the Languages

WordPress powers more than every fourth of all websites in the world, in one or more of the 6,500+ world languages. WordPress itself does not allow for multilingual content, though, so that’s where plugins come in handy. One of these is MultilingualPress: THE multisite-based free open source plugin for multilingual websites.

In this talk, Thorsten provides a short introduction to both MultilingualPress and WordPress multisite. By means of several user stories, he then explains how to set up your multilingual WordPress website with MultilingualPress.

IT Certifications: What Are They Good For?

In this session, Thorsten explains IT certifications in general and how different they can be structured. He then provides several examples of what a certificate in the IT industry can mean for both employees and employers. Based on his experience from by now six seven certification exams with three different providers, Thorsten gives an overview of appropriate certifications for WordPress engineers.

How (Not) to Write Testable Code

This session is about writing code that can easily be tested. By means of negative examples, Thorsten explains what makes code rather hard to test, or even untestable. Each „bad practice“ is first presented in an abstract way, and then illustrated and discussed using one or more concrete PHP and JavaScript code examples. In the end, Thorsten shows how to solve the individual issues at hand, and thus produce testable code—even if you don’t test it yourself.

An Introduction to Software Testing

What is a test? Why should one test? Who should test? What, when, and how should be tested? These questions and more are to be answered. Primarily, this session is aimed at developers. Designers, and (technical) project leads and managers, however, are addressed as well, because they also take a part in the development process, and hence testing.

Brush Up Your Taxonomy Skills

With taxonomies and their individual terms, you can structure and categorize posts in various ways. That’s a matter of common knowledge. This session will broaden your mind, though, because there’s much more to taxonomies and terms. You can easily link individual taxonomies and synchronize their terms, you can use taxonomies for users, and you can facilitate taxonomies to store meta data. Finally, we will have a look at WordPress 4.4’s new feature: term meta.