SlideShare a Scribd company logo
Flex Enterprise & Data Visualization:
     Going one step further with
          IBM ILOG Elixir


                                                                       May 18, 2009

                                                                    Christophe Jolif
                                                        christophe.jolif@fr.ibm.com
                                             http://blogs.ilog.com/elixir/author/cjolif

               © ILOG, All rights reserved
Agenda

        IBM ILOG Elixir in Nutshell
        IBM ILOG Elixir Tips & Tricks:
              From 2D to 3D Charts
              Building a Custom Gauge
              Expand/Collapse on the OrgChart
              Create a custom Map dashboard
              Your Google Calendar in AIR
              Density Heatmap of Flickr photos
              Display scheduling information from MS Project
        What’s Next?
              Building on top of Flex 4
              Leveraging Flash Player 10
              What do you need from us?
        Resources


05/14/2009                             © ILOG, All rights reserved   2
IBM ILOG Elixir in a Nutshell

        Provide every Flex & AIR developer with custom Flex UI
         components useful for complementing Adobe offering
         for all type of applications from data visualization to
         enterprise applications
        ILOG Elixir 1.0 released in Feb 2008 based on Flex
         3.0.0
              patch 1 released in May 2008
              patch 2 released in March 2009
        ILOG Elixir 2.0 released in Feb 2009 based on Flex
         3.0.2



05/14/2009                          © ILOG, All rights reserved   3
IBM ILOG Elixir in a Nutshell

        3D Charts (Area, Line,
         Column, Bar & Pie)
                  Demo


        Radar / Spider Chart
                  Demo


        OLAP and Pivot Charts
         (new in 2.0)
                  Demo


05/14/2009                      © ILOG, All rights reserved   4
IBM ILOG Elixir in a Nutshell

        Maps for Dashboards
                            Demo
        Heat Maps


        Gauges and Dials

                             Demo
        Digital Indicators (new in 2.0)




05/14/2009                  © ILOG, All rights reserved   5
IBM ILOG Elixir in a Nutshell

        Calendar (new in 2.0)
                 Demo


        Gantt Resource Chart
                 Demo



        Gantt Task Chart (new in
         2.0)
                 Demo


05/14/2009                       © ILOG, All rights reserved   6
IBM ILOG Elixir in a Nutshell

        Organization Chart
               Demo



        Treemap
               Demo




05/14/2009                © ILOG, All rights reserved   7
IBM ILOG Elixir in a Nutshell

        Flex Builder tight integration:
              design view
              property editing
              code & mxml hinting
              integrated documentation
        Full integration with Flex framework and practices:
              Follow Flex UIComponent convention for events, styling and
               invalidation mechanisms
              Fully localizable, provided with en_US and ja_JP locales
              Keyboard accessibility for most components
              Flex 3.0.2 Marshall Plan support for cross-versioning and cross-
               domain applications (2.0)



05/14/2009                           © ILOG, All rights reserved            8
IBM ILOG Elixir in a Nutshell

        Delivered with code samples and demos
        Learn by examples in                      on
         AIR or on the web at: http://www.adobe.com/
         devnet/flex/tourdeflex/web
        Dedicated forums at http://forums.ilog.com/elixir
         and blog at http://blogs.ilog.com/elixir




05/14/2009                  © ILOG, All rights reserved   9
Tips & Tricks – From 2D to 3D Charts
       Original:
       <mx:ColumnChart id=quot;columnquot; showDataTips=quot;truequot; dataProvider=quot;{medalsAC}quot; >
        <mx:horizontalAxis>
           <mx:CategoryAxis categoryField=quot;Countryquot;/>
         </mx:horizontalAxis>
         <mx:series>
          <mx:ColumnSeries xField=quot;Countryquot; yField=quot;Goldquot; displayName=quot;Goldquot;
            fill=quot;{sc1}quot; stroke=quot;{s1}quot; />
             <mx:ColumnSeries xField=quot;Countryquot; yField=quot;Silverquot; displayName=quot;Silverquot;
              fill=quot;{sc2}quot; stroke=quot;{s2}quot; />
           <mx:ColumnSeries xField=quot;Countryquot; yField=quot;Bronzequot; displayName=quot;Bronzequot;
            fill=quot;{sc3}quot; stroke=quot;{s3}quot; />
         </mx:series>
       </mx:ColumnChart>
       <mx:Legend dataProvider=quot;{column}quot;/>




05/14/2009                                 © ILOG, All rights reserved                10
Tips & Tricks – From 2D to 3D Charts
       Result:
       <ilog:ColumnChart3D id=quot;columnquot; showDataTips=quot;truequot; dataProvider=quot;{medalsAC}quot; >
         <ilog:horizontalAxis>
           <mx:CategoryAxis categoryField=quot;Countryquot;/>
         </ilog:horizontalAxis>
         <ilog:series>
           <ilog:ColumnSeries3D xField=quot;Countryquot; yField=quot;Goldquot; displayName=quot;Goldquot;
              fill=quot;{sc1}quot; stroke=quot;{s1}quot; />
             <ilog:ColumnSeries3D xField=quot;Countryquot; yField=quot;Silverquot; displayName=quot;Silverquot;
                fill=quot;{sc2}quot; stroke=quot;{s2}quot; />
           <ilog:ColumnSeries3D xField=quot;Countryquot; yField=quot;Bronzequot; displayName=quot;Bronzequot;
              fill=quot;{sc3}quot; stroke=quot;{s3}quot; />
         </ilog:series>
       </ilog:ColumnChart3D>
       <mx:Legend dataProvider=quot;{column}quot;/>




05/14/2009                                 © ILOG, All rights reserved                    11
Tips & Tricks – From 2D to 3D Charts




   But we do not provide 3D API for customizing your display,
    so you can't switch itemRenderer just play with styling
    properties (fill, stroke…)
   Also items are not UIComponents, so you must use chart
    specific events & effects like itemClick, showDataEffect …
    not UIComponents events & effects (click, showEffect…)

05/14/2009                 © ILOG, All rights reserved    12
Tips & Tricks – Building a Custom Gauge

        IBM ILOG Elixir provides with with predefined
         Circular, Semi Circular, Horizontal and Vertical
         Gauges
        They fit most simple use-cases but you might want
         more, like mutli-value gauges
        Just assemble MXML elements and you’ll be able to
         achieve what you need using the Gauges framework




05/14/2009                    © ILOG, All rights reserved    13
Tips & Tricks – Building a Custom Gauge
 <ilog:CircularGauge color=quot;0xFFFFFFquot;>
  <ilog:scales>
    <ilog:CircularLinearScale maximum=quot;250quot; id=quot;speedScalequot;
        startAngle=quot;200quot; endAngle=quot;340quot;/>
    <ilog:CircularLinearScale maximum=quot;100quot; id=quot;fuelScalequot;
         startAngle=quot;140quot; endAngle=quot;40quot;
         majorTickInterval=quot;50quot; minorTickInterval=quot;25quot; />
   </ilog:scales>
   <ilog:elements>
     <ilog:CircularGaugeAsset asset=quot;@Embed(source='black_circle.swf')quot;/>
     <ilog:CircularScaleRenderer radius=quot;35%quot; scale=quot;{speedScale}quot;
         labelRadius=quot;102%quot; labelPlacement=quot;outsidequot;
         minorTickLength=quot;10%quot; labelFontSize=quot;12%quot; fontWeight=quot;boldquot;
         majorTickRenderer=quot;{myTickRenderer}quot;
         minorTickRenderer=quot;{myTickRenderer}quot; />
      <ilog:CircularTrackRenderer minimum=quot;150quot; maximum=quot;250quot;
         radius=quot;28%quot; scale=quot;{speedScale}quot;>
         <ilog:gradientEntries>
           <mx:GradientEntry color=quot;0x00DD00quot; ratio=quot;0quot;/>
           <mx:GradientEntry color=quot;0xDDD000quot; ratio=quot;0.5quot;/>
           <mx:GradientEntry color=quot;0xDD0000quot; ratio=quot;1quot;/>
         </ilog:gradientEntries>
      </ilog:CircularTrackRenderer>
      <ilog:NeedleRenderer thickness=quot;7%quot; radius=quot;30%quot;
         value=quot;{speed.value}quot; scale=quot;{speedScale}quot;/>
       <!-- and more -->
    </ilog:elements>
 </ilog:CircularGauge>




05/14/2009                                         © ILOG, All rights reserved   14
Tips & Tricks – Expand/Collapse on the OrgChart

        By default the OrgChart is displaying the entire
         OrgChart hierarchy available in dataProvider
        You might want to display only down to a certain level
         and provide expand/collapse ability
        What you need:
             1.The ability to filter the data depending on whether children are
               expanded or collapsed
             2.The ability for the user to interact with the OrgChart to target an
               expand or a collapse action
        How do you achieve this?
             1.By using a filterFunction on ICollectionView
             2.By providing a custom OrgChartItemRenderer with a +/- button
        Let's take a look at the code & result!

05/14/2009                            © ILOG, All rights reserved             15
Tips & Tricks – Expand/Collapse on the OrgChart




05/14/2009             © ILOG, All rights reserved   16
Tips & Tricks – Create a custom Map dashboard

       Workflow:

       1. Create or get your map in ESRI SHP file format
       2. Import it in IBM ILOG Elixir Custom Map Converter
       3. Set Parameters
       4. Export it as ActionScript
       5. Include it in your Flex Builder Project
       6. Use it in your MXML/AS code to represent dashboard
          data

       Let's do it live!


05/14/2009                   © ILOG, All rights reserved   17
Tips & Tricks – Create a custom Map dashboard




05/14/2009            © ILOG, All rights reserved   18
Tips & Tricks – Your Google Calendar in AIR

        IBM ILOG Elixir Calendar component is taking any Flex data as
         input in a form of a list of quot;eventsquot; with optional recurrence
         information
        That input must be provided as XML or ActionScript object in the
         dataProvider, just a for any data-aware Flex component
        Two approaches:
             1. Reading the iCal feed or exported file from Google Calendar:
                  Allows to mashup from different iCal sources
             2. Using the Google Calendar API
                  More integrated with Google Calendar (authentication etc...)




05/14/2009                                © ILOG, All rights reserved             19
Tips & Tricks – Your Google Calendar in AIR

       Reading iCal feed or exported file
        Google Calendar export to iCal that is a simple
         definition format for events
        Creating a dataProvider from iCal events is a matter of
         reading TXT and creating AS objects
        For the recurrence information it could be a bit more
         complex:
              One can provide any format of recurrence by providing his own
               IRecurrenceDescriptor to the IBM ILOG Elixir Calendar
              However default IRecurrenceDescriptor implementation is
               RFC2445 based so it is not needed to go as far




05/14/2009                          © ILOG, All rights reserved          20
Tips & Tricks – Your Google Calendar in AIR

       Reading iCal feed or exported file
        Google Calendar provides a Web Service API: http://
         code.google.com/apis/calendar/docs/2.0/
         developers_guide_protocol.html
        Create an ActionScript wrapper that calls this web
         service and exposes result as ActionScript objects
        As in previous case, configure the IBM ILOG Elixir
         Calendar with the right dataProvider
        More on this at: http://blogs.ilog.com/elixir/2009/03/16/
         display-google-calendars-using-ilog-elixir



05/14/2009                      © ILOG, All rights reserved     21
Tips & Tricks – Your Google Calendar in AIR




05/14/2009             © ILOG, All rights reserved   22
Tips & Tricks – Density Heatmap of Flickr photos

        The HeatMap principle:
              Displaying the densities or values of data objects using color at given
               location (optionally over a map)
              In our case this is the density of photos taken at given geolocation and
               available on Flickr over a map
        How do you achieve this?
              We create a MapHeatMap with a USStatesMap and a DensityHeatMap
               and configure the heatmap to take location information in longitude &
               latitude properties of the data objects
              We extend Flickr2AS API to manage Flickr quot;Placequot; API
              We request to Flickr photos over a particular quot;Placequot; using that API
               (US in our case)
              We iterate over the results (paged results) and populate the data
               provider of the DensityHeatMap with them as they correctly use
               longitude & latitude properties
              We just look at the result


05/14/2009                              © ILOG, All rights reserved                23
Tips & Tricks – Density Heatmap of Flickr photos




05/14/2009             © ILOG, All rights reserved   24
Tips & Tricks – Display scheduling information from MS Project


        IBM ILOG Elixir TaskChart control displays scheduling information
        MS Project is a widespread tool for building schedules
        How can your Flex/AIR application displays schedule coming from
         MS Project?
        Follow these steps:
             1.   Export from MS Project using their XML format
             2.   Add an IBM ILOG Elixir TaskChart to your application
             3.   Read the XML in your AIR/Flex Application
             4.   Using E4X get information from the XML and populate the TaskChart
                  with it:
                    Activities information
                    Constraints information (which activity must be completed before
                       which one)




05/14/2009                               © ILOG, All rights reserved              25
Tips & Tricks – Display scheduling information from MS Project




05/14/2009                      © ILOG, All rights reserved      26
What's next? - Building on top of Flex 4

        Adobe intends to release Flex 4 in fall 2009
        What could we do?
             1. Use FXG for skinning components/renders
                   You get that for free, check our blog for sample of styling an IBM
                    ILOG Elixir 2.0 Gauge with FXG
             2. Rebuild our components using Spark component model:
                   inheriting from FxComponent or FxDataContainer
                   accepting FXG Group for skins and ItemRenderer (extends
                    Group) for item renderers
             3. Integrate into Flash Catalyst?
                   should not be extensible in its first incarnation, need to wait for
                    future version




05/14/2009                               © ILOG, All rights reserved                 27
What's next? - Leveraging Flash Player 10

        Gumbo will require Flash Player 10 => we can rely on
         Flash Player 10 APIs for Okra
        What can we do?
             1. Use Vector.<> in place of Array:
                   Significant performance improvement on intensive Array-based
                    computations like renderers layout computations (OrgChart)
             2. Use Vector3D in 3D Charts:
                   Remove our own implementation => reduce SWF size, improve
                    performance
             3. Leverage 3D transformations in 3D Charts:
                   Remove several classes => reduce SWF size
                   Significant work compare to previous improvements
             4. Leverage bidi text in all components?
                   Let's see how Adobe integrates bidi in Flex text component and
                    use this
                   Will only be part of Flex 4.1 not 4.0


05/14/2009                             © ILOG, All rights reserved             28
What's next? - What do you need from us?

        You can help!
        Please contribute at http://elixir-bugs.ilog.com
         and http://forums.ilog.com/elixir
        Some external feedback examples taken from
         Jira / forums:
              Resource / Task Chart printing
              Resource Chart activities layout
              Screen reader support
              QTP support


05/14/2009                       © ILOG, All rights reserved   29
Resources

        Get more information & IBM ILOG Elixir 2.0 Free Trial
         on the Developer Center
        http://www.ilog.com/dev/ilogelixir/
        Discuss with other users and IBM ILOG Elixir Team on
         the forum
        http://forums.ilog.com/elixir
        Read IBM ILOG Elixir Team blog for regular updates
         and usage samples
        http://blogs.ilog.com/elixir
        Report issues on our Jira bug base
        http://elixir-bugs.ilog.com

05/14/2009                      © ILOG, All rights reserved   30
Questions & Answers


      Thank You




      © ILOG, All rights reserved

More Related Content

Similar to Christophe Jolif - Flex Data Visualization going one step further with IBM ILOG Elixir

Ilog Ria2
Ilog Ria2Ilog Ria2
Ilog Ria2
rajivmordani
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
Christopher Judd
 
07 Collada Overview
07 Collada Overview07 Collada Overview
07 Collada Overview
johny2008
 
Blueprint talk at Open Hackday London 2009
Blueprint talk at Open Hackday London 2009Blueprint talk at Open Hackday London 2009
Blueprint talk at Open Hackday London 2009
Ricardo Varela
 
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
Chris Toohey
 
Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
Javeline B.V.
 
Expanding a tree node
Expanding a tree nodeExpanding a tree node
Expanding a tree node
Hemakumar.S
 
Sergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample SdkSergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample Sdk
Ajax Experience 2009
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
Terry Ryan
 
2009 Java One State Of The Open Web
2009 Java One State Of The Open Web2009 Java One State Of The Open Web
2009 Java One State Of The Open Web
Patrick Chanezon
 
Looking into HTML5
Looking into HTML5Looking into HTML5
Looking into HTML5
Christopher Schmitt
 
JSON Viewer XPATH Workbook
JSON Viewer XPATH WorkbookJSON Viewer XPATH Workbook
JSON Viewer XPATH Workbook
Suresh Krishna Madhuvarsu
 
20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science
Kenichi Sonoda
 
Advanced iOS Debbuging (Reloaded)
Advanced iOS Debbuging (Reloaded)Advanced iOS Debbuging (Reloaded)
Advanced iOS Debbuging (Reloaded)
Massimo Oliviero
 
MS Dynamics CRM 2011 Technical
MS Dynamics CRM 2011 TechnicalMS Dynamics CRM 2011 Technical
MS Dynamics CRM 2011 Technical
AnilCSlides
 
ITOUG 2019 - 18c, 19c features
ITOUG 2019 - 18c, 19c featuresITOUG 2019 - 18c, 19c features
ITOUG 2019 - 18c, 19c features
Connor McDonald
 
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowHow to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
Daniel Zivkovic
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overview
reybango
 
ITALY
ITALYITALY
HTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game TechHTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game Tech
vincent_scheib
 

Similar to Christophe Jolif - Flex Data Visualization going one step further with IBM ILOG Elixir (20)

Ilog Ria2
Ilog Ria2Ilog Ria2
Ilog Ria2
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 
07 Collada Overview
07 Collada Overview07 Collada Overview
07 Collada Overview
 
Blueprint talk at Open Hackday London 2009
Blueprint talk at Open Hackday London 2009Blueprint talk at Open Hackday London 2009
Blueprint talk at Open Hackday London 2009
 
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
 
Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
 
Expanding a tree node
Expanding a tree nodeExpanding a tree node
Expanding a tree node
 
Sergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample SdkSergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample Sdk
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
2009 Java One State Of The Open Web
2009 Java One State Of The Open Web2009 Java One State Of The Open Web
2009 Java One State Of The Open Web
 
Looking into HTML5
Looking into HTML5Looking into HTML5
Looking into HTML5
 
JSON Viewer XPATH Workbook
JSON Viewer XPATH WorkbookJSON Viewer XPATH Workbook
JSON Viewer XPATH Workbook
 
20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science
 
Advanced iOS Debbuging (Reloaded)
Advanced iOS Debbuging (Reloaded)Advanced iOS Debbuging (Reloaded)
Advanced iOS Debbuging (Reloaded)
 
MS Dynamics CRM 2011 Technical
MS Dynamics CRM 2011 TechnicalMS Dynamics CRM 2011 Technical
MS Dynamics CRM 2011 Technical
 
ITOUG 2019 - 18c, 19c features
ITOUG 2019 - 18c, 19c featuresITOUG 2019 - 18c, 19c features
ITOUG 2019 - 18c, 19c features
 
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowHow to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overview
 
ITALY
ITALYITALY
ITALY
 
HTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game TechHTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game Tech
 

More from 360|Conferences

InsideMobile Keynote
InsideMobile KeynoteInsideMobile Keynote
InsideMobile Keynote
360|Conferences
 
Metaio Mobile Augmented Reality
Metaio Mobile Augmented RealityMetaio Mobile Augmented Reality
Metaio Mobile Augmented Reality
360|Conferences
 
Web Os Hands On
Web Os Hands OnWeb Os Hands On
Web Os Hands On
360|Conferences
 
Mobile Apps- Business Toolkit for the Manager
Mobile Apps- Business Toolkit for the ManagerMobile Apps- Business Toolkit for the Manager
Mobile Apps- Business Toolkit for the Manager
360|Conferences
 
Making Real Money with Mobile Apps
Making Real Money with Mobile AppsMaking Real Money with Mobile Apps
Making Real Money with Mobile Apps
360|Conferences
 
Unlocking Android
Unlocking AndroidUnlocking Android
Unlocking Android
360|Conferences
 
Inside Mobile Widgets Publish
Inside Mobile Widgets PublishInside Mobile Widgets Publish
Inside Mobile Widgets Publish
360|Conferences
 
You Know WebOS
You Know WebOSYou Know WebOS
You Know WebOS
360|Conferences
 
Ignite Denver 4 Master Deck
Ignite Denver 4 Master DeckIgnite Denver 4 Master Deck
Ignite Denver 4 Master Deck
360|Conferences
 
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
Oğuz	Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...Oğuz	Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
360|Conferences
 
Tyler Wright - Undo History with Flight
Tyler Wright - Undo History with FlightTyler Wright - Undo History with Flight
Tyler Wright - Undo History with Flight
360|Conferences
 
Chad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from VenusChad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from Venus
360|Conferences
 
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
360|Conferences
 
Erik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
Erik Loehfelm - Experience Design with Flash Catalyst and Flex GumboErik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
Erik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
360|Conferences
 
Ryan Phelan - Bending and Flexing
Ryan Phelan - Bending and FlexingRyan Phelan - Bending and Flexing
Ryan Phelan - Bending and Flexing
360|Conferences
 
Giorgio Natilli - Blaze DS Connectivity Framework
Giorgio Natilli - Blaze DS Connectivity FrameworkGiorgio Natilli - Blaze DS Connectivity Framework
Giorgio Natilli - Blaze DS Connectivity Framework
360|Conferences
 
Douglas Knudsen - Great Mash Up
Douglas Knudsen - Great Mash UpDouglas Knudsen - Great Mash Up
Douglas Knudsen - Great Mash Up
360|Conferences
 
Wes Leonardo - Putting AIR into your Application
Wes Leonardo - Putting AIR into your ApplicationWes Leonardo - Putting AIR into your Application
Wes Leonardo - Putting AIR into your Application
360|Conferences
 
Samuel Asher Rivello - PureMVC Hands On Part 1
Samuel Asher Rivello - PureMVC Hands On Part 1Samuel Asher Rivello - PureMVC Hands On Part 1
Samuel Asher Rivello - PureMVC Hands On Part 1
360|Conferences
 
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy ApplicationsAdrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
360|Conferences
 

More from 360|Conferences (20)

InsideMobile Keynote
InsideMobile KeynoteInsideMobile Keynote
InsideMobile Keynote
 
Metaio Mobile Augmented Reality
Metaio Mobile Augmented RealityMetaio Mobile Augmented Reality
Metaio Mobile Augmented Reality
 
Web Os Hands On
Web Os Hands OnWeb Os Hands On
Web Os Hands On
 
Mobile Apps- Business Toolkit for the Manager
Mobile Apps- Business Toolkit for the ManagerMobile Apps- Business Toolkit for the Manager
Mobile Apps- Business Toolkit for the Manager
 
Making Real Money with Mobile Apps
Making Real Money with Mobile AppsMaking Real Money with Mobile Apps
Making Real Money with Mobile Apps
 
Unlocking Android
Unlocking AndroidUnlocking Android
Unlocking Android
 
Inside Mobile Widgets Publish
Inside Mobile Widgets PublishInside Mobile Widgets Publish
Inside Mobile Widgets Publish
 
You Know WebOS
You Know WebOSYou Know WebOS
You Know WebOS
 
Ignite Denver 4 Master Deck
Ignite Denver 4 Master DeckIgnite Denver 4 Master Deck
Ignite Denver 4 Master Deck
 
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
Oğuz	Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...Oğuz	Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
 
Tyler Wright - Undo History with Flight
Tyler Wright - Undo History with FlightTyler Wright - Undo History with Flight
Tyler Wright - Undo History with Flight
 
Chad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from VenusChad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from Venus
 
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
 
Erik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
Erik Loehfelm - Experience Design with Flash Catalyst and Flex GumboErik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
Erik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
 
Ryan Phelan - Bending and Flexing
Ryan Phelan - Bending and FlexingRyan Phelan - Bending and Flexing
Ryan Phelan - Bending and Flexing
 
Giorgio Natilli - Blaze DS Connectivity Framework
Giorgio Natilli - Blaze DS Connectivity FrameworkGiorgio Natilli - Blaze DS Connectivity Framework
Giorgio Natilli - Blaze DS Connectivity Framework
 
Douglas Knudsen - Great Mash Up
Douglas Knudsen - Great Mash UpDouglas Knudsen - Great Mash Up
Douglas Knudsen - Great Mash Up
 
Wes Leonardo - Putting AIR into your Application
Wes Leonardo - Putting AIR into your ApplicationWes Leonardo - Putting AIR into your Application
Wes Leonardo - Putting AIR into your Application
 
Samuel Asher Rivello - PureMVC Hands On Part 1
Samuel Asher Rivello - PureMVC Hands On Part 1Samuel Asher Rivello - PureMVC Hands On Part 1
Samuel Asher Rivello - PureMVC Hands On Part 1
 
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy ApplicationsAdrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
 

Recently uploaded

LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 

Recently uploaded (20)

LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 

Christophe Jolif - Flex Data Visualization going one step further with IBM ILOG Elixir

  • 1. Flex Enterprise & Data Visualization: Going one step further with IBM ILOG Elixir May 18, 2009 Christophe Jolif christophe.jolif@fr.ibm.com http://blogs.ilog.com/elixir/author/cjolif © ILOG, All rights reserved
  • 2. Agenda  IBM ILOG Elixir in Nutshell  IBM ILOG Elixir Tips & Tricks:  From 2D to 3D Charts  Building a Custom Gauge  Expand/Collapse on the OrgChart  Create a custom Map dashboard  Your Google Calendar in AIR  Density Heatmap of Flickr photos  Display scheduling information from MS Project  What’s Next?  Building on top of Flex 4  Leveraging Flash Player 10  What do you need from us?  Resources 05/14/2009 © ILOG, All rights reserved 2
  • 3. IBM ILOG Elixir in a Nutshell  Provide every Flex & AIR developer with custom Flex UI components useful for complementing Adobe offering for all type of applications from data visualization to enterprise applications  ILOG Elixir 1.0 released in Feb 2008 based on Flex 3.0.0  patch 1 released in May 2008  patch 2 released in March 2009  ILOG Elixir 2.0 released in Feb 2009 based on Flex 3.0.2 05/14/2009 © ILOG, All rights reserved 3
  • 4. IBM ILOG Elixir in a Nutshell  3D Charts (Area, Line, Column, Bar & Pie) Demo  Radar / Spider Chart Demo  OLAP and Pivot Charts (new in 2.0) Demo 05/14/2009 © ILOG, All rights reserved 4
  • 5. IBM ILOG Elixir in a Nutshell  Maps for Dashboards Demo  Heat Maps  Gauges and Dials Demo  Digital Indicators (new in 2.0) 05/14/2009 © ILOG, All rights reserved 5
  • 6. IBM ILOG Elixir in a Nutshell  Calendar (new in 2.0) Demo  Gantt Resource Chart Demo  Gantt Task Chart (new in 2.0) Demo 05/14/2009 © ILOG, All rights reserved 6
  • 7. IBM ILOG Elixir in a Nutshell  Organization Chart Demo  Treemap Demo 05/14/2009 © ILOG, All rights reserved 7
  • 8. IBM ILOG Elixir in a Nutshell  Flex Builder tight integration:  design view  property editing  code & mxml hinting  integrated documentation  Full integration with Flex framework and practices:  Follow Flex UIComponent convention for events, styling and invalidation mechanisms  Fully localizable, provided with en_US and ja_JP locales  Keyboard accessibility for most components  Flex 3.0.2 Marshall Plan support for cross-versioning and cross- domain applications (2.0) 05/14/2009 © ILOG, All rights reserved 8
  • 9. IBM ILOG Elixir in a Nutshell  Delivered with code samples and demos  Learn by examples in on AIR or on the web at: http://www.adobe.com/ devnet/flex/tourdeflex/web  Dedicated forums at http://forums.ilog.com/elixir and blog at http://blogs.ilog.com/elixir 05/14/2009 © ILOG, All rights reserved 9
  • 10. Tips & Tricks – From 2D to 3D Charts Original: <mx:ColumnChart id=quot;columnquot; showDataTips=quot;truequot; dataProvider=quot;{medalsAC}quot; > <mx:horizontalAxis> <mx:CategoryAxis categoryField=quot;Countryquot;/> </mx:horizontalAxis> <mx:series> <mx:ColumnSeries xField=quot;Countryquot; yField=quot;Goldquot; displayName=quot;Goldquot; fill=quot;{sc1}quot; stroke=quot;{s1}quot; /> <mx:ColumnSeries xField=quot;Countryquot; yField=quot;Silverquot; displayName=quot;Silverquot; fill=quot;{sc2}quot; stroke=quot;{s2}quot; /> <mx:ColumnSeries xField=quot;Countryquot; yField=quot;Bronzequot; displayName=quot;Bronzequot; fill=quot;{sc3}quot; stroke=quot;{s3}quot; /> </mx:series> </mx:ColumnChart> <mx:Legend dataProvider=quot;{column}quot;/> 05/14/2009 © ILOG, All rights reserved 10
  • 11. Tips & Tricks – From 2D to 3D Charts Result: <ilog:ColumnChart3D id=quot;columnquot; showDataTips=quot;truequot; dataProvider=quot;{medalsAC}quot; > <ilog:horizontalAxis> <mx:CategoryAxis categoryField=quot;Countryquot;/> </ilog:horizontalAxis> <ilog:series> <ilog:ColumnSeries3D xField=quot;Countryquot; yField=quot;Goldquot; displayName=quot;Goldquot; fill=quot;{sc1}quot; stroke=quot;{s1}quot; /> <ilog:ColumnSeries3D xField=quot;Countryquot; yField=quot;Silverquot; displayName=quot;Silverquot; fill=quot;{sc2}quot; stroke=quot;{s2}quot; /> <ilog:ColumnSeries3D xField=quot;Countryquot; yField=quot;Bronzequot; displayName=quot;Bronzequot; fill=quot;{sc3}quot; stroke=quot;{s3}quot; /> </ilog:series> </ilog:ColumnChart3D> <mx:Legend dataProvider=quot;{column}quot;/> 05/14/2009 © ILOG, All rights reserved 11
  • 12. Tips & Tricks – From 2D to 3D Charts  But we do not provide 3D API for customizing your display, so you can't switch itemRenderer just play with styling properties (fill, stroke…)  Also items are not UIComponents, so you must use chart specific events & effects like itemClick, showDataEffect … not UIComponents events & effects (click, showEffect…) 05/14/2009 © ILOG, All rights reserved 12
  • 13. Tips & Tricks – Building a Custom Gauge  IBM ILOG Elixir provides with with predefined Circular, Semi Circular, Horizontal and Vertical Gauges  They fit most simple use-cases but you might want more, like mutli-value gauges  Just assemble MXML elements and you’ll be able to achieve what you need using the Gauges framework 05/14/2009 © ILOG, All rights reserved 13
  • 14. Tips & Tricks – Building a Custom Gauge <ilog:CircularGauge color=quot;0xFFFFFFquot;> <ilog:scales> <ilog:CircularLinearScale maximum=quot;250quot; id=quot;speedScalequot; startAngle=quot;200quot; endAngle=quot;340quot;/> <ilog:CircularLinearScale maximum=quot;100quot; id=quot;fuelScalequot; startAngle=quot;140quot; endAngle=quot;40quot; majorTickInterval=quot;50quot; minorTickInterval=quot;25quot; /> </ilog:scales> <ilog:elements> <ilog:CircularGaugeAsset asset=quot;@Embed(source='black_circle.swf')quot;/> <ilog:CircularScaleRenderer radius=quot;35%quot; scale=quot;{speedScale}quot; labelRadius=quot;102%quot; labelPlacement=quot;outsidequot; minorTickLength=quot;10%quot; labelFontSize=quot;12%quot; fontWeight=quot;boldquot; majorTickRenderer=quot;{myTickRenderer}quot; minorTickRenderer=quot;{myTickRenderer}quot; /> <ilog:CircularTrackRenderer minimum=quot;150quot; maximum=quot;250quot; radius=quot;28%quot; scale=quot;{speedScale}quot;> <ilog:gradientEntries> <mx:GradientEntry color=quot;0x00DD00quot; ratio=quot;0quot;/> <mx:GradientEntry color=quot;0xDDD000quot; ratio=quot;0.5quot;/> <mx:GradientEntry color=quot;0xDD0000quot; ratio=quot;1quot;/> </ilog:gradientEntries> </ilog:CircularTrackRenderer> <ilog:NeedleRenderer thickness=quot;7%quot; radius=quot;30%quot; value=quot;{speed.value}quot; scale=quot;{speedScale}quot;/> <!-- and more --> </ilog:elements> </ilog:CircularGauge> 05/14/2009 © ILOG, All rights reserved 14
  • 15. Tips & Tricks – Expand/Collapse on the OrgChart  By default the OrgChart is displaying the entire OrgChart hierarchy available in dataProvider  You might want to display only down to a certain level and provide expand/collapse ability  What you need: 1.The ability to filter the data depending on whether children are expanded or collapsed 2.The ability for the user to interact with the OrgChart to target an expand or a collapse action  How do you achieve this? 1.By using a filterFunction on ICollectionView 2.By providing a custom OrgChartItemRenderer with a +/- button  Let's take a look at the code & result! 05/14/2009 © ILOG, All rights reserved 15
  • 16. Tips & Tricks – Expand/Collapse on the OrgChart 05/14/2009 © ILOG, All rights reserved 16
  • 17. Tips & Tricks – Create a custom Map dashboard Workflow: 1. Create or get your map in ESRI SHP file format 2. Import it in IBM ILOG Elixir Custom Map Converter 3. Set Parameters 4. Export it as ActionScript 5. Include it in your Flex Builder Project 6. Use it in your MXML/AS code to represent dashboard data Let's do it live! 05/14/2009 © ILOG, All rights reserved 17
  • 18. Tips & Tricks – Create a custom Map dashboard 05/14/2009 © ILOG, All rights reserved 18
  • 19. Tips & Tricks – Your Google Calendar in AIR  IBM ILOG Elixir Calendar component is taking any Flex data as input in a form of a list of quot;eventsquot; with optional recurrence information  That input must be provided as XML or ActionScript object in the dataProvider, just a for any data-aware Flex component  Two approaches: 1. Reading the iCal feed or exported file from Google Calendar:  Allows to mashup from different iCal sources 2. Using the Google Calendar API  More integrated with Google Calendar (authentication etc...) 05/14/2009 © ILOG, All rights reserved 19
  • 20. Tips & Tricks – Your Google Calendar in AIR Reading iCal feed or exported file  Google Calendar export to iCal that is a simple definition format for events  Creating a dataProvider from iCal events is a matter of reading TXT and creating AS objects  For the recurrence information it could be a bit more complex:  One can provide any format of recurrence by providing his own IRecurrenceDescriptor to the IBM ILOG Elixir Calendar  However default IRecurrenceDescriptor implementation is RFC2445 based so it is not needed to go as far 05/14/2009 © ILOG, All rights reserved 20
  • 21. Tips & Tricks – Your Google Calendar in AIR Reading iCal feed or exported file  Google Calendar provides a Web Service API: http:// code.google.com/apis/calendar/docs/2.0/ developers_guide_protocol.html  Create an ActionScript wrapper that calls this web service and exposes result as ActionScript objects  As in previous case, configure the IBM ILOG Elixir Calendar with the right dataProvider  More on this at: http://blogs.ilog.com/elixir/2009/03/16/ display-google-calendars-using-ilog-elixir 05/14/2009 © ILOG, All rights reserved 21
  • 22. Tips & Tricks – Your Google Calendar in AIR 05/14/2009 © ILOG, All rights reserved 22
  • 23. Tips & Tricks – Density Heatmap of Flickr photos  The HeatMap principle:  Displaying the densities or values of data objects using color at given location (optionally over a map)  In our case this is the density of photos taken at given geolocation and available on Flickr over a map  How do you achieve this?  We create a MapHeatMap with a USStatesMap and a DensityHeatMap and configure the heatmap to take location information in longitude & latitude properties of the data objects  We extend Flickr2AS API to manage Flickr quot;Placequot; API  We request to Flickr photos over a particular quot;Placequot; using that API (US in our case)  We iterate over the results (paged results) and populate the data provider of the DensityHeatMap with them as they correctly use longitude & latitude properties  We just look at the result 05/14/2009 © ILOG, All rights reserved 23
  • 24. Tips & Tricks – Density Heatmap of Flickr photos 05/14/2009 © ILOG, All rights reserved 24
  • 25. Tips & Tricks – Display scheduling information from MS Project  IBM ILOG Elixir TaskChart control displays scheduling information  MS Project is a widespread tool for building schedules  How can your Flex/AIR application displays schedule coming from MS Project?  Follow these steps: 1. Export from MS Project using their XML format 2. Add an IBM ILOG Elixir TaskChart to your application 3. Read the XML in your AIR/Flex Application 4. Using E4X get information from the XML and populate the TaskChart with it:  Activities information  Constraints information (which activity must be completed before which one) 05/14/2009 © ILOG, All rights reserved 25
  • 26. Tips & Tricks – Display scheduling information from MS Project 05/14/2009 © ILOG, All rights reserved 26
  • 27. What's next? - Building on top of Flex 4  Adobe intends to release Flex 4 in fall 2009  What could we do? 1. Use FXG for skinning components/renders  You get that for free, check our blog for sample of styling an IBM ILOG Elixir 2.0 Gauge with FXG 2. Rebuild our components using Spark component model:  inheriting from FxComponent or FxDataContainer  accepting FXG Group for skins and ItemRenderer (extends Group) for item renderers 3. Integrate into Flash Catalyst?  should not be extensible in its first incarnation, need to wait for future version 05/14/2009 © ILOG, All rights reserved 27
  • 28. What's next? - Leveraging Flash Player 10  Gumbo will require Flash Player 10 => we can rely on Flash Player 10 APIs for Okra  What can we do? 1. Use Vector.<> in place of Array:  Significant performance improvement on intensive Array-based computations like renderers layout computations (OrgChart) 2. Use Vector3D in 3D Charts:  Remove our own implementation => reduce SWF size, improve performance 3. Leverage 3D transformations in 3D Charts:  Remove several classes => reduce SWF size  Significant work compare to previous improvements 4. Leverage bidi text in all components?  Let's see how Adobe integrates bidi in Flex text component and use this  Will only be part of Flex 4.1 not 4.0 05/14/2009 © ILOG, All rights reserved 28
  • 29. What's next? - What do you need from us?  You can help!  Please contribute at http://elixir-bugs.ilog.com and http://forums.ilog.com/elixir  Some external feedback examples taken from Jira / forums:  Resource / Task Chart printing  Resource Chart activities layout  Screen reader support  QTP support 05/14/2009 © ILOG, All rights reserved 29
  • 30. Resources  Get more information & IBM ILOG Elixir 2.0 Free Trial on the Developer Center  http://www.ilog.com/dev/ilogelixir/  Discuss with other users and IBM ILOG Elixir Team on the forum  http://forums.ilog.com/elixir  Read IBM ILOG Elixir Team blog for regular updates and usage samples  http://blogs.ilog.com/elixir  Report issues on our Jira bug base  http://elixir-bugs.ilog.com 05/14/2009 © ILOG, All rights reserved 30
  • 31. Questions & Answers Thank You © ILOG, All rights reserved