
History and rollback
Log of bulk operations and restore of previous values.

History tab
| Column | Contents |
|---|---|
| Checkbox | Only for status Completed (bulk rollback); otherwise disabled with hint “Rollback is available only for completed operations” |
| ID | Operation identifier |
| Type | fieldType |
| Created | Date and time (compact, two lines) |
| Status | queued, running, completed, failed, cancelled |
| Processed | processed |
| Total | total |
Row actions: Rollback, Changes.
Empty log: empty state “History is empty”. Load failure: empty state error.
Statuses
| Status | Rollback |
|---|---|
| Queued / Running | Unavailable |
| Completed | Full or selective |
| Failed | applied items only |
| Cancelled | Unavailable |
Failed operation (failed)
- Open History — status Failed.
- Changes — roll back
applieditems. - Fix the cause and rerun on remaining products.
Roll back entire operation
- Find a completed operation.
- Rollback → confirm.
- API
products/rollbackwithoperationId. - Restores old values from
msbe_operation_items.
Requires msbulkeditor_rollback.

Bulk rollback
Select several completed operations → Rollback selected.

Detail and selective rollback
Changes opens the panel below the table (page scrolls to it).
- item list (product × field);
- preview table with checkboxes;
- Rollback selected —
productIds[].
Checkbox is active only for status applied. Other statuses show a disabled checkbox with a tooltip.
Click the operation ID in the panel to copy it to the clipboard (toast).
API: history/items, products/rollback.

Record retention
- Tables:
msbe_operations,msbe_operation_items— see Events. - Auto cleanup: Scheduler task
operation_cleanupwhenmsbulkeditor_scheduler_enabled = Yes. - Retention:
msbulkeditor_history_retention_days(default 90).
Notes
- Snapshots are written for all field types with a value snapshot, not only price.
- Side-effect ops (gallery regenerate, clear cache) roll back metadata per handler rules; files on disk are not always restored — see product and prices.
