Extension:DataTable2/History
Version 1.0.3
editBugfixes
edit- Removed trailing blank lines in DataTable2.php. (Thanks to User:Cruickshanks for spotting this.)
Version 1.0.2
editBugfixes
edit- Removed wrong sorting of data when rendering a table without a template. (Thanks to User:Cruickshanks for spotting this.)
Version 1.0.1
editBugfixes
edit- Minor fixes to avoid PHP warnings.
- Minor fixes to messages.
Version 1.0.0
editConfiguration changes
edit- The configuration variable
$wgDataTable2EnableDetailTracking
is not used any more. Detail tracking is now enabled by default and can be disabled by setting the messagedatatable2-consumer-detail-category
to a single dash. - The messages are now stored in the new JSON format. This implies that you need to modify the message
datatable2pages-row
if you modify$wgSpecialDataTable2PageParSep
. - The message
datatable2data-noresult2
is not used any more. - The messages
datatable2data-noresult, datatable2pages-noresult, datatable2tables-noresult
have been simplified and do not take parameters any more. - Defaults are now provided for the messages
datatable2data-summary, datatable2pages-summary, datatable2tables-summary
. - The
*-legend
must not contain wiki markup any more. Any markup such as links should be put into the summary messages.
New features
edit- Special:DataTable2Tables now contains links to tracking categories.
Bugfixes
edit- Pages using DataTable2 data through the Lua API are now added to the appropriate tracking categories and assigned dependencies the same way as pages using DataTable2 data through tags or parser functions. If you already have such pages, you can fix the categories and dependencies either by performing a null edit on each page or by executing the script
maintenance/refreshLinks.php
. Note that the latter may take a considerable amount of time. $wgDataTable2ReadSrc
is set to$wgDataTable2WriteDest
in DataTable2::init() if unset, so that it is sufficient to customize the latter if it is desired to have them equal.- Same for
$wgDataTable2MetaReadSrc
/$wgDataTable2MetaWriteDest
. - Multiple XML comments within one record are now handled correctly.
- Improved text of
*-noresult
messages.
Languages updated
edit- Support was added for Italian (it).
Other Changes
edit- For the messages
datatable2tables-row
anddatatable2pages-row
, the text() output mode is now used instead of plain(). This means that all '{{}}' are transformed. - The special pages have been re-implemented with common code collected in common base classes.
- Special:DataTable2Data is now implemented with html table syntax rather than wiki table syntax.
Version 0.8.3
editBugfixes
edit- Fix DataTable2Parser::_parseWiki(), handling gracefully the case that there are more columns than column names.
- Fix DataTable2DataPager::__construct, now using DataTable2::singleton() instead of a global DataTable2 object.
Version 0.8.2
editBugfixes
edit- $wgExtensionFunctions is used so that Manual:Config script now works.
Version 0.8.1
editConfiguration changes
editIt is useful to install the Extension:Scribunto extension together with DataTable2 since DataTable2 provides support for it. It does not matter which one is mentioned first in LocalSettings.php
.
Bugfixes
edit- The
dt2-showtable
tag as well as the parser functionsdt2-expand
anddt2-get
now increment the expensive function count. dt2-get
now returns an enpty string when the requested column is null (thus avoiding warnings in the PHP log).
New features
editThe DataTable2 extension now includes a Lua library for Extension:Scribunto, allowing Lua modules to directly access the stored data.
New languages
editMessages are now available in German as well.
Version 0.8
editA number of breaking changes has been introduced which in some circumstances require more work from wiki editors, but which should make the behaviour of the extension (and the php code) easier to understand and align it better with the way most extensions work.
Since a it might take some time to migrate from the old to the new version, the new version has been named DataTable2 (with a tag <datatable2> and all other tags and parser function names prefixed with dt2-) so that it can co-exist with the old version in the same wiki installation.
Configuration changes
editAll configuration parameters are new.
Changes to the data model
editData is stored in the table datatable2_data
much the same way as it was before in datatable_data
. Columns can now be given names, which are stored in the table datatable2_meta
.
Since the column dtd_page
does not have a NOT NULL constraint any more, you can use the table to make data from sources other than wikipages available within your wiki. To do that, you can either insert other data in the table with any means you like, or create a view as a union of the table with some other table(s) and set the configuration parameter $wgDataTable2Read
to the name of that view.
Once you have finished migration of your wiki from DataTable to DataTable2, don't forget to drop the old table datatable_data
.
Changes to the <datatable2> tag
edit- Attributes are not subject to template replacement any more. This is because the attributes fs and rs are needed in the save triggers, where no frame information is available, and in general it is not common in extensions to apply replacement to tag arguments.
- An empty
<head>
tag caused the content to be rendered within a wiki table. Empty<head>
tags are now ignored; to force a wrapping table, you need to do one of the following:- Supply an nonempty
<head>
tag. - Supply a nonempty
class
attribute. - Do neither supply a
template
attribute nor a<template>
tag.
- Supply an nonempty
- The contents of <head> used to be wrapped between |- items so that they worked even when the user forgot some wiki table markup. This is not the case any more, hence it is now the user's responsibility to write correct wikitext.
- The attributes
p1, p2, p3, p4
are not supported any more. Instead, there is a new attributeargs
which is copied verbatim to the template invocation for each row. - When no template was defined (neither as a
template
attribute nor as a<template>
tag), the data used to be rendered using default field and record separators. Now, the data is rendered in a wiki table. - In the data, pipe characters within templates or links were interpreted as pipe characters rather than field separators. This implied a rather complex and probably error-prone parsing algorithm which has been abandoned in favor of a simple split by pipe. Hence, you need to replace pipe characters within templates or links with the template
{{!}}
, or use a different field separator.
Bugfixes
editThe WHERE and ORDER BY clauses are now sanitized to protect against SQL injection.
New features
editMany arguments to <datatable2> as well as all means to retrieve data are new.
Other changes
editThe code has been reviewed in order to comply better with the guidelines on mediawiki.org.
Old versions
editRelease numbers lower than 0.8 refer to the old DataTable extension.