The BigTree 4.4 release will serve as the long term support release of BigTree 4 as we prepare the road for BigTree 5. Almost two years ago we wrote about the first plans for BigTree 5 and almost all of those plans remain the same with the exception of BigTree 4.2 being the long term supported version. We believe BigTree 4.4 provides a much more firm foundation for long term support of sites on BigTree 4. Without further delay, here's what's new in BigTree 4.4:

Version Controllable Configuration

The largest change, by far, to BigTree 4.4 is that site configuration is largely moved out of the database and into JSON storage. This allows for easily porting your new modules, templates, callouts, settings, and more from your development and staging environments to production. After upgrading a site to BigTree 4.4 you will see a new directory created within /custom/ with the name "json-db/". Within that directory, your configuration will be stored and is able to be version controlled through git or your preferred version control software. Along with this new storage, you will see the following tables removed from your database:

  • bigtree_callout_groups
  • bigtree_callouts
  • bigtree_extensions
  • bigtree_feeds
  • bigtree_field_types
  • bigtree_module_actions
  • bigtree_module_embeds
  • bigtree_module_forms
  • bigtree_module_groups
  • bigtree_module_reports
  • bigtree_module_views
  • bigtree_modules
  • bigtree_templates

In addition to the removal of the above tables, bigtree_settings will be dramatically modified to be changed from a table that stores site-specific configuration to only store the values of the settings. Other tables that contain environment specific data such as bigtree_pages and bigtree_resources remain unchanged. In the event of a failed upgrade, the tables that are being destructively modified will be backed up in your /cache/ directory as "backup-4.3.sql".

As a side effect of the change in storage of configuration, some extensions (such as Reusable Callouts) will need to be upgraded to function in BigTree 4.4. Any extension or custom code that modified or read those tables directly will need to be adjusted. Calls to existing methods in BigTreeAdmin or BigTreeAutoModule classes should remain backwards compatible.

New Extension Hooks

BigTree 4.4 also introduces new hooks for extension developers to tie into, adding many new ways for customizing the BigTree experience in an easy to upgrade and non-code-invasive method. Extensions can implement the following new hooks:

  • Content hooks — An extension can insert HTML markup to the top and bottom sections of the Dashboard, Modules landing (where module groups are listed), and the Developer landing (where developer action groups are listed). Individual buttons can also be added to each of the groups on the developer landing through markup hooks per group.
  • Administration Nav Tree — The BigTree administration panel navigation tree is now unified in the $bigtree["nav_tree"] variable and can be modified to add additional navigation elements (e.g. adding a new option to the Dashboard dropdown).
  • Fields — An extension can add fields to module forms, callouts, and templates and process them (for instance, the Reusable Callouts extension inserts it's field for choosing an existing callout into the Callout fields)

Read more about Hooks in the developer documentation!

New Field Types

BigTree 4.4 brings several popular field type extensions into the core:

  • Video — The video field type is now core. This field type supports Vimeo and YouTube URLs and automatically retrieves information (including the poster image) for the video. As with the extension version, YouTube support is enhanced to bring in more information about videos if the Service API is connected.
  • Media Gallery — The media gallery field type is now core. Media Gallery allows you to have a repeater of videos or images as well as additional set of metadata fields to go along with it (e.g. caption, illustrator, etc). Think of this as a combination of the video, image, and matrix fields! The Photo Gallery field type has been removed and converted to Media Gallery in this update.
  • Link — The link finder extension is now a core field just called Link. It allows you to search for existing pages and files in your site and link to them easily.
  • Image/File Upload — BigTree 4.4 splits up the "Upload" field type into "Image Upload" and "File Upload". The "File Upload" field has gained the ability to restrict what file extensions are allowed.

Other Great Additions

BigTree 4.4 also brings in other nice additions such as a CSV importer for 301 redirects, easier navigation of the Dashboard section, improvements to workflow with $bigtree["bar_edit_link"] redirecting back to the origin page, an indicator to show that a page has children, duplicating pages (that are not top-level) as pending copies, and more!

One important backwards compatibility break is that Packages are no longer supported in BigTree 4.4. The move to JSON for configuration allows fairly easy migration of configuration and it was determined that Packages no longer served enough of a purpose to remain maintained indefinitely.

To see full release notes for BigTree 4.4, click here!

BigTree 5.0 and moving forward

BigTree 4.4 will be the last main feature release in the BigTree 4 branch. The redesign and planning for the new interface in BigTree 5 is underway while most of the back-end code overhaul previously described is complete. BigTree 5's back-end code base still needs to be upgraded to bring it in line with the advancements in BigTree 4.3 and 4.4 and the overhaul of the user interface will also take a fair amount of time. We currently expect a Fall 2019 release for BigTree 5.0 with beta testing beginning this summer.