Known issues in Content Manager

The following list describes issues known to exist in Content Manager.

Host name not included in the Content Manager URL used by Experience Space BFF
When running the Tridion Sites installer, you can specify a host header. The installer correctly sets this host name in binding in IIS but it does not set the host name in the Tridion.ContentManager.Url property used by the Backend for Frontend (BFF). As a result, Experience Space is unable to connect to the Content Manager API and then fails to load.
To work around this problem, manually add the host header to the Tridion.ContentManager.Url property that is located in the /ui/appsettings.json configuration file.
If .NET Core Hosting Bundle is installed before Microsoft IIS on a clean system, a reinstall of .NET Core Hosting Bundle may be needed
When installing on a clean Microsoft Windows Server machine, IIS may not yet be installed. You may initially install .NET Core Hosting Bundle before installing IIS. If you do so, you may end up with an inconsistent system. This issue is also described in the Microsoft article about the .NET Core Hosting Bundle: see the Important note at the top of https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/hosting-bundle?view=aspnetcore-6.0.
To work around this problem, reinstall the .NET Core Hosting Bundle after installing IIS.
Using both template-based publishing and templateless, data-only publishing with the same content can lead to unwanted side effects
Tridion Sites offers two methods of publishing: template-based publishing and its replacement, templateless, data-only publishing. While you are migrating from template-based publishing to templateless, data-only publishing, you may find yourself considering using both methods at the same time for the same publication.
However, doing so requires you to use two different publishing pipelines side by side, with extra total cost of ownership to maintain.
Beyond those organizational costs, there are also technical issues that can arise. For one, the Content Delivery search feature is designed to be used with templateless, data-only publishing only. For another, an instruction to Content Delivery to remove a Component results in all of that Component's information being removed, whether rendered with template, or publishing without a template (JSON content), when unpublishing a Component Template.
For all of these reasons, you should not mix the two publishing methods when handling the same content.
Leaving the Access Management unselected in the Content Manager installer will not uninstall the feature
By default, the Access Management feature is not selected in the installer. If you are upgrading from SDL Tridion Sites 9.5 and you have the Access Management feature installed, leaving the option unselected will not cause it to be removed.
Smart Tagging of content in Asian languages does not work
When using the Smart Tagging feature of the Tridion Semantic AI package, the quality of tag suggestions is very low when source content is one of the Asian languages. You might get some correct suggestions, such as for direct matches, but generally the tagging does not work. This issue affects Experience Space and the Core Service.REST API, which both support the Smart Tagging feature.
Note that this is a known limitation of the PoolParty Semantic Suite, the technology underlying the Smart Tagging feature. PoolParty algorithms are based on words are divided by spaces, which is not the case for Asian languages.
Inconsistent publishing results related to Region Schemas and templateless, data-only publishing
The templateless, data-only publishing feature (introduced in SDL Tridion Sites 9.5) adds new options to several Schema types, including Region Schemas. The two general Schema-level options make it possible for you to individually select Schema fields to be publishable and searchable, and the field-level options enable you to select individual fields for publishing and search.
For Region Schemas, if you do not select the general options, the Region Schema metadata will not be published and will not be searchable when a Page that uses the Schema gets published. This is expected behavior; however, other content contained in the Region (including Component content) does still get published, which is not expected behavior. For this reason, we recommend selecting the general options and then using the field-level options to exclude Region metadata fields from publishing and indexing where needed.
When using Azure Active Directory for Single Sign-On, a User can have at most 150 groups assigned to them
The following Microsoft Azure documentation topic describes a limitation in Azure Active Directory: https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-fed-group-claims#options-for-applications-to-consume-group-information. As the topic states, "Azure Active Directory limits the number of groups it will emit in a token to 150 for SAML assertions, and 200 for JWT to prevent tokens getting too large. If a user is a member of a larger number of groups than the limit, the groups are emitted and a link to the Graph endpoint to obtain group information."
Publishing is 8% slower using Microsoft Windows Server 2022 or 2019 compared to Microsoft Windows Server 2016 if you use AWS
Publish performance testing of the Tridion Sites 9.6 release using Windows 2022, Windows 2019 and Windows 2016 revealed an 8% decrease in performance in Windows 2022 or Windows 2019 compared to Windows 2016 if you use AWS. Note that as from Tridion Sites 10, Windows 2016 is no longer as supported operating system version.
ISearchIndexingHandler is not backward compatible
The Core Service may raise an error like the following one:
Unable to load 'Search Index Handler' for assembly 
'SearchIndexerUnifiedExtension.dll' and type 'SearchIndexerUnifiedExtension.SearchIndexerUnifiedExtension'
Method 'ExtractIndexFields' in type 'SearchIndexerUnifiedExtension.SearchIndexerUnifiedExtension' from assembly 
'SearchIndexerUnifiedExtension, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

Component: Tridion.AddonService.SDK
Errorcode: 865
User: USER

StackTrace Information Details:
   at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
   at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
   at System.Reflection.Assembly.GetType(String name, Boolean throwOnError)
   at Tridion.ContentManager.Search.Indexing.SearchIndexingEngine.GetSearchIndexingHandlersFromConfiguration()
   at Tridion.ContentManager.Search.Indexing.SearchIndexingEngine.GetSearchIndexingHandlersFromConfiguration()
If you see this error, your code is using ISearchIndexingHandler, which is not backward compatible, because it uses CoreserviceClient.
To fix this problem, after your upgrade, rebuild your custom search indexer against the matching version of Tridion.ContentManager.CoreService.Client.dll.
CMSession.CoreServiceClient requires a rebuild of your GUI extensions
To get the Core Service client instance, your GUI extension can use the public helper property CMSession.CoreServiceClient. Content Manager Explorer, for example, exposes the latest Core Service client endpoint through this property. After an upgrade, this property returns a different version of the CoreService client than before the upgrade.
If your GUI extension uses the CMSession.CoreServiceClient property to get an instance of the Core Service client, you must rebuild the extension after your upgrade to target the latest CoreService endpoint. Otherwise, the extension will fail after the upgrade.
.NET method Uri.EscapeDataString(urlString) has changed behavior
Version 4.0 or older of the Microsoft .NET Framework is not supported. This may have an effect on how your URLs are parsed if they contain brackets:
  • In .NET 4.0 and older, characters that are reserved in RFC 2396 are escaped. RFC 2396 allows brackets.
  • In .NET 4.5 and newer, characters that are restricted in RFC 3986 are escaped. RFC 3986 restricts brackets.
This change is related to the enabling of IRIs (Internationalized Resource Identifiers). For more information, refer to this page on the MSDN Web site: https://msdn.microsoft.com/en-us/library/system.uri%28v=vs.110%29.aspx
To quickly see the difference in behavior, run the following code, targeting first .NET 4.0 and then .NET 4.6.2:
string url= @"http://some.url/page (bracketed).html";
Console.WriteLine(url);
Console.WriteLine(Uri.EscapeDataString(url));
The complete list of characters that are restricted (that is, that will be encoded) as per RFC 3986 are:
: / ? # [ ] @ ! $ & ' ( ) * + , ; =
Use of Recursive in OrganizationalItemItemsFilter causes other filter parameters to be ignored
An OrganizationalItemItemsFilter lets you combine multiple filter parameters. One filter parameter is Recursive, which causes the filter to recurse into child organizational items. However, setting Recursive to true has the unintended side effect of rendering almost all other filter parameters ineffective, as if they were not set. Specifically, if Recursive is set to true, ItemTypes is the only other filter parameter that gets processed; the filter ignores BasedOnSchemas, SchemaPurposes, ComponentTypes, TemplateTypeIds, LockFilter and NotBasedOnSchema.
For example, consider the following code sample:
OrganizationalItemItemsFilter filter = new OrganizationalItemItemsFilter(Session)
  {
    SchemaPurposes = new[] { SchemaPurpose.Component },
    ItemTypes = new[] { ItemType.Schema },
    Recursive = true
  };
var componentSchemas = Publication.RootFolder.GetListItems(filter);
The call to GetListItems should apply all parameters and return only Schemas with a Component Purpose in the given Publication's root folder and subfolders. However, because of this issue, GetListItems instead only applies the Recursive and ItemTypes parameters, not the SchemaPurposes parameter, and returns all Schemas, regardless of Purpose, in the Publication's folder tree.
This issue affects TOM.NET and the Core Service alike.