finiki:Global templates effort

From finiki, the Canadian financial wiki

A Global templates effort has begun within the MediaWiki community. It is long overdue and has the potential to be very helpful for small wiki's such as finiki. The effort is covered in Global templates. Some previous efforts include Template repository and Multilingual Templates and Modules, both of which are useful reads for some background information.

What happens today

Having done much of the heavy lifting on implement templates and modules on finiki, what happens today offers a great summary of our reality and the challenges we face.

If you do have some time and some knowledge about programming and wikitext, then here’s a simplified list of what you’ll have to do:

  1. Copy the code of this template to your wiki. You realize that it actually uses a module, which has 270 lines of code, and uses several other modules.
  2. You realize that this template also uses a lot of other templates. You learn how to use the Export feature. Export the template, with the Include templates option enabled. As of this writing, this will import 112 templates and modules, and the XML dump will have more than 14,000 lines.
  3. Go through all the wiki syntax code you copied, find all the human-readable user interface strings that have to be translated, and translate them. Be careful not to touch parameters and parser functions.
  4. Go through all the wiki syntax and Lua code that you copied in 112 templates and modules, find all the parameter names and where they are used, and change them to your language. (This step is optional, but useful for editors who don’t know English.)
  5. Copy the documentation pages, delete all the English text from them, and write the same text in your language. Be careful to change the parameter names.
  6. Change the parameter names in TemplateData, but keep the English names as aliases.
  7. Make sure that the TemplateStyles pages were correctly imported. Fix the CSS if needed.
  8. Check that the template actually works and does what you need. If it does not, you may have to search for CSS or JS pages on which it depends.

You have to do all of this for every template that doesn’t exist in your wiki. And it has to be done in every wiki. And now you have a forked version of the template, so importing new features from the English Wikipedia will be far from trivial. These are, basically, the problems that the Global templates proposal is trying to solve.

What we have done

Many of our wiki templates and modules come from Wikipedia. Why reinvent the wheel and it also helps keep our 'look and feel' consistent with Wikipedia.

The process to bring templates and modules from Wikipedia is a bit tedious and therefore we don't necessarily keep anywhere near up-to-date versions on finiki. Typically it has been a cut-and-paste job and we put the source link into the Edit summary for traceability reasons. It has always been one of my unstated goals to simplify and improve the process.

In early January 2021 my research and efforts have paid off (I think). It involved two parts, the wiki's interwiki links and the admins ability to use MediaWiki's Import capability.

The Import log provides a history of what Wikipedia templates and modules we have imported. It doesn't provide the full story as many templates we manually cloned into finiki in early days (pre-2016).

Current status

The MediaWiki team maintains the Global templates/Status page.

See also

References