We want to control the distribution of Bags in Chronopolis on a bit finer of a level by controlling which nodes a Bag will replicate to based on the Depositor. In order to do this, we will want to make the Depositor a more concrete entity in the database, which will in turn have some cascading effects on the Bag model. The DB Entity is still being fleshed out, but should be complete shortly after some discussion with the group about what we want to capture.
Depositor Table
Field |
Type |
id |
bigint |
source_organization |
Text |
namespace |
varchar(255) |
created_at |
Timestamp |
updated_at |
Timestamp |
Depositor Contact Table
field |
type |
id |
bigint |
depositor_id |
bigint |
contact_name |
Text |
contact_phone |
Text |
contact_email |
Text |
Depositor/Node Join Table
Field |
Type |
depositor_id |
bigint |
node_id |
bigint |
Bag Entity Changes
Field |
Old Type |
New Type |
depositor |
String |
bigint |
requiredReplcations |
int |
- |
Note that by removing the requiredReplications
field, we need to update the process for a Bag to move into the PRESERVED
state
Work
Migrations
Entity Updates
Rest Model Updates
Depositor serializer