-
Notifications
You must be signed in to change notification settings - Fork 40
Description
Descriptive summary
Embargoes and Leases use unclear and inconsistent terminology to describe their current and future states. Some important states are completely unnamed and are checked in client code via presence of *_release_date (which it might actually be nice to keep around).
We have:
#active?(Boolean)which indicates whether a release date is in the future.#deactivate!which releases(?) the embargo, and should usually be called when#active?is alreadyfalse!embargo/lease_release_date, hence "release", which is an action that's never taken, but is maybe what's meant by "deactivate"? (edit: oh, and also "expiration" as in#lease_expiration_dateand (in Hyrax)Hyrax::EmbargoHelper#assets_with_expired_embargoes.)during_embargo/leasewhich seems to mean "until deactivate is called"after_embargo/leasewhich seems to mean "after deactivate is called"
I might try to draw a state diagram for this later.
In the meanwhile there's an important, unnamed state when the release date has passed but has not been deactivated (under present terminology (maybe) the embargo, is "inactive", but not "deactivated"). The only way to tell whether this is the case is to inspect embargo/lease_release_date and infer that, because it is present the embargo is still... ummmm... not-deactivated.
Rationale
The current state of affairs makes things confusing, even for experienced Samvera devs (:wave:)
Related work
Metadata
Metadata
Assignees
Labels
Type
Projects
Status