Synthesis 8.1 has been released to NuGet. This is a minor feature release that also resolves an issue with the model provider caching in Synthesis 8.0.
DPI-aware image support
The new `@Html.DpiAwareImageFor()MVC helper method emits a
srcset` along with the image that enables “retina images” served from the media library. To use it, you basically upload the image 2x (or 3x for the highest DPI devices) larger than it would normally display. Devices that support the higher resolution will automatically acquire the higher resolution version, and lower resolution devices will use the regular version.
Note that this is only for DPI-aware images. The more advanced forms of srcset
and picture
that enable viewport-based features (‘responsive images’) are not supported at this time. Last I checked not well supported by browsers either.
WebActivator removed as a dependency
Synthesis 8.0 depended on WebActivator to register its startup tasks. In 8.1, these have moved to the more Sitecorian initialize
pipeline.
Improved config schema
The Synthesis.config
file has been broken into three files: Synthesis.config
(global model configuration), Synthesis.ControlPanel.config
(enables the control panel page), and Synthesis.Startup.config
(enables on-startup sync checks and regeneration). This makes it much easier to deploy Synthesis to a Content Delivery server, as you can simply delete all but Synthesis.config
and be secure.
Upgrade Instructions
Synthesis 8.1 is a NuGet upgrade away. However to cover the new configuration changes, you do need to make a couple tweaks to an existing Synthesis.config
.
- remove
<registerDefaultConfiguration value="true" />
(Synthesis 8.0 only) - remove the whole
<synchronizationSettings>
node in Synthesis.config (its values now live inSynthesis.Startup.config
) - remove
pipelines/httpRequestBegin
inSynthesis.config
(values now live inSynthesis.ControlPanel.config
) add default configuration registration to Synthesis.config
<pipelines>
:<initialize> <!-- REGISTER DEFAULT CONFIGURATION If this processor is registered, the configuration values below for providers are loaded into a Default Configuration. This enables Synthesis to work out of the box if you do not need multiple configurations. For multiple configurations you may leave this active if you want to keep the default configuration and add your own on top of it, or remove it to register only your own configurations. Configurations are registered by calling ProviderResolver.RegisterConfiguration() - e.g. in more initialize pipeline processors. NOTE: Do not register multiple configurations that contain overlapping templates. --> <processor type="Synthesis.Pipelines.Initialize.RegisterDefaultConfiguration, Synthesis"/> </initialize>
if using the
optimizeCompilations
setting to speed up Sitecore 8 startup time, turn it off temporarily after the upgrade or clear your temporary asp.net files folder, because the helper structure changed slightly during the upgrade and the cached razor files will be invalid.