MediaWiki:Architecture of SAR service
Items & properties
Items and properties are core to wikibase. They operate like a very flexible database. The SAR service relies on some information being properly entered. See Item:Q102 for an example.
Templates admit all kinds of parameters, and are extremely flexible in what you can template. For instance, you can template away which template to use!
Note that templates can be used from within gadgets or user scripts (see below) as well as regular pages.
This is what we use to build access requests, relying on three templates principally:
- Template:Access to compose the text of an access request;
- Template:Mailto to create a Mailto link;
- Template:MailtoAccess to combine the two.
Note that default view on templates is not always accurate. One needs to look at the content (edit) to know more.
Gadgets, user scripts and CSS
MediaWiki:Common.js is currently used to:
- enable hyperlinking to specific pages, with specific JS or CSS loaded as well;
- load MediaWiki:Gadget-EasyQuery.js (it is normally a prepackaged gadget on Wikidata which helps navigate the items, but had to be slightly adapted to here);
- load the MediaWiki:Access.js script, which in turn relies on the wiki templates described above (such as Template:Access), filled with data fetched from particular items;
- load the User:Abel/experimental.js script, which enables sitewide experimentation and circumvention of access control rules.
This relies on the Module:Wd module, which helps combine retrieve items, properties and values from templates.
Splitting the work
Given the many options available, there is some trickiness in splitting the work between these options.