MicroStrategy ONE

Overview of Prompts Architecture

The architecture for prompts has significantly changed in MicroStrategy Web 9.x to improve performance. It is based on the Model-View-Controller architectural pattern.  Since a great deal of data can be presented to the user in a typical MicroStrategy Web request, it is important to separate the data (model) and the user interface (view). This allows changes to be made to the user interface without impacting data handling, as well as allowing data to be reorganized without changing the user interface. Thus, the controller collects user input, the model manipulates data, and the view delivers results to the user.

To understanding how prompts are implemented in MicroStrategy Web 9.x, you have to be familiar with the Block Infrastructure that involves models and views. The Block Infrastructure uses Ajax techniques that lead to a fast and rich interactive experience.

The following table highlights the differences between the implementation of prompts in versions 9.x and 8.x of MicroStrategy Web.

Prompts in MicroStrategy Web 9.x Prompts in MicroStrategy Web 8.x

The Prompts page is a set of JavaScript objects, which are capable of rendering their HTML on the Web browser.

The Prompts page was an HTML page generated by the MicroStrategy Web server.

Transforms are responsible for creating the prompt questions and generating the JavaScript objects needed for their corresponding prompt GUIs.

Transforms were responsible for creating the prompt questions and generating the HTML needed for their corresponding prompt GUIs.

JavaScript plays a vital role in rendering of prompts.

JavaScript was used in the GUI as well, but mostly as a tool for enhancing the HTML content.

Significant changes to the page’s state (such as adding or removing selections in a shopping cart style) are done entirely in JavaScript without round-trips to the Web server.  Changes which require more data from the Web server can be done with Ajax calls which do not refresh the entire page.

Significant changes to the page's state (such as adding or removing selections in a shopping cart style) required round-trips to the Web server which refreshed the entire page.