Accessibility

Macromedia Flash Article

Building an RSS Aggregator with Macromedia Firefly Components, Part II: Flash Remoting


Aral Balkan

Aral Balkan
BitsAndPixels

Table of Contents

  1. Introduction
  2. Why Use Macromedia Flash Remoting?
  3. Extending the Aggregator
  4. Designing the Database
  5. Writing the Server-Side Command Method
  6. Setting Up the Data Source Using the ColdFusion Administrator
  7. Leaping from XML to Remoting
  8. Saving Data Using the Resolver

Note: This tutorial is for users of Macromedia Firefly Components, which were available with Macromedia Flash MX Data Connection Kit. Macromedia Flash MX Professional 2004 includes data components that replace FireFly components. Find out about special offers on Macromedia MX 2004 for Data Connection Kit owners.

Introduction

In my previous tutorial on Firefly, I introduced you to the Firefly Components, part of the Flash MX Data Connection Kit, and led you through the construction of an RSS (Rich Site Summary) reader and RSS aggregator application.

With the RSS reader, you learned the essential constituents of a Firefly-based application: a data source that you connect to using the Connector Plug-in, map using Dataset, and display using DataLink components such as the grid, combo-boxes, text boxes, and radio buttons. Building upon the RSS reader, you built an RSS aggregator and learned how to create a master–detail relationship between two different data sources and two different sets of DataLink components.

In this tutorial, we're going to expand upon the RSS aggregator and allow users to add to the list of aggregated feeds using the online interface. To achieve this, we're going to use one of the other plug-ins that comes with Firefly: the Firefly Flash Remoting Plug-in.

For the examples in the previous tutorial, static XML documents sufficed as data sources since we did not need to update the data source in any way. Our data transmission was strictly one-way: We received data from XML documents and displayed them. Now that we want to give users the ability to add feeds to our aggregator application, we need to think about two-way communication. When the application runs, we still need to query our data source to receive the list of feeds to display but we also need a way to update our data source when the user decides to add, delete, or otherwise edit the details of a feed. Although we could use any combination of application server and database to achieve this, in this tutorial we're going to use Flash Remoting alongside ColdFusion MX and a MySQL database.

Requirements

To complete this tutorial you need to install the following software and files:

Note: Windows users can download an easy-to-install distribution called FoxServ (www.foxserv.net) that includes Apache and MySQL, as well as other useful open-source development and deployment tools.

Be sure to install the Firefly and Flash Remoting components on your development machines, alongside the Macromedia Flash authoring environment. To work through this tutorial you either must install ColdFusion MX, a web server, and MySQL yourself or have access to these technologies on the servers of your web hosting provider.



About the author

Aral Balkan is a user interface and usability consultant who has been using Macromedia Flash for as long as he can remember. Alongside managing his London-based new media consultancy business, Bits And Pixels (http://www.BitsAndPixels.co.uk), Aral is also active in the Macromedia Flash community. He is the Director of Education Content on the Macromedia Flash resource site Ultrashock.com and co-director of the London Macromedia User Group. Aral also has taught graduate and undergraduate-level multimedia and web design classes in the United States and looks forward to one day finding enough time to do some further teaching in the United Kingdom. He is a published author, having contributed to Flash MX Most Wanted Components (Friends of Ed), along with tutorials for his community blog, onRelease.org, Ultrashock.com, and Macromedia DevNet. His latest passions include Agile development methodologies, patterns, user-centric product development, and usability engineering. One day, he hopes to get his head around Java!