Gateway: PUT Object call will need a version header - Timestamp as version identifier - Gateway interpretes this as "make me a version at this timestamp" with the bag provided. - If you put that version, you'll be able to get it back - Repository PUTs and object/work in its entirety to the Gateway - Doesn't matter what the repository does as far as versioning on its own - The PUT doesn't need a version header - Gateway adds a call to get a list of all versions for an Object Gateway: DELETE Object call will need a version header Gateway: POST Object Restore call will need a version header Gateway: A new endpoint will be needed to retrieve a listing of deposited objects and associated versions (to support the rebuild use case) Bridge: Deposit Content call will need to support version value for each filegroup - If no version is provided, then it's the only version - If the object is sent again, that's an overwrite - The Bridge considers the version value opaque, doesn't try to understand meaning - The "null" version value is the same as any other version Bridge: Delete Content call will need to support version value for each file Bridge: List Deposited Content will need to support version value for each file Bridge: Restore Content call will need to support version value for each file |