Difference between revisions of "DPL:Version History"

From FollowTheScore
Jump to: navigation, search
(Version 1.4.9)
Line 1: Line 1:
 
<center><big>'''[[Download|Download DPL]]'''</big></center>
 
<center><big>'''[[Download|Download DPL]]'''</big></center>
 +
 +
== Version 1.5.0 ==
 +
 +
;changed the algorithm in the ''Call'' extension: the older version was fooled by browsers inserting cookie variables at the beginning of the parameter list. This should be gone now. Use "DebuG" as a pseudo target for testing.
 +
  
 
== Version 1.4.9 ==
 
== Version 1.4.9 ==
  
 
;improved error handling: invalid command names did not always lead to a warning; comands without '=' were silently ignored. A command starting with an '=' lead to a runtime error. All this has been fixed. ''It is recommended to upgrade to this version of DPL'' as the improved error detection will help you to avoid mistakes.
 
;improved error handling: invalid command names did not always lead to a warning; comands without '=' were silently ignored. A command starting with an '=' lead to a runtime error. All this has been fixed. ''It is recommended to upgrade to this version of DPL'' as the improved error detection will help you to avoid mistakes.
 
  
 
== Version 1.4.8 ==
 
== Version 1.4.8 ==

Revision as of 09:08, 22 October 2007

Download DPL

Version 1.5.0

changed the algorithm in the Call extension
the older version was fooled by browsers inserting cookie variables at the beginning of the parameter list. This should be gone now. Use "DebuG" as a pseudo target for testing.


Version 1.4.9

improved error handling
invalid command names did not always lead to a warning; comands without '=' were silently ignored. A command starting with an '=' lead to a runtime error. All this has been fixed. It is recommended to upgrade to this version of DPL as the improved error detection will help you to avoid mistakes.

Version 1.4.8

improved Call extension
Some users had problems (often depending on the browser and the way it handles cookies). This should be solved now. In addition you can call Special:Call/DebuG to get an internal trace.
minor changes at Wgraph
see the change log of Wgraph.
there were no changes of DPL in this release .


Version 1.4.7

new feature
skipthispage can be set to 'no'. This will include the page containing the DPL query into the result set (if the query conditions match). Normally this page is excluded from the result set. Allowing to include the page may cause trouble if your DPL query transcludes contents from nested templates.


Version 1.4.6

new feature
addcontribution allows to check who contributed how much. Only works for articles which were edited recently. See Test addcontribution.

Version 1.4.5

error in "Call extension" corrected
There have been two errors in the Call extension which may have caused trouble to some users, either in combination with MediWiki 1.11 or with some (popular) browsers (e.g. Firefox, Opera). It is recommended to download 1.4.5 even if you yourself did not notice the problem as it may have affected some of the users of your website.


Version 1.4.4

corrected handling of numeric template parameters
See Issue:Include positional template parameter


Version 1.4.3

new feature
include=##regexp, i.e. you can now use a regular expression to find a chapter title. See include.

Version 1.4.2

bug fixes
  1. sometimes a SQL error in the 'group by' clause could occur. Only installations which used a MySQL table name prefix (like mw_ e.g.) were affected
  2. when using ordermethod 'sortkey' an SQL error occured. This has been fixed. 'sortkey' now automatically implies 'category' (which is necessary from a logical point of view).
  3. in some installations, the use of addpagecounter, addpagesize or add...date caused an SQL error. This should no longer happen.
new parameters
  1. tablerow: This makes it possible to format items of a table individually. One can add layout attributes, convert template parameters to interwiki calls, highlight certain values, etc. The new tablerow works closely together with table and include. See the manual for details.
  2. eliminate: this parameter can be used as an alternative for reset, but behaves slightly different. It requires some extra processing so it should be used with care.
  3. ignorecase: this will make comparisons case insensitive. It has an effect on (not)linksto, (not)uses, (not)titlematch, (not)titleregexp, title.
multiple template parameters in include
Now an include statement can return multiple parameter values of a template invocation; this is very useful for table output (one parameter per column). It removes the necessity to write standard 'phantom templates' which only return their parameter values.
design change in 'reset'
reset is no longer used in a separate DPL statement. Instead reset becomes a normal parameter of a DPL query. There are some more subtle changes in behaviour of reset. Read the manual.
new debug option
debug=5 will show the wiki text which is produced by your DPL query. This can be very useful when creating complicated output or when you are stuck with missing newline characters, etc.

Version 1.4.1

bugfix regarding the debug command
debug=3 did not work correctly (lead to an empty page most times)
exception handling improved
Now DPL complains if there is a SQL error. Before it could happen that you only got an empty page.
bugfix regarding distinct=strict
This did not work correctly in some rare constellations

Version 1.4.0

added a new option for distinct
the value 'strict' can be used to reduce the amount of output you get from a linksfrom or linksto statement. See Test distinct.


Version 1.3.9

additional sortkey
now you can use 'pagesel' as a parameter for ordermethod. This will order (group) pages by the pagenames used as a selection in the linksto or linksfrom command.
added noresultsfooter and oneresultfooter
guess what they do?
new command table
This makes it a lot easier to present DPL output in wiki table format. See the manual and the examples.


Version 1.3.8

Bugfix
Extracting a template parameter could be mislead by pipe characters sitting inside hyperlinks. This has been fixed. It only affected the {Template:xyz}:parameter_name syntax variant.

Version 1.3.7

Bugfix
In release 1.3.6 using "ordermethod=sortkey" caused an SQL syntax error. Please upgrade to 1.3.7
extended boolean support
parameters of type boolean now accept true, false, yes, no, 1, 0, off, on as values.


Version 1.3.6

The DPL special page was removed
The DPL GUI is a better suited alternative. There were some minor features in the DPL special page which are not available in the current revision of the GUI. If somebody feels that these features should be made available again, I would recommend to create a subpage of the current GUI and add a button to the GUI which gives access to that subpage (containing the extended functions). I would not like to overburden the standard layout of the DPL GUI with a dozen of more or less exotic options... The source code of the old special page is still available in the version history of the ZIP archive.
allow individual collations for sorting
a new option called ordercollation makes it possible to define special collating orders which e.g. allow case insensitive sorting. Use with care: You must specify a collation symbolic name which is known to MySql - otherwise you will get a SQL error (use 'debug=4' to check!). A good guess is latin1_swedish_ci.
path to standard collating sequence regarding the symbols which represent card suits
As I use DPL heavily in a wiki which deals with the game of Bridge I wanted to have the suit symbols ordered in the canonical way. This should not do harm to anybody but may encourage the use of DPL in Bridge playing communities.
bugfix re. %PAGES%
 %PAGES% did not work when used with mode=category. Now it does.
On special request of the people from the wonderful city of Vienna there is a new feature regarding subpages
Please make sure that %PAGES%, column output and other related features still work as expected when used together with 'includesubpages=no'.

Version 1.3.5

bug fixed at ordermethod
Previous versions had trouble with ordermethod=category,sortkey


Version 1.3.4

changed layout for multi column output
Now the columns size is calculated in a way which creates columns of equal length excpet the last column.
SQL errors eliminated
There were some rare cases where you could run into a SQL error complaining about ambuguities in column names - esp. when using 'linksfrom'. Hopefully all of these problems have no gone.
subcategory expansion corrected
spaces in category names prevented DPL from descending into subcategories.


Version 1.3.3

Bugfix at ordermethod parameter checking
if more than one parameter was used, there could be false complaints about invalid parameters.


Version 1.3.2

Warning at missing selection criteria
The warning caused by missing selection criteria will now only be issued if no DEBUG level was set
%NAMESPACE% added
This variable contains the namespace of the current page in teh DPL result set
%PAGESEL% added
This variable contains the page which was used as a starting point in a 'linksfrom' or 'linksto' condition. Note that these parameters accept a list of pages.
Headingmode with columns
'headingmode' now works with multiple columns; we assume that the vertical space needed for a heading roughly equals two normal lines
Bugfix with error messages
parameter syntax errors were not shown in some cases
New Parameter 'reset'
issuing a separate DPL statement which contains 'reset' as the only parameter allows to get rid of unwanted references of a DPL page to templates, images, categories and other pages; read the manual.
Bugfix with SQL error
ambiguous 'page_name' in SQL statement fixed (appeared when namespace= and linksfrom= were used together)
Modification of 'includematch'
includematch now always uses php preg_match instead of ereg - therefore patterns must have delimiters! Before #patterns had been matched using ereg
added 'oneresultheader'
this header is used if there is exactly one entry in the result set. For the friends of correct grammar ..
allow nesting of DPL statements
The symbols ²{...}² can be used to depict a template call which shall be executed while DPL is walking through its result list. This is a major step forward in combining DPL with other extensions. Read the Manual!


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


Download DPL