DPL:Version History

From FollowTheScore
Revision as of 07:17, 28 July 2007 by Gero (talk | contribs)
Jump to: navigation, search


Version 1.3.1

minor modification at resultsheader and resultsfooter
these statements do no longer emit an implicit newline into the DPL output stream. But you can add \n if needed. If you observe unexpected fromatting with resultsheader or -footer, try adding a \n before and after your resultsheader. See also Test resultsheader. The benfit of the changed behaviour is that you can create inline text which contains just the sum of pages (%PAGES%) of a DPL query. See Test resultsheader.


Version 1.3.0

all boolean parameters now accept 'yes' and 'no' as an alternative for 'true' and 'false'.


Version 1.2.9

resultsfooter added
in analogy to resultsheader
resultsheader and resultsfooter understand '\n'
The charcters '\n' are replaced by a newline within the resultsheader and resultsfooter. This is useful if you want to output wikitext which needs to start at the beginning of a new line.
parameter parsing at 'include' improved
if you specify 'include={template}:nameOrNumber' you will now get the correct parameter value even if the parameter itself contains another template call. This was not the case in earlier versions.


Version 1.2.8

syntax variant
many DPL querys contain the sequence 'mode=userformat' and 'listseparators=...' now there is a short notation for this. We allow 'format' as an alias for 'listseparators'. And if 'format' or 'listseparators' is specified, 'mode=userformat' will automatically be assumed
internal
empty parameters are silently ignored
SPECIALPAGE
The special page in its current form will not survive. There is a better replacement which allows you to write your personal GUI for DPL queries. Thanks to Nad for his 'SimpleForms' extension this is now possible. See DPL:Catlist.


Version 1.2.7

bugfix with %PAGES%
there was a problem with %PAGES% and multicolumn output
bugfix with undefined php variable
error occured when using a "*" in the 'category' parameter (i.e. using the subcategory matching feature)


Version 1.2.6

added 'distinct' option
normally 'distinct' is 'true'; there are some rare cases - esp. in combination with %PAGESEL% where you mioght want to set distinct=false
added '%PAGESEL%' variable
in combination with 'linksto' and 'linksfrom' this new variable will give you the name of the page which was used as an input to the selection. This is useful if your DPL query uses a list of pages as starting point for 'linksfrom' or as target point of 'linksto'.
'linksfrom' and 'linksto' do no longer complain about empty parameters
instead these are silently ignored
changed SQL query basics to allow duplicate use of page table
this is an internal change which was necessary because of the enhanced functionality of linksfrom/linksto


Version 1.2.5

added includenotmatch
this allows to specify a regexp (based on transcluded contents) which must NOT match the contents

Version 1.2.4

error corrected
ordermethod "sortkey" did not work because of missing break in case statement
error corrected
counting of selected articles was wrong in older versions (see Test includematch)

Version 1.2.3

allow %0 in include statement
 %0 can now be used to transclude the text before the first chapter.


Version 1.2.2

allow simultaneous conditions on revisions
up to now only one selection criterion regarding revisions could be applied within a query (the others were silently ignored). Now you can use more than one condition within one statement. This allows to retrieve article revisions which belong to a certain time range.
added %CATNAMES%
A new pseudo variable was added which contains the categories of a page in natural text, separated by comma. The difference to %CATLIST% is that %CATLIST% contains a list of links to the categories.
parameter "noeditbox" added to DPL special page
adding "&&noeditbox" to the call of the special page will suppress the form containing the query, so that the user will just see the result.

Version 1.2.1

SQL string escaping corrected
there were some cases in which a page name containing a single ' could cause harm to SQL syntax (resulting in syntax errors). This was corrected.
titlemaxlength now also works with mode=userformat
before titlemaxlength only had worked in the other modes.


Version 1.2.0

minor change in SQL syntax
replaced " by ' to increase compatibility with Postgres etc.

Version 1.1.9

added ordermethod=titlewithoutnamespace
this is especially useful in combination with mode=category; it ignores the namespace when sorting articles by name. As it also makes the SQL statement considerably less complex you should use this option if your result contains articles from only one namespace or if the namespace does not matter.
the special page for DPL now accepts command line parameters
using two consecutive "&" acts like a newline in a DPL statement

Version 1.1.8

added two new options
to include the author or the lasteditor of a page
new concept of "goals"
whereas DPL normally will produce a list of pages (as the name indicates) it is now also possible to produce as a result the list of categories to which the selected pages belong. For example: show all categories which have members that were edited by userX since last Monday..

Version 1.1.7

bug fix concering AllMessages
There was a warning (caused by DPL) showing up at Special:AllMessages. The warning is gone now.
bug fix with DPL extension path
Due to a hardcoded directory path you could run into an error with the new special page. This should now be resolved.

Version 1.1.6

small bug fix at template inclusion
There was a php error if you tried to use the same template for DPL as was used in the original article. Normally you would add some suffix to the template name (in which case the error does not happen).


Version 1.1.5

made caching configurable
new parameter 'allowcachedresults='

Version 1.1.4

first version of DPL SPECIAL PAGE
still in its infant state ...
short syntax for selecting a single template parameter
include={template}:3 will select the third chapter
support # as a comment symbol within DPL commands
lines starting with a # will be ignored
allow more flexible date specification
(2007-03-10 instead of 20070310)

Version 1.1.3

bugfix for 1.1.2
If you get a php warning about "parameter passing by reference" you should download this release.

Version 1.1.2

sections which shall be included can now also be identified by number
include= understands %1, %2 etc and %-1 for the last section of an article (there is no %-2). %SECTION% will show the headline of the chapter.

Version 1.1.1

There is experimental support for category hierarchies
category=*country will find pages which belong to "country" or to a direct subcategory of country. NO, there is no way to go deeper than just one level at the moment. The wiki database design is not very well suited for this type of tree expansion ...
starting with 1.1.1 there are some additional files in the source code
they might become the nucleus of a "DPL special page". There is no need for another "require_once" in your LocalSettings. Just ignore these files for the moment.
The ZIP archive is the only supported source code download mechanism
You should not try to extract the source code from the wiki text under "Source". Unfortunately there were some problems with the upload mechanism so that in all versions between 1.0.1 and 1.1.1 character sequences like "%CA" (which happen to appear in the source code) were erroneously transformed into double byte characters during upload. If in your installation %DATE% or %CATLIST" do not work this may be the reason. In that case you should download the latest ZIP archive with the sources.

Version 1.1.0

parser cache disabling changed
if 'title=' is set, the parser cache will not be disabled. There should be no difference in all other cases.

Version 1.0.9

new parameter 'openreferences'
allows to list non-existing pages via the 'linksfrom' command.

Version 1.0.8

new parameter 'notlinksfrom'
solved a bug which had to do with invalid arguments at linksto, linksfrom etc
includematch changed
now the regexp checks against the calling code, not against the output of the DPL template
bugfix at 'replaceintitle'

Version 1.0.7

some improvements of includematch
regarding multiple occurencies of the same template or chapter; now only those occurencies are taken which match the condition.

Version 1.0.6

now there is an experimental feature which allows to make selections based on included contents (includematch=)
you can define a regular expression which must match the included contents (in case of template based matching it must match the output of your template). Maybe this feature will be changed in near future based on experiences of users ...

Version 1.0.5

now there is a set of powerful parameters which allow page selection to be based on the user who edited a page
createdby, notcreatedby, modifiedby, notmodifiedby, lastmodifiedby, notlastmodifiedby; see Test createdby and the manual.

Version 1.0.4

new parameter linksfrom added
DPL can now also output all links which start from one or more given pages. This makes sense if you have pages which contain many links and you want to extract a subset of the pages which are referenced.

Version 1.0.3

syntax modifications in REGEXP matching
when matching categories and titles we use the whole argument as one regexp expression, i.e. the pipe character retains its normal meaning.
minor corrections in title=
there was a problem with articles names containing spaces

Version 1.0.2

category matching supports LIKE and REGEXP
title matching supports REGEXP


Version 1.0.1

new parameter "title" added
this parameter selects exactly one page and implicitly sets mode=userformat; this may sound somewhat strange but is useful if you want to use DPL´s capabilities for content transclusion only. See the manual for an example.
"include" now works as an alias for "includepage"

Version 1.0.0

support for revisions added
you can now restrict your search to articles which had a revision before or after some point in time; you can also show all revisions before or after some point in time
dominantsection added
this feature aims at generating sortable lists which contain included parts of other documents; if a document calls the same template many times (or contains many chapters with the same heading) the definition of a dominant section will lead to separate output rows for each such call or chapter.
replaceintitle added
you can change the contents of %TITLE% via replacing part of it by some other string

Version 0.9.9

default template added
if you use template based inclusion and you have articles which do not include the original template, a template with the extension ".default" (appended to the dpl substitute for the original template) will be called.
rowcolformat added
when you use columns= or rows= in the output you can now control the cellspacing, cellpadding and backgroundcolor of the output grid.
the multisecseparator tags now also understand variables like %PAGE%
This is helpful when generating sorted lists

Version 0.9.8

inclusion of labeled sections
another bugfix; when including labeled sections using the usertag syntax, DPL only worked correctly for the first inclusion of a given page. If you had more than one inclusion from the same page every inclusion after the first was reduced to a link (due to a too defensive algorithm for breaking recursions). This has been solved. See Test section inclusion.
TOC behaviour changed
You may have observed that mediawiki often creates a table of contents (TOC) for the output of a DPL statement. It also generates editable sections in certain cases. This behaviour is based in the mediawiki engine but often not very desired in our context. You you can use NOTOC and NOEDITSECTION pragmas to stop this behaviour (typically in a resultsheader statement, see Example 2). For mode=category a TOC and editable sections do not make any sense. So DPL inserts the two pragmas now automatically. Note that as a consequence you must manually put a TOC pragma into the article which contains the DPL query if you want to see a TOC for your article.
additional parameters for template based inclusion
now there are two additional parameters named %PAGE% and %TITLE% which are passed to every template when we perfrom a template based inclusion. Thus the template can produce a link to the source file from where it was include (note that the PAGENAME macro cannot be used for this purpose as it contains the name of the page which contains the DPL statement).
linksto, uses, titlematch and their not-equivalents now understand a set of arguments which form an OR-group
the alternatives are separated by a pipe symbol; the "not variants" are interpreted in a way that the "not" is applied to the whole OR expression. So, notlinksto=London|Paris means that an article must not link to (London or to Paris) to be selected. You could also say that it must not link to London AND it must not link to Paris.
in some rare cases it could happen that a template text was included although the template wasn´t called in the original source
This error has been fixed with patch1 of 0.9.8.

Version 0.9.7

bug fixed with transclusion of labeled sections
Due to an error in all versions below 0.9.7 the transclusion of labeled sections only worked if you had LabeledSectionTransclusion installed as another mediawiki extension (besides DPL). This should be solved now.
addfirstcatgeorydate can be used with more than one category selection
A restriction on input parameter combinations was released. If an article belongs to more than one category there is no defined procedure which date will be shown.

Version 0.9.6

space sensitivity in template recognition eliminated
There was a bug which prevented DPL from recognizing template calls in an included article when there were spaces or linefeeds between the opening double braces and the template name. There was also another bug which led to misinterpretations when you had two templates where one of them had the name of the pther plus some appended letters. Both errors have been corrected with Version 0.9.6; see Example 1 and Nigunda Test.
changed semantics of secseparators
To gain more flexibility it was necessary to modify the semantics of the secseparators statement. Please check the DPL statements using this parameter and adapt them if necessary. For details see the manual.
allowed multiple inclusion of the same template or same chapter
If a document includes the same template many times you will get all hits now. You can separate them with the new parameter "multisecseparators="
heading based inclusion
a single # will include the text before the first heading
recursion blocking
The page containing your DPL statement will never show up in the result. You need no longer exclude that page explicitly.
userdateformat
Now you can define the way you want to see a DATE; use the syntax of php gmdate(), i.e. "Y-m-d (D)" would give "2007-02-26 (Mon)" etc.

To show only the time you could use "h:i".

php warning eliminated
IN php5 (with a certain config parameter setting) there was a warning about calltime reference passing of parameters. This should now be gone.
new Variable %TITLE%
This new variable contains the page name without the namespace; it can be used to create a link together with %PAGE% like this:

[[%PAGE%|%TITLE%]]

sophisticated character escapings
We use the following replacements within DPL parameter interpretation:
  •  » is translated to >
  • « is translated to <
  • ¦ is translated to |
This makes it possible to include tags (even other mediawiki extensions!) within a DPL call

Version 0.9.5

introduced "offset="
With this new option you can (in combination with "count=") restrict the output to a range of hits

Version 0.9.4

allowed "-" with "categories="
With this new option you can exclude categories from appearing in the headings when grouping output bay categories
disabled UTF8 conversion with sortkeys
... as it led to SQL arrors (incompatible collations...) with non-UTF8 MysQL database settings
option headingcount= added
Now you can decide whether to show or to suppress (=default) the text line with the number of entries in a heading group

Version 0.9.3

allow ¦ as an alias for |
This makes syntax looking better when using DPL in parser function mode
escapelinks= introduced
Regarding images and categories you can now decide whether yo want links in the output result (this is default) or you want the categories added to your apge and/or the images displayed directly

Version 0.9.2

problem with headlines in headingmode corrected
addcategories
bug fixed
new variable %CATLIST%
in mode=userformat you have access to the list of categories via this built-in variable

Version 0.9.1

adduser
problem with adduser solved

Version 0.9

There are many enhancements compared to older versions, such as

  • usability as parser function
  • this had some influence on downward compatibility with older versions, especially regarding parameter interpretation
  • enhanced page inclusion
  • titlematch, nottitlematch
  • notlinksto
  • resultsheaders
  • mode=userformat / listseparators= / many new %variables%
  • categoriesminmax
  • uses= (template based inclusion)
  • randomcount
  • columns and rows in the output
  • includemaxlength
  • ... and some others

Version 0.8.x

The extension was called DPL2 until version 0.8.x; for details of that part of the history see meta wiki description of DPL2