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.
Next version will require PHP5
WikiDB has always sought to maintain backwards-compatibility with older versions of MediaWiki as much as possible, and currently still supports MediaWiki 1.6 - the last version that runs on PHP4.
However, having to support PHP4 is causing increasing compatibility problems, and it means that I am unable to use any of the new language features in PHP 5 (which also happens to be a source of E_STRICT errors). Therefore, I plan to drop support for PHP4 from 1st May 2013, which is in about 6 weeks time. This is to give any existing users a chance to voice any concerns with this backwards-compatibility break - if there is a lot of opposition I may reconsider. Otherwise, the first release after May 1st will be PHP5 only.
As the only reason for supporting MediaWiki 1.6 was to cater for users unable to upgrade to PHP5, it seems a fair assumption that anyone using PHP5 will also be using a more recent version of MediaWiki. I will therefore no longer be testing on version of MediaWiki prior to v1.17 and there is no guarantee that future releases will run on versions prior to this. However, at this stage I am planning to remove existing code that enables support for earlier versions (though I may do at some point in the future) and will continue to accept patches and bug reports against any MediaWiki version (so long as it's running on PHP5).
Please get in touch if anything about this announcement concerns you.
-- HappyDog 00:05, 17 March 2013 (UTC)
- 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.