Expression Platform News Autumn Update
By Devon Zachary, Senior Developer November, 2019
EXPRESSION Development Νews
Keep me up to date with the development of Expression.
Hard to believe it is already Autumn! The rain is falling again in Vancouver, and the Expression team is, as always, hard at work making Expression amazing. We’re very excited to share with you some major updates to the Platform.
Expression Playlists 2.0
A few of our customers will be familiar with what has – up until now – been a secret feature of Expression: Playlists. This feature has now been upgraded and promoted to a “First Class” feature of Expression, available in version 2.19.0 and above.
Playlists are a powerful tool which allow Content Managers to aggregate collections of articles into groups within a single Section - called a Playlist.
Each Playlist can choose a specialized renderer (Element) for each grouping and configure settings for the Playlist which can additionally parameterize the attached Renderers to customize the frontend display.
For developers, this is a great way to expose rich control over content display on the frontend to your internal or external clients who may be working with you inside the Expression Workspace. Playlists enable your Content Team to quickly and easily make dramatic changes to the frontend of the site - while still being backed by the concrete structures of Section and Article APIs.
Developers can even create fully dynamic Playlists, using the per-playlist settings to propagate variables into the rendering pipeline. These variables can parameterize the attached Datasources for the Elements rendering the playlist, and drive fully dynamic selections of any content, not just Sections & Articles.
You can read more about this exciting feature here:
We’re also happy to announce that the Dynamic Data Model feature, discussed in the July Platform News, has proven to be a great success for our internal projects. This feature enables the creation of full custom data models inside Expression which can be interacted with using the same API interface as native Expression objects.
While previous versions of this feature required direct API queries to access the data, you can now edit the values of your Dynamic Data Models by finding your created models under the “Dynamic Data Models” heading of the left-hand main menu.
Going forward, all new Expression instances come with this feature built in including our selection of free website starter available as part of our try-it-free experience. If for some reason your Expression site does not have the feature, and you would like to try it out, please don’t hesitate to get in touch with us at: [email protected]
For more information, read the documentation for this feature. We are currently working on a step by step demo so stay tuned for that.
The Expression Handlebars Compiler, which handles rendering HTML templates on the frontend, as well as templated variable replacements inside Datasource definitions, has been refactored for a performance increase.
As our network infrastructure has evolved, we have found new opportunities to improve speed. When originally implemented, filesystem performance was slow enough to prevent us from storing the compiled templates there, so our team opted to store these compiled templates inside of Redis, a popular caching solution.
Storing compiled code in Redis however had a few disadvantages:
A roundtrip to the Redis service was required to fetch the template code.
Having the code dynamically pulled in at runtime meant we did not gain speed advantages from the opcache meaning that frontend rendering utilized un-optimized versions of these templates.
Thanks to changes in our network by our infrastructure team, we are now able to store the compiled templates on high-speed Solid State Drives (SSD) directly on our web servers - and we’re happy to announce that the results are dramatic.
This change transparently delivers a1.5x - 2.5x performance increase on the Frontend to all Expression customers. This upgrade is included in version 2.18.4 and above.
Since our last Platform News was written in July we have closed over 200 GitLab Issues with each closed issue representing a tangible improvement in the quality of our software in response to user feedback.
Of course, we strive for excellence and you can help us get there! If you have a particular challenge with our platform please don’t hesitate to raise a ticket with us by emailing [email protected] If you have a brilliant ideas, would like to make suggestions on how to improve the workflow with Expression or a feature request for future development, drop a line a [email protected] Together we can make it better!
Two-Factor Authentication (2FA)
Starting with version 2.20.0 Expression now supports Two Factor Authentication (2FA), and integrates with 2FA mobile apps such as the popular Authy or Google Authenticator app.
You can enable this feature by editing your user account within the Expression Workspace under the Users tab. We strongly suggest enabling this for your Developer & Administrative accounts to add an extra layer of security to your site access.
To find out how to enable or disable 2FA on your account, please visit our Getting Started section.
The development team is currently driving towards the Expression 3.0 milestone, which places a strong emphasis on one of our favourite categories of users: Developers!
Expression Bundle Marketplace*
Soon we will be launching the Expression Bundle Marketplace* - a place to find and install curated Bundles designed for and by Expression Developers. At launch we expect to have available Bundles which illustrate the use of core Expression features (such as Playlists and Dynamic Data Models), Wireframing Kits, and add-ons like Google Analytics that can instantly be applied to any of your Expression sites! Stay tuned for more information coming soon on this!
*Currently named Expression Bundle Marketplace for internal purposes, this name may change after launch.
Our goal with Expression 3.0 - beyond delivering major platform features such as Dynamic Data Models and Playlists 2.0 - Is to improve the Developer experience when building Bundles. Anticipated early next year, we will be providing:
Subfolders within Bundles allowing for better organization of code.
Support for arbitrary Git Branches (no longer strictly Development / Master).
Granular Commit / Rollback.
Support for integrating with native Git tools and services such as GitHub and GitLab.
Improved Bundle Editor.
These features will revolutionize the interaction between Developers and our Platform - we can’t wait to share them with you and see what you build!
Until then, please enjoy all of the latest addition to Expression and continue on sending your great suggestions to make the platform better. Drop a line at [email protected] Feel free to try one of our free website starters which include all the new features listed in this Platform News. The free website starters can offer a great way to test certain features of the platform without messing up with your existing sites. Please do share or brag about our news with your Developer friends and make sure to invite them to try, what we believe to be, the best platform out there!