Developer Documentation

Upgrading to v11

If you are migrating from WordPress to Altis, check out the migrating guide here first.

To upgrade to Altis v11, edit your composer.json and change the version constraint for altis/altis and any local environment modules to ^11.0.0.

{
	"require": {
		"altis/altis": "^11.0.0"
	},
	"require-dev": {
		"altis/local-chassis": "^11.0.0",
		"altis/local-server": "^11.0.0"
	},
	"config": {
		"platform": {
			"php": "7.4.13"
		}
	}
}

Once you have made these changes run composer update and then run the wp altis migrate command:

# For cloud environments
wp altis migrate

# For local server
composer server cli -- altis migrate

# For local chassis
composer chassis exec -- wp altis migrate

Breaking Changes

ElasticPress 4.0

ElasticPress has been updated to version 4.0 and will require a full reindex after the upgrade using the wp elasticpress index --setup --network-wide CLI command.

HSTS Enabled by Default

HTTP Strict Transport Policy (HSTS) is now enabled by default for non local environments. This forces devices to use HTTPS connections instead of HTTP so any reliance on non-ecrypted URLs will break.

HSTS can be switched off via the Altis config by following the documentation here.

PHP 8 Readiness

PHP 8.0 will be made available in the upcoming Altis v12 release for local and cloud environments.

Altis v11 will run on PHP 8.0, however v12 will be adding full support for it. In addition Altis v13 will be dropping support for PHP 7.4.

Now is a great time to start preparing for PHP 8.0, see the PHP compatibility check guide here.

Headline Features

WordPress 5.9

Following on from the updates in WordPress 5.8 to provide more global control over blocks via the theme.json file, WordPress 5.9 brings with it the long awaited Full Site Editing (FSE) feature. Now the entire site can be edited using blocks, and this means you can use Experience Blocks in more places such as the header and footer.

The WordPress 5.9 Field Guide is a great place to learn about what's new. Here are some of the highlights:

Segment Analytics Integration

Altis v11 introduces a new framework for sequentially processing analytics data for delivery to another service.

A Segment integration is provided out of the box that will deliver your Altis Analytics data every 10 minutes.

Read the full documentation for the Altis Analytics Segment integration here.

ElasticPress 4.0

The latest iteration of ElasticPress brings with it better performance, a new and more strict default search algorithm as well as full support for WordPress 5.9.

View the full ElasticPress changelog here.

Xdebug Profiling

When running local server with the --xdebug flag you can set the Xdebug mode(s) to a variety of options including profiling, development helpers and so on. Previously, accessing the output from modes like profile required using composer server shell to manually look in the /tmp directory.

Starting Xdebug in profile mode using composer server start --xdebug=profile will now start up a WebGrind container giving you a UI to view profiling data from all PHP processes, including CLI and background cron tasks.

WebGrind is accessible by appending /webgrind/ to your local development site's home URL.

In addition to WebGrind there is a new option, --tmp, that will make Local Server mount the PHP container's /tmp directory to a directory called .tmp in your project root. This gives you full local access to any files generated by Xdebug and also can help to debug any custom code that makes use of /tmp such as temporary storage for image or other file manipulation.

Documentation Sets

Documentation sets are a layer above the existing module documentation which is currently developer focused. Currently any /docs directory present in an Altis module, including custom modules, is automatically added to the docs displayed in the WordPress admin.

Altis v11 brings the documentation into the open with a more prominent link under the dashboard menu item and a new "User Guides" documentation set. Any Altis module (including custom modules) with a /user-docs directory will now have those docs automatically added the user guides section. This is great way to put guides for custom features within easy reach of your users.

The developer docs are now only shown on Local and Development environments. User guides are shown on all environments.