Check out this month's addition to Xperience by Kentico. We added several exciting enhancements like workspaces for improved content governance and 1-click image asset optimization! But, of course that's not all (we went a little wild this month 🤩), so dive in and learn about the updates we've just delivered in Xperience by Kentico.

Maintain control of reusable content with workspaces

Marketers want to go to market quickly with campaigns and effective customer experiences, so they need to be confident about their messaging and brand across all the digital channels they work in.

Half of that confidence comes from easily discovering what impact a content change will have across multiple channels and then being able to quickly publish that change when the time is right - something that Xperience by Kentico excels at with usage tracking, previews in web, email, and headless channels, and scheduled publishing.

The other half of confidence comes from knowing changes to brand and messaging pass through proper review and validation. Each marketing team decides, based on their process, how to control the access to content modifications and govern the release of changes to their customers.

Xperience by Kentico already supports a marketer's content governance responsibilities with website channel page permission management, application role management, and publishing workflows. This month we're adding to that suite of management capabilities with workspaces.

Role based content governance

We added workspaces to Xperience to give marketers more control over the governance of content in the Content hub.

With this month's Refresh all Xperience projects will gain a new "Default" workspace containing all existing content items.

The Content hub content items table listing with the workspaces dropdown menu opened showing multiple available workspaces.
The Content hub content items table listing with the workspaces dropdown menu opened showing multiple available workspaces.

If you can't find the workspace selection drop down in the top left of the Content hub it's likely because you only have 1 workspace in your application. You can create and manage workspaces in the new Workspaces application.

Content items can be moved between workspaces just like they can be moved between folders.

Move content items dialog in the Content hub showing which workspaces the content can be moved to.

At this point you might be wondering, "Workspaces look like more advanced content folders, how do they make content governance easier for me?"

Imagine a marketing team works with their legal department to generate content for their digital channels - like terms of use or privacy policies - and this content is reused across multiple channels.

A Legal Content hub workspace containing Privacy policy and Terms of use content items

By creating a Legal workspace in the Content hub, the marketing team can allow someone from legal to log into Xperience and update any legal documents or content without giving them access to the entire Content hub.

Role and permission management screen showing specific permissions assigned for a specific Content hub workspace for a specific user role

This is accomplished by assigning that legal team's role to the View and Update permissions for Legal workspace in the Content hub.

Role management permission assignment in Xperience's administration UI for a role with different permissions across multiple Content hub workspaces.

Non-administrator marketers would have read-only permissions for the Legal workspace, allowing them to easily reuse the content but not make changes to it. These marketers could have broader permissions to other workspaces (like Default and Brand in the screenshot above), ensuring the can fully manage the rest of the content in Xperience.

The Page Builder in the Dancing Goat website channel with widget properties dialog open for content item selection showing the workspace drop down selector.
The Page Builder in the Dancing Goat website channel with widget properties dialog open for content item selection showing the workspace drop down selector.

Workspace selection and permissions now appear throughout Xperience's administration UI so that the content governance rules are consistently applied for a marketing team.

If your Xperience application has a single workspace or a specific role has access to only one workspace, we make sure the user interface reflects the application's configuration and the workspace selection dialog won't be displayed.

We believe workspaces are an extremely powerful tool in a marketer's content governance toolbox and we look forward to seeing how teams use them to model their organization and content management processes.

Digital asset management updates

A picture's worth a thousand words but if you have a thousand images to optimize and upload to your website you might be considering the opportunity cost of that content management.

Thankfully in addition to mass asset uploading, Xperience by Kentico now includes built-in image asset optimization and format transformation so marketers can upload their image assets and be confident those images won't have a negative impact on customer experiences across their digital channels.

1-click image optimization

If your marketing team receives an image from the graphics department for a new product campaign, they might be lucky enough to find the image already optimized for use in your company's web and email experiences.

But, what if you found an image through a stock photo service or took a picture on your phone at a recent event. The image is exactly what you want but you're unsure how to optimize it correctly or know if it even needs optimization. You don't want to negatively impact the customer experiences you've spent so much time curating - poor experiences can lead to lost revenue.

A list showing the metadata details of a high resolution and large file PNG image of coffee beans.

Here we see some metadata for a high resolution picture of roasted coffee beans. The file is a .png, and over 3 megabytes in file size! We know this is way too big to use on a website and there are better image formats than PNG.

We could reach for a tool like Squoosh to adjust and optimize this image, but that requires us to context switch out of Xperience by Kentico and understand all the technical details these kinds of tools expose to us.

The better solution is to just upload the image to Xperience and let it handle everything for you!

An image is uploaded to a content item as an asset, automatically optimized, and then manually optimized further through the optimization and transformation dialog.

Content types with asset fields in Xperience can be configured to automatically transform images to a specific format and apply a defined level of optimization to them when uploaded.

In the video example above the 3 megabyte .png is transformed to an optimized 215 kilobyte .webp file when uploaded. That's more than a 10x reduction in size. From the marketer's perspective the image was optimized in 1 step.

Uploaded image assets can be further adjusted or optimized if needed by opening the image adjustment dialog and selecting the preferred file format and optimization level options.

The dialog shows the dimensions and approximate file size of the image with the applied transformations.

Developers can also now retrieve the image width and height metadata when using them in website or headless channels, which is important for reducing cumulative layout shift.

Multiple images are dragged to the Content hub, dropped, and uploaded in bulk. Each image creates a new content item and is transformed and optimized according to the content type's configuration.

The magic really happens when a marketer bulk uploads images, seeing them all immediately optimized and assigned to newly created content items.

Xperience helps you work confidently and quickly.

New image format support

With this Refresh Xperience now supports two new image formats - AVIF and SVG.

AVIF offers file size optimization beyond what is possible with WEBP but with slightly less browser support if you are targeting older versions of desktop or mobile Safari.

SVG is an vector image format which means it can be scaled infinitely without loss of quality. On the other hand SVG can be used maliciously to expose security vulnerabilities in specific use cases.

Thankfully, Xperience is designed to be secure-by-default and mitigates these SVG security issues if you use our asset serving APIs.

Since Xperience is extremely configurable, we'll let you decide which image formats make sense for your digital experiences.

SaaS updates

This month we added two new ways to see what's going on in your Xperience by Kentico solution through the Xperience Portal, building on top of the observability and reporting capabilities that already exist in our SaaS offering.

Improved observability

First, we added the ability for administrators to control what kinds of alert notifications they receive for their SaaS environments.

  • Environment
  • Severity level
  • Type
Settings page in the Xperience Portal for per-user notification alerts

Alerts for a specific environment can be completely disabled and each of these sets of settings are controlled per-user, letting your team dial-in the perfect options for their responsibilities.

Second, we added email metrics for all the email channels defined for each environment.

Xperience Portal page displaying a history of email metrics in several graphs

These provide insights similar to what administrators have had access to at the web and application level with Project metrics.

Data points like the number of bounced or delivered emails and unique clicks can help your team ensure customers are receiving your email marketing communication and aren't being impacted by DNS or email reputation issues.

Infrastructure upgrade

Kentico's SaaS offering for Xperience is built on Microsoft Azure's public cloud service and we use Azure App Service Plans to run the Xperience by Kentico application.

These plans come in different tiers and price points with the tier selected typically based on cost and performance requirements.

Our SaaS QA and UAT environments have been upgraded from the S1 to the P0V3 tier to improve overall performance for these pre-production environments. The upgraded infrastructure will improve deployment times and general application performance.

These infrastructure updates have been performed according to your Xperience Portal scheduled maintenance configuration and do not require any manual intervention from customers. Cheers!

More powerful automations

We introduced automations to Xperience by Kentico in our August 2024 Refresh. This capability lets marketers implement customer journeys drive by web, email, and headless channels through an easy-to-use no-code automation builder.

Each month since then we've added new capabilities to automations, giving marketers super powers.

December is no different, with several small updates that unlock our customer's creativity.

Custom activity triggers and actions

Xperience has several built-in activity types to let marketers segment customers based on how they engage with the digital channels managed by Xperience.

This segmentation can drive personalization in website channels or automation flows.

Marketers can also create custom activity types to model business-specific ways customers can engage with an organization.

The activity types management screen inside the Xperience administration, highlighting two custom activities

Here we've created two custom activities.

  • Coffee menu download
  • Customer upgrade

The Coffee menu download activity is logged when a customer downloads a PDF menu on a landing page, while the Customer upgrade activity is logged indirectly, as we'll see.

A full automation in Xperience's automation builder with an activity trigger step

The automation shown above is triggered by an activity - a customer downloading the coffee menu - which is a new option for the automation builder.

If they are subscribed to marketing emails we immediately send them a coffee promotions email to see if we can pique their interest with some special discounted coffee.

Contact data value conditions

A full automation in Xperience's automation builder with a condition step using multiple contact based conditions

After waiting 1 day we check to see if the customer engaged with the promotion email.

We also require they are not yet assigned any member tier - which could be Bronze, Silver, or Gold - or if they are currently Bronze. This member tier could be synchronized from an external CRM (using our Salesforce or Dynamics CRM integration) or be populated by other logic within the application.

Both of these contact value conditions are new with this month's Refresh and open up a lot of possibilities for marketers and their contact groups or automations.

  • Contact field is empty
  • Contact field has value
A full automation in Xperience's automation builder with an activity action step

Assuming the customer meets the requirements of the previous condition, the last step of the automation logs our second custom activity, Customer upgrade, with an activity value of Silver.

This activity could be processed in a scheduled task or automatically synchronized back up to CRM to update the contact details and update their member tier.

Of course, a marketer could just use it to drive personalization on the website, encouraging the very engaged customer to register for an exclusive coffee club account.

The possibilities are vast and directly at our customer's fingertips. No-code required.

Scheduled task processing

As DXP solutions grow in reach and complexity teams inevitably need to schedule and execute custom business processes that run in the background.

Xperience already uses built-in scheduled tasks to enable features like scheduled publishing, cleaning up temporary data and files, and calculating email deliverability statistics.

With this month's refresh we've validated that scheduled tasks are robust enough and have the right features to expose them to customers for their own use-cases.

The Xperience by Kentico administration dashboard highlighting the scheduled tasks application tile

Scheduled tasks can now be managed and executed from the new Scheduled Tasks application on the Xperience administration dashboard.

Unlike scheduled tasks in previous Kentico products, the ones in Xperience by Kentico are asynchronous, built on ASP.NET Core primitives, and are designed to have predictable behavior with web farms.

The Xperience by Kentico scheduled task application task listing highlighting a specific scheduled task

As part of the updates to image asset management, we have included a 1-time use scheduled task that calculates the dimensions of existing image assets and updates their metadata in the database.

If you are starting a new Xperience by Kentico project with the December Refresh you won't see this scheduled task, because there's nothing that needs updated.

Because the scheduled task architecture and APIs are relatively simple, developers are encouraged to still consider our prior technology recommendations for background processing - the open-source projects Hangfire and Quartz.NET - if they have more advanced requirements.

They could also use the ApplicationBackgroundService that comes with Xperience and works at a lower level than scheduled tasks.

In the coming months we'll publish documentation and guides with scheduled task best practices and potential anti-patterns.

Quality of life improvements

Content management

For the several updates that are smaller in scope, but mighty in impact, let's begin in the Content hub.

Marketers can now quickly identify the which language variants have been created for a content item or which language filter is applied to the Content hub with the new language flags feature.

Language flags can be managed in the Languages application.

The Content hub listing now supports column customization. Users can remove and reorder columns in the listing table. These customizations are saved in the browser and persisted through sessions so you can make the Xperience UI suit your needs.

We've also added the ability to clone webpages, as seen in the video above.

Marketers can adjust the page name or URL slug before performing the clone operation and the new page will be ready to edit in a draft state once cloned.

Today, only the current language variant is cloned but we believe even the initial scope of this small improvement will help marketers author content more quickly. We will continue to refine this feature and bring it to other areas of Xperience.

A content type field definition that depends on another field by using a visibility condition

Developers have been able to assign field visibility conditions to various parts of Xperience's UI in code, but now they can use the conditions for content type fields.

Conditions are limited to depending on at most one other field, but completely custom conditions can be authored in code, which will automatically be available in the administration UI.

Using these conditions for content type fields improves the user experience for marketers authoring content, showing and hiding fields relevant to the values they previously entered or selected. This can have a really positive impact when editing values for content types with many fields.

We plan to continue to improve the options and flexibility of this feature in the future.

.NET 9

Over the past several years Microsoft has committed to an annual update cadence for the .NET framework. Last month they released the latest version of .NET, .NET 9.

.NET 9 is a short-term support (STS) version of .NET and will received bug and security fixes until May 12, 2026.

As of this month's refresh we officially support .NET 9 both for customer's Xperience by Kentico applications and in our SaaS offering. Developers can build their Xperience solutions in .NET 9 and deploy them to SaaS, taking advantage of the latest technology features and performance improvements. This translates to improved developer productivity and applications that handle more traffic for less cost.

Our product policy is to always support the long-term support versions of .NET and optionally the STS versions if possible.

We also require customers to run their Xperience projects on a currently supported version of .NET. This means customers are no longer supported if they are running Xperience on .NET 6, which went out of support with .NET 9's release.

You can review all the supported versions of .NET and their lifecycle timeframes or more details about our general .NET support strategy.

Developers can also review the details of our .NET 9 support in the documentation changelog.

jQuery defaults

We recently made jQuery an optional dependency of Xperience by Kentico, but removing it from your project was an opt-in feature.

The latest refresh reverses this configuration by making jQuery an opt-in feature.

This means if you aren't already managing your own version of jQuery and you still depend on it, you'll need to update your application settings accordingly.

We strongly recommend either managing your own version of jQuery or replacing your dependency on it with modern alternatives. In a future major version update of Xperience we will remove jQuery entirely from the product.

What's next?

As always, check out our documentation Changelog for the full Refresh feature and technical details.

We hope these new capabilities, features, and API improvements unlock solutions for you. Try them out, let us know 👋 what you think.

For the next Refresh we plan to deliver managing redirects when pages are deleted or unpublished, extending Xperience's capabilities into the AIRA Companion App, and the first preview of the new visual Email Builder.

These updates will, as always, accompany a number of UX and developer-focused improvements.

Check back next month for another Xperience by Kentico Refresh review!

For the technical audience, this Refresh is represented by v30.0.0 of Xperience by Kentico.