Core Service 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 theUserDataandAccessTokenDataclasses, a bitmap indicating which system-wide privileges a user had, was the same by definition.As of SDL Web 8.5, the
AccessTokenDataclass 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 theUserDataclass does not necessarily reflect this value anymore.In practice, the
UserData.Privilegesproperty is deprecated and should no longer be used, and neither should the now outdatedAccessTokenData.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
UndoPublishTransaction()method andUndoStateclass are no longer present. - New API items introduced to support system privileges
-
The new system privileges introduced in SDL Web 8.5 result in the following new Core Service API items:
API item Description AccessTokenData.InheritedSystemPrivilegesRepresents a dictionary of system privileges current user inherits from groups user is in. GroupData.SystemPrivilegeA collection of system privileges assigned for this group. GroupData.InheritedSystemPrivilegesRepresents a dictionary of system privileges this group inherits from parent groups. TcmSystemPrivilegesContains list of constants for built-in Content Manager System Privileges. ICoreService201603.GetSystemPrivileges()Returns a collection of all system privileges that are registered in the system. AccessTokenData.IsSystemAdministrator()Extension method that checks if current user has system administrative privilege, taking into account the tcm:SystemAdministrationsystem privilege.AccessTokenData.HasSystemPrivilege()Extension method that checks if current user has a specific system privilege. - New API items introduced to support notification broadcasting
-
The new notification broadcast feature introduced in SDL Web 8.5 result in the following new Core Service API items:
API item Description NotificationMessageRepresents a notification message ICoreService201603.BroadcastNotification()Broadcasts notification - Miscellaneous new API items
-
The Core Service now also has the following new API items:
API item Description LoadFlags.ExpandLinksLoad expandable links with fully loaded data objects:ComponentData.SchemaRepositoryLocalObjectData.MetadataSchemaRepositoryData.MetadataSchemaTemplateData.ParameterSchemaPageTemplateData.PageSchema
Rights.PublicationAdministrationRight 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. UsersFilterData.ExcludeDisabledUsersGets or sets a value indicating whether disabled users should be excluded from the list. GroupMembersFilterData.ContextRepositoryGets or sets the RepositoryDatato filter on. Only trustees which are in the scope of this repository will be returned.GroupMembersFilterData.ExcludeDisabledTrusteesGets or sets a value indicating whether disabled users should be excluded from the result list. GroupMembersFilterData.RecursiveGets or sets whether to include trustees from child groups (recursively). ItemsFilterData.ShowDynamicVersionIfReadableByUserOrganizationalItemItemsFilterData.ShowDynamicVersionIfReadableByUserRepositoryItemsFilterData.ShowDynamicVersionIfReadableByUserWhen set to true, shows a dynamic version of an item if readable by the user. Otherwise, it always shows the latest major version of an item (if available).BundleSchemasFilterDataRepresents the data class of a Filterfor a list of bundle schemas for the given repository.