Extension:External Data/Local programs

You can use External Data to retrieve data returned by a program run server-side. There are two ways to do this: by calling #get_program_data (or its Lua equivalent), or by calling a custom tag, defined with the $edgExeTags variable in LocalSettings.php, which handles both the retrieval and display of the data. One advantage of the latter approach is that it allows for outputting raw HTML; see the "Complex example" below for how to do it.

Simple example
A simple example, involving only text processing, is below: and

Complex example
Below is a more complicated example:

Parameters
All of the parsing-related parameters that #get_web_data supports (format, delimiter, use xpath, etc.) can be used for #get_program_data as well; see.

The caching-related parameters (cache seconds and use stale cache) and settings that #get_web_data supports can be used for #get_program_data as well; see.

Caution
Although programs are run in a restricted environment by, wiki admin should exercise great caution while configuring programs to make them callable with #get_program_data.

A set of tested examples can be found here and (with working output) here.