This page is used to track feature requests taken from conversations, critiques and onboarding conversations.
[UPDATE 2022-03-21] Following discussion with other teams, feature priorities for next iteration of document service have been identified.
V2 Feature Priorities
Review of the document service endpoints
Alignment with best practices for performance of upload and ease-of-use
Clear stipulation of document lifecycle (hot → cold → archive); possibly even fields to set the lifecycle (if teams see value)
Our team noticed performance issues when uploading files, basically the client blazor app on cloud was uploading the file to server, then server uploading to document service api, resulting in upload times 2x the value they should be. We found Microsoft guidance on how to implement client app going directly to api without uploading to server but were not able to get working perhaps because the api does not use IFormFile interface: https://docs.microsoft.com/en-us/aspnet/core/blazor/file-uploads?view=aspnetcore-5.0&pivots=server
Implementation of custom metadata field
Provide users with a json field to store program-specific data that would relate to the file being uploaded
Implementation of OData for efficient querying. Example: Add endpoint for querying by documentTypes fields ex documentTypes.Includes(t => t.Id == “ServiceRequestId” && “t.Value == “12345).
Event based pub/sub communication
Integration with MAACE service bus
Design specs for topics and event/message content
Preview functionality for images
Endpoint can return thumbnail for images
Future Features Under Consideration (in no particular order)
Store files by line of business
This feature would include a blob container for every line of business that could be RBAC controlled for access.Improved integration with AAD
Currently posting a file asks for user information, this information could be extracted from request headers.File transience
When uploading a file, a transience setting would specify how long to retain the file for. At time of expiry, the file is removed from the service completely.Mark a file for removal
Condition: Once integration with enterprise storage is in place.
When uploading a file, a field is provided to specify whether the file should be removed from document service once uploaded to enterprise storage.Tool to onboard new lines of business onto the service
Think PowerApp that would automate onboarding for a new line of business (ie create new blob container and setup AAD permissions)Preview functionality for videos
Endpoint can return low-res video