Contents
|
There are several different modifiers in Dise Parser, all described below. Some will take input and based on the settings they will do changes and output the result, for the next modifier to use. Some will just do output and some will just take input. Some modifiers will do their processing based on XML tag that has been added to the input earlier.
Will process the input data looking for some supported tags.
Has the following functions:
CopyFile
Note: If the file content of the source file is the same as in the destination file, then the file will not be replaced.
<CopyFile srcprefix="C:\Data\" src="file1.jpg" dstprefix="C:\Content\" dst="newsimage1.jpg" overwrite="0">
DownloadFile
Note: If the content of the source URL is the same as in the destination file, then the file will not be replaced.
<DownloadFile srcprefix="http://news.source.com/getnewsimage.php?newsid=" src="1" dstprefix="C:\Content\" dst="newsimage1.jpg">
RemoveFile
<RemoveFile target="C:\Data\oldimage.jpg">Delay
<Delay ms=500>Replace <br /> tags with
Run a executable file or batch script with or without parameters.
Filename
Parameters
Check exit code
Output process text
Output process errors
Log process text
Log process errors
Use a text file for input or output.
Support for UTF-8 and most code pages.
ChangeOutputFile
<ChangeOutputFile dst="New_output_file.txt">Mode
Filename
Code page
Only update if content is different
Remove whitespace from beginning/end of text
Monitor input file for changes
Listens to keyboard events, allowing Dise Parser to react to user-triggered events, similar to Dise Keyboard Control. The output from this modifier will be in XML looking like below:
<Keyboard> <Key Code="49">stop</Key> </Keyboard>
Key list
Add/Edit
Remove
Key
Key code
Select
Associated data
Fetch data from a database or other ODBC source.
The output from this modifier will be in XML looking like below:
<ODBC> <Row> <Column1>Data of column 1</Column1> <Column2>Data of column 2</Column2> ... </Row> ... </ODBC>
This XML data can the be easily processed into text.
Should work with all ODBC compatible data sources, but has been tested successfully with:
Note: Make sure you have the ODBC drivers installed on the machine for the source you are attempting to connect to.
Note: If you are using 64-bit windows, since Dise Parser is a 32-bit application you will need to run the 32-bit ODBC administration to setup a DSN, located at C:\Windows\SysWOW64\odbcad32.exe.
Note: Running Dise Parser as a service requires the DSN be setup as a System DSN, not User DSN.
Connection string
Excrypt connection string
Statement
Use name of column in output
Use the Windows Script Host to execute scripts.
Can execute VBScript (Visual Basic Script) or Java Script natively, but addons for Perl, Python, PHP and many other languages exist. Supports both input and output data from the scripts, that means that you can put all the data processing in a simple Java Script.
A Script to enable fetching of data from SOAP is included in the installation, read more in the SOAP Example.
Here is a very simple script showing the use of the different functions that exists in the script modifier host. The script will cancel if there are no data in the input, and otherwise it will add two XML tags that then can be handled in modifiers that exist later in the tree.
The #pragma in the beginning is also important, as it will setup what scripting language that the file contains.
The script modifer host (DPModifier) contains the following functions:
Log(string logString)
string GetInput()
SetOutput(string outputText)
CancelProcessing
#pragma language JScript function DoSomething() { var input; var output; input = DPModifier.GetInput(); if (input=="") { DPModifier.Log("Script: No input"); DPModifier.CancelProcessing(); } else { output = "<udp-multicast action=\"send\" data=\""; output += input; output += "\">"; output += "<delay ms=\"5000\">"; DPModifier.SetOutput(output); } DoSomething();
It is also possible to include other script files using #include "file.js" anywhere in the file (included files need to be in the same scripting language as the main one).
Filename
This modifier can receive data from the serial (RS232) port. The serial port will be monitored and if used as the root modifier in a tree it will not allow further processing unless data has been received. This means that you can set the run interval of the modifier tree to a low value and then get a very quick response time.
The output from this modifier will be in XML looking like below:
<Serial Text="This is your modem speaking"><Serial Hex="5468697320697320796f7572206d6f64656d20737065616b696e67">
Serial port and settings
Receive data
Only open port (for use in script)
Get data in Hex format
Get data in XML format
Set RTS state on init
Set DTR state on init
The text processing modifier can remove XML tags and invalid characters, sort your data and process entities.
Entities
Remove XML Tags
Remove invalid characters
Remove duplicate lines.
Sort lines
Case sensitive
Parse macros
The text modifier lets you specify a section of text to send to the next modifier.
Parse macros
Insert macro
Use XSL (eXtensible Stylesheet Language) to process XML data into XML or text output.
Read more: XSLT Tutorial
Scripts for parsing ODBC modifier database output (example here), RSS Feeds (example here), yr.no weather and serial port data are included with the installation.
It is possible to do a lot of things from an XSL script, for example run Java- or VBscript. See the RSS xsl for an example of this.
Filename
Will use the AOpen Hardware Monitor to collect data from the hardware, only works for AOpen motherboards with Hardware Monitor support.
The output from this modifier will be in XML looking like below:
<AOpen> <FanSpeed1 Unit="RPM">4350</FanSpeed1> <FanSpeed2 Unit="RPM">2032</FanSpeed2> <FanSpeed3 Unit="RPM">550</FanSpeed3> <Temperature1 Unit="C">45</Temperature1> <Temperature2 Unit="C">49</Temperature2> <Temperature3 Unit="C">32</Temperature3> </AOpen>
There are no settings for this modifier.
Handle output from the Core Temp software. The output from this modifier will be in XML looking like below:
<CoreTemp> <CPUName>Mobile Intel Core 2 Duo T6600 (Penryn-3M)</CPUName> <CPUSpeed Unit="MHz">1196.95</CPUSpeed> <CPUVID Unit="v">0.92</CPUVID> <PhysicalCPUs>1</PhysicalCPUs> <CoresCPU>2</CoresCPU> <CPU> <TjMax Unit="C">90</TjMax> <Core> <Temp Unit="C">50</Temp> <Load Unit="%">17</Load> </Core> <Core> <Temp Unit="C">50</Temp> <Load Unit="%">18</Load> </Core> </CPU> </CoreTemp>
There are no settings for the Core temp modifier.
Use the IBase Sensor SDK (v2.33) to collect data from the hardware, only works for IBase motherboards with Hardware Monitor support.
Using the IBase WDT/DIO SDK (v2.1.11) you can also get some system info and utilize the built in watch dog.
Without any specific parameters (below) the output from this modifier will be in XML looking like below:
<IBase> <SensorChip>Winbond 83782D</SensorChip> <VoltageCore Unit="V">12</VoltageCore> <VoltageIo Unit="V">5</VoltageIo> <Voltage5Positive Unit="V">+5</Voltage5Positive> <Voltage12Positive Unit="V">+12</Voltage12Positive> <Voltage5Negative Unit="V">-5</Voltage5Negative> <Voltage12Negative Unit="V">-12</Voltage12Negative> <Fan1 Unit="RPM">4350</Fan1> <Fan2 Unit="RPM">2032</Fan2> <SystemTemperature Unit="C">45</SystemTemperature> <CpuTemperature Unit="C">57</CpuTemperature> </IBase>
IBase
<IBase action="stats" /> <IBase action="watchdog" count=5 /> <IBase action="sysinfo" />
Listing files will have the following XML output:
<IBase> <Info>Chipset information</Info> </IBase>
There are no settings for this modifier.
Download and upload files using several different protocols.
Supported protocols:
FileTransfer
<FileTransfer action="upload" src="C:\Files\Test.mp3" dst="ftp://10.1.23.10/Test.mp3" /> <FileTransfer action="download" src="ftp://10.1.23.10/Test.mp3" dst="C:\Files\Test2.mp3" /> <FileTransfer action="list" src="ftp://10.1.23.10/" />
Listing files will have the following XML output:
<Files> <Dir Name="ADirectory" Size="0" Date="2009-08-10 11:11:11"> <File Name="TheFile.txt" Size="1234" Date="2009-10-25 13:37:47"> </Files>
Alias
Set username/password
Create missing directories
Set timeout values
Use file upload database
Easily download files from HTTP or HTTPS sources.
http
<http action="POST" url="http://devserver/form.php" parameters="category=document&type=spreadsheet" />URL
Force use of the following codepage
Read more: Code page - wikipedia.org
Use user authentication
Use proxy
Send a ICMP ping to a server.
Sync the computer to atomic time from a SNTP (Simple Network Time Protocol) server.
There are no XML input tag support for this modifer, it will just sync the computer time if you run it.
Time server
Timeout (ms)
Used to send e-mails.
If you specify the e-mail addresses in the settings dialog everything in the input to this modifier will be sent as an e-mail using those settings.
Otherwise you can leave those settings empty, and use an XML tag (as below) to send customized e-mails.
When specifying the e-mail in the settings dialog, it will always use "DiseParser" as the subject.
SendMail
<SendMail to="support@displayevolution.com" from="admin@happygoluckytoys.com" server="smtpserver.local" port="25" subject="DiseParser"> Hi there, Here is an e-mail informing about the update. Regards, Dise Parser. </SendMail>
To address
From address
SMTP server
SMTP port
Authenticate with and fetch information from social media services. The modifier generally requires you to login with a valid service account.
URL
Service type
Account
Receive or send data on UDP or TCP. Can be used to send data to Dise that that will control scheduling, data connections, sync, and so on.
Note: This modifier listens for connections on all active network cards.
When in receiving XML mode the output from this modifier will be in XML looking like below:
<UDP Received="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque arcu." ReceivedBase64="TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4g
UXVpc3F1ZSBhcmN1Lg==">This XML data can the be easily processed into text.
Host & Port
TCP / UDP
Send data
Receive data
Receive as XML
Add Base64 encoded data to XML
Keep connection open
Receive or send data on UDP Multicast. Can be used to receive data from Dise. Or to send that that will control scheduling, data connections, sync, and so on.
When in receiving mode the output from this modifier will be in XML looking like below:
<UdpData> <Message> <Base64Text>TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4g UXVpc3F1ZSBhcmN1Lg==</Base64Text> <Text>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque arcu.</Text> </Message> </UdpData>
This XML data can the be easily processed into text.
Multicast address & Port
Send data
Receive data
Prefix data
Add Dise remote control header
Add Base64 encoded data to XML
Only parse tags
udp-multicast
<udp-multicast action="send" data="hello world"/>Receive RFID data from devices using the Xtractor AxtiveX system from Hong Kong RFID Ltd.
When in receiving mode the output from this modifier will be in XML looking like below:
<Xtractor> <ActiveTags> <Tag>100000000000000000000002</Tag> </ActiveTags> </Xtractor>
Baud Rate
Port number
Reader
TagType
Read more: ISO15693 - Wikipedia
Read more: ISO18000 - Wikipedia
Read more: TagIT - Tagit Inc.
Read more: EPC_GEN2 - Wikipedia
Tag valid for (seconds)
Retrieve data from reacTIVision, reading fiduciary marker information.
Read more: reacTIVision - sourceforge.net
Read more: Interactivity using fiducial markers
Output from this modifier will be in XML looking like below:
<TUIO> <ActiveObjects> <Object SymbolID="215" SessionID="3" X="0.927660465240478" Y="0.707516849040985" Angle="3.12536025047302" MotionSpeed="0.0702865198254585" RotationSpeed="0" MotionAccel="-0.486240029335022" RotationAccel="0"/> </ActiveObjects> </TUIO>
None.
Renders a window with buttons for the user to click on, allowing Dise Parser to react to user-triggered events. The output from this modifier will be in XML looking like below:
<Buttons> <Button>start</Button> </Buttons>
Button list
Add/Edit
Remove
Move up/down
Caption
Associated data
Handle compressed files.
Currently supports extracting and listing the content of ZIP files.
Compression
<Compression action="open" type="zip" file="thezipfile.zip"> <Compression action="extract" type="zip" src="afile.txt" dst="T:\ZipTest\File.txt"> <Compression action="extract" type="zip" src="Subfolder/afile.txt" dst="T:\ZipTest\File.txt"> <Compression action="extract" type="zip" src="*.png" dst="T:\ZipTest\"> <Compression action="extract" type="zip" src="*" dst="T:\ZipTest\"> <Compression action="list" type="zip"> </Compression>
<Compression action="extract" type="zip" file="thezipfile.zip" src="afile.txt" dst="T:\ZipTest\File.txt">List will output the following XML:
<Files> <File Name="thefile.txt" Size=123 CompressedSize=12 Compression="Zip"> <File Name="afile.txt" Size=52546 CompressedSize=3234 Compression="Zip"> </Files>
There are no settings for the Compression modifier.
This modifier can interface with the Customer Flow Management (queue number) systems from Q-Matic.
The output from this modifier will be in XML looking like below:
<QMatic> <Message> <TicketNumber>007</TicketNumber> <CashierNumber>01</CashierNumber> <ServiceType>1</ServiceType> </Message> </QMatic>
This XML data can the be easily processed into text using XSL, and then we can put it into a text file or send it directly to the player using UDP Multicast. Check out the QMatic.dpmodifiers sample and the QMatic.xsl / QMaticServiceType0.xsl file for more information.
Read more: Setting up QMatic with Dise
Serial port and settings
Control the power of the Parser PC.
PCPower
<PCPower action="reboot" force=true><PCPower action="suspend" poweronat="07:15:00">There are no settings for this modifier.
Control the Volume of the PC.
Volume
<Volume action="set" value=0.5><Volume action="get">
When you use the Get action the following XML will be the output:
<Volume>0.5</Volume>
There are no settings for this modifier.
exchange
<exchange action="calendar" mailbox="per@klocktornet.onmicrosoft.com"/>