Developer Documentation

Upgrading to v10

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

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

{
	"require": {
		"altis/altis": "^10.0.0"
	},
	"require-dev": {
		"altis/local-chassis": "^10.0.0",
		"altis/local-server": "^10.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 3.6

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

Insights Dashboard

The new Insights Dashbaord completely replaces the standard WordPress admin dashboard that users see after logging in. If you need to keep the old dashboard because you have custom dashboard widgets, or you simply prefer it, then the Insights Dashboard can be switched off via the Altis config as shown in this guide.

Custom Modules

The way Altis modules are registered has changed to allow for future improvements such as schemas for validating config. The $default_settings parameter is now a more generic $options array with the defaults as a nested array under the key defaults, for example:

Altis\register_module( 'custom-module', __DIR__, 'Custom Module', [
  'defaults' => [ // Previous value for the 3rd parameter is now nested under the 'defaults' key.
    'enabled' => true,
  ],
], function () {
  // bootstrap module...
} );

Composer Version

You may encounter the error "Altis\get_config() is not defined" when running composer update for the first time. Please ensure your Composer version is up to date by running composer self-update and try again if this happens.

Headline Features

Insights and Analytics Dashboards

When signing in, users are now greeted with an insights dashboard providing an overview of your site's traffic and best performing content. Additionally you can now access more of your analytics data directly via the admin dashboard to view top pages, top searches, top countries your visitors are coming from and more.

Optimization Framework

Altis' Experiments framework is now grouped under the new "Optimization Framework" heading. This better reflects the different components of the native analytics solution that are aimed at enabling developers to create new conversion goals and tests.

It is now possible to extend the A/B test sidebar UI when registering A/B tests for post data, so enabling editors to optimise every aspect of a post from excerpts to custom fields is that much simpler.

Check out the updated Optimization Framework documentation here.

A/B Test Experience Block

Our newest Experience Block allows content creators to easily create tests inline on posts, pages, even in widgets and block editor based page templates!

This powerful new feature can also be combined with personalized content to optimize sites in a highly targeted way.

Alongside the existing Title A/B test feature there is a new built-in A/B testing tool in the post editor sidebar for editors to use. Multiple options for a featured image can now be experimented with to increase conversion rates from the home or archive landing pages.

New Acceptance Testing Framework

Altis v10 introduces an exciting new developer tool for writing Acceptance and Functional tests powered by Codeception and Local Server. The command runs a headless browser to mimic user interaction with your application going beyond server-side tests to ensure that your users are getting the intended experience.

Altis takes care of all the complicated set up, so getting started only requires running 2 commands and writing a test!

Learn all about testing with Codeception here.

Fun fact: Altis' own module test suites are powered by Codeception.

ElasticPress 3.6

The latest version of ElasticPress introduces lots of bug fixes and enhancements. Here are some of the most notable additions:

  • The ability to index comments, this is disabled by default but can be enabled via your config
  • New CLI commands to help with debugging:
    • wp elasticpress get-mapping shows the current mapping configuration for the specified indexes
    • wp elasticpress request allows you to execute arbitrary requests from the command line to aid with debugging
  • Improved WP_Query argument support for options like post_name__in, category__not_in and more
  • Client side autosuggest improvements including support for filtering by post type and modifying dropdown display output