Skip to content

Clarify Embargo/Lease Terminology #511

@no-reply

Description

@no-reply

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 already false!
  • 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_date and (in Hyrax) Hyrax::EmbargoHelper#assets_with_expired_embargoes.)
  • during_embargo/lease which seems to mean "until deactivate is called"
  • after_embargo/lease which 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

samvera/hyrax#4299 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions