As the starting point of a project, an Interactive Reporting document is composed of many sections, one or more of which may be a dashboard. Each section contains objects that expose scriptable events. Documents may contain JavaScript as part of the document and section events.
The regular Interactive Reporting document is disassembled, and all JavaScript is read from events within the document and stored in a Scripts folder as a text file—one for each section plus one for the scripts. Provision is made for every event in the Interactive Reporting document even if it is empty.
Instrumented.bqy is created from the regular Interactive Reporting document. The file contains a full set of unmodified sections including queries, results, tables, charts, pivots, and report sections. It also contains altered or instrumented releases of the original sections. All visual elements remain unchanged but a line of JavaScript is inserted into all object events in place of the original script. The JavaScript calls the Debug Server to request code. In response, the Debug Server sends JavaScript back to Interactive Reporting Studio in time for live execution of the code.