Islandora / documentation

Contains islandora's documentation and main issue queue.
MIT License
103 stars 71 forks source link

Use Case - Support for capturing licensing and deposit agreements #1013

Open MarcusBarnes opened 5 years ago

MarcusBarnes commented 5 years ago
Title (Goal) Licensing and deposit agreement workflow
Primary Actor User with object upload privileges
Scope Metadata, related objects
Level Medium
Story As a user uploading an object featuring people (such an interview), I would like to capture the permission (licensing) agreement for the people featured in the object. I'd also like to capture the deposit agreement for material as part of an overall collection and be able link the deposit agreement to the items that are part of the collection covered under the agreement terms. This would ensure that if access to the physical agreements is lost or for fully digital workflows, these agreements are as accessible and preserved along with objects. I'll note that Hyrax has some deposit agreement workflow functionality.
mjordan commented 5 years ago

@MarcusBarnes excellent use case. I'd like to add that we need a way to control access to these sorts of documents. Perhaps #823 is relevant here, since these documents would likely be tagged with "License Agreement" or similar tags from the Media Use vocabulary (although https://pcdm.org/2015/05/12/use doesn't have a term for this). Not sure what a suitable vocabulary for identifying licenses and other administrative documents is, but one must exist.

MarcusBarnes commented 5 years ago

Thanks @mjordan for the feedback. It's likely that we'll need to split this into separate use-cases, one for license agreements and one for deposit agreements, but I wanted to get a conversation going so that others can chime in with their specific needs.

mjordan commented 5 years ago

For the record, I installed and enabled the Permissions by Term module and its submodule Permissions by Entity (which is needed to provide access control by term to Media) and they appear to work as expected. By configuring specific taxonomy terms, I was able to restrict access to authenticated users to the node, media (using direct URL to media) and the media's file (using direct URL to file). I'll post this over at #823 as well.

mjordan commented 5 years ago

Possibly useful properties:

elizoller commented 5 years ago

We are looking to have a deposit agreement that each user would need to agree to one time before adding an item. I don't think that would be solved by the Permissions by Term module.

mjordan commented 5 years ago

@elizoller you're right, that's more of a workflow issue, not a simple access restriction issue.

dannylamb commented 5 years ago

@elizoller I think the easiest way to do that would be to revoke the permissions to create content for new users, and only give it to them once they've made the agreement. You could pretty quickly whip up a webform and give it a handler that adds permissions/roles to the user that submits the agreement.

elizoller commented 5 years ago

thanks @dannylamb