Adapt Framework Release v5

Core Developers | February 10, 2020

As most of you will have noticed, the latest major update to the Adapt Framework – v5 was sneaked out at the end of last year with minimal publicity from the core development team. A major release means breaking changes, something that we only do when we deem it absolutely necessary. This begs three obvious questions; why did we create Adapt v5, what has changed and what is going to break?

I’ll answer the third question first as it’s the most immediately important. Any plugin that was built for v4 and earlier versions of the framework that has a visual element to it – ie all components, menus and themes and most extensions will not be compatible with v5. The Adapt OS Community have of course updated all of the core bundle, and many third party plugin providers will have already updated their plugins to work with v5, but do check plugin compatibility before using the new framework version.

The short answer to the ‘why’ question is ‘look and feel’. The vanilla theme has remained relatively unchanged from the very first version of the Framework and was in dire need of an update to modernise and improve the visual appeal of regular Adapt courses, extend the amount of configuration that can be done through the Adapt Authoring Tool (AAT) interface, make it quicker and easier for developers to create new custom themes and further improve our already market-leading support for accessibility standards.

The most obvious change introduced by v5 are the additional configuration options available in the theme. The theme now natively supports the addition and configuration of background images which can be set for pages at full, header, article and block levels. Background images can also be added to the box menu at full page or just header levels. There are also a number of standard animations which you can use to make blocks or components fade into view. All of these configurations are available via the AAT interface, and the ability to control and configure theme colours through the AAT theme configurator has been extended with the v5 theme.

If you delve beyond these changes you will find that there’s been a more fundamental restructure of the code. Key among these is the adoption of relative units for font sizes (rems) – this change makes layouts more fluid and also improves accessibility as learners will be able to increase font size as much as they like (well, within reasonable limits anyway) without breaking the layout. We have also improved consistency at a code level by adopting a new naming convention (based on BEM, thanks for asking) and more modular chunking of functionality (with an approach based (as CSS methodology fans will already have guessed) on SMACSS). More detail on both of these can be found in the Wiki. The boundary between what is handled by a plugin and what is handled by the theme has been made more consistent with each plugin responsible solely for structural styling and the theme looking after the look and feel. All of these changes make the task of implementing wild and outlandish designs (well, within reasonable limits anyway) significantly quicker and easier (or at least more feasible) for web developers.

Finally there are a host of other more minor but still useful changes – please see the changelog for detail;

So what do you need to do with the new release? If you’re building a new course in the framework it’s simple – just download the core bundle and set to work. Likewise if you have an AAT and only use standard Adapt plugins you can update the framework version as part of a node upgrade (when prompted say ‘n’ to ‘update automatically’ and then enter ‘v5.1.0’ as your ‘specific git revision to be used for the framework’). It goes without saying that you should take a backup and try this out on a staging environment to check the impact on your existing course content before running the upgrade on your production site! And just to reiterate, your v4 (or earlier) theme will not work with v5, and if you are using any third party plugins these will need to be updated or fixed.

Documentation from the core team on how to upgrade your content to v5 will be coming soon, although if any community members would like to make a start on this then please add to the existing Wiki page.

As always with the Open Source project this has been a team effort with dozens of people involved with defining, designing, writing and reviewing the new release. Particular thanks must go to the Kineo team of Guy Willis (who led the work), Kirsty Hames and Jen Eiss, Cahir O’Doherty and Nils Sanderson from Learning Pool, Chuck Lorenz from the Adapt Community and the indefatigable Matt Leathes (also from Kineo).