0% found this document useful (0 votes)
116 views8 pages

ControlledJss Setup Forsitecore

This document lists Sitecore hotfixes and customizations made to a Sitecore implementation. It describes several hotfixes from the Sitecore reference database addressing specific bugs. It also outlines numerous customizations made across multiple projects covering areas like redirects, caching, image optimization, security, SSO integration, and extensions to Sitecore functionality. Specific code and configuration changes are documented for each customization.

Uploaded by

Aravind Bhat Pk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
116 views8 pages

ControlledJss Setup Forsitecore

This document lists Sitecore hotfixes and customizations made to a Sitecore implementation. It describes several hotfixes from the Sitecore reference database addressing specific bugs. It also outlines numerous customizations made across multiple projects covering areas like redirects, caching, image optimization, security, SSO integration, and extensions to Sitecore functionality. Specific code and configuration changes are documented for each customization.

Uploaded by

Aravind Bhat Pk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

# Sitecore Hotfixes and Customizations

This document aims to list down Hotfixes and customizations done on Sitecore

## Hotfixes

| Hotfix Public Ref Number | Description | Files | Fixed In |

| ------------- | ------------- | ------------- | ------------- |

| 441621 | If a request to the Items controller is too long, the IncrementNodeCount method throws
an exception. | Sitecore.Services.EnableQuery.MaxNodeCount Setting to 100 in
Sitecore.Services.Client.Config<br/> Sitecore.Client.dll<br/> Sitecore.Content.Services.dll<br/>
Sitecore.Kernel.dll<br/> Sitecore Services.Client.dll<br/> Sitecore.Services.Core.dll<br/>
Sitecore.Services.Infrastructure.dll<br/> Sitecore.Services.Infrastructure.Sitecore.dll| [Sitecore
10.0.2](https://dev.sitecore.net/Downloads/Sitecore%20Experience%20Platform/100/Sitecore
%20Experience%20Platform%20100%20Update2/Release%20Notes) |

| 464473 | Media link is rendered incorrectly in JSS Layout Service response |


Sitecore.LayoutService.dll | [Sitecore Headless Rendering
18.0.0](https://dev.sitecore.net/Downloads/Sitecore%20Headless%20Rendering/18x/Sitecore
%20Headless%20Rendering%201800/Release%20Notes) |

## Customizations

This section mostly tries to address customizations done on top of Sitecore. Mostly the configs that
are patched with patch:instead and some other things

### Redirects

**Project Name in Visual Studio:** YourProject.Feature.Redirects <br/>

**Purpose:** To support old url's so that referenced/bookmarked url's won't be broken <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/DOTCOM-2220 <br/>

**Changes:**

- Whenever an item is renamed/moved, a redirect item is created in


/sitecore/system/Modules/YourProject/Feature/Redirects/ using item:renamed and item:moved
events. In the redirect item, old path before rename/move is saved.

- A custom processor is created and at the bottom of getLayoutServiceContext pipeline. This


processor will check if the route matches any of the old path in items of redirects folder. If it
matches then it will return status 302 with new path in Location header.

### Cache key


**Project Name in Visual Studio:** YourProject.Foundation.Caching <br/>

**Purpose:** For the cache to vary by membership and vary by context item <br/>

**Changes:**

- By default sitecore vars cache of rendering by Data, Device, Login, Parameters, QueryString and
User. A custom pipeline processor is created and replaced default processor in mvc.renderRendering
pipeline.

- This processor checks if the rendering have var by membership or vary by context item is enabled,
if enabled then it generates custom cache key.

### Cloudinary

**Project Name in Visual Studio:** YourProject.Foundation.Cloudinary <br/>

**Purpose:** To improve performance of images/videos <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/WE-181 <br/>

### Dianoga

**Project Name in Visual Studio:** YourProject.Foundation.Dianoga <br/>

**Purpose:** Optimizing images <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/DOTCOM-2754 <br/>

**Note:** Implemented based on https://github.com/kamsar/Dianoga

### Removed AddAppDictionary processor

**Project Name in Visual Studio:** YourProject.Foundation.Jss <br/>

**Purpose:** To speed up the experience editor load since we are not using dictionary during SSR
<br/>

**Changes:**

- Removed AddAppDictionary processor in getRenderingEngineViewBag


### LayoutService Item serializers

**Project Name in Visual Studio:** YourProject.Foundation.Jss <br/>

**Changes:**

- Item serializers of layouservice are customized in YourProject.Foundation.LayoutService.config

### getFieldSerializer processors customized

**Project Name in Visual Studio:** YourProject.Foundation.Jss <br/>

**Changes:**

- GetImageFieldSerializer processor of getFieldSerializer is replaced with custom processor in


YourProject.Foundation.Jss.config

### getFieldSerializer processors customized

**Project Name in Visual Studio:** YourProject.Foundation.Jss <br/>

**Purpose:** To fix deep linking issue <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/SC-304 <br/>

**Note:** Only applied to non-production environments <br/>

**Changes:**

- GetGeneralLinkFieldSerializer and GetRichTextFieldSerializer processors of getFieldSerializer is


replaced with custom processors in YourProject.Foundation.Jss.config

### Replace Content Language Resolver for experience editor

**Project Name in Visual Studio:** YourProject.Foundation.MultiSite <br/>

**Purpose:** Switch to default site instead of one matched by domain in experience editor <br/>

**Changes:**

- Replace ResolveContentLanguage processor in httpRequestBegin pipeline with custom processor

- Replace the type for webedit:openexperienceeditor with custom class

### Pre-select and disable publishing target checkboxes


**Project Name in Visual Studio:** YourProject.Foundation.Publishing <br/>

**Purpose:** Publishing targets preselected in publish dialog so that the regions can become out of
sync <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/SC-197 <br/>

**Changes:**

- Default js file is modified and replaced. Js file location is


/sitecore/shell/client/Applications/Publishing/PublishingShared.js

### Replace default content services configurator

**Project Name in Visual Studio:** YourProject.Foundation.Security <br/>

**Purpose:** SSC to allow restricted content to connect only membership <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/DOTCOM-1860 <br/>

**Changes:**

- Sitecore.Content.Services.Configurator is replaced with custom


CustomContentServicesConfigurator

- In CustomContentServicesConfigurator, IItemRepository is replaced with CustomItemRepository


which checks for membership compliance through ItemAccessService

### XSLT Extension helper is disabled

**Project Name in Visual Studio:** YourProject.Foundation.Security <br/>

**Purpose:** It is recommended to disable if not using Sitecore XSLT renderings <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/DOTCOM-2221 <br/>

**Changes:**

- Disabled in YourProject.Foundation.Security.config

### Replaced default user resolver, user builder

**Project Name in Visual Studio:** YourProject.Foundation.SSO <br/>

**Purpose:** To only do authentication at external provider (Okta) <br/>


**Changes:**

- By default sitecore resolves username with some random provider key for login through external
provider. Replaced it with custom resolver which checks user by email name resolves by adding a
Configurator in YourProject.Foundation.SSO.config

- If user resolver doesn't resolve any user, sitecore creates a user with random guid. Replaced it to
return anonymous user with OktaUserBuilder in YourProject.Foundation.SSO.config

### Force download set to false for PDF

**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/DOTCOM-1548 <br/>

**Purpose:** Open pdf file in browser <br/>

**Changes:**

- ForceDownload set to false in Sitecore.Foundation.SitecoreExtensions.config

### Replace Solr schema population

**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Purpose:** To include extendSolrManagedSchema config section <br/>

**Changes:**

- Replaced DefaultPopulateHelperFactory processor with SolrSchemaPopulateHelperFactory in


contentSearch.PopulateSolrSchema pipeline

### Replace indexes type to enable Swith on rebuild

**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Purpose:** To enable CloudSwitchOnRebuild which eliminates search being down during rebuild
<br/>

**Changes:**

- Replaced default index type to SwitchOnRebuildSolrCloudSearchIndex in


YourProject.Foundation.SitecoreExtensions.Search.SwitchOnRebuild.config

### Customized ExternalLink.xml, GeneralLink.xml and InsertLinkViaTreeDialog.js


**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Purpose:** Ability to specify hidden text for CTA <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/DOTCOM-80 <br/>

**Changes:**

- Customized ExternalLink.xml and GeneralLink.xml with additional fields. Location is


/sitecore/shell/Applications/Dialogs/ExternalLink/ExternalLink.xml, GeneralLink.xml

- Customized InsertLinkViaTreeDialog.js. Location is


/sitecore/shell/client/Applications/dialogs/InsertLinkViaTreeDialog.js

### Customized Media upload

**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Purpose:** To be able to select multiple files for media upload <br/>

**Changes:**

- Customized UploadMedia.xml. Location is


/sitecore/shell/Applications/Media/UploadMedia/UploadMedia.xml

- Customized both files in /sitecore/shell/Applications/Media/UploadManager

### Customized Rendering ChromeType

**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Purpose:** To show alert to delete child components when tries to delete a component without
deleting children components <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/SC-278 <br/>

**Changes:**

- Customized RenderingChromeType.js with additional lines. Location is


/sitecore/shell/Applications/Page Modes/ChromeTypes/RenderingChromeType.js

### Customized Inline Editor Util

**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Purpose:** To reomove unwanted p tag into empty multi-line text control <br/>
**Ticket:** https://YourProjectdev.atlassian.net/browse/DOTCOM-3564 <br/>

**Changes:**

- Customized InlineEditingUtil.js. Location is /sitecore/shell/Applications/Page


Modes/InlineEditingUtil.js

### Customize Personalization control

**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Purpose:** To fix components being set inadvertently to A/B test mode <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/SC-35 <br/>

**Changes:**

- Customized Personalization.xml. Location is


/sitecore/shell/Applications/WebEdit/Dialogs/Personalization/Personalization.xml

### Customized Tools.xml

**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Purpose:** To make a new tool AdvancedInsertLink available in Rich text editor toolbar <br/>

**Changes:**

- Added AdvancedInsertLink in /sitecore/shell/Controls/Rich Text Editor/ToolsFile.xml

### Customized Publish.xml

**Project Name in Visual Studio:** YourProject.Foundation.SitecoreExtensions <br/>

**Purpose:** To pre-select and disable publishing targets in publishing dialog <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/DOTCOM-577 <br/>

**Changes:**

- Customized by placing it in /sitecore/shell/Applications/Dialogs/Publish/Publish.

### Customized getRenderingRules processors


**Project Name in Visual Studio:** YourProject.Foundation.Security <br/>

**Purpose:** Personalize page with membership tiers <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/SC-18 <br/>

**Changes:**

- Replaced FilterForEditingPersonalizeTest and FilterForEditingPersonalize processors of


getRenderingRules pipeline with custom processors

### Customized docker startup script

**Purpose:** To fix unpleasing docker startup issue on local <br/>

**Ticket:** https://YourProjectdev.atlassian.net/browse/SC-233 <br/>

**Changes:**

- This issue actually fixed in 10.0.1. So applied following changes by copying from 10.0.1 image

- Copied scripts to /docker/build/cm/scripts and /docker/build/xconnect/scripts

- Copied entrypoint script from 10.0.1 to /docker/build/cm/entrypoint and


/docker/build/xconnect/entrypoint

- Modified Dockerfile for xconnect and cm to copy these scripts to image and replace existing

You might also like