Stuff to click on

Showing posts with label Flex. Show all posts
Showing posts with label Flex. Show all posts

Tuesday, September 18

Ribbit

I am so excited that I have been accepted as a prerelease developer for the new Ribbit component for Flex!

In a nutshell:
The Ribbit Phone Component will give Rich internet application developers the ability to make and receive calls, record/send and receive voicemail, as well as add and manage contacts.
Lots of good ideas are percolating on potential applications for this component. I am going to start by tying in some of the Ribbit functionality with our internal (and proprietary) contact management application. Which (of course) was built using Flex!

Friday, April 20

COWPU!!!

It's almost time for another COWPU meeting...

This month is pretty exciting! My buddy Simeon from Portland is coming to Bend and will be speaking at the meeting. Sim is a certified Kung Fu Code Master... and and all around nice guy. A long-time Coldfusion developer, Adobe Instructor, and "Flex-pert", he has recently branched out and started working with Ruby on Rails. This should be a great learning experience for anyone interested in getting started with RIA's - or even those of us already building RIA's but want to learn more about RoR.

This month we will be meeting at BBC - the front room is reserved so we will have plenty of space for folks to relax, have a pint and a bite to eat, and get their geek on with the group.

Here's all the details. Hope to see you there!

Where: Bend Brewing Company, 1019 NW Brooks St. Bend, OR, 97701 (541)383-1599
When: Thursday, April 26
6:30pm - Networking and discussion
7:00pm - Presentation by Simeon Bateman

Saturday, April 7

360|Flex

In early March I attended the 360Flex conference in San Jose, CA. It was such a big success that another is being organized for August... this time in Seattle, WA. If you are at all interested in Flex, or even just RIA development in general, I highly recommend attending. Visit their website for more info.

I am looking forward to reuniting with old friends as well as seeing new faces. Hope to see you there!

Friday, March 30

Scrapblog

I have found a fun - and potentially addictive - website. It's called Scrapblog. I played with it briefly during a break today... and you can see the results here.



Basically, this is a web-based tool for creating scrapbook-like layouts for your photos. It "talks" to Flickr and other photo sharing websites.

And... it's powered by Adobe Flex. (Excuse me, would someone please pass the Kool-Aid?) Better yet, it sounds like there is an Apollo flavor in the works, which implies that you will be able use it when you aren't connected to the Inter-web and then upload your designs when you go back online.

Wednesday, March 21

Pics

Buenos dias!


Mexico pics are up! Click here to take a look.

The photo viewer does require Flash Player 9. If you don't have the latest version visit Adobe's website to download and install this software.

Geeky stuff:

I am continuing to tweak the photo player, just as a side project "for fun" and trying to further my Flex development skills. The original application was written by Ely Greenfield. The core animation, reflection, and navigation were built by him, not me. I already added the photo titles and plan to add navigation buttons, XML feed support (right now the descriptions and the photo file names are in hard-coded arrays), and ability to switch between more than one "album". I will probably "skin" the viewer eventually so that the colors are a bit more "me". So if you have any feedback as I develop this please let me know! Also the code is open source so if you are trying to learn Flex and want to take a look please visit Ely's site. With his permission I will probably make my source available after I make my changes as well.

Wednesday, March 7

360flex - Wednesday keynote

Started off with a talk about the Adobe development team for AmGen - a bicycle race tracking application. It incorporates live video, flickr content, and GPS tracking integrated with Yahoo! Maps.

This app was built by 3 people in 6 weeks. (Note: this is an incredibly short turnover. Impressive!)

Talked to their development cycle and some best practices, and recommendations for iterative application dev cycle.

Next Flex

I think this is what everyone came to see - what's coming up in the next version of Flex? Codenamed "Moxie" and "Borneo", release dates will be in 2007. Since it's still in development not all of the features are guaranteed to find their way into the final release.

Creative Suite 3 includes Flash, Fireworks, Illustrator, and Photoshop. All of these products will be tightly integrated with Flex.

Fireworks has a Common Library that includes Flex Components. This gives designers the ability to build comps - including Panels, scrollbars, and other elements - apply colors and styles - and export to MXML. (File, Export, MXML & Images) The resulting code can be pasted into new or existing Flex projects.

Borneo

The upcoming version of Flex Data Services is code-named Borneo. It will include better scalability, LiveCycle integration, and web services.

Moxie

The upcoming version of Flex Builder is code-named Moxie. Better language intelligence, profiling, design view enhancements, data integration, enhanced datagrid and list functions... just a few things that were done well in FB2 are going to be even better... or were overlooked... are high on the list of priorities.

There is a "rename function" option; go to an instance of use and in the background FB will parse your application and rename all other instances. This works for methods, variables, etc.

Code mapping includes the ability to search for all instances of usage for an element name - cross class!

Memory optimization options including variable space tracking.

Flex & Apollo

An Eclipse plug-in for Flex is coming soon. Apollo camp will be 3/16 at the Adobe campus (hint, hint).

Extending Flex

A lot of work is being done outside Adobe. Private companies (ESRI, Farata, and Yahoo!) and the community (flexlib) are working to extend the capabilities of Flex.
  • ESRI demo'd a mapping app
  • Farata demo'd a business reporting app
  • Yahoo! term extraction application was shown
  • flexlib is a great open source repository on Google Code. See sample components here


Flex API Posters

Soon these will be available online. They are working with distributors who will have the ability to drop ship them directly when orders are placed. Linkage coming soon!

What's next?

Interest for another 3-day Flex conference (360Flex) in August is high.

Possible usergroup tour for 1-day Flex trainings (120Flex) - perhaps 101 or 201 level?

Big thanks to everyone that made 360flex possible, and a huge success!

eBay Stuff

eBay is hiring. Wanna build cool Flex and Apollo apps for eBay, working from their campus in San Jose?

Hosting an eBay developer conference in Boston later this year.

Libraries for eBay/AS3 BETA are being released... NOW! Go to Adobe Labs to download the good stuff!

Tuesday, March 6

360flex - Flex with ColdFusion

presented by Ben Forta

(Note: he has a really cool logo on the preso title screen, with the Flex and ColdFusion logos morphing together. Cheezy happy moment!)

Brain dump stuff

Talking thru various Flex and CF integration good stuff, including FDS integration with CF.

CF and Flex were designed to work together so they compliment each other.

Flash remoting, FDS adapter, messaging gateway (CF enterprise edition only) ... all part of the CF integration package.

RDS integration includes file system, data source, sql query builder, and service browser goodies.

CF and FDS2 are both Java apps running on the J2EE Server.

Try Flex online at http://www.tryflex.org !!

Flash Remoting

Flash remoting (required for CF/Flex integration) is built into CFMX 7.0.2 with no plug in's or extras to install.

Use RemoteObject to access your CFC's. Please. :) More efficient because of the binary protocol used (AMF3) and there is no FDS required.

The CF application wizard in FB2 is really slick. There is a lot of good info about using this on the Adobe website and Ben's blog so I won't post details here. If you are starting to use CF and Flex together this is a great way to go!

CFC and AS class must have the same properties, so use the tag in your CFC. Use the full path to the CFC with a fully qualified dot notation path. AS object needs to be associated with the CFC - use the [RemoteClass] with the fully qualified path to the CFC. Or... things may work... or not. Remember that even though CF is case insensitive, AS is case sensitive ... so spelling and case (and day of the week and the current ambient temperature) all matter because AS is picky. :)

Flex Messaging

Server initiated communication (as opposed to client request). Publish & subscribe to "push" data to anyone monitoring a "channel".

Uses RMI Registry (must enable FDS via CF server admin first) to connect CF to the messaging gateway.

It is really slick - the push is immediate and doesn't depend on polling or waiting. All initiated by the server, a la "hey all you sessions that are listening, here is the new data you need to display". Cool!

Configured as an Event gateway in CF admin, just needs to be running and connected.

All this integration is really easy with Flex and CF. Connection with Java, PHP, any other backends will require more work!! (So.. another benefit to using CF!)

Security

By default, Flex and CF will only accept connections from the same box.

You can configure a list of allowed IP addresses for both sides if CF and FDS are on different boxes.

FDS Data Sync

Eliminates data versioning problems - the "whomever saves last, wins!" scenario. Server will detect a conflict and raise an alert giving developer ability to code message box to allow the client to decide what to do - or deal with the conflict programmatically.

UNFORTUNATELY HAD TO LEAVE EARLY DUE TO FAMILY ISSUE :(

360flex - E4X

presented by Danny Patterson

New XML classes in AS3
  • all old functions from AS2 still available
  • XMLList - if there is only one item in the list it will act like the type of that item
  • QName
  • Namespace


Creating XML Objects
  • Parse XML Strings - pass a string into a constructor
  • Use a literal
  • Create an XMLList


Using the language

Property accessors
  • Everything is an XMLObject, from the children and the data contained in them... even comments!!
  • Two dots returns all items, regardless of their level in the XML schema (to retrieve nested children)
  • Wildcards (*) - gets all elements under the catalog, so you don't have to know the child or element names
  • @* - gets all the attributes of a child, useful if you don't know the schema but want to see what's available


Filtering
  • can set conditional statements in variable assignments of type XMLList (i.e.
  • @id==0 will get element(s) where id value is 0
  • price<5 will get elements where value of price is less than 5
  • price>=35 && price <=50 will get elements where value of price is between 35 and 50
  • desc="toaster" will get elements where value of desc is toaster (type string)


Iterating (fancy word for "looping")
  • "for" loops similar to other PL's but in var declaration, useful for totaling columns
  • "for..in" loops
  • Neither of these are recommended methods... so try one of these instead!
  • "for each..in" loops


Namespaces (how to group related objects) - extends Sprite
  • Create an envelope with soap namespace and then create a body element
  • Create a variable of type Namespace that points to the soap and add to the body
  • Use a default xml namespace and add to the body


Sending and Loading
  • No longer a part of the XML object
  • URLRequest
  • URLLoader

360flex - Flex Builder Secrets

presented by ">David Zuckerman

There were some audio difficulties during this preso, so hopefully I caught everything correctly!

Some of the items they are working on for the new version are "find all references", "refactoring" and "language intelligence".

Some tips and tricks that you might not know about Flex Builder:

Importing types
  • When using code insight, if you accept a suggestion the "import" statement will be added to the document.
  • This also works when you type through and complete a tag.
  • In addition, when adding event listeners and other functions tag insight will prompt all relevant actions.


Context and braces
  • bracket highlighting in code to help you find matching braces. Great for nested statements
  • Ctrl(Apple)-Shift-P will jump the cursor to the closing bracket!
  • When an opening brace is typed, a closing brace is automatically inserted on the following line.


Keyboard shortcuts
  • Ctrl(Apple)-Shift-T "open type" list of all types used and available in your current project.
  • Ctrl(Apple)-mouse click on any identifier will jump you to the file & location where it is declared.
  • Ctrl(Apple)-O search for declaration to jump to a location in your code


Tags are automatically closed when the ">" character is typed. Line breaks are created only if appropriate (i.e. mx:String is closed on the same line).

Script blocks are automatically populated with a closing tag and the appropriate CDATA information for AS.

Integrated help
  • Apple-? or Ctrl-1 opens help tag to the side with information relevant to the cursor location.
  • Additional clicks causes the help screen to update. Will show the selected object and any containers.
  • Shift-F2 will open full help window for selected object.
  • Hover over an object for additional information, data type hinting, return type of function, etc.


ASDoc
  • Ctrl-Shift-D (or Source, Add ASDoc)
  • Introspects and adds documentation (comment) block with parameter information


Ctrl-Shift-O removes any unneeded import statements from the current scope.

Versioning and check in
  • Checks in every time you save
  • right click on file and view local history to view file changes
  • can roll back files from local history
  • In Prefs, Workspace, Local history you can set parms for what info to keep


Hacking Flex Builder - do this at your own risk and be careful. Backups are good. The help desk will not help you if you break FB2 with this. Hacks might not work in future versions.

Code coloring
  • settings in an XML file
  • backup your jar
  • open in WinZip (no Mac process)
  • edit colors.xml
  • key values should be fairly self explanatory
  • some may exist but be no-op's (i.e. identifiers)
  • "Sort of" works in FB3/Moxie but the file location is changing


David's mom is in the FB2 credits because she baked them cookies and sent them from Michigan. :)

Graphical Property Inspector (GPI)
  • in design mode, there is a GUI property inspector
  • three main sections: common, style, and size
  • built from XML file so if you create a custom component you can create a GPI for it :)
  • Also works with built in controls, if there is something you use frequently. Cool!


What do you call a fish with no eyes? Fsh. (Crickets chirping...) Hahaa...

Any time a JAR file is changed you need to restart for changes to take effect.

Extending Flex Builder in Java - OK I am gonna try to hang in there for the Java stuff. ;) Looks like I am needing to learn me some Java goodness on top of Flash goodness. My brain is getting full.

FB2 is built on Eclipse so it is extendable. You can add actions to the FB editor. (I am pretty sure I messed up something in this process so please don't take my notes as gospel for this section!
  • create extension point
  • add needed FB IDs
  • change the Eclipse class to trigger


The precursor to FB2 was code named Monk. It was scrapped when the team decided to move to the Eclipse platform. The original was written in C++!

Code model projects allow you to find the parse tree for a given file and access language indices. Supports block level scoping which is at odds with AS3.

One of the FB directors used to be a fairly well know techno DJ in Detroit.

Good information and demos... will definitely need to make myself a cheat sheet with the keyboard shortcuts as these are things I regularly do "the long way". :)

360flex - Enterprise Apps

presented by Anatole Tartakovsky

When developing enterprise apps, particularly for outside customers, there are many considerations. Users may not know about "UI" or "Flex" or other buzz words but they DO know how they get their job done today. They will want to figure out ways to make things comfortable - by exporting to Excel or other familiar platforms. Your goal should be to design the enterprise app to empower users and keep it simple and maintainable so they do not try to circumvent the app. It should be customizable and extensible in real time

The demo code and information from this session are available on Adobe Developer Exchange.

DAOFlex - completely automates manual Java coding for CRUD tasks.

This is really for Java developers (which I am not)!

Monday, March 5

360flex - Yahoo! AS3 and Flex 2 Libraries - Part

presented by the Yahoo! Flash platform team

A bit of background about the Flash platform team. They are the "evangelists" for projects that should be coded on the Flash platform. They develop corporate implementation, code, library, and component standards. Some of the projects with API's available include: Weather, Answers, and Search. (Other API's will be covered tomorrow!)

Yahoo! Weather is a coordinated effort with the Weather Channel to supply detailed meteorological data, forecasts, and other info. Data is updated hourly. This library is the simplest.

Yahoo! Answers is a community driven resource, and is the largest Q&A site on the web. It was launched in Dec 2005 and already has >90% of the market share. This library is a bit more complicated, but still is pretty elegant.

Important: You will need to register for a free API key in order to access these services. I noticed that they don't have a listing for a Coldfusion developer center... but there is a sample app for the Search API that was written in Coldfusion so hopefully that is coming soon. ;)

The team demo'd some cool applications built using Flex: an Answers GUI, a Weather GUI with Answers "hints" based on current conditions. All of the apps were built in under a day, using the API's. Pretty neat stuff!

Yahoo! Search can find images, video, audio, song downloads, album info... tons of other stuff! This is the simplest API of all... just bind the data provider for your control to the results of the service! A simple example was demo'd where the user can enter a search string and present the results in a SWF. They added a couple of different states for different search types (i.e. display image thumbnails in an image search).

Tomorrow... more AS3 libraries, upcoming.org, maps & pipes!

360flex - Component Development in Flex

presented by Chafic Kazoun

A bit of a history lesson, a few years ago the expectations were very different. The bar is being set higher for good UI and business rules. Because of this we as developers need to carefully consider the architecture of Flex applications.

Break the application into smaller components. Allow yourself to focus on one component at a time. Since everything in Flex is a component, it allows reuse of code... AND a 3rd party market for components is now feasible. This is a strength over AJAX-based applications since they are javascript based.

What are application components? Higher level information. For example, a datagrid list of names (not editable). Decide what will be a component, then create the component, decide and implement the API. Don't overthink things - it doesn't have to be perfect. It's OK to go back and make changes during the dev cycle.

Layout the component as if it is a standalone application and save. Then import the file as a namespace [i.e. xmlns:pf2="com.subfolder.views.*] in your main application MXML file, and invoke the file. Congrats! You just wrote your first component.

Best practices... Remember that the component should be a "black box". That is, the application should never "reach inside" the component. This is especially important as you start to reuse components! Use the Inspectable meta tag to provide insight for enumerations. Use the Bindable meta tag to make the getter and setter accessible. Use dispatching and event listeners (add the event info to a meta data tag in the component).

Don't go too crazy and go to a lot of depth... try to keep things simple. For example... don't put styles into your component, do that at the application level.

What are custom components? You can create complex/advanced components, at a commercial level. Can be distributed or shared among other developers. Recommended to develop them in AS3, not Flex. An important difference is that for custom components you must author the validation steps. This step is not necessary for application components... and if your application component is that complicated you should consider writing it as a custom component!

Always check to see if there is already an instance of your component. This is especially important because someone could write a component to extend your component, and you wouldn't want them to fight one another.

From here we get into a lot of technical detail that I don't quite understand yet. ;) But I am pretty sure that as I use this stuff it will make sense. (At least, I hope so!) The lifecycle of a custom component is fairly complicated, and the steps of invalidation, commitment, measurement and validation have to be coded properly. In ActionScript. Again... I need to learn me some Flash goodness.

360flex - Flex Hearts Flash

presented by Grant Skinner, who finally found eBay after a half hour walk thru beautiful San Jose. ;)

Does Flex love Flash? From the POV of an ActionScript (not Flash) developer...

Embed... you can get rich contact into Flex apps via metadata, directives, or styles [i.e. @Embed(source='myfolder/myfile.png') in the MXML]. The 4 non-flash data types you can embed are images, audio, fonts & binary.
  • Images: supports formats jpg, png, gif, etc; no compression (native); complex formats not supported [i.e. SVG files with animations]; compiler is smart enough to recognize the same asset if embedded more than once

  • Audio: supports formats mp3, etc

  • Fonts: trueType, in short - don't do it. It's a really big pain in the tookus. But it's available "mileage may vary"; system, just like it sounds - reference by system name not the file name, more compatible with CSS and web standards; Resource hog if not controlled with Unicode ranges [i.e. in declarations include 'UnicodeRange=englishRange' - as long as the language range is set up in the flex-config.xml]; no support for bitmap fonts.

  • Binary: supports formats octet stream, swf, etc.; can decompress files; "shake & bake" swf's (a la Talladega Nights)


BUT... sometimes it's easier to just do all this in Flash. It does a much better job of prepping and managing assets (library). Note that symbols must be set to "Export for ActionScript". It centralizes embed statements instead of sprinkling them thru your code. Access is straightforward dot notation. Disadvantage is that it's easier to have dead assets... resource hog.

There is a "Create Flex Asset Library" tool to assist with this process. It autogenerates files and puts assets in the correct locations. Generated code is pretty clean, with little waste. Subsequent instances of running the tool, the form fields are pre-filled to the last settings so you don't have to remember the settings.

Flash 9 also has better integration with designer tools, so it's easier to bring in collateral from files created with Photoshop (for example). It can bring in vector data (or can flatten to bitmap). Text is text. Compression settings can be tweaked. It helps you import the designer elements pretty intelligently and looks like it will work well!

Fonts are still a little tricky. Flash gives bitmap fonts an auto-assigned name that you have to use (which will be similar to "Arial_12pt_st").

Here's where things get interesting...

Embedded symbols are stripped of all ActionScript.

So... how to get around this?
  • Shake N Bake: Embed the SWF as an octet stream, use loadBytes and getDefinition to access classes and symbols. No code hinting and no strong typing

At least... until Flash 9 comes out
  • Then use FlashCS3 SWCs. Code hinting is supported. However you cannot directly specify a location for a SWC. Bummer dude.


Since the Flex framework only "likes" Flex-y display objects, there are a couple of work arounds that "avoid" this issue. But since there isn't any intelligence... do it right the first time please. Better idea would be to write a class to extend the UIComponent to deal with the asset properly. (Ack... I am not even going to try to cover the details here!) In short, I need to learn me some Flash goodness.

Side note - Grant has been trying to build a rhythmic gymnastic "ribbon" game for the Wii in Flash, using gestures from the WiiMote. I heart geeks.

360flex - 5 minute CRUD with FDS

presented by Kevin Hoyt

FDS = Flex Data Services - a server side product from Adobe
CRUD = create - read - update - delete

Kevin's background is in Sales, but prides himself in knowing the Flex product. Background in C programming, Java, RPG, AS/400 and more... so please don't be afraid and run away.

We've made things look nice... but now we need to actually work with the data. We have to get the data from where it resides (db, XML, whatever), present it to users, and allow users to change the data simultaneously.

SOAP and REST are great... but scalability becomes an issue quickly. How do we write an application to keep everything in check, and make sure it's scalable?

That's what Adobe is trying to do with Flex Data Services (and LiveCycle). In fact, as this technology generalizes it is starting to be known as LiveCycle Data Services. There are adapters for CF, Java, and other backends. Data management and messaging "push" technologies are key.

Going into the code... will hopefully post linkage to demo later! :)

360flex - Monday keynote

Good morning from the 360flex Conference, at the eBay Town Hall in San Jose, CA!

Mark Anders @ Adobe is presenting the keynote this morning.

How many Flash developers? A few. Mark used to work at M$... glad to hear that he is now with Adobe! He is talking about trying to develop web biz apps in Flash. Ouch! Lots of respect for the Flash developers who were/are able to make that work.

Flex was designed for developing biz apps on Flex. It leverages the best of two worlds: HTML and Flash. Flex uses MXML markup language. It's XML based, describes the UI and ties to AS for heavy lifting.

Some code... heavy stuff on Monday morning.

Talking about components and composition. Some good components and apps in the community:
- Taking a peek at the fisheye component from the quietly scheming blog - Ely Greenfield.
- LightTable (which was demo'd at the last COWPU meeting) also being shown off
- Picnic.com is a cool Flex app for photo editing!
- Virtual Ubiquity (login required) - web based word processor. (The dev team for this project is sitting behind me) Image and text alignment. Zoom. Typography. Table editing with sizing handles and guides. List Handling. (Take that, AJAX!!)

Bottom line... Flex is Flash! Cool stuff!!

Talking about AS2 vs AS3, power and speed between the two versions. Using the Ring of Fire applet to demo. (Linkage?) AS2 looks like, well, random orange blobs. AS3 actually looks like a fiery blast on the screen (don't melt the LCD panel). It renders that much faster!!

Mike Downey - Senior Product Manager for Apollo. This is the new cross platform environment for RIA's. Some of the great features coming with Apollo include local file access, offline/online detection and events, drag and drop between the local system and RIA, clipboard access, background processing, multiple window support, custom chrome and more...

An example in development is the "gTimer" calendar for organizing tasks. Sounds simple - but there are some really powerful features for the presentation management and repurposing of code.

Combining AJAX with Flex, another team created "Maptacular". You can import vCards into the app, and drag a "pin" to a Google map. It automatically shows you the pin location from the vCard on the map. That's not all... if you drag a second pin to the map it shows the location and generates driving directions. Very cool!

The next version of Flex (version 3, code named "Moxie") is coming soon, and now we get to hear more! :) One of the main themes is the designer/developer workflow - Enhancing the tie ins with other Adobe products. Working with data and connecting Flex to backends should become even easier. The ability to generate Apollo apps will also be built-in. (Woot!) Debugging and productivity are also of high importance. Mark doesn't get to show us anything today... but we will get to see more later this week. We can expect Flex 3 "Moxie", Apollo 1.0, and Creative Suite 3 ("Philo") all to ship in the second half of 2007. (hmmm... MAX?)

Wednesday, January 10

COWPU

Some upcoming COWPU events...

Special Event

On January 18, 2007 at 6pm the Portland Adobe User Group will be hosting "Get to know Adobe Flex Builder 2.0" (presented by Simeon Bateman). If you haven't seen Flex yet this is a great new platform for developing RIA's. This presentation will be shared via webcast... so if you don't want to drive please join us to watch as a group here in Bend! For more information, please visit the COWPU website.

Meeting

Our next meeting will be held on January 24, 2007 at 6pm. For more information, please visit the COWPU website.

Thursday, December 21

Dumb

This just seems dumb (geek alert)...

I am working on a big project at work. We are building a RIA using Adobe Flex Builder. Both my co-worker and I are learning Flex as we go, with a little training here and a lot of googling there.

We were having problems with combo boxes populating correctly. The data was coming back fine, and it seemed like things should have been working OK. But on a form with 3 combo boxes, only one would have the "currently selected" item, as populated from a database.

After changing the format, re-ordering the fields, and double and triple checking just about everything... a-HA!

When you fetch information from a database, Flex uses something called a RemoteObject. This connects to the code with the db queries and tells it what to do after the data is returned. In this case we are using RemoteObjects to connect to Coldfusion Components (CFC's) that contain multiple, uniquely named functions. You can add more than one function in a CFC to each RemoteObject.

I noticed that the order in which I fetched the list of items for the combo box was important. The first call resulted in a combo box with the proper value selected. The others just had the default value. I noted that all three were getting their data from the same RemoteObject.

BUT... apparently the system is limited to one instance of the RemoteObject at a time. Since the three combo boxes were being returned from the same RemoteObject we were having a latency problem. I divided the work between three RemoteObjects (one for each combo box) - and it worked.

Note, I pointed the individual RemoteObjects to the SAME back-end Coldfusion Component. So that file can be opened by multiple RemoteObjects at once, I guess.

Why is this dumb? Because now instead of one RemoteObject code block that references a CFC file... I have to have three that are almost identical. Clutter, clutter, clutter!

Tuesday, December 12

List

As I continue to learn and work to improve my skills as a web developer I constantly come across sites and individuals that are helpful. I consult these resources frequently. This is a "list of lists" so to speak... partly a reference for myself but also for others that might be looking for similar information.

The list is a work in progress... I will update it from time to time, so let me know if you have any suggestions!

Web Development in General
fullasagoog: http://www.fullasagoog.com/
Fix My Site: http://fixmysite.blogspot.com/
CSS Zen Garden: http://www.csszengarden.com/

Coldfusion
Raymond Camden's blog: http://ray.camdenfamily.com/
Ben Forta's blog: http://www.forta.com/
Coldfusion Cookbook: http://www.coldfusioncookbook.com/

Flex
Ted on Flex: http://www.onflex.org/ted/
Flex Component Development: http://tech.groups.yahoo.com/group/flexcomponents/

PHP
PHP manual: http://us3.php.net/manual/en/index.php

Usergroups
Central Oregon Web Professionals' Usergroup (COWPU): http://www.cowpu.com
Portland ColdFusion Users Group (PDXCFUG): http://pdxcfug.org/home.cfm

Tuesday, October 31

Tease

I was elated last week when Adobe released a beta for the Mac version of Flex Builder 2 (FB2) on their "labs" site. As I mentioned in a previous post the team I work with has been "getting Flex-y" and this was one of the compelling reasons for our attendance at MAX last week. I have been using FB2 on my PC for a couple of months... but I really prefer my Mac for development.

So... as you can imagine as soon as I returned to work yesterday, the first thing I did was download and install the Eclipse plug-in on my Mac. It's not a small file either, and it took about an hour to pull down.

After I finished installing I noticed that the follow up "Do you want to install extensions for Coldfusion?" message that came up when I installed FB2 on my PC didn't appear. So I naively assumed that they were installed automatically.

I launched Eclipse and switched to the Flex workspace. Looks good so far. But then I noticed that the additional tabs and features for building Coldfusion apps was MISSING. Hmmm...

Next I guessed that this had something to do with being a plug-in instead of the full product, so I downloaded the full version. Again - not a small download. And installed it. And launched it. And... still no Coldfusion goodness.

So I turned to my good buddy, Google. I searched for information and found the following, which was buried on the Adobe website:

Will the ColdFusion Extensions for Flex Builder 2 also be available for Macintosh?
Yes, ColdFusion Extensions for Flex Builder 2 will be made available simultaneously with the Flex Builder 2 for Macintosh release. There is however one functional difference in the Macintosh product. The query-builder will not be available on Macintosh.
Which tells me one thing.

Adobe is a TEASE.

The official release of FB2 for Mac is scheduled for 2007. And in order to develop at a good pace... I really need the Coldfusion extensions. (I really don't need the query builder... it was just nice to have.) SO... I will be developing Flex applications on my PC for a few more months I guess.

Sad...

Tuesday, October 24

Widgets

Why upgrade to Flex 6? It has more widgets! :)

(Geek quote, MAX 2006 memory book)