Two independent limits keep the resource_version table from growing without bound. Both are set in Configuration.
Per-resource cap
Maximum versions per resource (default 50) is enforced immediately after every capture: if a resource now has more versions than the cap, its oldest versions are deleted until it is back at the cap. Set it to 0 to keep every version.
Because the cap is applied per resource, a heavily edited resource keeps its most recent 50 states while rarely edited resources keep their whole history.
Age-based retention
Retention period (days) (default 0, meaning keep forever) defines how old a version may be before the prune job deletes it. The job deletes versions whose capture time is older than the period, in batches of 1,000 rows, until none remain. It applies to every resource type and operation, including delete and baseline snapshots.
Retention is only enforced when the prune job runs. It is not scheduled automatically.
Running the prune job
- Set a non-zero Retention period (days) and save the settings.
- Go to Resource Versions (
/admin/resource-versioning) as a global administrator. - Click Prune old versions and confirm the prompt.
The PruneVersions job is dispatched and the page shows its job number. Progress and the total number of rows deleted are written to the job log under Admin > Jobs. If the retention period is 0 the job logs that retention is disabled and exits without deleting anything.
Pausing capture
Two settings reduce writes without deleting anything:
- Enable version capture turned off stops all new snapshots while keeping the existing history browsable and restorable.
- Capture versions during batch operations turned off skips snapshots for partial updates, which is how Omeka's Bulk Edit and
batchUpdateAPI calls run. Use it during a large import or bulk edit, then turn it back on.
Remember that any edit made while capture is paused has no version and cannot be undone through the module.