RockefellerArchiveCenter / request_broker

Request broker repository for Project Electron
MIT License
0 stars 1 forks source link

Allow for customization of whether request items are submittable #234

Open ctgraham opened 2 years ago

ctgraham commented 2 years ago

Is your feature request related to a problem? Please describe.

Currently, logic is hardcoded to enforce certain criteria which makes a item ineligible for submission: https://github.com/RockefellerArchiveCenter/request_broker/blob/75070e50f1b7f7d1d6769e66209b8e57dea93509/process_request/routines.py#L88-L112 Specifically:

all map to submit = false. We would like patrons to be able to ask for anything, with mediation by staff to negotiate the best method of delivery, if one exists.

Others might have differing interest, such as allowing for conditional restrictions, but disallowing closed restrictions.

Describe the solution you'd like

For each criteria, allow the submit flag to be configurable.

Describe alternatives you've considered

There might be cause for some form of configurable rules-based processing where someone could define their own business logic for certain data conditions. This simpler approach can work for now.

Additional context

This may relate to a DIMES feature request to soften the warning message if an item comes with restrictions_text, but a submittable status.

helrond commented 2 years ago

I've been waiting for this one :)

This is one of those areas where functional requirements were entirely based on local requirements, and I anticipated that this area of the application would need to be addressed.

We would like patrons to be able to ask for anything, with mediation by staff to negotiate the best method of delivery, if one exists.

This makes it sounds to me like you want to disable behavior in DIMES, rather than tweaking Request Broker logic AND that some of our assumptions about retrievable formats may not be all that generalized (see my comment on #228). I still think it makes sense to give some thought to the is_submittable logic in this app, all I'm saying is this might be worth considering on a broader scale.

Are there any other reasons you might not want something to be submitted that we'd want to include in the is_submittable method or do you always want people to submit and then have your staff sort it out?

ctgraham commented 2 years ago

Currently, A&SC would like patrons to always be able to submit requests and have staff sort it out. I reserve their right in the future to re-evaluate that decision; for example, the millionth time we get asked to view a fragile material in the reading room which we have already digitized.

helrond commented 2 years ago

Do you have an opinion on simply adding a boolean config that overrides is_submittable in its entirety, rather than a whole bunch of configs which override specific behavior within is_submittable? I'm just trying to weigh the pros and cons of a whole bunch of new configs in service of use cases we can only guess at.

ctgraham commented 2 years ago

Here is a new consideration we have been discussing recently in the ULS.

We would like to maintain informational restrictions notes at the collection level describing restrictions in the collection. Specific restricted items would have their own access restrictions flag and note.

So, we would hope for is_submittable to be able to be configured to return only the "restricted_in_container" text as the reason not the whole "restrictions" text. That is, we would not display the full concatenation of all restrictions to the end user in DIMES, but only the restrictions which apply to the items in the container of interest.