Semantic content in a block editing world

The Gutenberg block editor gives us new and exciting possibilities to create visually rich content in WordPress using block-based authoring tools. But what if we don’t know how our content is going to be displayed? Joe will take a look at what happens when we make assumptions about the visual presentation of our content, based on the tools we use to create that content. He will explore the advantages and tradeoffs that come from keeping the structure of your content distinct from the presentation of that content, and look at examples of how we can maintain this separation while providing compelling visual authoring experiences for people using our custom authoring tools.

Leveraging the power of custom elements in Gutenberg

If you have worked with JavaScript over the years, chances are you used a mechanism to define reusable components that are rendered and can be interacted with in an encapsulated manner, for example in React or Vue. Web Components is a set of features that introduces similar mechanisms natively to the browser. Having a standard layer for these so-called leaf components aids interoperability. Imagine a future where you can reuse a leaf component you wrote for a simple native JS application in a React application or vice versa. Felix will teach you how to leverage Web Components by example, such as usage by the AMP framework or within Gutenberg blocks.

Maintainable CSS architecture in the Gutenberg era

Writing maintainable and scalable CSS is one of the biggest aspects of front-end work. Sami will show how CSS methodologies such as ITCSS and BEM can help achieve that and, at the same time, maximise the WYSIWYG experience in Gutenberg editor without rewriting the CSS that much.

REST API

The WordPress REST API was fully integrated into WordPress core in version 4.7. There is a lot of buzz around the REST API, and just as many questions. Micah will spend the first hour on introductory content, in case you aren’t familiar with it. In the second hour, he will dig into the API with PostMan and cover authentication, CORS, and JSONP. In the last hour, he will focus on how you can utilise the REST API in your own projects and plugins, as well as customising it to fit your needs.

 

Required skill set

This will be a development workshop, and it is desirable for attendees to have at least basic PHP development knowledge.

Technical requirement

Bring a laptop that has Postman installed. A local development environment is optional but recommended.

For the love of code: Modernising WordPress, plugins, and themes

Now that WordPress has committed to a minimum requirement of PHP 7 by the end of 2019, we can all start looking at modernising the code we maintain. Removing hacks to support old versions is easy, but how can code be improved when it just works on PHP 7? Namespaces, generators, Intl are just a few of the features introduced since PHP 5.2, not to mention scalar type declarations and all the other awesomeness that came with PHP 7. But what does it all mean, and how can you take advantage of these goodies? Join Juliette to learn to identify where to make quick fixes, when to look into refactoring, and how to make your code faster, better and more secure by using modern PHP.

Advanced database management for plugins

For nearly a decade, developers have been encouraged to use custom post types and taxonomies for all of their needs, and life was good. Good enough, anyway. For the next decade of advanced computing, machine intelligence will require, at the very least, custom database tables. John will break down what a database really is and what WordPress got right and wrong, and share several solutions that plugin developers can use right now to interface with complex custom data structures inside of WordPress.

Special characters and where to find them

There are 23 official languages within the European Union and many, if not all, of them have special characters. In German, for example, there are Umlauts (“üöä”) and the “ß”; and in other languages, there are more. Many characters exist in a pre-composed version and as a combination of two characters. Using the two-character version can lead to a broken search, broken spell check, broken transliteration for the slug, and broken images if this happens in a filename in combination with some server configuration and browsers.

On multilingual WordPress sites

To democratise publishing, internationalisation is one of many barriers that WordPress needs to overcome. That’s why, for 2020 and beyond, the goal is to find an official way to build multilingual websites. Until now, this was considered to be plugin territory, but what is needed to make WordPress a true polyglot? Pascal will cover the status quo of multilingual WordPress websites and share ideas — both from a technical and a user’s perspective — on how WordPress could evolve in this area over the next few years.