Sitecore 9.3 includes a large list of improvements. Sitecore’s ongoing improvements for the core platform are always around performance and increasing the easy-of-use for those who work with Sitecore every day.
The key performance improvements in 9.3 are made by reducing the amount of calls that Sitecore makes, optimizing Sitecore by making processes more efficient.
This blogpost will provide a list of improvements and enhancements for the Experience Platform -listed per product area- that are included in 9.3. The complete list of enhancements can be found in the official Sitecore 9.3 release notes.
This article is part of the Sitecore 9.3 what’s new blog post series.
Functional improvements and enhancements
- General link with search, Date and Datetime fields now have “Clear” buttons in the floating toolbar to clear the values.
- When creating a new page in Experience Editor, the first available template is preselected by default to improve usability.
- Image selection and Link dialogs are aligned with the similar functionality in Content Editor.
- A new Context mode value is added for the Explore mode. If the user opens the Explore mode then ‘Sitecore.Context.PageMode’ is set to ‘IsExploring’
- Standard link text is converted into links upon pasting or entering the text in the inline Rich Text Editor. For example “http://domain.com”, “https://domain.com” or firstname.lastname@example.org will be converted to respective links.
- Navigation and Control bars are now enabled by default, so that user can find the navigation functionality easier.
In 9.3 we have introduced Permission Enabled Search. This new functionality allows customers to set the security permissions for the content they want to appear in search results by using the Sitecore Security model. In case-specific users or roles do not have the Read permissions to the item, this item would not appear in Search results for this user or role
This is one of my favorites, we’re cleaning up our code and removing features that have been flagged as obsoleted. Including support for Lucene and Nvelocity.
Migrate solutions that use Lucene to Solr this way your solution is easier to upgrade to Sitecore 9.3+
A huge number of obsoleted functionalities were removed from the product. That includes removing of the:
- Lucene Search provider
- Replaced deprecated SQL data types
- Language embedding not used for Media Links instead of “la” parameter
- Ability to add Dynamic Fields to Managed Schema for ContentSearch
- Better Security: now security headers set by default
Data Foundation, Storage & Reporting
Tracking: Session expiration batching support
By having the tracker do fewer requests and batching events before committing it, xConnect will have increased performance. Several improvements have been included with Sitecore 9.3 to improve performance for xConnect:
- Web tracker supports sending expired session data to xConnect in batches .
- Additional settings have been introduced to control the batch size and level of concurrent processing.
- Reduces workload on the CD servers using less resources to save data to xConnect. The resources can be used for visitor requests.
- Batching improves performance of xConnect and all underlying components.
- Possible to have CD servers which do not perform any session expiration by adding ability to have dedicated session expiration servers.
Tracking: Focused Performance Improvements
- Load last known contact together with Device in one request – Reduced the calls to xConnect by 3 times on session start
- Reduce number of requests to Reference Data – Calls to the Reference data service are reduced to half.
- Remove legacy facets from configuration – Reduce the amount of data saved in the session database
- Optimize serialization code – Optimized the amount of data saved to session database
Cortex & Processing
Performance Improvement of Aggregation pipeline
- A new interaction aggregation pipeline that handles batches of interactions
- Pipeline provides an opportunity for the downstream components to write performance optimized aggregation processors.
- Path Analyzer already moved to the new pipeline with considerable performance improvements.
Focused Performance Improvements
- Identified and fixed performance hot spots in Reference Data Service
- Introduce a cache of dimensions that have been already created
- Combined Definition and DefinitionMoniker tables
- Added stored procedures for working with a single record
Scalability Enhancement -“Split/Merge/Rebalancing”
- Customers should be able to scale in/out the shard cluster in order to be able to support collection varying of traffic
- Change the number of Sql shards .
Note: Scalability Enhancements can only be used with SQL Azure. For more info read the article on the Sitecore documentation site.
GDPR – “Right-to-be-forgotten for interaction facets”
- When Right-to-be-Forgotten is executed xConnect have functionality to remove all the sensitive information from the contact and remove all interactions facets and remove calculated facets.
Bug Fixing and Other improvements
- Sitecore.XConnect.Collection.Model.PhoneNumber now supports AreaCode property
- Log functionality has been extended for xConnect operations
- XConnect client issues addressed where it returned null instead of a contact when empty.
And many more similar high-impact customer related bugs fixed. See the official releases notes for a complete list.
Provide possibility to switch off/on performance counters for XConnect/xDB/Cortex services
Currently Sitecore default behavior is “Performance counters disabled by default”. xConnect Services are deployed with enabled counters that write info into App insights. As a result, customer pay money even though that are not interested in collecting counters.
XConnectSearchIndexer.exe should have a possibility to monitor status
It is now extended with additional behavior:
1) with -rm flag (run and monitor) we can Start rebuild and monitor status on regular basis and terminate process once index is rebuilt
2) with -rr flag (request rebuild) we will just start rebuilding
Stability – Have a Resume functionality for xconnect rebuild
We have implemented fault tolerance to the index rebuild process. In case of temporary infrastructure hiccups the rebuild will not be aborted and it will retry automatically. After a restart, the rebuild process will resume where it left off.
Stability – Change to PaaS deployments sending collection traffic to xc-collect instead of xc-search.
Various improvements to the stability of live indexing and rebuild in system under stress scenarios, allowing a faster rebuild:
- Implemented batching + parallelization during the rebuild synchronization stage
- Reduced the default of SplitRecordsThreshold from 25k to 1k
- Reduced in half the ParallelizationDegree of the rebuild
We want to ensure that our reports are accurate and match industry expectations.
To do so updated the Conversion rate in a way that it can’t be greater than 100%. We also included updates to bounce rate calculation for specific dimensions and implemented data confidence fixes.