Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Background

In portal file browsers around the portal, to perform many actions, such as delete, move, and othersdelete or otherwise update an entity, you must first select the target entity,. From inside a project or folder, there is no quick and convenient way to delete/move/etc update multiple files and subfolders, so the aim is to provide a way to bulk select files from within the files browser then select a bulk action to perform on those selected.  We introduce a new set of services to provide the mechanism for performing and tracking these jobs. We intend to interface with the already present job tracking widget, which may then be extended for other uses on the portal such as table query tracking.

...

The new classes are:

Request

BulkRequest.uxf

Image RemovedImage Added

Response

BulkResponse.uxf

...

ActionURIMethodRequest BodyResponse BodyAuthorization
Bulk Delete/deleteEntities/async/startPOSTEntityIdListList<Entity>BulkEntityResponse ACCESS_TYPE.DELETE on each entity in the passed entityList
Bulk MoveUpdate/moveEntitiesupdateEntities/async/startPOSTEntityIdList, StringList<Entity>BulkEntityResponseACCESS_TYPE.UPDATE on each entity in the passed entityList, as well as the destination entity

Discussion

  • The web services follow the pattern established by many async table functions in their http method and their URI. EntityIdList is an established object used elsewhere rather than merely using a List<String> or a Set<String>.
  • The name and structure of the response has had comparably less review than the response.
  • It is currently under investigation whether whoever requests the move operation also requires ACCESS_TYPE.UPDATE or other on the parentId in question.

...