Document Manager - Productionising
Background
Outlining how we intend to deploy Document Management across the pre-live environments and phase its implementation into Production
Refer to the Story in the list below for the requirements.
TIS Stories/Tasks
Ops changes
Jenkins work to deploy document management service to dev, staging, production, UAT, UIDev
Azure folder for each pre-live environment?
Implement security on the Azure folder to limit access to the document reference service
Back End changes
Implement enforcing document management permission into all the endpoints
Front End changes
Implement document management permission - don't show the L3 menu in People if permission not present
Implement Read Only mode which is configurable to allow phased rollout to some teams before final team comes over and final document migration is conducted
Implement more graceful 'file not found' error handling so we can load full metadata into pre-live environments without needing to copy the production documents to the pre-live folders
Discussion points
Taken from now-deleted Slack channel
Agree MIME types, file size restrictions
Max # of files in batch
Max # of simultaneous doc edits
Source of tags - endpoint just for listing in autocomplete, is there a global one already?
download one/multiple files - does this require an API call first to get URI?
what does 'smart type' mean (in sketches?)
which section does document manager appear? (persons / posts section?)
restrictions on content-disposition downloads? how to we do multiple download?
client-side queue of download streams best way?
how does the documents relate to a specific section (persons / posts etc)? do we limit the docs according to the context, or is it always global doc search / edit / etc.
multiple upload: split into upload process and then meta-data ? in that case we need to get ids for files back from upload endpoint and be able to apply for then sending meta data to update with. (edited)
Endpoints
batch upload (POST)
single upload (POST)
batch update (PUT)
single update (PUT)
get list of documents (metadata only) (GET)
get file (download file) (GET)
get multiple files (download file) (GET)
search (POST/GET)
Slack: https://hee-nhs-tis.slack.com/
Jira issues: https://hee-tis.atlassian.net/issues/?filter=14213