feat: batches with dry run, undo, and CSV import and export
- POST /_seo/api/v1/batch runs changes in one transaction: dry_run answers the diff and the conflicts (loops, chains, noindex on a published record, canonicals to redirected or noindex addresses) and rolls back; a refused change refuses the batch (D-12) - undo of a change or a whole batch from History and through MCP, with the undo_stale, undo_loop and undo_gone refusals (D-13) - CSV export and import of redirects, rules and records by URL: BOM, comma or semicolon, formula cells escaped, a dry-run preview, all or nothing with via import; the screen's apply token is HMAC-SHA256 over the file and a fingerprint of the data (transfer.stale) - Import and export singleton with the seo_transfer widget action, History record actions undo and undo_batch, navigation entry - MCP tools undo_change, undo_batch, apply_batch, export_csv, import_csv - TestBatch, TestUndo, TestCSVTransfer, TestLoopRefused mcp and import
This commit is contained in:
14
controllers/transfer/config_form.yaml
Normal file
14
controllers/transfer/config_form.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
# Import and export singleton (UI-SPEC C13): the footer Save stores the
|
||||
# delimiter only.
|
||||
name: golem15.seo::lang.transfer.title
|
||||
form: ~/plugins/golem15/seo/models/transfer/fields.yaml
|
||||
modelClass: Golem15\SEO\Models\Transfer
|
||||
defaultRedirect: golem15/seo/transfer
|
||||
|
||||
update:
|
||||
redirect: golem15/seo/transfer
|
||||
redirectClose: golem15/seo/redirects
|
||||
|
||||
messages:
|
||||
update: golem15.seo::lang.transfer.title
|
||||
saved: backend::lang.messages.form.saved
|
||||
Reference in New Issue
Block a user