For user-entered data and data that doesn’t change too frequently, you can choose to store data persistently on each client device. This reduces the amount of data being transferred between the server and client, and so increases performance speed. Performance is additionally boosted because the round-trip time between server and client is reduced—even for different sessions of the same user that are hours apart. Persistent data can be defined in the following ways:
•Default persistent trees: By default, a $PERSISTENT tree is defined for every page in a design. All $PERSISTENT tree data is stored on the client. The data can be static or dynamic. If a node in the tree is associated with a control that accepts end-user input, then data in that node of the tree can be edited by the end user.
•Trees that can be made persistent: In the Page Sources Pane, right-click the root node of any tree that is not persistent. In the context menu that appears, select the command Persist Data on Client. That tree will be made persistent. The data in the tree will be stored on the client, and will be loaded when the solution starts.
•Server access on demand: This setting can be defined in the Styles & Properties Pane. It specifies that a connection between client device and server is made only when needed. This effectively means that the solution uses persistent data on the client or data that is embedded in the solution. A connection to the server will only be made when specifically required by the design, for example, when the design specifies that data be saved to a database on the server. This approach is very useful for boosting performance when working with databases.