Sitecore 9.3 – Core platform enhancements
Tags: sitecore, sitecore9, sitecore93
Published: 2019-12-03 10:18:21

---
title: Sitecore 9.3 – Core platform enhancements
published: true
date: 2019-12-02 12:50:13 UTC
tags: Sitecore,Sitecore 9,Sitecore 9.3
canonical_url: http://www.pieterbrinkman.com/2019/12/02/sitecore-9-3-core-platform-enhancements/
---

For [Sitecore 9.3](http://www.pieterbrinkman.com/category/sitecore/sitecore-9-3/) we made a significant amount of enhancements. During my[session at Sitecore Symposium](https://dev.to/pieterbrink123/sitecore-symposium-what-s-new-in-sitecore-land-9-3-521c-temp-slug-5028378) I only had time to focus on on the top 5 of improvements for the core platform.

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](https://dev.sitecore.net/Downloads/Sitecore%20Experience%20Platform/93/Sitecore%20Experience%20Platform%2093%20Initial%20Release/Release%20Notes).

This article is part of the [Sitecore 9.3 what’s new blog post series](http://www.pieterbrinkman.com/2019/12/02/sitecore-9-3-whats-new-blog-series/).

## Experience Editor

### 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 name@domain.com will be converted to respective links.
- Navigation and Control bars are now enabled by default, so that user can find the navigation functionality easier.

## Content foundation

In 9.3 we have introduced Permission Enabled Search. Thisnew functionality allows customers to set the security permissions for thecontent they want to appear in search results by using the Sitecore Securitymodel. In case-specific users or roles do not have the Read permissions to theitem, this item would not appear in Search results for this user or role

### Removing Obsoletes

This is one of my favorites, we’re cleaning up our code andremoving features that have been flagged as obsoleted. Including support forLucene 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:

- LuceneSearch provider
- Sitecore.Nvelocity
- Replaceddeprecated SQL data types

### Additional improvements

- Languageembedding not used for Media Links instead of “la” parameter
- Abilityto add Dynamic Fields to Managed Schema for ContentSearch
- BetterSecurity: 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: FocusedPerformance 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** 

- Anew interaction aggregation pipeline that handles batches of interactions
- Pipelineprovides an opportunity for the downstream components to write performanceoptimized aggregation processors. 
- PathAnalyzer already moved to the new pipeline with considerable performanceimprovements. 

#### **FocusedPerformance Improvements**

- Identifiedand fixed performance hot spots in Reference Data Service
- Introducea cache of dimensions that have been already created
- CombinedDefinition and DefinitionMoniker tables
- Addedstored procedures for working with a single record

#### **xConnect Storage**

_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](https://doc.sitecore.com/developers/93/platform-administration-and-architecture/en/split-or-merge-xdb-collection-database-shards.html).

_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 andOther 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](https://dev.sitecore.net/Downloads/Sitecore%20Experience%20Platform/93/Sitecore%20Experience%20Platform%2093%20Initial%20Release/Release%20Notes) for a complete list.

## Data foundation

#### **Providepossibility to switch off/on performance counters for XConnect/xDB/Cortexservices **

**​** 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 tomonitor status**

It is now extended with additional behavior:

 1) with -rm flag (run and monitor) we canStart rebuild and monitor status on regular basis and terminate process onceindex is rebuilt

 2) with -rr flag (request rebuild) we willjust start rebuilding  

#### **Stability – _Have a Resume functionality for xconnectrebuild_**

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 **_collectiontraffic_** to xc-collect instead of xc-search.

Various improvements to the stability of live indexing andrebuild in system under stress scenarios, allowing a faster rebuild:

- Implementedbatching + parallelization during the rebuild synchronization stage 
- Reducedthe default of SplitRecordsThreshold from 25k to 1k 
- Reducedin half the ParallelizationDegree of the rebuild 

## Reporting

We want to ensure that our reports are accurate and matchindustry 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.

The post [Sitecore 9.3 – Core platform enhancements](http://www.pieterbrinkman.com/2019/12/02/sitecore-9-3-core-platform-enhancements/) appeared first on [PieterBrinkman.com](http://www.pieterbrinkman.com).