TOM.NET API delta compared to SDL Web 8
Compared to SDL Web 8, the API has changed slightly. Some API changes cause compatibility breaks.
- User privileges no longer identical to Access Token privileges
-
The
Privilegesproperty of theUserandAccessTokenclasses, a bitmap indicating which system-wide privileges a user had, was the same by definition.As of SDL Web 8.5, the
AccessTokenclass calculates its value dynamically based on Group memberships and based on having or not having theSystemAdministrationsystem privilege. It now stores this value in a data structure for system privileges. ThePrivilegesproperty of theUserclass does not necessarily reflect this value anymore.In practice, the
User.Privilegesproperty is deprecated and should no longer be used, and neither should the now outdatedAccessToken.Privilegesproperty. - Work Items contains dynamic versions, not versionless items
-
As of SDL Web 8.5, any API call that returns a
ProcessInstanceorActivityInstanceobject no longer contains versionless items in itsSubjectsproperty, but rather versioned items with versionv0. The same goes for API calls that returnWorkItemobjects. - Undo publish feature dropped
-
Because the "undo publish" feature is no longer supported as of SDL Web 8.5, the
PublishTransaction.Undo()method is no longer present. In the TOM.NET Event System,UndoPublishTransactionEventArgsis also gone. - New API items introduced to support system privileges
-
The new system privileges introduced in SDL Web 8.5 result in the following new TOM.NET API items:
API item .NET Assembly Description Tridion.ContentManager.Security.SystemPrivilegeTridion.ContentManager.Common.dll Represents System Privilege assigned to a group or inherited by user. Tridion.ContentManager.Security.TcmSystemPrivilegesTridion.ContentManager.Common.dll Contains list of constants for built-in Content Manager System Privileges. AccessToken.InheritedSystemPrivilegesTridion.ContentManager.dll Represents a dictionary of system privileges current user inherits from groups user is in. AccessToken.HasSystemPrivilege()Tridion.ContentManager.dll Checks if the current user's Access Token has demanded system privilege. Group.SystemPrivilegeTridion.ContentManager.dll A collection of system privileges assigned for this group. Group.InheritedSystemPrivilegesTridion.ContentManager.dll Represents a dictionary of system privileges this group inherits parent groups. Session.SystemManager.GetSystemPrivileges()Tridion.ContentManager.dll Gets all registered system-wide privileges. Session.SystemManager.GetSystemAdministratorGroup()Tridion.ContentManager.dll Gets the system administrator group. TcmExtension.RegisterSystemPrivilege()Tridion.ContentManager.dll Registers custom system-wide privileges. - New API items introduced to support notification broadcasting
-
The new notification broadcast feature introduced in SDL Web 8.5 result in the following new TOM.NET API items:
API item .NET Assembly Description NotificationMessageTridion.ContentManager.Common.dll Represents a notification message Session.NotificationsManagerTridion.ContentManager.dll Provides functionality to send notifications - New API items introduced to support the new binary content storage framework
-
The new binary content storage framework introduced in SDL Web 8.5 results in the following new TOM.NET API items:
API item .NET Assembly Description Tridion.ContentManager.IPermanentStorageProviderTridion.ContentManager.dll Defines the mechanism for storing binaries in the permanent content storage. Tridion.ContentManager.PermanentStorageProviderTridion.ContentManager.dll Abstract class representing storage for uploaded binaries. Tridion.ContentManager.DatabaseBinaryContentStorageTridion.ContentManager.dll Database storage for uploaded binaries. FileSystemBinaryContentStorageTridion.ContentManager.dll Represents file system storage for uploaded binaries. It can be used both as temporary and as permanent storage. AmazonS3BinaryContentStorageTridion.ContentManager.Extensibility.AmazonStorage.dll Uses Amazon S3 storage to implement the IBinaryContentStorageinterface.AzurePermanentBlobStorageProviderTridion.ContentManager.Extensibility.AzureStorage.dll Encapsulates mechanism to store, retrieve and remove files from Microsoft Azure Storage. - Miscellaneous new API items
-
TOM.NET now also has the following new API items:
API item .NET Assembly Description Tridion.ContentManager.LoadFlags.ExpandLinksTridion.ContentManager.Common.dll Load expandable links with fully loaded data objects:ComponentData.SchemaRepositoryLocalObjectData.MetadataSchemaRepositoryData.MetadataSchemaTemplateData.ParameterSchemaPageTemplateData.PageSchema
Tridion.ContentManager.Security.Rights.PublicationAdministrationTridion.ContentManager.Common.dll Right that gives a user or group of users administrative privileges in the scope of a particular Publication. Such users can read and edit any item in publication, perform a check-in or an undo check-out of items owned by other users, force finish workflow process and so on. Session.AccessTokenTridion.ContentManager.dll Gets the access token for which this session was created. Session.AllowReadDynamicContentTridion.ContentManager.dll Gets flag indicating whether allow to show content/changes of items that are checked out. UsersFilter.ExcludeDisabledUsersTridion.ContentManager.dll Gets or sets a value indicating whether disabled users should be excluded from the list. GroupMembersFilter.ContextRepositoryTridion.ContentManager.dll Gets or sets the RepositoryDatato filter on. Only trustees which are in the scope of this repository will be returned.GroupMembersFilter.ExcludeDisabledTrusteesTridion.ContentManager.dll Gets or sets a value indicating whether disabled users should be excluded from the result list. GroupMembersFilter.RecursiveTridion.ContentManager.dll Gets or sets whether to include trustees from child groups (recursively). ItemsFilter.ShowDynamicVersionIfReadableByUserOrganizationalItemItemsFilter.ShowDynamicVersionIfReadableByUserRepositoryItemsFilter.ShowDynamicVersionIfReadableByUserTridion.ContentManager.dll When set to true, show a dynamic version of an item if readable by user. Otherwise, always show latest major version of an item (if available).BundleSchemasFilterTridion.ContentManager.dll Represents the Filterfor retrieving the bundle schemas of a publication.Repository.GetBundleSchemas()Tridion.ContentManager.dll Gets a list of Bundle Schemas in this Repository.