Infragistics Analytics Framework Roadmap

This topic provides introduction to adding tracking capabilities of Silverlight Applications developed with Infragistics Silverlight Component toolset. It includes common steps for enabling tracking on existing Silverlight Applications using Microsoft Silverlight Analytics Framework and extending it with Infragistics Analytics Framework
The topic contains following sections:
  • Prerequisites
  • Integrating Microsoft Silverlight Analytics Framework (MSAF) into applications
  • Using the Infragistics Service Oriented Analytics (SOA) Endpoint
  • Infragistics Silverlight for Line of Business Controls supported by Infragistics Analytics Framework
  • Extending MSAF with Infragistics Track Handlers
  • Using the Infragistics Analytics DashBoard
  • Future steps

Prerequisites

Check out the project setup page

Integrating Microsoft Silverlight Analytics Framework (MSAF) into applications

After you install the most recent version of MSAF, you have to add at least one Analytics Behavior object to the LayoutRoot of your Silverlight Application. This behavior is the one that will monitor for TrackAction events and log them to the appropriate analytics service. If your application is not built on top of Silverlight Navigation Framework, or you do have multiple “entry points” you have to add the analytics behavior to each top-most layout root object. A simple Service Oriented Analytics behavior added to a layout root looks like this:
 <Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootGridStyle}">
    	<i:Interaction.Behaviors>
            <mwab:ServiceOrientedAnalytics AccountId="1" 
		Endpoint="http://localhost:48000/soa/" Method="Get"/>
    	</i:Interaction.Behaviors>
	…
</Grid>


There is another place you can you put the Analytics behavior and avoid thinking of how many LayoutRoot objects you have to update. This is ApplicationLifeTimeObjects property on the main App.xaml file:
    <Application.ApplicationLifetimeObjects>
        <mwa:WebAnalyticsService>
            <mwa:WebAnalyticsService.Services>
                <mwab:ServiceOrientedAnalytics 
Endpoint="http://localhost:48000/soa/" />
            </mwa:WebAnalyticsService.Services>
        </mwa:WebAnalyticsService>        
    </Application.ApplicationLifetimeObjects>


Once you have at least one Analytics behavior added, you can as many TrackAction objects as you like (or any other tracking object). If you would like to add tracking of XamMenu’s ItemClick event, here is how you add the TrackAction associated with ItemClick event:
<ig:XamMenu x:Name="NavigationMenu">
      <i:Interaction.Triggers>
          <i:EventTrigger EventName="ItemClicked">
              <mwab:TrackAction Category="XamMenu" Value="1"/>
          </i:EventTrigger>
       </i:Interaction.Triggers>
…
</ig:XamMenu>

Of, course with the latest version of Microsoft Silverlight Analytics Framework and its integration with Expression Bled 4, you can use the Assets panel and just Drag & Drop these object from the Analytics section onto the Elements (like XamMenu) you want to track.

Using the Infragistics Service Oriented Analytics (SOA) Endpoint

When you download latest release of Infragistics Analytics Framework, the solution includes Infragistics.Soa.Endpoint project. This project serves as Service Oriented Analytics endpoint, based on Service Oriented Analytics Protocol Specification 1.0 (http://msaf.codeplex.com/wikipage?title=Service%20Oriented%20Analytics). It also serves as RIA Service for the sample Dashboard application. The project is configured to always run on specific port (48000), so this is the port number specification from:
<mwab:ServiceOrientedAnalytics Endpoint="http://localhost:48000/soa/" />


The solution is also configured to run this project automatically so you do not need to change anything to make tests on development environment!

Infragistics Silverlight for Line of Business Controls supported by Infragistics Analytics Framework

Check out the main documentation page

Extending MSAF with Infragistics Track Handlers

Once you have your application ready for tracking by including Analytics Behavior and Track Action objects to events you want to track, you are almost ready to roll! With this configuration you can track any event on any Infragistics Silverlight Control! However if you want to get more detailed information about events, you can have it for the events listed on (Infragistics Silverlight for Line Business Controls supported by IGAF). The only thing you have to change in your project is to add a reference to the respective TrackHandler assembly. For example if you would like to add detailed tracking support for XamTree, you can do this, by just adding a reference to Infragistics.Silverlight.XamTree.v10.2.TrackHandler project (or just the assembly, if you have it compiled already).

Using the Infragistics Analytics Dashboard

So far you have your Silverlight based application, compiled with support for Microsoft Silverlight Analytics Framework and extended support for Infragistics control from Infragistics Analytics Framework. Assuming you are using the Infragistics.Soa.Endpoint to log application’s tracking information via Service Oriented Analytics, you can review the results using the provided Dashboard project (Infragistics.Soa.Dashboard). If you run the solution, the Dashboard will be automatically started, and here is the welcome screen:
Dashboard.01.png
  1. Main navigation tree. This tree shows data from Service Oriented Analytics Protocol v.1.0 query parameters
  2. Main charts area:
    1. Charts – a dynamic charts showing data from selected counters
    2. Screen resolution –a summarized pie chart of top 5 application resolutions. Note that using MSAF, it sends the actual application resolution, but not the client screen resolution
  3. Counters grid – an expandable grid which shows collected counter data for the section selected from main navigation tree (1) (click the “Show Counters” header to expand/collapse counter data grid;
  4. DateTime Rande slider – use this slider to change the timeframe period you want to see statistical data for.

If you want to see statistical data, you have to first select a category from the left navigation tree, and then choose which counters to show from the Counters grid:
Dashboard.02.png

You choose counters for displaying into charts, simply by checking the checkbox in the first column. This will add selected counters data to the main Charts area. Unchecking the check box will remove counter data from the chart:

Dashboard.03.png

Future steps

Further development of IGAF includes improvements on SOA Endpoint, Dashboard, and including more control to the list of controls with extended support for MSAF. The list of controls will include XamOutlookBar, XamTileView, XamRibbon with selected events for each control.

Further development of Infragistics.Soa.Endpoint will include automatic breakdown of information for events of controls with extended support, so that this information will be immediately available without additional processing. This also leads to extending the Dashboard.
For example the string that now is saved as Control":"XamMenu","Event":"ItemClicked","Item":"Gallery","Tag":" will be broken down so users will have new section in left navigation tree “XamMenu”, it will have single child node “ItemClicked”, and the counters, will be segmented per Item basis.

Last edited Jun 24, 2010 at 9:23 AM by astaykov, version 5

Comments

No comments yet.