I'm writing a simple "checkout" plugin to copy a page to a work area for editing. I'm not changing any references to the page from elsewhere in the wiki. I'm not copying metadata. I'm not copying any pages that the page references, except for one:
In our world, every page has a corresponding SVG file. It's named the same as the page, and it's in the same namespace as the page (although obviously under media/). The page refers to it with a relative link. For example:
data/pages/core_system/rhubarb.txt
...
{{.:rhubarb.svg?640px|Diagram of rhubarb}} The rhubarb.svg file resides in data/media/core_system/rhubarb.svg
...
After rhubarb is "checked out" to
data/pages/drafts/core_system/rhubarb.txt[/m], and its companion SVG file is checked out to the corresponding media directory, sometimes the wikilink to the SVG file is resolved incorrectly -- something like [m]_media:rhubarb.svg. Other times it gets it right. (Sorry I can't quote the bad link precisely, it's working at the moment.)
Does this sound like a caching issue? Is there a function I can call to expire whatever needs to be recalculated?