Use case 3 - Applications use API for updating access conditions stored in Fedora

Title (goal)
Applications use API for updating access conditions stored in Fedora
Primary ActorIT/programming
Scope 
LevelUser goal
Story

A programmer use the API to update/add access conditions to a PID, PID range or all PIDs in a namespace. This would essentially be API access to do everything in the Use Case 1 above. Since no curators at Yale will have direct access to Fedora and all interaction will be through a different software front end such as Archivematica or our homegrown solution Ladybird, we will need CRUD controls for Access Conditions that can be handled from the other software products after ingest takes place.

Bulk updates are the most important part of this feature. Working with individual objects is time consuming and a wasteful operation. Ideally this is implemented so that a single update to a PID takes about the same amount of time as updating 10,000 PIDs.

 

 

3 Comments

  1. The API can be used to add or update the access conditions of a particular object. A separate application should be used to accept a list of PIDs and issue the batch of API requests to each object in the repository. Since each object in the batch will need to be updated separately, updating 10,000 objects will necessarily take longer than updating a single object.

    An alternative approach might be to manage access conditions using license objects, which could be related to any number of objects in the repository. It would then be possible to update one license object rather than updating many objects in the repository. More information on this approach (not yet implemented) can be found in this use case

    1. Michael Friscia can you review my comment above and provide feedback on whether or not this might satisfy the use case?

  2. Yes, that would be a much better approach. In a way it is similar to group policy used in managing windows desktop computers. The question is if it would be possible to apply more than one license to an object and understand how conflict resolution would occur when the rules of two applied licenses contradict. Simply put, does the first applied license supersede all subsequent licenses or is the last license applied overrule all prior licenses.