[Catalyst-commits] r7218 - / trunk/examples/CatalystAdvent/root/2007/pen

zarquon at dev.catalyst.perl.org zarquon at dev.catalyst.perl.org
Tue Dec 4 00:24:10 GMT 2007


Author: zarquon
Date: 2007-12-04 00:24:10 +0000 (Tue, 04 Dec 2007)
New Revision: 7218

Removed:
   trunk/examples/CatalystAdvent/root/2007/pen/8.pod
Modified:
   /
Log:
 r12098 at zaphod:  kd | 2007-12-04 11:18:46 +1100
 day 4 up



Property changes on: 
___________________________________________________________________
Name: svk:merge
   - 1b129c88-ebf4-0310-add9-f09427935aba:/local/catalyst:4278
1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst:12075
3b9770f9-e80c-0410-a7de-cd203d167417:/local/catalyst:3514
dd8ad9ea-0304-0410-a433-df5f223e7bc0:/local/Catalyst:6909
   + 1b129c88-ebf4-0310-add9-f09427935aba:/local/catalyst:4278
1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst:12098
3b9770f9-e80c-0410-a7de-cd203d167417:/local/catalyst:3514
dd8ad9ea-0304-0410-a433-df5f223e7bc0:/local/Catalyst:6909

Deleted: trunk/examples/CatalystAdvent/root/2007/pen/8.pod
===================================================================
--- trunk/examples/CatalystAdvent/root/2007/pen/8.pod	2007-12-03 13:03:06 UTC (rev 7217)
+++ trunk/examples/CatalystAdvent/root/2007/pen/8.pod	2007-12-04 00:24:10 UTC (rev 7218)
@@ -1,235 +0,0 @@
-
-=head1 Catalyst + Open Flash Chart: Fancy graphs with minimal fuss
-
-=head2 About Open Flash Chart
-
-Open Flash Chart is a flash application that prudoces some very nice-looking,
-interactive (and in some cases animated) charts and graphs for your web
-application.  It's also completely free and open source, released under the
-GNU General Public License.
-
-For examples of the kinds of graphs you can produce, visit the home page
-at L<http://teethgrinder.co.uk/open-flash-chart/>.
-
-=head2 Getting Started
-
-This tutorial assumes you already have some Catalyst experience, so we won't
-go into too much detail with the basics of creating an application...
-
-  % catalyst.pl AdventOFC
-  ...
-  % cd AdventOFC
-  ...
-  % script/adventofc_create.pl view TT TTSite
-  ...
-
-=head2 Installing Chart::OFC
-
-The Open Flash Chart application uses a difficult to work with format for it's
-data structure.  Fortunately the perl community has guys like Dave Rolsky, who
-recently made a nice perl library called L<Chart::OFC> that makes it easier to
-work with.  We're going to install L<Chart::OFC> first, because it includes the
-pieces you need from Open Flash Chart, so you only need to download once...
-
-Assuming you are using L<CPANPLUS>, you can install it like this...
-
-  % cpanp
-  ...
-  CPAN Terminal> i Chart::OFC
-  
-  Installing Chart::OFC (0.02)
-  ...
-  Module 'Chart::OFC' installed successfully
-  No errors installing all modules
-  
-  CPAN Terminal> q
-
-Once you have it installed, you need to get the .swf file and copy it into
-your application root directory.  If you installed from L<CPANPLUS>, something
-like the following will work.
-
-  % cd root/static
-  % unzip ~/.cpanplus/*/build/Chart-OFC-*/ofc/*.zip open-flash-chart.swf
-
-If you don't have the L<Chart::OFC> source directory any more, you can
-download the .swf from the Open Flash Chart web site at
-L<http://teethgrinder.co.uk/open-flash-chart/download.php>.
-
-Whether you use the copy from the L<Chart::OFC> source directory, or download
-it from the web site, you will get a .zip file that includes the source as
-well as adapter libraries for various langages.  You only need the .swf file
-from the archive though, you won't need any of the other files.
-
-=head2 Adding Open Flash Chart support to your application
-
-Now that you have a basic application, we'll add some charting capabilities
-with OpenFlashChart.  The HTML code required to embed a chart is long and
-repetitive, so I like to make a component template to do the boring work
-for me.  Create a file in root/lib called 'ofc_swf_object' with the
-following contents:
-
-  [%
-    DEFAULT
-        width    = '500'
-        height   = '300'
-        id       = 'ofc_chart'
-        bgcolor  = '#FFFFFF'
-        name     = 'ofc_chart';
-
-    SET swf_url = Catalyst.uri_for( 
-        '/static/open-flash-chart.swf',
-        {
-            width  = width
-            height = height
-            data   = data
-        }
-    );
-
-    # This is just to keep the html below from being
-    # too wide for the sake of the demo, you could always
-    # just put this inline if you wanted
-    SET cab_download = [
-        'http://fpdownload.macromedia.com'
-        '/pub/shockwave/cabs/flash/swflash.cab'
-        '#version=8,0,0,0'
-    ];
-  %]
-  [% FILTER collapse %]
-  <object
-    classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
-    codebase="[% cab_download.join( '' ) %]"
-    width="[% width %]" height="[% height %]"
-    id="[% id %]" align="middle">
-      <param name="allowScriptAccess" value="sameDomain" />
-      <param name="movie" value="[% swf_url %]" />
-      <param name="quality" value="high" />
-      <param name="bgcolor" value="[% bgcolor %]" />
-      <embed
-        src="[% swf_url %]" quality="high"
-        bgcolor="[% bgcolor %]" width="[% width %]"
-        height="[% height %]" name="[% name %]"
-        align="middle" allowScriptAccess="sameDomain"
-        type="application/x-shockwave-flash"
-        pluginspage="http://www.macromedia.com/go/getflashplayer"
-      />
-  </object>
-  [% END %]
-
-You might notice that there are two copies of basically every configuration
-parameter in this block of code.  Like many other things on the web, this is
-because Internet Explorer does it one way (the object part) and everything
-else does it differently (with embed.)
-
-=head2 Using your new Open Flash Chart tools
-
-Now that you have the support pieces you need, it's time to put them to use.
-For the purposes of the demo we're just going to add charts to the home page
-of the application, so we'll be editing the Root controller.  To get started,
-add a method to the root controller for the index page...
-
-  =head2 index
-  
-  The index page for our charts.
-  
-  =cut
-  
-  sub index : Private {
-      my ( $self, $c ) = @_;
-  
-      $c->stash->{ 'template' } = 'index.tt2';
-  }
-
-Next we need to create a template to go along with the index.  Since we took
-the time to setup a helper template, this one will be rather small.  Put this
-code into your root/src/index.tt2.
-
-  [% INCLUDE ofc_swf_object data = Catalyst.uri_for( '/graph' ) %]
-
-If you run script/adventofc_server.pl at this point, you should get a nice
-graph display, although it won't contain any data.  In order to get nice
-charts, we need to move onto the next step, the data!
-
-=head2 Generating appropriate data
-
-Next we need to create a controller to produce the appropriate graph
-information.  Edit the root controller again, add a new method for the
-graph data (make sure you add C<use Chart::OFC> to the top of your
-controller as well.)
-
-  =head2 graph
-  
-  Data provider for Open Flash Chart graphs.
-  
-  =cut
-  
-  sub graph : Local {
-    my ( $self, $c ) = @_;
-
-Open Flash Chart can display pie charts, lines and/or bars on a grid, and
-area charts on a grid.  You can determine which types of graphs to use by
-which L<Chart::OFC::Dataset> subclasses you provide your data to.  For
-the purposes of this demo, we'll create a chart with lines, but first we
-need some sample data.
-
-    my %data = (
-        Date    => [ map { "11/$_" } 1 .. 14 ],
-        Ninja   => [ map { int( rand( 10 ) ) } 1 .. 14 ],
-        Pirate  => [ map { int( rand( 10 ) ) } 1 .. 14 ],
-    );
-
-For each data point you want to graph, you create an object that is an
-instance of one of the L<Chart::OFC::Dataset> subclasses.
-
-    my $ninjas = Chart::OFC::Dataset::LineWithDots->new(
-        color       => 'black',
-        label       => 'Ninjas',
-        solid_dots  => 0,
-        values      => $data{ 'Ninja' },
-    );
-    my $pirates = Chart::OFC::Dataset::LineWithDots->new(
-        color       => 'red',
-        label       => 'Pirates',
-        solid_dots  => 1,
-        values      => $data{ 'Pirate' },
-    );
-
-Once you have your datasets, you need to create X and Y axis objects that
-provide the information necessary to label the graph.
-
-    my $x_axis = Chart::OFC::XAxis->new(
-        axis_label  => 'Date',
-        labels      => $data{ 'Date' },
-    );
-    my $y_axis = Chart::OFC::YAxis->new(
-        axis_label  => 'Sightings',
-        max         => 11,
-        label_steps => 1,
-    );
-
-Now that all the pieces are assembled, we can use them to build a graph.
-
-    my $grid = Chart::OFC::Grid->new(
-        title       => 'Observer Reports',
-        datasets    => [ $ninjas, $pirates ],
-        x_axis      => $x_axis,
-        y_axis      => $y_axis,
-    );
-
-Then all that is left is to send this data to the browser.
-
-    $c->response->body( $grid->as_ofc_data );
-  }
-
-=head2 Done!
-
-Now just run C<script/adventofc_server.pl>, point your browser at
-L<http://localhost:3000/>, and celebrate your fancy graphs!
-
-=head3 AUTHOR
-
-Jason Kohles, E<lt>email at jasonkohles.comE<gt>
-
-L<http://www.jasonkohles.com/>
-
-=cut
-




More information about the Catalyst-commits mailing list