SlideShare a Scribd company logo
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

More Related Content

What's hot

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
Venketash (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 what
Vignesh 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 SPFx
Nanddeep Nachan
 
Pariksha ria presentation
Pariksha ria presentationPariksha ria presentation
Pariksha ria presentation
parikshalabs.com
 
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
canada1001
 
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentation
guestfd80a3
 
CVNUG - Share Point Development
CVNUG - Share Point DevelopmentCVNUG - Share Point Development
CVNUG - Share Point Developmentryanaoliveira
 
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?
WithumSmith+Brown, formerly Portal Solutions
 
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 online
NCCOMMS
 
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
Daniel 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 Excellence
Nanddeep Nachan
 
ARIS World
ARIS World ARIS World
ARIS World
Software AG
 
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
 
Rolustech portfolio
Rolustech portfolioRolustech portfolio
Rolustech portfolio
DavidWilson826988
 
Syncfusion Company Brochure_May2015
Syncfusion Company Brochure_May2015Syncfusion Company Brochure_May2015
Syncfusion Company Brochure_May2015
Marissa Keller Outten
 
SharePoint Online v Onprem
SharePoint Online v OnpremSharePoint Online v Onprem
SharePoint Online v Onprem
Concurrency, 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 everyone
Jukka Niiranen
 

What's hot (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
 

Viewers also liked

Ingles1
Ingles1Ingles1
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 Flows
Enrico 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 Economy
Helge 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 Formats
Barry Feldman
 

Viewers also liked (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
 

Similar to 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 Overview
BitCot
 
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
Cristina Vidu
 
A deep dive session on Tableau
A deep dive session on TableauA deep dive session on Tableau
A deep dive session on Tableau
Visual_BI
 
Back to Basics: Embedded Analytics 101
Back to Basics: Embedded Analytics 101Back to Basics: Embedded Analytics 101
Back to Basics: Embedded Analytics 101
TIBCO Jaspersoft
 
Succesfactors demo
Succesfactors demoSuccesfactors demo
Succesfactors demo
Verity Solutions
 
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 Innovations
Wiiisdom
 
Web Site and Rich Internet Applications
Web Site and Rich Internet ApplicationsWeb Site and Rich Internet Applications
Web Site and Rich Internet Applications
Web 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 WhitePaper
Vanita68
 
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
Edureka!
 
.Net @ Neev
.Net @ Neev.Net @ Neev
.Net @ Neev
Neev Technologies
 
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...
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Harmeet singh
Harmeet singhHarmeet singh
Harmeet singh
Harmeet Singh
 
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentation
guestfd80a3
 
Are you ready for the transformation
Are you ready for the transformationAre you ready for the transformation
Are you ready for the transformation
Hariharan V Ganesarethinam
 
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
Progress® 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 workshop
Gnanasekaran Thoppae
 

Similar to 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
 

Recently uploaded

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

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.

Editor's Notes

  1. TALK SLOWLY!!!!