SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
Chippewa Valley Code Camp 2008 Web-based Data Visualization  A Focus on VisiFire Ryan Oliveira Solutia Consulting Room 103 12:45am-2:00pm Solutia Consulting Technology Enablement Services
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Today’s Agenda
[object Object]
Founded in 1997, Solutia Consulting helps clients develop customized software solutions to align with their business goals. We manage projects from requirements gathering through application development, with quality as our top priority.  In 2007 Solutia created the Technology Enablement Practice focused on delivering technology solutions and best practices in support of its Management Consulting and Transformational Support practices. About Solutia Consulting
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Business Intelligence and Data Visualization
What is Business Intelligence? Ability to create universal visibility and clarity to the information harvested from a businesses data sources. What is Data Visualization? A technique using graphical representations  to help shape understanding of data and information ! ? Business Intelligence and Data Visualization
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Enter the Business Intelligence Portal / Dashboard Business Intelligence and Data Visualization
Ease of Use Solution must be able to be used by office user and/or power user Cost Lower is Better Presentation Features Product should offer a number  of visualization and presentation options  including database drill down Data Features Product should offer a number of ways of getting to various types of data within your organization Integration Product should integrate with a web platform Measurement Criteria
Visifire is a set of open source data visualization components - powered by Microsoft® Silverlight. Dundas is a leader in Data Visualization technologies and includes Charting, Gauge and mapping products specific to SSRS, OLAP, SharePoint and .NET SoftwareFX and its ChartFX franchise have been a mainstay in visualization technologies since the early 90’s.  It’s product line(s) include components which integrate with SSRS, COM/.NET, WPF/Silverlight, SharePoint, Java and PowerShell. .netCharting is another player to this space providing powerful code supported solutions for the .NET space. Graphs can be easily plugged into a WinForms or WebForms solution. Looking at comparable product toolkits
Ease of Use Cost Presentation Features Data Features Integration The Players and how they measure up Ease of Use Sometimes frustrating to make changes in browser environment (New Chart development product created for charts) Cost No Client Access licenses required –$1999 /server (discounts for multiple servers) Presentation Features Easy to make updates and preview graphs – no compiling and loading sites. Data Features Limited drill-down capabilities – must be done leveraging SharePoint’s Taxonomy structure Integration Product should integrate with proposed  (WSS 3.0) platform Ease of Use Solution must be able to be used by back office user and/or SharePoint power user.  Cost Costly; $1599 per server license Presentation Features Product should offer a number  of visualization and presentation options.  Data Features Product should offer a number of ways of getting to various types of data within your organization Integration Product should integrate with proposed  (WSS 3.0) platform Ease of Use Requires .NET Development skillset (VB/C#), although claim of simple Chart in 10 lines of code. Cost Site license $395 per server license Presentation Features Very pretty presentation. Does offer database drill down capabilities Data Features Great API.  Integration Product should integrate with proposed  (WSS 3.0) platform Ease of Use Found it very easy to use and abuse.  First graph done in a couple of minutes Cost Did not get a response on whether GPL 3.0 open source license was feasible for internal corporate use .  $199 – Single Developers, single domain; $399 - Unlimited Developers, single domain; $799 - Unlimited Developers, unlimited domains;  Presentation Features Product does not present direct drill down capabilities without manual or scripted intervention Data Features Very limited features in integrating to with data components. Needs to be done via code Integration Very quick to integrate and use within SharePoint for static components.  Any API work would need to be wrapped into SP Webpart framework.
Visifire is a set of open source data visualization components - powered by Microsoft® Silverlight. Dundas is a leader in Data Visualization technologies and includes Charting, Gauge and mapping products specific to SSRS, OLAP, SharePoint and .NET SoftwareFX and its ChartFX franchise have been a mainstay in visualization technologies since the early 90’s.  It’s product line(s) include components which integrate with SSRS, COM/.NET, WPF/Silverlight, SharePoint, Java and PowerShell. .netCharting is another player to this space providing powerful code supported solutions for the .NET space. Graphs can be easily plugged into a WinForms or WebForms solution. Other honorable mentions
Studio Enterprise for Silverlight product has huge suite of Silverlight powered ‘controls’ (GridView, Dropdowns, RichText Box)  which also includes charts and graphics. Corda is collaboration software focussed specifically on buisiness intelligence and dashboard building.  Components include built-in interactivity and communication components. Other products worth looking at
[object Object]
Easy to use Online Chart Development tool that allows you to configure and test your graphing configuration options.  Great for quick prototyping and idea sessions. View HTML Display the embed HTML  that can be used to add this graph to any web page View XML Builds the sample XML to be associated with the Chart.  Render Chart Rebuilds the Chart online and renders the sample data Chart Designer
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],VisiFire’s Dual License
Basic configuration for scripting implementation includes uploading two files to your web server Visifire.js contains required JavaScript rendering libraries Visifire.xap Silverlight Application Package file containing binaries required to render charts. How do you do it? Step 1. Download install from VisiFire.com Step 2. Extract two key files and upload to location (root) on web server. Configure Visifire for Scripting on Web Server
OK Let’s build some charts! How do you do it? Step 1. Visit VisiFire.com and work with customer to  Step 2. Extract HTML that we’re interested in using and add to empty file on WSS site. Step 3. Load Render page. ‘ Hello Chart’ Example
[object Object],[object Object],[object Object],[object Object],[object Object],Static Data Scripting Example
chart.html <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head>         <title>Visifire Charts</title>          <script type=&quot;text/javascript&quot; src=&quot;Visifire.js&quot;></script> </head> <body> <div id=&quot;VisifireChart&quot;>          <script language=&quot;javascript&quot; type=&quot;text/javascript&quot;>                  var vChart = new Visifire(&quot;Visifire.xap&quot;,600,400);                  vChart.setDataUri(“chart.xml&quot;);                  vChart.render(&quot;VisifireChart&quot;);          </script> </div> </body> </html> chart.xml <vc:Chart xmlns:vc=&quot;clr-namespace:Visifire.Charts;assembly= Visifire.Charts&quot; Width=&quot;500“ Height=&quot;300&quot; AnimationDuration=&quot;2&quot; BorderThickness=&quot;0“ Theme=&quot;Theme1&quot; View3D=&quot;True&quot; AnimationEnabled=&quot;True“ AnimationType=&quot;Type5“ ColorSet=&quot;VisiRed&quot; UniqueColors=&quot;True&quot; Watermark=&quot;False ShadowEnabled=&quot;True&quot;>     <vc:Legend Enabled=&quot;True&quot; AlignmentX=&quot;Right&quot; AlignmentY=&quot;Center&quot;/>     <vc:AxisX Title=&quot;OE Date“/><vc:AxisY Title=&quot;Number of Units“/>     <vc:DataSeries Name=&quot;AW&quot; RenderAs=&quot;StackedColumn&quot; AxisYType= &quot;Primary&quot;>         <vc:DataPoint AxisLabel=&quot;10/21/08&quot; YValue=&quot;883&quot;/>          <vc:DataPoint AxisLabel=&quot;10/22/08&quot; YValue=&quot;800&quot;/>         <vc:DataPoint AxisLabel=&quot;10/23/08&quot; YValue=&quot;823&quot;/>          <vc:DataPoint AxisLabel=&quot;10/24/08&quot; YValue=&quot;696&quot;/>         <vc:DataPoint AxisLabel=&quot;10/25/08&quot; YValue=&quot;556&quot;/>          <vc:DataPoint AxisLabel=&quot;10/27/08&quot; YValue=&quot;709&quot;/>     </vc:DataSeries>     <vc:DataSeries Name=&quot;CO&quot; RenderAs=&quot;StackedColumn&quot; AxisYType= &quot;Primary&quot;>         <vc:DataPoint AxisLabel=&quot;10/21/08&quot; YValue=&quot;358&quot;/>          <vc:DataPoint AxisLabel=&quot;10/22/08&quot; YValue=&quot;161&quot;/>         <vc:DataPoint AxisLabel=&quot;10/23/08&quot; YValue=&quot;404&quot;/>          <vc:DataPoint AxisLabel=&quot;10/24/08&quot; YValue=&quot;278&quot;/>         <vc:DataPoint AxisLabel=&quot;10/26/08&quot; YValue=&quot;88“/>          <vc:DataPoint AxisLabel=&quot;10/27/08&quot; YValue=&quot;73&quot;/>     </vc:DataSeries> </vc:Chart> Dynamic Data Scripting Example Dynamic Chart example
Adding events can allow for custom interactions and behavior including drill-down and drill-across behavior commonly required for data transitions. <script language=&quot;text/javaScript&quot; type=&quot;text/JavaScript&quot;>    function onMouseLeftButtonDown(e) { alert(e.Element); }   </script> vChart1 = new Visifire('Visifire.xap', 500, 300); vChart1.setDataUri(&quot;Data.xml&quot;);   // Attach MouseLeftButtonDown event to DataPoint.  vChart1.attachEvent('DataPoint','MouseLeftButtonDown', onMouseLeftButtonDown);   // Attach MouseLeftButtonDown event to Chart.  vChart1.attachEvent('Chart','MouseLeftButtonDown', onMouseLeftButtonDown);   // Attach MouseLeftButtonDown event to Title.  vChart1.attachEvent('Title','MouseLeftButtonDown', onMouseLeftButtonDown);   // Attach MouseLeftButtonDown event to Legend.  vChart1.attachEvent('Legend','MouseLeftButtonDown', onMouseLeftButtonDown);   vChart1.render(&quot;VisifireChart&quot;);  //Render Chart (javascript) example.html Embedding Events into Chart Event Chart example
Re-rendering the chart will allow it to refresh and pull new (possibly updated) data based on an interval. Very cool! // Displays new chart at regular intervals function UpdateChart() { Chart.setDataXml(GenerateXML()); Chart.render(&quot;VisifireChart0&quot;); setTimeout(UpdateChart,3000); }              // Checks if Silverlight plugin is loaded before //running the update routine function CheckAndUpdate() { if(Chart.isLoaded())        UpdateChart();       else            setTimeout(CheckAndUpdate,100); }              // To display the first chart also initialize loading the Silverlight Plugin function onPageLoad() { Chart.setDataXml(GenerateXML());       Chart.render(&quot;VisifireChart0&quot;);       CheckAndUpdate(); } (javascript) example.html Re-Rendering Chart Information ReRender Chart example
How do you do it? Step 1. From Visual Studio, start a new ‘Silverlight Application’ project type allowing VS to create a new Web in which to host the solution. Step 2. Extract Visifire assemblies from Visifire.xap* to local bin or GAC and add references in project to the  Visifire.Charts  and  Visifire.Commons   assemblies . Step 3. In the Main Project, locate the Page.xaml.cs and insert CreateChart() function and reference to call CreateChart from within Page constructor. Step 4. Build and Run Solution to render in browser * convert to Visifire.xap to Visifire.zip  and extract files Silverlight / ASP.NET Example See Solution in Action
Page.xaml.cs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ASP.NET Code Example
(c#) sample.aspx <%@ Page Language=&quot;C#&quot; ContentType=&quot;text/html&quot; ResponseEncoding=&quot;iso-8859-1&quot; %> <html> <head> <title>Visifire example using ASP.NET and C#</title> <script type=&quot;text/javascript&quot; src=&quot;Visifire.js&quot;></script> <script type=&quot;text/javascript&quot;> function GetXMLHttpObj() { var objXmlHttp; // XMLHttpRequest object // Firefox, Opera 8.0+, Safari try { objXmlHttp = _ new XMLHttpRequest(); }  catch (e) { // Internet Explorer try {  objXmlHttp = _ new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); }   catch (e) { try { objXmlHttp = _ new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;); } catch (e) { alert(“Browser does not support AJAX!&quot;); return null; }   }  } return objXmlHttp; } (c#) sample.aspx – cont’d // Loads Visifire Chart function onLoad() { var xmlHttp = GetXMLHttpObj(); xmlHttp.onreadystatechange = function() { if( xmlHttp.readyState == 4 ) { /* Create chart object. Arguments are  Visifire.xap uri, width, height */ var vChart = _ new Visifire(&quot;Visifire.xap&quot;,600,400);  /* Set the data XAML where response text contains the Data xaml is passed as argument */ vChart.setDataXml(xmlHttp.responseText);  /* Render the chart, target div element id is passed as argument */ vChart.render(&quot;Visifire1&quot;); } } // Sending request xmlHttp.open(&quot;GET&quot;, &quot;sample.aspx&quot; + &quot;?action=GetXML&quot;, true); xmlHttp.send(null); } </script> </head> <body onLoad = &quot;onLoad()&quot;> <div style=&quot;width:800px;height:600px;&quot; id=&quot;Visifire1&quot; ></div> </body> </html> 1/3 2/3 ASP.NET Code Example
(c#) sample.aspx – cont’d <%  if (Request.QueryString.Get(&quot;action&quot;) == &quot;GetXML&quot;) { string chartTitle = &quot;Infant Mortality Rate&quot;;  // Main title for chart  string chartSubTitle = &quot;(Global Survey)&quot;;  // Sub title for chart  string axisXtitle = &quot;Year&quot;;  // X axis title  string axisYtitle = &quot;IMR Rate&quot;;  // Y axis title  string myXAML;  // String for Data xaml  int numberOfDataPoints = 6;  // Number of data point in the DataSeries  // DataSeries is a two dimensional array of DataPoints (Year | IMR Rate ) string[,] dataSeries = {{&quot;2000&quot;, &quot;52.6&quot;}, {&quot;2001&quot;, &quot;40.3&quot;}, {&quot;2002&quot;, &quot;20&quot;},  {&quot;2003&quot;, &quot;28.7&quot;}, {&quot;2004&quot;, &quot;46.1&quot;},{&quot;2005&quot;, &quot;15.1&quot;}}; // Constructing Data XAML  myXAML = &quot;<vc:Chart Theme=amp;quot;Theme2amp;quot; Width=amp;quot;600amp;quot; Height=amp;quot;400amp;quot; xmlns:vc=amp;quot;clr-namespace:Visifire.Charts;assembly=Visifire.Chartsamp;quot; >&quot; + &quot;&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:Title Text=amp;quot;&quot; + chartTitle + &quot;amp;quot;/>&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:Title Text=amp;quot;&quot; + chartSubTitle + &quot;amp;quot;/>&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:AxisX Title=amp;quot;&quot; + axisXtitle + &quot;amp;quot;/>&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:AxisY Title=amp;quot;&quot; + axisYtitle + &quot;amp;quot; ValueFormatString=amp;quot;#0.##'%'amp;quot;/>&quot; + &quot;&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:DataSeries RenderAs=amp;quot;Columnamp;quot;>&quot; + &quot;&quot;; //Constructing XAML fragment for DataSeries  for (int dataPointIndex = 0; dataPointIndex <= numberOfDataPoints - 1; dataPointIndex++) {   myXAML = myXAML + &quot;<vc:DataPoint AxisLabel=amp;quot;&quot; + dataSeries[dataPointIndex, 0] + &quot;amp;quot; YValue=amp;quot;&quot; +    dataSeries[dataPointIndex, 1] + &quot;amp;quot;/>&quot; + &quot;&quot;; // Adding DataPoint XAML fragment  } myXAML = myXAML + &quot;&quot; + &quot;</vc:DataSeries>&quot; + &quot;&quot;; myXAML = myXAML + &quot;</vc:Chart>&quot;; Response.Clear(); // Clear all response text  Response.Write(myXAML); // Write data xaml as response text  }  %> 3/3 ASP.NET Code Example ASP.NET Sample
Use a DataView Web Part to connect to represent data from a SharePoint  Example: Represent a Hockey Teams Statistics (Goals and Assists) SharePoint Designer DataView WebPart Example
How do you do it Step 1. Create List within SharePoint Site Column: Title ‘Player’ (Text) Column: Goals (Number) Column: Assists (Number) Then add data to the SharePoint List. Step 2. Launch SharePoint Designer and add DataView to any Web Part Zone on a Page Step 3. Replace the first DataFormWebPart template a) with b) Step 4. Render SharePoint Web Page in browser <xsl:template match=&quot;/&quot;>  <xsl:call-template name=&quot;dvt_1&quot;/>  </xsl:template>  <xsl:template match=&quot;/&quot;>  <script type=&quot;text/javascript&quot; src=&quot;Visifire.js&quot; mce_src=&quot;Visifire.js&quot;></script>  <xsl:text disable-output-escaping=&quot;yes&quot;><![CDATA[  <script type=&quot;text/javascript&quot;>  var xmlString =  ' <vc:Chart xmlns:vc=&quot;clr-namespace:Visifire.Charts;assembly=Visifire.Charts&quot;'  + ' Theme=&quot;Theme1&quot; AnimationType=&quot;Type4&quot; >'  + ' <vc:Title Text=&quot;Hockey Team Goals&quot;/>'  + ' <vc:DataSeries RenderAs=&quot;Pie&quot; ShowInLegend=&quot;True&quot; Bevel=&quot;False&quot;>'  ]]></xsl:text>  <xsl:for-each select=&quot;/dsQueryResponse/Rows/Row&quot;>  <xsl:text disable-output-escaping=&quot;yes&quot;><![CDATA[ + ' <vc:DataPoint AxisLabel=&quot;]]></xsl:text>  <xsl:value-of select=&quot;./@Title&quot; />  <xsl:text disable-output-escaping=&quot;yes&quot;><![CDATA[&quot; YValue=&quot;]]></xsl:text>  <xsl:value-of select=&quot;@Goals&quot; />  <xsl:text disable-output-escaping=&quot;yes&quot;><![CDATA[&quot;/>']]></xsl:text>  </xsl:for-each>  <xsl:text disable-output-escaping=&quot;yes&quot;>  <![CDATA[  + ' </vc:DataSeries>'  + ' </vc:Chart>';  </script>  ]]></xsl:text>  <div id=&quot;myChart&quot; style=&quot;width:500px;height:300px;&quot;>  <script language=&quot;javascript&quot; type=&quot;text/javascript&quot;>  var vChart2 = new Visifire(&quot;Visifire.xap&quot;);  vChart2.setDataXml(xmlString);  vChart2.render(&quot;myChart&quot;);  </script>  </div>  </xsl:template>  A B SharePoint Designer DataView Web Part Example SPD Example
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Sample Real-world Dashboard Solution
Product Catalog Multiple Data Sources Challenge 1: Need Real-time information from multiple data sources Inventory Sales Sample Real-world Dashboard Solution
Overlapping Product Lines Multiple Portal Display Locations Challenge 2: Information Alignment Sample Real-world Dashboard Solution
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Sample Real-world Dashboard Solution
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Other Ideas and Opportunities
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Final Thoughts
Learn more about… VisiFire http://www.visifire.com Source on Google Code http://code.google.com/p/visifire/  VisiFire  Forums http://www.visifire.com/forums GNU GPL 3.0 License  http://www.gnu.org/licenses/quick- guide-gplv3.html References Ryan Oliveira Solutia Consulting SharePoint Service Line Manager email: ryan.oliveira@solutiaconsulting.com
[object Object]
Thank You

Contenu connexe

Tendances

emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22Venketash (Pat) Ramadass
 
Live events in Microsoft Teams , Yammer and Stream- When to use what
Live events in Microsoft Teams , Yammer and Stream- When to use whatLive events in Microsoft Teams , Yammer and Stream- When to use what
Live events in Microsoft Teams , Yammer and Stream- When to use whatVignesh Ganesan I Microsoft MVP
 
Microsoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFxMicrosoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFxNanddeep Nachan
 
Introduction to cloud computing and microsoft online services
Introduction to cloud computing and microsoft online servicesIntroduction to cloud computing and microsoft online services
Introduction to cloud computing and microsoft online servicescanada1001
 
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentationguestfd80a3
 
CVNUG - Share Point Development
CVNUG - Share Point DevelopmentCVNUG - Share Point Development
CVNUG - Share Point Developmentryanaoliveira
 
Updated Core Cal Guide
Updated Core Cal GuideUpdated Core Cal Guide
Updated Core Cal Guidewtaylor2408
 
Community or Commercial: Which Edition of JasperSoft is Right For You?
Community or Commercial: Which Edition of JasperSoft is Right For You?Community or Commercial: Which Edition of JasperSoft is Right For You?
Community or Commercial: Which Edition of JasperSoft is Right For You?TIBCO Jaspersoft
 
O365con14 - how to manage projects using project online
O365con14 - how to manage projects using project onlineO365con14 - how to manage projects using project online
O365con14 - how to manage projects using project onlineNCCOMMS
 
How to go about your SAP Integration 2019, SAP PI, and cloud
How to go about your SAP Integration 2019, SAP PI, and cloudHow to go about your SAP Integration 2019, SAP PI, and cloud
How to go about your SAP Integration 2019, SAP PI, and cloudDaniel Graversen
 
Explore Microsoft Power Platform Center of Excellence
Explore Microsoft Power Platform Center of ExcellenceExplore Microsoft Power Platform Center of Excellence
Explore Microsoft Power Platform Center of ExcellenceNanddeep Nachan
 
What and how do I choose SharePoint 2013 On-premise vs. Cloud (Office 365)
What and how do I choose SharePoint 2013 On-premise vs. Cloud (Office 365)What and how do I choose SharePoint 2013 On-premise vs. Cloud (Office 365)
What and how do I choose SharePoint 2013 On-premise vs. Cloud (Office 365)WinWire Technologies Inc
 
Dataverse meets Teams: low code app opportunities for everyone
Dataverse meets Teams: low code app opportunities for everyoneDataverse meets Teams: low code app opportunities for everyone
Dataverse meets Teams: low code app opportunities for everyoneJukka Niiranen
 

Tendances (19)

emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
 
Live events in Microsoft Teams , Yammer and Stream- When to use what
Live events in Microsoft Teams , Yammer and Stream- When to use whatLive events in Microsoft Teams , Yammer and Stream- When to use what
Live events in Microsoft Teams , Yammer and Stream- When to use what
 
Microsoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFxMicrosoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFx
 
Pariksha ria presentation
Pariksha ria presentationPariksha ria presentation
Pariksha ria presentation
 
Introduction to cloud computing and microsoft online services
Introduction to cloud computing and microsoft online servicesIntroduction to cloud computing and microsoft online services
Introduction to cloud computing and microsoft online services
 
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentation
 
CVNUG - Share Point Development
CVNUG - Share Point DevelopmentCVNUG - Share Point Development
CVNUG - Share Point Development
 
Webinar: How Much Can You Save with Office 365?
Webinar: How Much Can You Save with Office 365?Webinar: How Much Can You Save with Office 365?
Webinar: How Much Can You Save with Office 365?
 
Updated Core Cal Guide
Updated Core Cal GuideUpdated Core Cal Guide
Updated Core Cal Guide
 
Community or Commercial: Which Edition of JasperSoft is Right For You?
Community or Commercial: Which Edition of JasperSoft is Right For You?Community or Commercial: Which Edition of JasperSoft is Right For You?
Community or Commercial: Which Edition of JasperSoft is Right For You?
 
O365con14 - how to manage projects using project online
O365con14 - how to manage projects using project onlineO365con14 - how to manage projects using project online
O365con14 - how to manage projects using project online
 
How to go about your SAP Integration 2019, SAP PI, and cloud
How to go about your SAP Integration 2019, SAP PI, and cloudHow to go about your SAP Integration 2019, SAP PI, and cloud
How to go about your SAP Integration 2019, SAP PI, and cloud
 
Explore Microsoft Power Platform Center of Excellence
Explore Microsoft Power Platform Center of ExcellenceExplore Microsoft Power Platform Center of Excellence
Explore Microsoft Power Platform Center of Excellence
 
ARIS World
ARIS World ARIS World
ARIS World
 
What and how do I choose SharePoint 2013 On-premise vs. Cloud (Office 365)
What and how do I choose SharePoint 2013 On-premise vs. Cloud (Office 365)What and how do I choose SharePoint 2013 On-premise vs. Cloud (Office 365)
What and how do I choose SharePoint 2013 On-premise vs. Cloud (Office 365)
 
Rolustech portfolio
Rolustech portfolioRolustech portfolio
Rolustech portfolio
 
Syncfusion Company Brochure_May2015
Syncfusion Company Brochure_May2015Syncfusion Company Brochure_May2015
Syncfusion Company Brochure_May2015
 
SharePoint Online v Onprem
SharePoint Online v OnpremSharePoint Online v Onprem
SharePoint Online v Onprem
 
Dataverse meets Teams: low code app opportunities for everyone
Dataverse meets Teams: low code app opportunities for everyoneDataverse meets Teams: low code app opportunities for everyone
Dataverse meets Teams: low code app opportunities for everyone
 

En vedette

Galway
GalwayGalway
Galwaygeary
 
Propagation of Policies in Rich Data Flows
Propagation of Policies in Rich Data FlowsPropagation of Policies in Rich Data Flows
Propagation of Policies in Rich Data FlowsEnrico Daga
 
Natural Methods For Stress Management
Natural Methods For Stress ManagementNatural Methods For Stress Management
Natural Methods For Stress ManagementBrian Kramer
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 

En vedette (6)

Ingles1
Ingles1Ingles1
Ingles1
 
Galway
GalwayGalway
Galway
 
Propagation of Policies in Rich Data Flows
Propagation of Policies in Rich Data FlowsPropagation of Policies in Rich Data Flows
Propagation of Policies in Rich Data Flows
 
Natural Methods For Stress Management
Natural Methods For Stress ManagementNatural Methods For Stress Management
Natural Methods For Stress Management
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 

Similaire à CVCC - Data Visualization and VisiFire

Top 7 Rapid Application Development Tools for 2024 An In-Depth Overview
Top 7 Rapid Application Development Tools for 2024 An In-Depth OverviewTop 7 Rapid Application Development Tools for 2024 An In-Depth Overview
Top 7 Rapid Application Development Tools for 2024 An In-Depth OverviewBitCot
 
Dev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsDev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsCristina Vidu
 
A deep dive session on Tableau
A deep dive session on TableauA deep dive session on Tableau
A deep dive session on TableauVisual_BI
 
Back to Basics: Embedded Analytics 101
Back to Basics: Embedded Analytics 101Back to Basics: Embedded Analytics 101
Back to Basics: Embedded Analytics 101TIBCO Jaspersoft
 
App Modernization - What you need to know before planning a migration to Offi...
App Modernization - What you need to know before planning a migration to Offi...App Modernization - What you need to know before planning a migration to Offi...
App Modernization - What you need to know before planning a migration to Offi...Oliver Wirkus
 
Embrace Tableau Innovations
Embrace Tableau InnovationsEmbrace Tableau Innovations
Embrace Tableau InnovationsWiiisdom
 
Web Site and Rich Internet Applications
Web Site and Rich Internet ApplicationsWeb Site and Rich Internet Applications
Web Site and Rich Internet ApplicationsWeb Site srl
 
App modernization-What you need to know before planning a migration to office...
App modernization-What you need to know before planning a migration to office...App modernization-What you need to know before planning a migration to office...
App modernization-What you need to know before planning a migration to office...Oliver Wirkus
 
200 OK WhitePaper
200 OK WhitePaper200 OK WhitePaper
200 OK WhitePaperVanita68
 
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformWebinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformEdureka!
 
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentationguestfd80a3
 
What's New in Progress Sitefinity 9.2 Webinar
What's New in Progress Sitefinity 9.2 WebinarWhat's New in Progress Sitefinity 9.2 Webinar
What's New in Progress Sitefinity 9.2 WebinarProgress® Sitefinity™
 
Webinar for July 2020 - Insights to Solutions Spotlight: Re-imagining Digital...
Webinar for July 2020 - Insights to Solutions Spotlight: Re-imagining Digital...Webinar for July 2020 - Insights to Solutions Spotlight: Re-imagining Digital...
Webinar for July 2020 - Insights to Solutions Spotlight: Re-imagining Digital...The Digital Insurer
 
Suisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopSuisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopGnanasekaran Thoppae
 

Similaire à CVCC - Data Visualization and VisiFire (20)

Top 7 Rapid Application Development Tools for 2024 An In-Depth Overview
Top 7 Rapid Application Development Tools for 2024 An In-Depth OverviewTop 7 Rapid Application Development Tools for 2024 An In-Depth Overview
Top 7 Rapid Application Development Tools for 2024 An In-Depth Overview
 
Dev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsDev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath Apps
 
A deep dive session on Tableau
A deep dive session on TableauA deep dive session on Tableau
A deep dive session on Tableau
 
Back to Basics: Embedded Analytics 101
Back to Basics: Embedded Analytics 101Back to Basics: Embedded Analytics 101
Back to Basics: Embedded Analytics 101
 
Succesfactors demo
Succesfactors demoSuccesfactors demo
Succesfactors demo
 
App Modernization - What you need to know before planning a migration to Offi...
App Modernization - What you need to know before planning a migration to Offi...App Modernization - What you need to know before planning a migration to Offi...
App Modernization - What you need to know before planning a migration to Offi...
 
Embrace Tableau Innovations
Embrace Tableau InnovationsEmbrace Tableau Innovations
Embrace Tableau Innovations
 
Web Site and Rich Internet Applications
Web Site and Rich Internet ApplicationsWeb Site and Rich Internet Applications
Web Site and Rich Internet Applications
 
App modernization-What you need to know before planning a migration to office...
App modernization-What you need to know before planning a migration to office...App modernization-What you need to know before planning a migration to office...
App modernization-What you need to know before planning a migration to office...
 
200 OK WhitePaper
200 OK WhitePaper200 OK WhitePaper
200 OK WhitePaper
 
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformWebinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
 
.Net @ Neev
.Net @ Neev.Net @ Neev
.Net @ Neev
 
Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...
Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...
Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...
 
Harmeet singh
Harmeet singhHarmeet singh
Harmeet singh
 
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentation
 
4 aa6 6984enw
4 aa6 6984enw4 aa6 6984enw
4 aa6 6984enw
 
Are you ready for the transformation
Are you ready for the transformationAre you ready for the transformation
Are you ready for the transformation
 
What's New in Progress Sitefinity 9.2 Webinar
What's New in Progress Sitefinity 9.2 WebinarWhat's New in Progress Sitefinity 9.2 Webinar
What's New in Progress Sitefinity 9.2 Webinar
 
Webinar for July 2020 - Insights to Solutions Spotlight: Re-imagining Digital...
Webinar for July 2020 - Insights to Solutions Spotlight: Re-imagining Digital...Webinar for July 2020 - Insights to Solutions Spotlight: Re-imagining Digital...
Webinar for July 2020 - Insights to Solutions Spotlight: Re-imagining Digital...
 
Suisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopSuisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshop
 

Dernier

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 

Dernier (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 

CVCC - Data Visualization and VisiFire

  • 1. Chippewa Valley Code Camp 2008 Web-based Data Visualization A Focus on VisiFire Ryan Oliveira Solutia Consulting Room 103 12:45am-2:00pm Solutia Consulting Technology Enablement Services
  • 2.
  • 3.
  • 4. Founded in 1997, Solutia Consulting helps clients develop customized software solutions to align with their business goals. We manage projects from requirements gathering through application development, with quality as our top priority. In 2007 Solutia created the Technology Enablement Practice focused on delivering technology solutions and best practices in support of its Management Consulting and Transformational Support practices. About Solutia Consulting
  • 5.
  • 6.
  • 7. What is Business Intelligence? Ability to create universal visibility and clarity to the information harvested from a businesses data sources. What is Data Visualization? A technique using graphical representations to help shape understanding of data and information ! ? Business Intelligence and Data Visualization
  • 8.
  • 9. Ease of Use Solution must be able to be used by office user and/or power user Cost Lower is Better Presentation Features Product should offer a number of visualization and presentation options including database drill down Data Features Product should offer a number of ways of getting to various types of data within your organization Integration Product should integrate with a web platform Measurement Criteria
  • 10. Visifire is a set of open source data visualization components - powered by Microsoft® Silverlight. Dundas is a leader in Data Visualization technologies and includes Charting, Gauge and mapping products specific to SSRS, OLAP, SharePoint and .NET SoftwareFX and its ChartFX franchise have been a mainstay in visualization technologies since the early 90’s. It’s product line(s) include components which integrate with SSRS, COM/.NET, WPF/Silverlight, SharePoint, Java and PowerShell. .netCharting is another player to this space providing powerful code supported solutions for the .NET space. Graphs can be easily plugged into a WinForms or WebForms solution. Looking at comparable product toolkits
  • 11. Ease of Use Cost Presentation Features Data Features Integration The Players and how they measure up Ease of Use Sometimes frustrating to make changes in browser environment (New Chart development product created for charts) Cost No Client Access licenses required –$1999 /server (discounts for multiple servers) Presentation Features Easy to make updates and preview graphs – no compiling and loading sites. Data Features Limited drill-down capabilities – must be done leveraging SharePoint’s Taxonomy structure Integration Product should integrate with proposed (WSS 3.0) platform Ease of Use Solution must be able to be used by back office user and/or SharePoint power user. Cost Costly; $1599 per server license Presentation Features Product should offer a number of visualization and presentation options. Data Features Product should offer a number of ways of getting to various types of data within your organization Integration Product should integrate with proposed (WSS 3.0) platform Ease of Use Requires .NET Development skillset (VB/C#), although claim of simple Chart in 10 lines of code. Cost Site license $395 per server license Presentation Features Very pretty presentation. Does offer database drill down capabilities Data Features Great API. Integration Product should integrate with proposed (WSS 3.0) platform Ease of Use Found it very easy to use and abuse. First graph done in a couple of minutes Cost Did not get a response on whether GPL 3.0 open source license was feasible for internal corporate use . $199 – Single Developers, single domain; $399 - Unlimited Developers, single domain; $799 - Unlimited Developers, unlimited domains; Presentation Features Product does not present direct drill down capabilities without manual or scripted intervention Data Features Very limited features in integrating to with data components. Needs to be done via code Integration Very quick to integrate and use within SharePoint for static components. Any API work would need to be wrapped into SP Webpart framework.
  • 12. Visifire is a set of open source data visualization components - powered by Microsoft® Silverlight. Dundas is a leader in Data Visualization technologies and includes Charting, Gauge and mapping products specific to SSRS, OLAP, SharePoint and .NET SoftwareFX and its ChartFX franchise have been a mainstay in visualization technologies since the early 90’s. It’s product line(s) include components which integrate with SSRS, COM/.NET, WPF/Silverlight, SharePoint, Java and PowerShell. .netCharting is another player to this space providing powerful code supported solutions for the .NET space. Graphs can be easily plugged into a WinForms or WebForms solution. Other honorable mentions
  • 13. Studio Enterprise for Silverlight product has huge suite of Silverlight powered ‘controls’ (GridView, Dropdowns, RichText Box) which also includes charts and graphics. Corda is collaboration software focussed specifically on buisiness intelligence and dashboard building. Components include built-in interactivity and communication components. Other products worth looking at
  • 14.
  • 15. Easy to use Online Chart Development tool that allows you to configure and test your graphing configuration options. Great for quick prototyping and idea sessions. View HTML Display the embed HTML that can be used to add this graph to any web page View XML Builds the sample XML to be associated with the Chart. Render Chart Rebuilds the Chart online and renders the sample data Chart Designer
  • 16.
  • 17.
  • 18. Basic configuration for scripting implementation includes uploading two files to your web server Visifire.js contains required JavaScript rendering libraries Visifire.xap Silverlight Application Package file containing binaries required to render charts. How do you do it? Step 1. Download install from VisiFire.com Step 2. Extract two key files and upload to location (root) on web server. Configure Visifire for Scripting on Web Server
  • 19. OK Let’s build some charts! How do you do it? Step 1. Visit VisiFire.com and work with customer to Step 2. Extract HTML that we’re interested in using and add to empty file on WSS site. Step 3. Load Render page. ‘ Hello Chart’ Example
  • 20.
  • 21. chart.html <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head>         <title>Visifire Charts</title>          <script type=&quot;text/javascript&quot; src=&quot;Visifire.js&quot;></script> </head> <body> <div id=&quot;VisifireChart&quot;>          <script language=&quot;javascript&quot; type=&quot;text/javascript&quot;>                  var vChart = new Visifire(&quot;Visifire.xap&quot;,600,400);                  vChart.setDataUri(“chart.xml&quot;);                  vChart.render(&quot;VisifireChart&quot;);          </script> </div> </body> </html> chart.xml <vc:Chart xmlns:vc=&quot;clr-namespace:Visifire.Charts;assembly= Visifire.Charts&quot; Width=&quot;500“ Height=&quot;300&quot; AnimationDuration=&quot;2&quot; BorderThickness=&quot;0“ Theme=&quot;Theme1&quot; View3D=&quot;True&quot; AnimationEnabled=&quot;True“ AnimationType=&quot;Type5“ ColorSet=&quot;VisiRed&quot; UniqueColors=&quot;True&quot; Watermark=&quot;False ShadowEnabled=&quot;True&quot;>     <vc:Legend Enabled=&quot;True&quot; AlignmentX=&quot;Right&quot; AlignmentY=&quot;Center&quot;/>     <vc:AxisX Title=&quot;OE Date“/><vc:AxisY Title=&quot;Number of Units“/>     <vc:DataSeries Name=&quot;AW&quot; RenderAs=&quot;StackedColumn&quot; AxisYType= &quot;Primary&quot;>         <vc:DataPoint AxisLabel=&quot;10/21/08&quot; YValue=&quot;883&quot;/>          <vc:DataPoint AxisLabel=&quot;10/22/08&quot; YValue=&quot;800&quot;/>         <vc:DataPoint AxisLabel=&quot;10/23/08&quot; YValue=&quot;823&quot;/>          <vc:DataPoint AxisLabel=&quot;10/24/08&quot; YValue=&quot;696&quot;/>         <vc:DataPoint AxisLabel=&quot;10/25/08&quot; YValue=&quot;556&quot;/>          <vc:DataPoint AxisLabel=&quot;10/27/08&quot; YValue=&quot;709&quot;/>     </vc:DataSeries>     <vc:DataSeries Name=&quot;CO&quot; RenderAs=&quot;StackedColumn&quot; AxisYType= &quot;Primary&quot;>         <vc:DataPoint AxisLabel=&quot;10/21/08&quot; YValue=&quot;358&quot;/>          <vc:DataPoint AxisLabel=&quot;10/22/08&quot; YValue=&quot;161&quot;/>         <vc:DataPoint AxisLabel=&quot;10/23/08&quot; YValue=&quot;404&quot;/>          <vc:DataPoint AxisLabel=&quot;10/24/08&quot; YValue=&quot;278&quot;/>         <vc:DataPoint AxisLabel=&quot;10/26/08&quot; YValue=&quot;88“/>          <vc:DataPoint AxisLabel=&quot;10/27/08&quot; YValue=&quot;73&quot;/>     </vc:DataSeries> </vc:Chart> Dynamic Data Scripting Example Dynamic Chart example
  • 22. Adding events can allow for custom interactions and behavior including drill-down and drill-across behavior commonly required for data transitions. <script language=&quot;text/javaScript&quot; type=&quot;text/JavaScript&quot;>   function onMouseLeftButtonDown(e) { alert(e.Element); }   </script> vChart1 = new Visifire('Visifire.xap', 500, 300); vChart1.setDataUri(&quot;Data.xml&quot;);   // Attach MouseLeftButtonDown event to DataPoint. vChart1.attachEvent('DataPoint','MouseLeftButtonDown', onMouseLeftButtonDown);   // Attach MouseLeftButtonDown event to Chart. vChart1.attachEvent('Chart','MouseLeftButtonDown', onMouseLeftButtonDown);   // Attach MouseLeftButtonDown event to Title. vChart1.attachEvent('Title','MouseLeftButtonDown', onMouseLeftButtonDown);   // Attach MouseLeftButtonDown event to Legend. vChart1.attachEvent('Legend','MouseLeftButtonDown', onMouseLeftButtonDown);   vChart1.render(&quot;VisifireChart&quot;); //Render Chart (javascript) example.html Embedding Events into Chart Event Chart example
  • 23. Re-rendering the chart will allow it to refresh and pull new (possibly updated) data based on an interval. Very cool! // Displays new chart at regular intervals function UpdateChart() { Chart.setDataXml(GenerateXML()); Chart.render(&quot;VisifireChart0&quot;); setTimeout(UpdateChart,3000); }              // Checks if Silverlight plugin is loaded before //running the update routine function CheckAndUpdate() { if(Chart.isLoaded())       UpdateChart();       else            setTimeout(CheckAndUpdate,100); }              // To display the first chart also initialize loading the Silverlight Plugin function onPageLoad() { Chart.setDataXml(GenerateXML());       Chart.render(&quot;VisifireChart0&quot;);       CheckAndUpdate(); } (javascript) example.html Re-Rendering Chart Information ReRender Chart example
  • 24. How do you do it? Step 1. From Visual Studio, start a new ‘Silverlight Application’ project type allowing VS to create a new Web in which to host the solution. Step 2. Extract Visifire assemblies from Visifire.xap* to local bin or GAC and add references in project to the Visifire.Charts and Visifire.Commons assemblies . Step 3. In the Main Project, locate the Page.xaml.cs and insert CreateChart() function and reference to call CreateChart from within Page constructor. Step 4. Build and Run Solution to render in browser * convert to Visifire.xap to Visifire.zip and extract files Silverlight / ASP.NET Example See Solution in Action
  • 25.
  • 26. (c#) sample.aspx <%@ Page Language=&quot;C#&quot; ContentType=&quot;text/html&quot; ResponseEncoding=&quot;iso-8859-1&quot; %> <html> <head> <title>Visifire example using ASP.NET and C#</title> <script type=&quot;text/javascript&quot; src=&quot;Visifire.js&quot;></script> <script type=&quot;text/javascript&quot;> function GetXMLHttpObj() { var objXmlHttp; // XMLHttpRequest object // Firefox, Opera 8.0+, Safari try { objXmlHttp = _ new XMLHttpRequest(); } catch (e) { // Internet Explorer try { objXmlHttp = _ new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); } catch (e) { try { objXmlHttp = _ new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;); } catch (e) { alert(“Browser does not support AJAX!&quot;); return null; } } } return objXmlHttp; } (c#) sample.aspx – cont’d // Loads Visifire Chart function onLoad() { var xmlHttp = GetXMLHttpObj(); xmlHttp.onreadystatechange = function() { if( xmlHttp.readyState == 4 ) { /* Create chart object. Arguments are Visifire.xap uri, width, height */ var vChart = _ new Visifire(&quot;Visifire.xap&quot;,600,400); /* Set the data XAML where response text contains the Data xaml is passed as argument */ vChart.setDataXml(xmlHttp.responseText); /* Render the chart, target div element id is passed as argument */ vChart.render(&quot;Visifire1&quot;); } } // Sending request xmlHttp.open(&quot;GET&quot;, &quot;sample.aspx&quot; + &quot;?action=GetXML&quot;, true); xmlHttp.send(null); } </script> </head> <body onLoad = &quot;onLoad()&quot;> <div style=&quot;width:800px;height:600px;&quot; id=&quot;Visifire1&quot; ></div> </body> </html> 1/3 2/3 ASP.NET Code Example
  • 27. (c#) sample.aspx – cont’d <% if (Request.QueryString.Get(&quot;action&quot;) == &quot;GetXML&quot;) { string chartTitle = &quot;Infant Mortality Rate&quot;; // Main title for chart string chartSubTitle = &quot;(Global Survey)&quot;; // Sub title for chart string axisXtitle = &quot;Year&quot;; // X axis title string axisYtitle = &quot;IMR Rate&quot;; // Y axis title string myXAML; // String for Data xaml int numberOfDataPoints = 6; // Number of data point in the DataSeries // DataSeries is a two dimensional array of DataPoints (Year | IMR Rate ) string[,] dataSeries = {{&quot;2000&quot;, &quot;52.6&quot;}, {&quot;2001&quot;, &quot;40.3&quot;}, {&quot;2002&quot;, &quot;20&quot;}, {&quot;2003&quot;, &quot;28.7&quot;}, {&quot;2004&quot;, &quot;46.1&quot;},{&quot;2005&quot;, &quot;15.1&quot;}}; // Constructing Data XAML myXAML = &quot;<vc:Chart Theme=amp;quot;Theme2amp;quot; Width=amp;quot;600amp;quot; Height=amp;quot;400amp;quot; xmlns:vc=amp;quot;clr-namespace:Visifire.Charts;assembly=Visifire.Chartsamp;quot; >&quot; + &quot;&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:Title Text=amp;quot;&quot; + chartTitle + &quot;amp;quot;/>&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:Title Text=amp;quot;&quot; + chartSubTitle + &quot;amp;quot;/>&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:AxisX Title=amp;quot;&quot; + axisXtitle + &quot;amp;quot;/>&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:AxisY Title=amp;quot;&quot; + axisYtitle + &quot;amp;quot; ValueFormatString=amp;quot;#0.##'%'amp;quot;/>&quot; + &quot;&quot; + &quot;&quot;; myXAML = myXAML + &quot;<vc:DataSeries RenderAs=amp;quot;Columnamp;quot;>&quot; + &quot;&quot;; //Constructing XAML fragment for DataSeries for (int dataPointIndex = 0; dataPointIndex <= numberOfDataPoints - 1; dataPointIndex++) { myXAML = myXAML + &quot;<vc:DataPoint AxisLabel=amp;quot;&quot; + dataSeries[dataPointIndex, 0] + &quot;amp;quot; YValue=amp;quot;&quot; + dataSeries[dataPointIndex, 1] + &quot;amp;quot;/>&quot; + &quot;&quot;; // Adding DataPoint XAML fragment } myXAML = myXAML + &quot;&quot; + &quot;</vc:DataSeries>&quot; + &quot;&quot;; myXAML = myXAML + &quot;</vc:Chart>&quot;; Response.Clear(); // Clear all response text Response.Write(myXAML); // Write data xaml as response text } %> 3/3 ASP.NET Code Example ASP.NET Sample
  • 28. Use a DataView Web Part to connect to represent data from a SharePoint Example: Represent a Hockey Teams Statistics (Goals and Assists) SharePoint Designer DataView WebPart Example
  • 29. How do you do it Step 1. Create List within SharePoint Site Column: Title ‘Player’ (Text) Column: Goals (Number) Column: Assists (Number) Then add data to the SharePoint List. Step 2. Launch SharePoint Designer and add DataView to any Web Part Zone on a Page Step 3. Replace the first DataFormWebPart template a) with b) Step 4. Render SharePoint Web Page in browser <xsl:template match=&quot;/&quot;> <xsl:call-template name=&quot;dvt_1&quot;/> </xsl:template> <xsl:template match=&quot;/&quot;> <script type=&quot;text/javascript&quot; src=&quot;Visifire.js&quot; mce_src=&quot;Visifire.js&quot;></script> <xsl:text disable-output-escaping=&quot;yes&quot;><![CDATA[ <script type=&quot;text/javascript&quot;> var xmlString = ' <vc:Chart xmlns:vc=&quot;clr-namespace:Visifire.Charts;assembly=Visifire.Charts&quot;' + ' Theme=&quot;Theme1&quot; AnimationType=&quot;Type4&quot; >' + ' <vc:Title Text=&quot;Hockey Team Goals&quot;/>' + ' <vc:DataSeries RenderAs=&quot;Pie&quot; ShowInLegend=&quot;True&quot; Bevel=&quot;False&quot;>' ]]></xsl:text> <xsl:for-each select=&quot;/dsQueryResponse/Rows/Row&quot;> <xsl:text disable-output-escaping=&quot;yes&quot;><![CDATA[ + ' <vc:DataPoint AxisLabel=&quot;]]></xsl:text> <xsl:value-of select=&quot;./@Title&quot; /> <xsl:text disable-output-escaping=&quot;yes&quot;><![CDATA[&quot; YValue=&quot;]]></xsl:text> <xsl:value-of select=&quot;@Goals&quot; /> <xsl:text disable-output-escaping=&quot;yes&quot;><![CDATA[&quot;/>']]></xsl:text> </xsl:for-each> <xsl:text disable-output-escaping=&quot;yes&quot;> <![CDATA[ + ' </vc:DataSeries>' + ' </vc:Chart>'; </script> ]]></xsl:text> <div id=&quot;myChart&quot; style=&quot;width:500px;height:300px;&quot;> <script language=&quot;javascript&quot; type=&quot;text/javascript&quot;> var vChart2 = new Visifire(&quot;Visifire.xap&quot;); vChart2.setDataXml(xmlString); vChart2.render(&quot;myChart&quot;); </script> </div> </xsl:template> A B SharePoint Designer DataView Web Part Example SPD Example
  • 30.
  • 31.
  • 32. Product Catalog Multiple Data Sources Challenge 1: Need Real-time information from multiple data sources Inventory Sales Sample Real-world Dashboard Solution
  • 33. Overlapping Product Lines Multiple Portal Display Locations Challenge 2: Information Alignment Sample Real-world Dashboard Solution
  • 34.
  • 35.
  • 36.
  • 37. Learn more about… VisiFire http://www.visifire.com Source on Google Code http://code.google.com/p/visifire/ VisiFire Forums http://www.visifire.com/forums GNU GPL 3.0 License http://www.gnu.org/licenses/quick- guide-gplv3.html References Ryan Oliveira Solutia Consulting SharePoint Service Line Manager email: ryan.oliveira@solutiaconsulting.com
  • 38.

Notes de l'éditeur

  1. TALK SLOWLY!!!!