Compatibility: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 1: Line 1:
{{DPL Manual|section=Compatibility}}
{{DPL Manual|section=Compatibility}}


DynamicPageList3 contains all functionality of the Intersection extension and previous versions of DynamicPageList.
As said before, since release 1.8.2 DPL contains all functionality of Extension:Intersection.


==== Migration aid ====
= Migration Aid =


In the standard configuration DPL registers the <DynamicPageList> tag. This is needed to be downward compatible with extension 'Intersection'.
In the standard configuration DPL registers the <DynamicPageList> tag. This is needed to be downward compatible with extension 'Intersection'.


In the transition phase you may want to install DPL in PARALLEL to 'Intersection' for testing. DPL offers a second entry point for that purpose. Instead of require_once("DynamicPageList.php") you have to use require_once("DPLMigration.php"). DPL will then ONLY register a tag called <Intersection>
During transitioning you may want to install DPL in parallel to 'Intersection' for testing. Simply configure add the configuration line <pre>$dplMigrationTesting = true;</pre> and DPL will then only register a tag called &lt;Intersection&gt;.


In this constellation you can change some of your existing calls of 'Intersection' (which use the &lt;DynamicPageList&gt; tag) to the &lt;Intersection&gt; tag. Once you are convinced that this produces identical results and works with equal efficiency you can change to require_once("DynamicPageList.php"). Don't forget to change the statements back to the &lt;DynamicPageList&gt; tag!. Of course you must also remove the require_once() for the Intersection extension.
With this configuration try changing some of the existing calls of 'Intersection' (which use the &lt;DynamicPageList&gt; tag) to the &lt;Intersection&gt; tag. Once the data has been tested and verified that it produces identical results simply remove the <pre>$dplMigrationTesting</pre> line.


==== Messages ====
=Messages=


The 'i18n' files of 'Intersection' and DPL have been merged.
The 'i18n' files of 'Intersection' and DPL have been merged.
There are some messages which are semantically identical in 'Intersection' and DPL (although they have a different technical key). If the &lt;DynamicPageList&gt; tag is used, DPL will have a preference for these old messages.
There are some messages which are semantically identical in 'Intersection' and DPL (although they have a different technical key). If the &lt;DynamicPageList&gt; tag is used, DPL will have a preference for these old messages.


==== Levels of Functionality ====
=Levels of Functionality=


After the migration to DPL the &lt;DynamicPageList&gt; tag will offer exactly the same functionality as the former Extension:Intersection.
After the migration to DPL the &lt;DynamicPageList&gt; tag will offer exactly the same functionality as the former Extension:Intersection.
Line 50: Line 50:


The level of functional richness has 5 values. Each DPL command belongs to exactly one of these levels.
The level of functional richness has 5 values. Each DPL command belongs to exactly one of these levels.
They are defined near line 860 in 'DPLSetup.php':
They are defined in the ParametersData class.


<pre>
<pre>
static private $parametersForRichnessLevel = [
0 => '
0 => [
addfirstcategorydate
'addfirstcategorydate',
category
'category',
count
'count',
mode
'hiddencategories',
namespace
'mode',
notcategory
'namespace',
order
'notcategory',
ordermethod
'order',
qualitypages
'ordermethod',
redirects
'qualitypages',
showcurid
'redirects',
shownamespace
'showcurid',
stablepages
'shownamespace',
suppresserrors
',
'stablepages',
'suppresserrors'
1 => '
],
allowcachedresults
1 => [
execandexit
'allowcachedresults',
columns
'execandexit',
debug
'columns',
distinct
'debug',
escapelinks
'distinct',
format
'escapelinks',
inlinetext
'format',
listseparators
'inlinetext',
notnamespace
'listseparators',
offset
'notnamespace',
oneresultfooter
'offset',
oneresultheader
'oneresultfooter',
ordercollation
'oneresultheader',
noresultsfooter
'ordercollation',
noresultsheader
'noresultsfooter',
randomcount
'noresultsheader',
randomseed
'randomcount',
replaceintitle
'replaceintitle',
resultsfooter
'resultsfooter',
resultsheader
'resultsheader',
rowcolformat
'rowcolformat',
rows
'rows',
rowsize
'rowsize',
titlemaxlength
'scroll',
userdateformat
',
'title',
'titlelt',
2 => '
'titlegt',
addauthor
'titlemaxlength',
addcategories
'userdateformat'
addcontribution
],
addeditdate
2 => [
addexternallink
'addauthor',
addlasteditor
'addcategories',
addpagecounter
'addcontribution',
addpagesize
'addeditdate',
addpagetoucheddate
'addexternallink',
adduser
'addlasteditor',
categoriesminmax
'addpagecounter',
createdby
'addpagesize',
dominantsection
'addpagetoucheddate',
dplcache
'adduser',
dplcacheperiod
'cacheperiod',
eliminate
'categoriesminmax',
headingcount
'createdby',
headingmode
'dominantsection',
hitemattr
'eliminate',
hlistattr
'fixcategory',
ignorecase
'headingcount',
imagecontainer
'headingmode',
imageused
'hitemattr',
include
'hlistattr',
includematch
'ignorecase',
includematchparsed
'imagecontainer',
includemaxlength
'imageused',
includenotmatch
'include',
includenotmatchparsed
'includematch',
includepage
'includematchparsed',
includesubpages
'includemaxlength',
includetrim
'includenotmatch',
itemattr
'includenotmatchparsed',
lastmodifiedby
'includepage',
linksfrom
'includesubpages',
linksto
'includetrim',
linkstoexternal
'itemattr',
listattr
'lastmodifiedby',
minoredits
'linksfrom',
modifiedby
'linksto',
multisecseparators
'linkstoexternal',
notcreatedby
'listattr',
notlastmodifiedby
'minoredits',
notlinksfrom
'modifiedby',
notlinksto
'multisecseparators',
notmodifiedby
'notcreatedby',
notuses
'notlastmodifiedby',
reset
'notlinksfrom',
secseparators
'notlinksto',
skipthispage
'notmodifiedby',
table
'notuses',
tablerow
'reset',
tablesortcol
'secseparators',
title
'skipthispage',
titlematch
'table',
usedby
'tablerow',
uses
',
'tablesortcol',
'titlematch',
3 => '
'usedby',
allrevisionsbefore
'uses'
allrevisionssince
],
articlecategory
3 => [
categorymatch
'allrevisionsbefore',
categoryregexp
'allrevisionssince',
firstrevisionsince
'articlecategory',
lastrevisionbefore
'categorymatch',
maxrevisions
'categoryregexp',
minrevisions
'firstrevisionsince',
notcategorymatch
'lastrevisionbefore',
notcategoryregexp
'maxrevisions',
nottitlematch
'minrevisions',
nottitleregexp
'notcategorymatch',
openreferences
'notcategoryregexp',
titleregexp
',
'nottitlematch',
'nottitleregexp',
4 => '
'openreferences',
deleterules
'titleregexp'
goal
],
updaterules
4 => [
',
'deleterules',

'goal',
'updaterules'
]
];
</pre>
</pre>