DANG is LincDoc business logic engine that is the driving force behind all the conditions, actions, events and calculations contained within a LincDoc form. This is the replacement for the custom scripting that was done in Javascript in earlier releases of LincDoc.
To understand DANG, it is important to first know certain terminology:
Conditions: an expression that evaluates to either be true or false. For example, total_cost > 1000 or day_of_week is "Tuesday". Conditions can also be combined using and and or operators, e.g., total_cost > 1000 AND day_of_week is "Tuesday".
Actions: actions are discrete units of work that are executed when a condition is true. Examples of actions are displaying an alert message; sending an email containing a link to a document; displaying a document; saving a document to the database; and many more.
Events: events denote key moments in time when an eForm is being executed. For example, if an eForm contains a signature field, then when the user signs the document it triggers the after signing event. When an event happens, it may fire one or more actions; each action fires (or not) based on evaluating the condition assigned to it.
Functions: functions take zero or more input values (typically form fields) to produce a single output value. For example, to combine first_name with last_name you would use the Concat (concatenation) function. An example of a function that takes zero input values is Username, which simply returns the username of the logged in user.
Calculations: calculations assign values to fields, often by combining one or more functions. Calculations can be mathematical, but not necessarily: for example, a form may have a calculation to derive a field called full_name by concatenating fields first_name and last_name.