Story #3410

Updated by Tom Clegg over 5 years ago

Each collection record should have a field corresponding to the level of replication that the owner desires.

It's okay to leave this field blank, in which case the default value will be assumed.

The default replication level for collections should be a systemwide default which the api server can return.

Implementation:
* Rename redundancy -> replication_desired
* Rename redundancy_confirmed -> replication_confirmed
* Rename redundancy_confirmed_at -> replication_confirmed_at
* Drop redundancy_confirmed_by_client_uuid column
* Delete redundancy_status method from models/collection.rb
* Prevent non-privileged users from updating replication_confirmed* columns
* When a collection's manifest_text changes in a way that introduces new block hashes (that weren't in the old manifest_text), reset redundancy_confirmed* columns to NULL
* Add a config entry in services/api/config/application.default.yml, @default_collection_replication: 2@
* Expose the config entry in the discovery document (as defaultCollectionReplication at top level?)

Back