Extension:External Data
External Data Release status: stable |
|
---|---|
Implementation | Parser function , Special page |
Description | Allows for using and displaying values retrieved from various sources: external URLs and SOAP services, local wiki pages and local files (in CSV, JSON, XML and other formats), database tables, LDAP servers and local programs output. |
Author(s) | Yaron Koren, Alexander Mashin and others |
Latest version | 3.3 (November 2023) |
Compatibility policy | Master maintains backward compatibility. |
MediaWiki | 1.37+ |
Database changes | Yes |
Tables | ed_url_cache |
License | GNU General Public License 2.0 or later |
Download | See Download and installation |
Example | A page containing information retrieved from an external CSV file |
|
|
Translate the External Data extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
The External Data extension allows MediaWiki pages to retrieve, filter, and format structured data from one or more sources. These sources can include external URLs and SOAP services, regular wiki pages, uploaded files, files on the local server, databases, LDAP directories and local programs output.
The extension defines the following parser functions :
- Data retrieval and handling functions, which set local variables and then display or store them:
- #external_value - displays the value of any such variable.
- #for_external_table - cycles through all the values retrieved for a set of variables, displaying the same "container" text for each one.
- #display_external_table - cycles through all the values retrieved for a set of variables, displaying each "row" using a template.
- #format_external_table - available only if Cargo is installed. Formats the retrieved external data the same way as #cargo_query.
- #store_external_table - cycles through a table of values, storing them as semantic data via the Semantic MediaWiki extension, by mimicking a call to SMW's #subobject function for each row.
- In the Legacy mode the extension also defines data retrieval functions, which set local variables available with wikipage scope that can later be displayed using the above functions:
- #get_external_data - retrieves data from various sources, thus replacing any of the below parser functions, and assigns it to variables that can be accessed on the page.
- #get_web_data - retrieves CSV, GFF, JSON, YAML, XML, HTML, ini, or free-form data from a URL and assigns it to variables that can be accessed on the page.
- #get_soap_data - retrieves data from a URL via the SOAP protocol.
- #get_file_data - retrieves data from a file on the local server, in the same formats as #get_web_data.
- #get_db_data - retrieves data from a database.
- #get_ldap_data - retrieves data from an LDAP server.
- #get_program_data - retrieves data returned by a program run server-side.
- #get_inline_data - parses data passed to it, in the same formats as #get_web_data.
- and also #clear_external_data that erases the current set of retrieved data or only some variables.
It also defines a Lua function mw.ext.externalData.getExternalData
that retrieves data and returns it as Lua table.
In the Legacy mode, the following additional Lua functions are also defined (there is one-to-one correspondence between parser functions retrieving data and Lua functions evident from their names):
mw.ext.externalData.getWebData
mw.ext.externalData.getFileData
mw.ext.externalData.getDbData
mw.ext.externalData.getSoapData
mw.ext.externalData.getLdapData
mw.ext.externalData.getProgramData
mw.ext.externalData.getInlineData
In tag emulation mode, the wiki site administrator can define additional parser tags.
This version of the External Data extension requires MediaWiki 1.37+.
Click through the pages in the navigation bar above to learn more about External Data, how it works, how to use it, and how to install it.
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |