DeXML Scripting (Deputy XML) is a Deputy Invention where you can write server side codes in a XML language. This will run on our server in a sandbox allowing to perform several actions which you probably cannot do via APIs.

Our fundamental belief is that business should not change to suit the software. Rather software should adapt to business! DeXML scripts allow Deputy to be extended in a limitless way that can almost do anything !

Rather than complicating our UI with zillion checkboxes and options, we often would suggest use scripts where possible

Few things about DeXML:

  • It always runs in FULL ADMINISTRATIVE privilege. Hence there is NO permission restrictions when it is running in Reports or Custom Web App
  • It is a scripting language. Not a programming language as such! So don't expect too much of it
  • It is quite lengthy! But we have DeCaf to simplify it
  • They can be standalone or be part of Reports and Custom WebApps
  • Several Deputy Scripts are sitting there for you to see. It's completely open-source!
  • DeXML is NOT a lazy language. I.E. It will evaluate EVERYTHING in an expression.
  • DeXML is 100% XML. So everything must be proper XML
  • Error debugging can be a little hard. We there is not debugger as such so be mindful how you execute.

Deputy Enterprise can access DeXML from Settings->Custom Development->DeXML Scripting

For those who are in Deputy Pro, go to https://{subdomain}.deputy.com/exec/devapp/dexml

There are few different types of scripts:

  • Helper Support Script : This scripts are like sub-scripts. Other scripts can call these scripts.
  • Record Validation : Validates a record. The current object being validated will available as a variable "CurrentRecord"
  • Record After Save : What to do after a record is saved (The record is CurrentRecord).
  • Shift Pay Calculation : For Deputy Enterprise, do award matching for a shift.
  • Period Pay Calculation : For Deputy Enterprise, do award matching for a bunch of shift
  • Payroll Export Script : How to format data for payroll
  • Execute at Cron : Runs the script at every 15 minute interval
  • REST : Available for call via REST API.

Note, DeXML scripts are limited to 1000 calls per execution. Also a time limit of 60 seconds apply! The only exception is Payroll Export script where a large set of data will need to be dealt with.

Sample of DeXML Script:

Make i=0

<assign var="i"><atom>0</atom></assign>

Adding 5 to i

<math  op="+" arg1="$i" arg2="5"  assign="i"/>

Win $10,000 by telling people about Deputy!