Backwards compatibility and API changes in Content Manager introduced in Tridion Sites 10
The Content Manager APIs have changed somewhat in this release, which may affect your customizations.
Support for dates with or without a time zone
Tridion Sites 10 changes to how Content Manager APIs handle dates, particularly for system metadata fields, such as the CreationDate and RevisionDate fields.
- Prior to Tridion Sites 10
-
In previous releases, system metadata fields stored date/time strings with an unspecified time zone.
For example:
2022-04-27T14:10:50Additionally, date fields in Schema or Component content were stripped of their time zone and milliseconds were disregarded.
- From Tridion Sites 10
-
Now system metadata fields provide date strings in the ISO-8601 UTC format (Coordinated Universal Time).
For example:
2022-04-27T14:10:50.647ZThe "Z" is the zone designator for the zero UTC offset, also known as "Zulu" time. See: ISO 8601 - Wikipedia for more information on this standard.
For backward compatibility, all Content Manager API's (WCF Core Service, Core Service.REST and TOM.NET) now support saving and loading of dates in both the ISO-8601 UTC format or with an unspecified time zone. This API change provides backward compatibility for dates provided by the Content Manager user interfaces regardless of whether or not they have a time zone specified. This means the following:
User-entered dates -- Neither the Classic user interface nor Experience Space allows the user to specify a time zone when entering a date, and so the API saves these with an unspecified time zone. The dates will therefore show to all users as entered regardless of the current user's time zone.
System dates -- System metadata properties, including
CreationDateandRevisionDate, now include the time zone. End users do not see a time zone, but these system dates will be converted into the user's own time zone (as before).
HTTP-based endpoints for the ECL API
- Basic HTTP endpoint
- The basic HTTP endpoint is the best option in most cases.
- WS-HTTP endpoint
- The web services HTTP endpoint can be used where user impersonation is needed.
Both endpoints are hosted in an IIS web application and deployed in the Content Manager web services Web App (next to the Core Service and Import/Export Service ).
Precompiled ECL Service client
This release introduces a precompiled ECL Service client, provided as a .NET assembly. We recommended that you use this client for your .NET projects. For other languages, you can generate a client using the WSDL provided by the ECL Service.
You can find the precompiled client on a Content Manager server in the following folder: %TRIDION_CM_HOME%\bin\client\ExternalContentLibraryService
The namespace for the client is as follows: Tridion.ExternalContentLibrary.Service.Client
In addition, the client comes with the following example configuration: Tridion.ExternalContentLibrary.Service.Client.dll.config
Core Service.REST API delta
The following table describes the the changes in the Core Service.REST API between release Tridion Sites 9.6 and Tridion Sites 10.
| New/Changed/Deleted | Controller | Method/Property | Description |
|---|---|---|---|
| NEW | Binaries | POST /v{api-version}/items/{escapedFolderId}/upload | Uploads a single binary file and creates a multimedia component.
|
| NEW | BatchOperations | POST /v2.0/batch/startActivity | Starts a batch of activities. |
| NEW | BatchOperations | POST /v2.0/batch/finishActivity | Finishes a batch of activities. |
| NEW | BatchOperations | POST /v2.0/batch/restartActivity | Restarts a batch of activities. |
| NEW | BatchOperations | POST /v2.0/batch/reassignActivity | Reassigns a batch of activities. |
| NEW | Lists | GET /v2.0/lockedItems | Gets a list of locked items (either versioned items or organizational items). |
| NEW | Lists | GET /v2.0/users | Gets a list of Users. |
| NEW | Lists | GET /v2.0/groups | Gets a list of Groups. |
| NEW | OrganizationalItems | GET /v2.0/items/{escapedOrgItemId}/itemsPage/{pageIndex} | Gets a paginated list of child items of a specified organizational item. |
| CHANGED | Search | GET /v{api-version}/items/search changed to GET /v2.0/system/search | Searches the system for a specified text string. |
| NEW | Settings | GET /v2.0/userSettings | Gets user settings for an authenticated user. |
| NEW | Settings | PUT /v2.0/userSettings | Saves user settings for an authenticated user. |
| NEW | Settings | DELETE /v2.0/userSettings | Deletes user settings for an authenticated user. |
| NEW | Settings | GET /v2.0/applicationSettings | Gets application settings for specified application ID. |
| NEW | Settings | PUT /v2.0/applicationSettings | Saves application settings with specified application ID. |
| NEW | Settings | DELETE /v2.0/applicationSettings | Deletes application settings for specified application ID. |
| NEW | Workflow | GET /v2.0/activityInstances | Gets a list of Activity Instances. |
| NEW | Workflow | POST /v2.0/items/{escapedActivityInstanceId}/restartActivity | Restarts an automated Activity Instance which is in Failed state. |
| NEW | Workflow | POST /v2.0/items/{escapedActivityInstanceId}/reassignActivity | Reassigns a Workflow Activity to another User or Group. |
Core Service.REST deprecated methods
This release includes the following deprecated methods.
| Controller | Deprecated method | Description |
|---|---|---|
| ApplicationData | GET /v2.0/items/{escapedItemId}/appData | Gets application data for all applications related to a specified item. Replaced with methods from Settings controller. |
| Extensions | GET /v2.0/extensions | Gets a list of Experience Space extensions. |
| Lists | GET /v2.0/checkedOutItems | Gets a list of items that are checked out. Replaced with a new method GET /v2.0/lockedItems. |
WCF Core Service API delta
The following table describes the the changes in the WCF Core Service API between release Tridion Sites 9.6 and Tridion Sites 10.
- Tridion.Common
-
New/Changed/Deleted Interface/class Method/Property Description NEW Tridion.Configuration.ConfigurationSections GetSection(...) Gets a section element by name, - Tridion.ContentManager
-
New/Changed/Deleted Interface/class Method/Property Description DELETED Tridion.ContentManager.Configuration.GeneralConfiguration LicenseSettings Gets or sets the license related settings. DELETED Tridion.ContentManager.Configuration.LicenseSettings Specifies license related settings. NEW Tridion.ContentManager.ContentManagement.LockedItemsFilter Represents a filter that can be used to obtain locked item (either versioned items or organizational items). DELETED Tridion.ContentManager.ContentManagement.SearchQuery GetListResults(...) Get a subset of the query results as an XML list. NEW Tridion.ContentManager.Extensibility.Events.InitialAssignActivityEventArgs Represents event data for events related to initial assigning of the first inside a process instance. NEW Tridion.ContentManager.Pagination Represents the filter/output needed for retrieving a paginated list. NEW Tridion.ContentManager.Publishing.Models.IdentifiableObjectModel OwningPublicationId Gets or sets a native Tridion Content Manager URI which uniquely identifies an owning publication. NEW Tridion.ContentManager.Security.GroupsFilter ExcludeEveryoneGroup Gets or sets a value indicating whether the special "Everyone" Group (representing all CM users) should be returned. NEW Tridion.ContentManager.StronglyTypedFilter Pagination Gets or sets the pagination (input and output) used for retrieving only a single list page. NEW Tridion.ContentManager.SystemManager GetLockedItems(...) Gets a list of items (Versioned Items or Organizational Items) that are locked. NEW Tridion.ContentManager.SystemManager GetListLockedItems(...) Gets a list of items (Versioned Items or Organizational Items) that are locked. NEW Tridion.ContentManager.Workflow.Activity PrimarySubject Gets the Primary Subject for this Activity. NEW Tridion.ContentManager.Workflow.ActivityInstance ApprovalStatus Gets the Approval Status for this Activity Instance. NEW Tridion.ContentManager.Workflow.ActivityInstance ProcessDefinition Gets the Process Definition on which the Activity Instance is based. NEW Tridion.ContentManager.Workflow.ActivityInstance WorkflowType Gets the workflow type of the Process which contains this Activity. NEW Tridion.ContentManager.Workflow.ActivityInstancesFilter IncludePrimarySubject Gets or sets a value indicating whether the Primary Subject is set in the returned list. - Tridion.ContentManager.Common
-
New/Changed/Deleted Interface/class Method/Property Description NEW Tridion.ContentManager.DataPipeline.IIdentifiableObject OwningPublicationId Gets or sets a native Tridion Content Manager URI which uniquely identifies an owning publication. NEW Tridion.ContentManager.Security.Rights LockManagement Grants the user rights to unlock items locked by other users. - Tridion.ContentManager.CoreService.Client
-
New/Changed/Deleted Interface/class Method/Property Description NEW Tridion.ContentManager.CoreService.Client.ActivityData PrimarySubject Gets the Primary Subject for this Activity. NEW Tridion.ContentManager.CoreService.Client.ActivityInstanceData ApprovalStatus Gets the Approval Status for this Activity Instance. NEW Tridion.ContentManager.CoreService.Client.ActivityInstanceData ProcessDefinition Gets the Process Definition on which the Activity Instance is based. NEW Tridion.ContentManager.CoreService.Client.ActivityInstanceData WorkflowType Gets the workflow type of the Process which contains this Activity. NEW Tridion.ContentManager.CoreService.Client.ActivityInstancesFilterData IncludePrimarySubject Gets or sets a value indicating whether the Primary Subject is set in the returned list. DELETED Tridion.ContentManager.CoreService.Client.CoreServiceClient GetSearchResultsXmlPaged(...) Gets a paged list of items as XmlElementconstrained by the specifiedSearchQueryData.DELETED Tridion.ContentManager.CoreService.Client.CoreServiceClient GetSearchResultsPaged(...) Gets a paged list of IdentifiableObjectDataconstrained by the specifiedSearchQueryData.NEW Tridion.ContentManager.CoreService.Client.GroupsFilterData ExcludeEveryoneGroup Gets or sets a value indicating whether the special "Everyone" Group (representing all CM users) should be returned. NEW Tridion.ContentManager.CoreService.Client.CookiesEnabledWSHttpBinding Represents a cookies-enabled WS-HTTP binding, which insures that WS-HTTP endpoints can be used through a Load Balancer and with cookie-based Sticky Sessions. DELETED Tridion.ContentManager.CoreService.Client.ISessionAwareCoreService GetSearchResultsXmlPaged(...) Gets a paged list of items as XmlElementconstrained by the specifiedSearchQueryData.DELETED Tridion.ContentManager.CoreService.Client.ISessionAwareCoreService GetSearchResultsPaged(...) Gets a paged list of IdentifiableObjectDataconstrained by the specifiedSearchQueryData.DELETED Tridion.ContentManager.CoreService.Client.ICoreService GetSearchResultsXmlPaged(...) Gets a paged list of items as XmlElementconstrained by the specifiedSearchQueryData.DELETED Tridion.ContentManager.CoreService.Client.ICoreService GetSearchResultsPaged(...) Gets a paged list of IdentifiableObjectDataconstrained by the specifiedSearchQueryData.NEW Tridion.ContentManager.CoreService.Client.LockedItemsFilterData Represents the data of a filter that can be used to obtain locked item (either versioned items or organizational items). NEW Tridion.ContentManager.CoreService.Client.PaginationData Represents the filter data needed for retrieving a paginated list. NEW Tridion.ContentManager.CoreService.Client.Rights LockManagement Grants the user rights to unlock items locked by other users. DELETED Tridion.ContentManager.CoreService.Client.SessionAwareCoreServiceClient GetSearchResultsXmlPaged(...) Gets a paged list of items as XmlElementconstrained by the specifiedSearchQueryData.DELETED Tridion.ContentManager.CoreService.Client.SessionAwareCoreServiceClient GetSearchResultsPaged(...) Gets a paged list of IdentifiableObjectDataconstrained by the specifiedSearchQueryData.NEW Tridion.ContentManager.CoreService.Client.StronglyTypedFilterData Pagination Gets or sets the pagination data used for retrieving only a single list page. DELETED Tridion.OidcClient.UrlUtils Internal utility class used for Access Manager integration.