Help:Extension - DPL3
From Dragon Mania Legends (DML) Wiki
|
Manual |
DynamicPageList3 (DPL3) is a MediaWiki extension used to select existing pages, and to create lists from those pages. DPL can also include (limited) page data from those pages in the results lists, and format the results in a variety of formats. DPL3 does not store data like Cargo or Semantic MediaWiki, so the data to be accessed and displayed has to already be stored somewhere, usually in a page's template parameter values, or as (limited) page properties (categories, images, links, templates etc.). It is important to note that both the criteria for page (result) selection and the data that can be queried and displayed/formatted, is limited. After retrieving data, DPL can be combined with templates and parser functions to calculate and manipulate the data or display.
Must-Read
The following page is key to read:
Primary Module
{{#dpl:}}
is the primary DPL3 extension module.
- Criteria for page selection
- Controlling output format
- Controlling output order
- Help:Controlling output volume
- Other parameters
Other DPL3 Modules
Other DPL3 modules include:
{{#dplchapter:}}
dplchapter{{#dplvar:}}
dplvar{{#dplreplace:}}
dplreplace{{#dplnum:}}
dplnum{{#dplmatrix:}}
dplmatrix
Statement Design
Typical Approach
We generally want to begin with:
- Envisioning what we want it to be as and/or look like (format).
- Determining what will be included/restricted (inclusion/volume).
- Sequencing/Ordering (output order).
- Linking (page selection).
Concept Order | |||
---|---|---|---|
Format Output ➤ | Include/Volume ➤ | Order Output ➤ | Select Pages |
DPL3 Approach
As DPL3 doesn't store content, and simply creates lists from existing content, it requires a different approach order.
- Select existing pages that hold/source the (limited) data you need displayed, based on common characteristics/property (namespace, category, links, author etc.)
- Format - Set an initial format to work in for included data.
- Include associated data held by those pages to see what's possible, and control the volume of pages their data for the output.
- Order/Sequence the output.
DPL Statement Design Order | |||
---|---|---|---|
Select Pages ➤ | Format Output ➤ | Include/Volume ➤ | Order Output |
Common Pitfalls
Common pitfalls are:
- Too broad of selection criteria, resulting unwanted/unintended items in results or the below issue.
- Result sets that are too large , causing potential performance issues.
- Desired result items not categorized or parameterized in ways that make the data accessible.
- Catch-all categories or categories not standardized to house/serve one "type" or "classification" of content (e.g., you want to list Dragons according to some criteria, but non-dragons are categorized into "Dragons" category, so such results display (unexpectedly) in your list of "Dragons".
- Items of the same "type" that you want displayed/listed together, have similar but different, or missing parameters (e.g. if some events have start date or end date while others don't, and you need to populate a table column of start and end dates across different event types, your statements may become increasingly complex to try to "fill in" and standardize non-standard data after the fact, using parser functions, nested statements etc., which make queries increasingly slow.
- Different different data types used in the same parameter (e.g., if sometimes a parameter value is sometimes a number or Boolean and other times string/text, it can present challenges to writing statements and significantly more to format it.