- The Repository administrator selects a set of objects to be deposited
- The Repository calls the Gateway PUT Object endpoint once for each object to be deposited; this starts the deposit process
- The Gateway resolves each object into a set of files to be deposited; each file is either copied to the Gateway staging storage area or a link to the file is captured to allow transfer to the Bridge
- The Gateway calls the Bridge Deposit Content endpoint using the object ID as the filegroup identifier and providing an identifier for each file to be deposited
- The Bridge initiates a deposit action for each filegroup in the deposit request
- For each file in each filegroup the Bridge calls the Gateway TBD GET File endpoint to initiate a transfer of the file to the Bridge staging storage location
- As each file transfer into the Bridge staging storage completes, the Bridge compares the checksum of the transferred file to the checksum provided in the deposit request; any mismatches trigger a re-transfer
- Once all files in a filegroup are in Bridge staging storage and all checksums are validated, the status of the deposit is updated to "STAGED_FOR_DEPOSIT"
- The DDP calls the Bridge List Deposits endpoint on a regular schedule to check for new deposits in the "STAGED_FOR_DEPOSIT" state
- For each staged deposit in the Bridge the DDP copies the files from Bridge staging storage into the DDP ingest pipeline and performs a deposit (and replication)
- When the deposit into the DDP is finished, the DDP calls the Bridge Complete Deposit endpoint to inform the Bridge that the deposit is complete
- The Bridge clears the files associated with the completed deposit from Bridge staging storage
- The Repository administrator checks the object status in the Repository; the Repository requests information about the object from the Gateway to provide information.