Ok, made some progress with it, so it's now time to get the wiki gods' blessing on this. The idea is to set up an Azure Web Job to run daily (hourly if you really love me) with something similar to this:
using (HttpClient c = new HttpClient())
{
c.BaseAddress = new Uri("http://dwarffortresswiki.org/");
c.DefaultRequestHeaders.Add("user-agent", "salithus (salithus@goonbase.com)");
try
{
var r = c.GetStringAsync(@"api.php?action=query&list=embeddedin&eititle=Template:Salithus&format=json");
var d = JsonConvert.DeserializeObject<ApiRequestRoot>(r.Result);
foreach (var p in d.Query.EmbeddedPages)
{
var r2 = c.GetStringAsync(string.Format(@"index.php/{0}/version?action=raw", p.Title));
//Parse version string and store with p.Title in website database.
}
}
catch (HttpRequestException hre)
{
Console.WriteLine(hre.Message);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
This will keep the load off the wiki while still making it a good place to store version information about utilities. We'd replace of course the Template name with one standardized for Utilities. There's one there now (
Template:Utility) so I can expand off of that one if they want.
What I don't know how to do is pull multiple values off of, say, a /utilityinfo page, so right now this approach would be limited to using it for tracking versions of the utilities themselves, although I'd like the template to include the following:
- Title
- Version
- Last Updated
- Minimum DF Version
- Maximum DF Version
- Contributors
- Forum Support Thread/Link
- Forum Development Thread/Link
fake edit: also I saw your move of the pages. I can't remember how I ended up in that namespace but I think it was something Wikimedia recommended. If I find it again I'll let you know, but I'm good with not doing things there again