April 2024 – released Sitecore Experience Accelerator 10.4.0
Sitecore Experience Accelerator (SXA) enables parallel work streams (content, creative design, UX, coding) to not only reduce the time required to produce a website, but also improve the quality by allowing all contributors to validate each other's contributions. SXA provides reusable user experience layouts and components that are fully integrated into the Sitecore editing experience.
Highlights
- Updated several JavaScript libraries within SXA to their latest versions, enhancing performance, security, and user experience, and replaced deprecated libraries with more modern alternatives.
- Added a new
Sitecore Client Site Managing
role that grants users the right to create, rename, write to, and delete sites and site collections. - Added the ability to configure headless sites using the Tailwind grid system.
- Added the ability to create modules at the Project layer.
- When assigning a datasource workflow action, you can now choose whether it applies to the item, its direct children, or all of its descendants. Previously, it only applied to the item.
- When specifying a custom link provider, it now respects the language embedding for links in the sitemap.
- Renamed the term
Tenant
toSite Collection
. - Enhanced the 500 error page to support multiple languages.
New features/improvements
Description | ADO no. |
---|---|
Updated several JavaScript libraries within SXA to their latest versions, enhancing performance, security, and user experience, and replaced deprecated libraries with more modern alternatives. | |
Improved error handling by returning a 404 status code when a media item is not found. | 329631 |
When creating a scope and adding a where the specific field compares to Search Box query rule, it now only shows supported comparisons: is equal to, is not equal to, contains, and ends with. | 342203 |
If a page is requested in a language that lacks a translation, users are now redirected to a 404 page in the requested language. | 350386 |
When installing the SXA module, dependent modules are now automatically detected and offers the option to install them. | 426048 |
The Select Associated Content dialog now only displays the relevant nodes. | 444856 |
Enhanced the 500 error page to support multiple languages. | 452627 |
Added the ability to skip minification for specific scripts. | 458314 |
All language versions are now created when uploading pre-optimized-min through SXA CLI. | 460726 |
Added the Clear on Content Update option to the SXA cache clearing behavior. | 491990 |
Removed unsupported editing features for headless sites such as Privacy Warning, Sticky Notes, Drag & Drop, Creative Exchange Export and Import, and Theme from the Experience Editor interface. | 546297 |
Added support for hidden components (by grid) in the Experience Editor for headless sites. | 546298 |
Added support for Tailwind grid for MVC and headless sites. | 548217 |
In the redirect mapping, you can now provide full URLs instead of just relative ones. | 549961 |
Updated the dialog opened by the clone-rendering script for headless sites. | 552329 |
The SXA and JSS apps now use a common app template. | 554937 |
Added a new Sitecore Client Site Managing role that grants users the rights to create, write, rename, and delete sites and site collections within the Content Editor and other relevant applications. | 555646 |
Added the ability to access link field values in a Scriban template. | 560731 |
Updated Robots.txt so that it does not return a sitemap reference if the sitemap media item is not generated. | 561042 |
Simplified the configuration process by removing redundant or obsolete options from the placeholder setting drop-down list. Now, Fixed and Flex options are available. | 564799 |
Added the ability to set the MediaLinkServerUrl value for each site. | 565339 |
Added support for Rich Text field in the getAttributeTokenValue pipeline. | 568081 |
Added the ability to disable modules to ensure they do not appear in the Create Site or Create Site Collection dialogs. | 571841 |
Introduced a new Disable trailing wildcard flag for site definition items. | 573482 |
For an improved user experience, we now display a warning when trying to add renderings directly to a page design. Users are advised to add renderings to associated partial designs. | 576753 |
A variant's allowed template restrictions are now working in composite components. | 581359 |
Renamed the display names for Tailwind and Bootstrap5 grid breakpoints. | 581435 |
Updated the Experience Editor's pop-up message when inserting a new non-reusable SXA component to Enter a new name for the item for clarity. | 581539 |
Optimized SXA Publishing Handlers to consolidate multiple publishing steps into a single job, leading to performance improvements in some cases. | 581590 |
For MVC sites, the Experience Editor's toolbox can now be personalized to display only relevant renderings for a specific page template, making it easier for users to search and use the correct components. | 585617 |
Improved the warning message in the InjectCompositeComponents processor to include item and rendering details when there are missing datasources. | 585911 |
The unique ID is now reset in a nested composite component after copying. | 585070 |
Improved performance for retrieving site-specific standard values for published content. | 587614 |
Added cache expiration settings to the SXA sitemap settings, allowing the default value of 60 minutes to be adjusted on a per-site basis. | 588417 |
You can now use the Multiroot Treelist field in the /sitecore/api/graph/edge/ endpoint. | 589731 |
When specifying a custom link provider, the language embedding for links in the sitemap is now respected. | 591243 |
Updated Datasource Workflow Action to include datasources of page partial designs in the workflow. | 592317 |
When assigning a datasource workflow action, you can now choose whether it applies to the item, its direct children, or all of its descendants. Previously, it was applied only to the item. | 592819 |
Added the ability to create SXA modules at the Project layer. | 592864 |
You can no longer move a component from the Accordion placeholder using the Move component button. | 594086 |
Changed the previously ambiguous Rendering Variant field name to Enable if any rules are met or not defined for clarity. | 594988 |
Transitioned to using Google Analytics 4 from Universal Analytics. | 595351 |
Resolved the issue when publishing a site to Experience Edge, the SXA EdgeSchemaRedirectMapResolver gathers redirect information about the site items. For large sites with many items, this impacted memory usage and overall performance. | 596838 |
Renamed the term Tenant to Site Collection. | 597306 |
Optimized the SXA GetStandardFieldValue cache to enhance performance. | 598448 |
Deprecated
Description | ADO no. |
---|---|
Removed support for the AddThis component following Oracle's decision to terminate all AddThis services as of May 31, 2023. | 582313 |
Removed display types for Styles from the component properties, as they were exclusively required for Horizon. | 598591 |
Resolved issues
The following issues have been fixed:
Description | ADO no. |
---|---|
sitecore_sxa_web_index does not adhere to the Indexing role and the onPublishEndAsyncSingleInstance strategy. | 380275 |
After cloning an SXA site, the Media Library field in the Settings item and the Additional Children field in the Media item continue to point to the original site. | 485500 |
Experience Editor buttons for Column Splitters and Row Splitters disappear when added inside composite components. | 492581 |
Media content is extracted twice, leading to longer load times. | 493561 |
The Content Editor will no longer show false broken link warnings when the source of the Droplist field contains a query token like $site . | 504875 |
Fixed a styling issue in Experience Editor, ensuring that the page design and partial design drop-down lists work correctly with any number of entries and structure. | 520108 |
In the Experience Editor, you can add a component to a non-English page using a placeholder from a partial design. | 528779 |
When opening a page on mobile devices, the first tab of the tab component is set to active when scrolling through content and then scrolling back up. | 529489 |
Personalization does not switch between variants. | 530344 |
In the Select the Associated Content dialog, the Copy To text can be appended multiple times. | 531046 |
Facet Summary shows incorrect search results if facets contain duplicate names. | 531106 |
Copying an item from Experience Editor does not place the new item in a Draft workflow state. | 535315 |
The PublishReferencedItems processor generates additional publishing of source items. | 538900 |
Slides in an SXA Carousel component that do not exist in a specific language appear as blank in multilingual solutions. | 540302 |
When accessing an invalid media URL with UseServerSideRedirect set to true, an exception occurs, instead of displaying a Document not found page. | 540345 |
Media uploaded via Upload files (advanced) are being published by sitecore\Anonymous . | 542725 |
An item loses its workflow state when you click Lock and edit in Experience Editor. | 543685 |
When you perform content testing on a component that uses a query datasource, a Guid should contain 32 digits with 4 dashes error occurs. | 546110 |
JSON list does not work with JSON Reference rendering variants. | 547800 |
Cloning chain causes an object reference error. | 548510 |
Modifying and publishing page/partial designs to Experience Edge do not update the layout of items using them. | 548636 |
Optimized-min items are not removed even if you upload a new script or style file in the scripts or styles item subfolder. | 548830 |
When editing the datasource of an item without write access, a Current user does not have write access to this item error occurs. | 548697 |
Improved interface translations. | 553027 |
Saving versions of items in a bucket with several clones can cause performance issues. | 553866 |
Variations of a component design do not work with SXA components. | 555322 |
When the shared field of a non-English child item is edited, an English version of the datasource parent item is automatically created in the web database. | 555365 |
A cross-site link in Rich Text results to a full path in the next local URL. | 556529 |
When you open the standard values for a template that contains a Multiroot Treelist field that uses a query as its source, an exception occurs. | 556828 |
If a context item is outside the SXA website, but the item passed to the GetItemSourceInfo method is part of the SXA website, an exception occurs. | 557373 |
In the Select the associated content dialog, the Create button does not work correctly. | 557508 |
Even when lowercaseUrls is set to true, the language in a redirect map is not written in lowercase. | 558807 |
In the Experience Editor, placeholders named in the format abc-x, where x is a number, are displayed as just abc. | 558836 |
When a page containing a component is unlocked, the data folder of its sub-child component still remains locked. | 559023 |
_childOfTemplateCache causes the creation of a datasource in an incorrect language version. | 559845 |
SXA OpenGraph tags do not work correctly with the Media CDN setting. | 560747 |
When alwaysIncludeServerUrl is set to true, a double server URL appears in the og:url . | 561843 |
Target item could not be deleted warnings appear in publishing.log after publishing a site. | 563195 |
When rendering a Rich Text Field containing the value $( , an ArgumentNullException error is thrown. | 566620 |
Incorrect platform cross-site links when using SXA. | 566664 |
The checkbox type rendering parameters return standard values when unchecked on the actual control. | 566718 |
The Asset Bundler no longer hides any exceptions that occur during the bundling process. Previously, any inner exceptions that occurred within this process were hidden from both logs and view. | 567536 |
SaveCompositeItems.EnsurePageDataFolderHasVersion may try to add an item version in an invariant language. | 567981 |
An additional <div> wrapper is added to a partial design from a shared site. | 568287 |
A snippet points to the full path to the datasource rather than the local path for its internal composite components. | 568330 |
Multiple items are created when duplicating a multilingual item that has clones or adding another language version. | 572534 |
Improved performance for saving an item with many referred items. | 572687 |
If you change the linkManager or linkProvider options to render links differently, code assets of the editing theme are not injected into a page and some features like the toolbox will not appear in the Experience Editor edit mode. | 573054 |
PageSelector fails with facet names containing an ampersand. | 573833 |
The composite datasource component does not lock automatically, causing issues with specific datasource workflow actions. | 573935 |
The SXA checklist might disappear in the XM topology. | 575400 |
FlagPublishingGroupingItems creates an invariant language item version from the package install. | 576025 |
Missing Rendering items and related processors for Column Splitters and Row Splitters. | 577782 |
CD instances utilize a non-manual index update strategy for sitecore_sxa_web_index . | 577935 |
The requestContext section of the sxa-jss layout service configuration refers to the Master database in the CD server's SXA package. | 578367 |
An uppercase umlaut causes issues in Filter (Checklist). | 578812 |
When you open the Select a Rendering dialog, the content tree appears instead of the available renderings. | 578189 |
When an SXA site uses the Bootstrap 4 grid system, the size of the Content Section placeholder in a snippet item appears smaller than expected. | 578932 |
When using a query with the $site token as the datasource, internal links are retained in the Experience Editor. | 580609 |
On mobile devices, the YouTube play icon for an SXA video component has a different appearance. | 581624 |
The Items that refer to the selected item list is always empty. | 582561 |
The Insert from Template pop-up does not contain a default project folder under the /sitecore/templates/Project node. | 582905 |
The sitemap ignores the useDisplayName value. | 583756 |
ItemTreeView.js does not have the latest revision from the XP platform. | 584639 |
The Allowed Controls functionality does not work for the out-of-the-box headless dynamic placeholder key Container-{*} . | 584848 |
Creative Exchange exports files with media links that contain unique numbers. | 585239 |
When you install a package to overwrite an item without a version, an exception occurs. | 585444 |
The SXA search endpoint throws NullReferenceException errors when an invalid query parameter is provided. | 589620 |
The placeholder in an MVC Rendering item is not used for a page item under the SXA home page. | 587237 |
Improved the ReferenceReplacementJob processor that triggers on item update, especially when dealing with item clones. | 587463 |
Publishing is causing an error in Content Delivery because the item:saved:remote event updates the web database. | 588242 |
Headless SXA redirect items do not work correctly if the parent item name contains spaces. | 588406 |
The sitemap incorrectly includes items that are in a non-final workflow state or are not publishable. | 588918 |
The OpenGraph image from Content Hub now displays correctly on the page. | 589240 |
An SXA overlay with a Column Splitter always opens with a scrollbar regardless of width or content. | 589573 |
An unhandled exception occurs if the search result page item of a Search Box is unpublished. | 589835 |
Redirect mapping fails when the site is first accessed without logging in and Require Login is checked for the site. | 590706 |
The workflow that was set in site-specific standard values for a datasource is ignored. | 590726 |
In the Experience Editor, working on an overlay with a Column Splitter always stacks columns on top of each other regardless of width or content. | 590739 |
Improved performance for translations in Scriban. DictionaryDomain is now accessed by ID instead of name. | 591340 |
Datasource Workflow Action does not account for datasource action results. | 591426 |
The SearchController now adds a log for exceptions at the ERROR level instead of at the WARN level. | 591681 |
Datasource Workflow Action triggers an error if one of the page datasources is in Final state. | 591998 |
Cyclic links between composite items cause exceptions in the Experience Editor. | 592479 |
On the initial load of an item, some field values might be missing. | 593968 |
Removed jquerymCustomScrollbar completely. | 594023 |
An additional version is added to a clone in a delegated area. | 594292 |
Enabling the Language Embedding option in the site definition does not add the embedded language into the URL. | 594884 |
Cyclic links between composite items cause a stack overflow in the Experience Editor. | 595829 |
When you publish a site with multiple site definition items, only one sitemap is generated. | 596586 |
When you publish a multilingual website with different default languages and hostnames, the links in the sitemap contained different hostnames. | 596799 |
The Rendering Variant drop-down list displays variants from an incorrect site. | 597292 |
A canonical URL is not an absolute URL. | 597482 |
In the Experience Editor, search results in the toolbox now display only the sections with renderings that match the search query. Sections containing search results are expanded for improved usability. | 598576 |
Cyclic references between items derived from the CompositeSection template causes an exception in Experience Editor. | 598585 |
If a page had a version in a language not present in the source language and the enforceVersionPresence setting was enabled, that page would be excluded in the sitemap | 601447 |
When you create a page in Experience Editor, the action is now recorded in the audit log. | 602119 |
When you clone an item from one site to another, adding a new language version to the original item automatically updates the cloned item with that language version as well. | 602379 |
Resolved the issue causing publishing errors on some data sources due to AddReferencedItemsToQueue . | 602468 |
When the default language of a website is not English, the custom 404 page appropriate for that language is now shown. | 603301 |
Previously, sitemap items were generated in all available languages, causing extra load on the environment. Now, they are only generated in the default language. | 603809 |
Resolved the issue with Content Delivery's sitemap generation in a scaled environment. This functionality has been optimized to be exclusively executed by Content Management. | 604551 |
Optimized the sitemap publishing process to improve performance. | 605219 |
The sitemap file for the MVC site is not stored in the file system for the CD role after publishing the site. | 605775 |
If you add a component without a defined placeholder to a partial design, and then open a page that uses the partial design in Experience Editor, you no longer see the component together with an error message. | 606663 |
Resolved the issue when the Autoplay checkbox was enabled for a video rendering on a page and the video did not automatically play upon page load, by introducing a new Muted checkbox. For seamless autoplay functionality, ensure that both the Autoplay and Muted checkboxes are enabled. | 607835 |
If you unclone a cloned item, its reference is removed from the Shared Sites Settings item in the Delegated areas field. | 607950 |
When you create a website in a language other than English, there will now be only one version of the root item for that site in the chosen language, unlike before when an English version was also created. | 608653 |
In a multilingual environment with at least two site definitions with the same start item and hostname, opening a page in Experience Editor now correctly shows it in the correct site context. This is based on the first site in the SXA Site Manager matching the page path and language. Previously, the page was shown in the context of the first site matching the page path, regardless of language. | 608896 |
Resolved the issue causing an error when a container rendering is added for the page of headless site. | 609226 |
Enhanced security to reduce potential vulnerabilities. | 384496, 592373 |
Improved the performance improvements of the SXA SiteInfoResolver cache. | 566245, 591135, 591143, 572743 |
The page design feature does not work with headless SXA sites for JSS apps that are not created using the nextjs-sxa template. | 571001, 588195 |
When ItemCloning.ForceUpdate is disabled, cloning an item from one site to another and creating a second version and modifying it doesn't update its fields. When enabled, it causes the following: (1) Cloning an item from one site to another and creating a second version adds a third version to the cloned item. (2) Adding an item to another with clones in other sites results in an error, instead of the item being cloned across sites. | 596032, 594404, 595513 |