Plugin version: 0.2.3.0 (latest release at time of use)
OJS version: 3.4.0.3
PHP / DB: MariaDB 11.4.x (server-side, not directly relevant but noted for completeness)
Summary
After installing and running this plugin once, it deleted several
submissions that were already published, with registered Crossref
DOIs — not incomplete/draft submissions. This resulted in permanent
loss of the publications, authors, author_settings, and
publication_settings rows for those submissions, with only the
original files left orphaned on disk (and even those were later found
empty/gone).
What happened (reconstructed from event_log / event_log_settings,
since the plugin's own deletion of the submission-level log entries
removed the direct audit trail)
- Plugin installed:
2026-06-26 15:52:49 (per the versions table)
- Six submissions deleted:
2026-06-26 15:53:40 – 15:53:41 — 51 to 92
seconds after installation
- Of those six, five were fully published articles with actively
registered DOIs (Crossref-deposited, status = 3 in the dois
table), belonging to a specific already-published issue of the journal
- The sixth was an in-progress submission
This timing makes it very likely the plugin was installed and run
essentially immediately, and its "incomplete" selection criteria
included submissions that were, in fact, complete and published.
Expected behavior
Per the README, the plugin is meant to delete only genuinely incomplete
submissions, with a configurable day-threshold specifically described
as existing "to safeguard the deletion of submissions that are not
meant to be deleted at the moment."
I would expect, at minimum:
- Published submissions (
submissions.status = STATUS_PUBLISHED, or any
submission with a current_publication_id pointing to a publication
with status = STATUS_PUBLISHED) to be categorically excluded
from deletion, regardless of the day-threshold setting.
- Ideally, a preview/dry-run step that lists exactly which
submissions (with title + status) will be deleted, before the
irreversible action is confirmed.
- Submissions with an assigned DOI (registered or not) to be treated as
a hard exclusion as well, since a DOI implies formal publication intent.
Actual behavior
Confirmed-published, DOI-registered submissions were deleted alongside
genuinely incomplete ones.
Impact
Total, permanent loss of five published journal articles' metadata
(titles, authors, abstracts) from the OJS database, requiring manual
reconstruction from external citation indexes and direct outreach to
the corresponding authors. The physical article files were also lost.
Five Crossref DOIs are now left pointing at dead article pages on the
live site.
Ask
Could you clarify:
- What criteria the plugin currently uses to define "incomplete" — does
it check submissions.status and/or publications.status at all, or
only submission-completion/stage progress?
- Whether the day-threshold is applied uniformly regardless of published
status, or whether published submissions are already meant to be
excluded and this is a bug in that exclusion logic?
Happy to provide sanitized database excerpts (submission IDs, status
values, timestamps) if that's useful for reproducing this. I'd strongly
recommend the published/DOI-registered exclusion (point 1 above) be
added or fixed regardless of root cause, and that a preview/dry-run
mode be considered for a future release — this kind of deletion is
silent and irreversible under the current design, and we only
recovered as much as we did through forensic reconstruction of
leftover event_log entries, database backups, and external
citation records, not anything the plugin itself preserved.
Thank you for maintaining this plugin — flagging this so it can help
others avoid the same loss.
Plugin version: 0.2.3.0 (latest release at time of use)
OJS version: 3.4.0.3
PHP / DB: MariaDB 11.4.x (server-side, not directly relevant but noted for completeness)
Summary
After installing and running this plugin once, it deleted several
submissions that were already published, with registered Crossref
DOIs — not incomplete/draft submissions. This resulted in permanent
loss of the
publications,authors,author_settings, andpublication_settingsrows for those submissions, with only theoriginal files left orphaned on disk (and even those were later found
empty/gone).
What happened (reconstructed from
event_log/event_log_settings,since the plugin's own deletion of the submission-level log entries
removed the direct audit trail)
2026-06-26 15:52:49(per theversionstable)2026-06-26 15:53:40–15:53:41— 51 to 92seconds after installation
registered DOIs (Crossref-deposited,
status = 3in thedoistable), belonging to a specific already-published issue of the journal
This timing makes it very likely the plugin was installed and run
essentially immediately, and its "incomplete" selection criteria
included submissions that were, in fact, complete and published.
Expected behavior
Per the README, the plugin is meant to delete only genuinely incomplete
submissions, with a configurable day-threshold specifically described
as existing "to safeguard the deletion of submissions that are not
meant to be deleted at the moment."
I would expect, at minimum:
submissions.status = STATUS_PUBLISHED, or anysubmission with a
current_publication_idpointing to a publicationwith
status = STATUS_PUBLISHED) to be categorically excludedfrom deletion, regardless of the day-threshold setting.
submissions (with title + status) will be deleted, before the
irreversible action is confirmed.
a hard exclusion as well, since a DOI implies formal publication intent.
Actual behavior
Confirmed-published, DOI-registered submissions were deleted alongside
genuinely incomplete ones.
Impact
Total, permanent loss of five published journal articles' metadata
(titles, authors, abstracts) from the OJS database, requiring manual
reconstruction from external citation indexes and direct outreach to
the corresponding authors. The physical article files were also lost.
Five Crossref DOIs are now left pointing at dead article pages on the
live site.
Ask
Could you clarify:
it check
submissions.statusand/orpublications.statusat all, oronly submission-completion/stage progress?
status, or whether published submissions are already meant to be
excluded and this is a bug in that exclusion logic?
Happy to provide sanitized database excerpts (submission IDs, status
values, timestamps) if that's useful for reproducing this. I'd strongly
recommend the published/DOI-registered exclusion (point 1 above) be
added or fixed regardless of root cause, and that a preview/dry-run
mode be considered for a future release — this kind of deletion is
silent and irreversible under the current design, and we only
recovered as much as we did through forensic reconstruction of
leftover
event_logentries, database backups, and externalcitation records, not anything the plugin itself preserved.
Thank you for maintaining this plugin — flagging this so it can help
others avoid the same loss.