Since DSpace 3.0, we've effectively had two "types" of Embargo within DSpace:
1) "Pre-3.0 Embargo" (added in 1.6,
DS-317). This embargo type uses configured metadata fields to store the embargo "terms" and "lift date". This type of embargo can only be lifted by running the "./dspace embargo-lifter" command on a regular basis (e.g via cron), and can only be set by adding custom metadata fields (and enabling them in your deposit screens). See these docs for this type of embargo:
2) "3.0+ Embargo" (added in 3.0,
DS-895). This embargo type uses DSpace's Resource Policies to define embargo permissions with specific end dates. Once those end dates pass, the embargo is automatically lifted (i.e. it expires). This type of Embargo can be enabled via custom submission steps (provided out of the box). See these docs for this type of embargo:
While is seems like the "3.0 Embargo" feature should have replaced the functionality of the "pre-3.0 Embargo", that hasn't ever happened in the codebase.
We should simplify our embargo options by either removing the "pre-3.0 Embargo" code entirely, or finding a way to merge its use cases into the "3.0 Embargo" code.
From what I can tell, the "pre-3.0 Embargo code looks to all be included mostly under the "org.dspace.embargo" package:
It is also used in the following places: