Using Git-annex to enhance the MediaWiki file repository system
Git-annex is a great companion to MediaWiki’s built in file repository functionality. An annex repo is useful for file location tracking and integrity, as well as offering a bridge to external hosting services through special remotes and integrating both platforms through bidirectional metadata exposure.
Managing binary file assets can be a pain-point for mediawiki admins, with binary files often eclipsing the wiki text content. Mediawiki offers an API for file repository backends and extensions for hosting binaries in services like s3 buckets, as well as hooks for additional file operations.
A git-annex mediawiki backend can implicitly provide these features and more by acting as a bridge to special remotes, and provide a more useful form of file versioning and archiving.
I will share my experiments with integrating git-annex with mediawiki in several ways. Starting with just making a git-annex compatible uploads folder that uses a matching key format to the mediawiki native sha1 hashdir format, then integrating it with mediawiki’s hook interface. I also experimented with a git-annex special remote for the mediawiki API. Finally, I am working on using git-annex as a mediawiki file repository backend based off of the official specification.
I have also found that there is an overlap between Datalad users and Mediawiki users, so this might be relevant.
If there’s time, I can provide some background and case studies. Note that this isn’t related to the git-remote-mediawiki project, although I’m a fan of that as well. I think git-annex makes more sense for this application.