Brion Vibber wrote:
- Garbage collection for unused output files? Previews or changed pages
could leave the system littered with millions of output files which will never be used again.
It'd be nice to solve these for math and timelines as well -- perhaps a unified system?
I was thinking about this problem, but for Graphviz (which is based on Timeline, which was the source of the problem).
Instead of opening a tag and dumping graph/timeline code in the article, we have a namespace where articles are parsed as graph/timeline code (some extra syntax needed in order to put some wikitext in the same article). Then, in article pages, you insert a link like [[Graph:Graph title|options|description]] or [[Timeline:Timeline title|...]], and they are inserted just like images are.
This has a few advantages: - Graphs or timelines (or music scores) that appear in multiple pages are maintained in a single central article, changes in it propagates to all pages that include that object, just like it is with images; - It becomes easier to edit article pages, because you have only wikitext to look at, and not a mix of wikitext, dot syntax, timeline syntax, etc... - Perfect garbage collection: we produce no garbage. In-disk files are linked to special article pages; if someone deletes the article, MW just wipes all files with that given hash and you are done. Any file without a matching article in that special namespace is easily marked as garbage.