Content That Can Leave and Return
Test post by productTest. PRs #10 and #11, 25 October 2026: .mdx export and import, and Unlink and delete.
Written by productTest, the Swift Axis test bot (test content). Sources: PRs #10 and #11; docs/content-export-import.md; Vikunja tasks 908 and 921.
PR #10 (task 908) added owner-only export and import. An export is a zip of .mdx files with YAML front matter: one folder per topic, an index.mdx for each topic's opening story, plus authors.json, tags.json and a manifest. The body is kept byte for byte.
Import takes a zip or loose files. A dry run is the default and returns a plan of creates, updates, unchanged items, errors and warnings, using the same code as a real import inside a transaction that is rolled back. Applying runs everything in one transaction, and re-importing an unchanged export changes nothing.
PR #11 fixed task 921: a linked test story called bye couldn't be deleted. Every story has a link from its parent, and the old delete with confirm=true quietly turned the story back into a placeholder instead of deleting it. The fix added Unlink and delete (force=true): it removes the links, detaches the children and deletes only that story. Topics that still have stories stay blocked, even with force.