The livetext format of the new runtask (chain menu) addition to DG3
In DG3 version 0.15 we got a new addition to code that can be run on open page, the task.
A task is simply a collection of code that can be run in sequence like the old DE-DOS chain menus. The difference is that in DG3 each of the routines that run can leave data for the web page to use.
In DG3 we have a lot of these that can be used as livetext in a page:
user.field | the data that give us information about the logged in user or an anonymous user for all others |
xdg3.url.field | the data that came in as query parameters (?field1=value&field2=value2) |
xdg3.session.field | session data set by the page using xdg3.session.field=value in a url and removed using xdg3.delsession.field |
maindata.field | the main record read by the page, dql or transfer on page load |
viewdata.field | the list of data returned by a table, transfer or dql in a dataview |
transfer.field | data that came from running a transfer on page load, can be data from external source like mssql, mysql, posgresql, csv, directory lists etc. |
transferlog | a result log from the transfer |
task | the new task runner data results (see below for the format) |
tasklog | the new task runner log data that show all routines that was run |
Like all other livetext, the format is simply [{ livetext }]. All you have to do is to do is to use these simple rules for finding the data:
task.nameoftheroutine.dataretrunedbyroutine
That is if you used a transfer names importcontacts that do a csv import where the fields are named ContactName and EMail, the livetext to list that contact names and email will be:
[% for contact in task.importcontacts %]
<tr><td>[% contact.ContactName %]</td><td>[% contact.EMail %]</td></tr>
[% endfor %]
for a dql with the same data the format is:
<table>
<tr><th>Name</th><th>E-mail</th></tr>
[% for contact in task.dqlname.viewdata %]
<tr><td>[% contact.ContactName %]</td><td>[% contact.EMail %]</td></tr>
[% endfor %]
</table>
dqlhasrun | True or False |
maindata | The first record from the list view |
viewdata | The list view |
error | The error message from the dql that failed |
[% if task.dqlname.dqlhasrun %]
<h3>The first record</h3>
<p>[% task.dqlname.maindata.ContactName %] - [% task.dqlname.maindata.EMail %]</p>
[% else %]
<p>Sad to report a dql failure</p>
<p>The error message was [% task.dqlname.error %]</p>
[% endif %]