The Dashboard view loads using the existing view loading architecture. The process is:
The Dashboard component is the specification-level dashboard component.
Click here for a visual representation of Dashboard component behavior.
Data loading uses a pattern already in place in the contacts, group, and company layouts. Each of the views contains an Act! Framework Component that allows the individual layout controls to be bound to the data in the Act! Framework. The Framework Component notifies its consumers when the Framework has been connected. For the Dashboard feature, the Act! Framework Component is extended with the Act! Dashboard Framework Component which utilizes this notification to signal its consumers to load the Dashboard component data. The Act! Dashboard Framework Component contains an event object that controls the asynchronous background loading of the dashboard components data. The event object can be added to, changed or replaced independent of the individual Dashboard components themselves. Dashboard components are not hard coded with a particular method of loading the data; you can change the method without changing the dashboard components.
When the Framework is connected, the Act! Dashboard Framework Component notifies the Dashboard components to load their data. Since the Dashboard Framework component uses the event object to do this, the consumers are called in the correct order and in the configured way, synchronously or asynchronously. The Act! Dashboard Framework Component contains a property to set whether the data should be loaded synchronously or asynchronously. This property allows consumers of the component to specify how the components will load their data. The background loading happens on the main application thread because the Act! Framework is currently not thread safe. This means that even though the data for the Dashboard components is loaded in the background, it will happen one at a time on the main thread. The data will be loaded and not shown. This allows the Dashboard components to all render their data at the same time. The Act! Dashboard Framework Component notifies the Dashboard components to display the loaded data after all the components have loaded their data.
The Dashboard components expose events to notify of a drill down operation. The view upon load of a Dashboard hooks the consumers of drill down up with the individual Dashboard components. The consumer then takes the drill down information, such as filters, and displays the appropriate UI with the filters applied.