WikiDB is a MediaWiki extension which can be used to add database functionality to your wiki. Its core principal is to do this whilst still following a wiki-like workflow for creating and managing data. Data is therefore defined in-page via the standard editing process and, just as you can create links to pages that don't exist, you can put data into a table that doesn't exist, and you are able to display and query that data without requiring any formal structure to be defined.
By creating a table definition, however, you get to force fields to a certain data-type, define fields as aliases of each other (e.g. if different articles use a different name to refer to the same field) and easily flag up unexpected fields that may have been added in error. Changing the field definition instantly updates all data output on the wiki, however the original data is left unmodified. This means that schema changes will never result in data being lost or corrupted.
Because WikiDB allows you to define data on any page, the data can be located directly within the article it relates to. It is therefore easy to find, and there is no problem ensuring it stays up-to-date as the article changes. By default, WikiDB hides the raw data at the point that it is defined, on the assumption that you will output it in aggregated form elsewhere. However you also have the option of outputting it in a standard tabular form or to pass the fields as parameters to a template for in-line display (so if your wiki makes extensive use of infoboxes, it will be easy to update it so this data goes into a table as well).
For more information, see the documentation, below.
Dropping support for MediaWiki < 1.16
This will come into effect as of the first release of WikiDB on or after January 1st 2018.
I have always striven to maximise the compatibility of my extensions, and up until now WikiDB has proudly supported all MediaWiki versions back to v1.7. However, some of the features of WikiDB have been impossible to support in older MediaWiki versions, so for some time now there has been a minimum requirement of MediaWiki 1.16 in order to experience the full set of features that WikiDB provides.
Specifically, the installation requirements have, since 2013, included the following notice:
- Some features of WikiDB, most notably the ability to use the WikiDB tags within templates, are only available if you are using MediaWiki 1.16 or above.
- Earlier versions are still supported, back to MediaWiki 1.7, but some features cannot be supported on these earlier versions due to limitations in MediaWiki. You are recommended to upgrade to the latest version of MediaWiki to enable the full functionality of WikiDB.
- Future development will continue to support and test against all versions of MediaWiki from 1.16. Earlier versions will not be tested against, however where possible backwards-compatibility will be retained.
As I continue to add features to the extension, I am increasingly finding that there are things which are not possible without the parser rewrite that came in MediaWiki 1.16, therefore rather than spending my energies trying to wring as much functionality as possible out of these older versions, I plan to raise my minimum version requirement for the extension to 1.16 and above.
This is a very conservative step - MediaWiki 1.16 was released in 2010 and is no longer officially supported. However, as yet, I have not encountered any features that I need for WikiDB which are not supported by this version of MediaWiki, and therefore I see no reason to raise the bar any higher at this time.
If there are any users of MediaWiki < 1.16 who are unable to upgrade, the older versions of WikiDB will remain available. I will also consider bugfix-only releases of WikiDB for older MediaWiki versions, to ensure the legacy version remains viable for anyone who still needs to use it. Please report issues in the usual way, making it clear which version of MediaWiki and WikiDB you are using.
Thank you for your understanding and support.
v4 (r1376) released.
This is mainly a bugfix/compatiblity release, but it has one new feature: The edit page now includes details about all data defined on the page, similarly to the way MediaWiki shows a list of all templates used in the page.
This is a required update if you are using (or plan to upgrade to) MediaWiki 1.28 or later. See the CHANGELOG for full details
- Getting Started:
- Using WikiDB:
- Administering WikiDB:
- Tables - Details about the new tables that are required by the extension.
- Files - Listings of all the files required by the extension.