BigTree 4.5 has officially been released. With this release we've been targeting the following areas for improvement:

  • Removing the cramped dialog-based user interface for editing some field types (Matrix fields, Callouts, and Media Galleries now have nearly full-width in-line editing UI)
  • PHP 8.0+ support (not required, but supported)
  • The latest version of TinyMCE for WYSIWYG areas (6.2)
  • Instagram Basic Display API support
  • Experimental GraphQL API

Due to the nature of some of these changes, sites with heavy customizations to the WYSIWYG or custom field types that rely on piggy backing off of the native callout/matrix/media gallery types may need updating. The following first party extensions have been updated to support BigTree 4.5 and PHP 8:

Any sites that use those extensions should upgrade their extension before upgrading to BigTree 4.5.

 

GraphQL

The experimental GraphQL API can be accessed at the /api/ endpoint of the site after adding the following code to your /custom/settings.php file:

$bigtree["config"]["graphql"] = true;

The following native GraphQL queries are supported:

  • getBreadcrumb(page)
  • getNavigation(parent, levels)
  • getPage(path, id)
  • getSettings(ids)
  • getWWWRoot

Individual module classes can register their own queries by implementing a registerGraphQLMethods method and implement their own types using the registerGraphQLTypes method.

BigTree uses graphql-php as a basis for the GraphQL API. 

 

PHP 8

This release should be fully compatible with PHP 8.0 and later. A big effort was made to remove warnings and notices in order to ensure compatibility. With that in mind, we know there are still many notices and warnings that occur on the back-end of the site during submission of pages. The short term goal of subsequent 4.5.x releases is to log these warnings and notices and resolve them once we have the data as to where they exist. Expect more fixes on the way soon!