The SAS® Drug Development (SDD) API release 1.5 is available for use with SDD Version 4.2.1.
Number
|
Title
|
Description
|
US5688
|
Compatibility updates for SAS® Drug Development 4.2
|
Code changes in SAS® Drug Development 4.2 required changes to the API code base.
-
MembershipService – the removeMember and removeMembers methods throw an additional exception, InvalidMemberException. It is thrown when the member for removal is not an assigned member.
-
MembershipService – optimistic locking has been put in place for updateMembership. This means if you try to update a membership and that membership is not the same one you got from the server. It was updated, because you retrieved it and a run-time exception is thrown.
-
MembershipService – getAssignedMembers in API 1.3 returned assigned and unassigned members. In API 1.4, getAssignedMembers returns only explicitly assigned members. To get all members, assigned and unassigned, use getMembership().getMembers().
-
MembershipDescriptor – the context field type has changed from MembershipContext to ObjectIdentity. This is consistent with the context fields on GroupDescriptor and RoleDescriptor.
-
GroupService – the createGroup and updateGroup methods throw an additional exception, InvalidGroupMemberException. PrincipalNotFoundException is no longer thrown. InvalidGroupMemberException is thrown if a member is not found or a member is not a member of the current context.
-
GlobalPrivilegeAssignmentService - no code changes were made but getAvailablePrivileges now reflects global privilege changes in SDD 4.2. They are:
-
Access WebDAV privilege added.
-
Administer Work Items privilege removed.
-
PrivilegeService – no code changes were made to this method but the getAvailablePrivileges method now reflects the scoped privilege changes in SDD 4.2 for work item contexts. They are:
-
Administer Work Items privilege added.
-
Manage Work Items privilege added.
|
US4437
|
Export Audit Trail
|
Added AuditService to query audit trail entries.
|
US5397, US5398
|
Lock and Unlock File
|
Added lockFile and unlockFile methods to the RepositoryResourceService.
|
US4435
|
Batch check-in and check-out
|
Added BatchRepositoryResourceService, which allows files and container paths to be specified for check-in and check-out. If a container path is specified, all files within that container are included.
|
US4738
|
Event subscription
|
Added SubscriptionService to support creating subscriptions to select events for generating notifications.
|
US5917
|
Download as zip
|
Added BatchRepositoryResourceService and BatchWorkspaceResourceService, which allows files and container paths to be specified for download to a zip file. If a container path is specified, all files within that container are included.
|
US5918
|
Upload and expand
|
Added BatchRepositoryResourceService and BatchWorkspaceResourceService, which allows a compressed file to be uploaded and expanded into the repository.
|
DE2125
|
InvalidMemberException no longer thrown in certain cases
|
InvalidMemberException is no longer thrown in the MembershipService removeMember method if a group is attempted to be removed from the context that it was created in.
|
US5689
|
Support run-as functionality for jobs
|
The JobService has two new methods, getRunAsOwner and setRunAsOwner, which reflects the ability to set the run-as owner flag. This flag was introduced in SDD 4.2. By default, when a job is created, this value is false, and jobs are run as the submitter. Because the default in 4.1.1 was to run jobs as the owner, any 4.1.1 jobs migrated to 4.2 flags are set to true.
|
US5396
|
Get, Set, and Update Permissions
|
Added AclService and com.sas.security.acl package to support the getting and modification of permissions on repository containers and objects.
|
US5399
|
Schedule Job
|
Added ScheduleService and com.sas.hls.schedule package to support the scheduling of objects, which support the Schedulable interface.
|
US5482a
|
Update user, project, and analysis.
|
Added update methods to the userService, projectService, and analysisService. This includes the ability to lock and unlock a user account, and to change the state of a project, or analysis.
|
US5492b
|
Get Reachable Groups
|
Added the getAllReachableGroupsByMember and getReachableGroups-ByMember methods to the groupService so that non-direct group membership can be accessed via the API.
|
US4353
|
Rename object or folder
|
Added rename methods to the RepositoryResourceService and WorkspaceResourceService to enable the renaming of existing objects or folders.
|
US4736
|
Mark for add (single file)
|
Added the markForAddAndCheckinFileFromWorkspace method to the WorkspaceResourceService.
|
US4442
|
Manage Recycle Bin
|
Added RecycleBinService and com.sas.hls.recyclebin package to manage deleted items that the current user can access.
|
US4578-a
|
Create, Rename, Delete Project
|
Added ProjectService and com.sas.drug.project package to manage the life cycle of a project.
|
|
US4578-b
|
Create, Rename, Delete Analysis
|
Added AnalysisService and com.sas.drug.analysis package to manage the life cycle of an analysis.
|
US4351,
US4966
|
Copy File, Copy Folder
|
Added the ability to copy files and folders to workspace and repository resource services.
WorkspaceResource and RepositoryResource objects now implement a marker interface “com.sas.hls.resource.Resource”, which serves as a common parent for all resources in SAS Drug Development.
|
US4359
|
Create User, Delete User
|
Reset User Password
Added UserService and com.sas.hls.security.user package to support the creation and deletion of users. This service also supports resetting a user’s password.
|
US4354,
US4355,
US4356
|
Create, Update, and Delete Group
|
Added GroupService and com.sas.hls.security.group package to manage groups within SAS Drug Development. Groups in SAS Drug Development are scoped to a context where a context is a location where a group can be defined such as Organization, Project, or Analysis.
|
US5060
|
Assign Principals to Membership context
|
Added com.sas.hls.security.membership, com.sas.hls.security.principal, and com.sas.hls.organization packages and MembershipService to manage the membership of contexts. Principals are assigned to membership contexts such as Organization, Project, or Analysis.
|
US5071
|
Assign Global Privileges to Principals
|
Added GlobalPrivilegeAssignmentService to manage assignment of global privileges granted to users. These privileges are defined globally and not scoped to a context.
|
US4350, US4349
|
Create, Update Job
|
Added JobService and com.sas.hls.job packages to support the creation and modification of jobs in the workspace and repository.
Note: Deletion of jobs is performed using WorkspaceResourceService or RepositoryResourceService.
|
US5123
|
Job Execution
|
Added JobExecutionService to support execution of jobs in the workspace or in the repository. The current status of the submitted job can also be obtained.
|
US5127, US5128
|
Role Definition
Role Assignment
|
Added RoleDefinitionService, RoleAssignmentService, PrivilegeService, and com.sas.hls.security.role and com.sas.hls.security.privilege packages for managing role definition and assignment.
RoleDefinitionService enables defining roles in SAS Drug Development at a context and inheriting roles from parent contexts through assignment of the defined roles to child contexts. A Role context can be an Organization, Project, or Analysis.
RoleAssignmentService enables assignment of Principals to roles assigned to a context.
PrivilegeService provides a way to get the set of context-specific privileges available for defining roles at a context.
|
DE1559
|
DBCS characters and encoding issues in resource services
|
Resource filenames and version comments containing DBCS characters were not handled correctly in 1.1. This problem has been addressed.
Note: End users must not perform any encoding or decoding of method parameters. Any previous reference to the UriAndPathUtils class (formerly shipped with the API) should be removed. For this reason, com.sas.hls.utils.UriAndPathUtils has been removed from the API.
|
DE1350
|
CreateParentFolders not honored in some cases
|
The createParentFolders option was not honored in some file creation methods in Workspace and Repository resource services. This problem has been addressed.
RepositoryResourceService method name change
Method createContainer has been changed to createFolder.
|