Photo credits: Matt Steen

Adobe Hosting RIA Developer Camp, a Free Event!

Another great Adobe event, I'm sure! The camp will cover topics including Flex, AIR, AJAX and Flash. PayPal and Yahoo will also present. The event is in SF, CA on Nov 5, so sign up now!


http://www.eventsadobe.com/devcamp

Creating Your Own Custom STABLE Build of Eclipse

So someone mentioned to me the Yoxos tool to customize and build your own install of Eclipse. If you have troubles with your Eclipse install I highly recommend this tool. I had issues with my instal constantly, especially when trying to get the Voice Tools Platform running. After using the tool I now have a stable and completely functional build with all the plugins I need!

Also, while poking around the site I noticed another tool, Eclipse-Discovery. It seems to be a similar tool that allows you to customize your build but has a better interface and more features. Check it out!

Spry 1.5 Presentation

Tomorrow night I will be giving a Spry/ColdFusion presentation on Spry at the SacCFUG. The presentation starts at 6:30pm and will be based off of Ray Camden's earlier Spry presentation. I have updated the presentation to include new features and functionality from Spry 1.5.

If you are in the Sacramento area drop on by, you can find out all the infos from SacCFUG!

Finally Launched New Flex/ColdFusion/Spry site!

So for the last few months I have been working with the fine folks at the Roxie Cinema, a landmark independent theater in San Francisco,  and New College of California to build a new site for the Roxie Cinema. New College purchased Roxie Cinema last year to make it part of their Media and Film Studies program. They had seen The Crest Theater site, a landmark here in Sacramento, and liked the calendar. I had worked on the calendar at one point for The Crest, although the work is not entirely mine. The folks I used to work for referred them to me and I was excited to work with them on their vision for a new Roxie!

The site is completely built on the Adobe platform. The backend makes use of ColdFusion and Flex, the front-end utilized ColdFusion, Spry, Flash, Contribute for content management and was built with DreamWeaver. There's also a "quickie" tool I built as a movie browser in Flex: http://www.roxie.com/movieviewer/

The calendar is a hybrid of my Kalendar open source application which you can download at RIAForge.

There's still probably a few things we want to tweak here and there, and tons of functionality we want to add in the coming months, but we all feel it is leaps and bounds above what was previously in use. I'm rather proud of it!

Spry Observers

So I am working on a project and have implemented Spry for a specific portion of the site. The effect is really nice, loading events for each day of the week as you click the day name without a page refresh. Since there are images and text involved I thought it would be very cool to have a fade out/fade in effect as each day was selected.

The problem I experienced was trying to get the fade in and fade out effect to work properly. I was getting a flickering effect because the two events were happening within the same function with no notion of when the data was actually loaded. Then Ray Camden point out to me that Spry has observers. These observers can be set to watch either a data set or a region and can be fired on a specific event.

So the trick was to fire off my fade out effect and an observer call when I made the data call. Once the region had changed I fired the fade in effect and removed the observer. This worked very nicely!

Here's an example:

[script]   var myevents = new Spry.Data.XMLDataSet("http://#cgi.SERVER_NAME#/path/someCFC.cfc?method=getEvents", "/events/event",{ useCache: false });
      
   var eventsObserver = new Object;
   
   function updateevents(LinkDate){
         Spry.Effect.AppearFade('eventsregion', {duration: 100, from: 100, to: 0, toggle: false});
         myevents.setURL("http://#cgi.SERVER_NAME#/path/someCFC.cfc?method=getEvents&LinkDate="+LinkDate);
         myevents.loadData();
         Spry.Data.Region.addObserver('eventsregion', eventsObserver);
   }
   
   eventsObserver.onPostUpdate = function(notifier, data) {
      Spry.Effect.AppearFade('eventsregion', {duration: 100, from: 0, to: 100, toggle: false});
      Spry.Data.Region.removeObserver('eventsregion', eventsObserver);
   };
[/script]

<div id="eventsregion" spry:region="myevents" class="SpryHiddenRegion">
   <div spry:repeat="myevents">{myevents::eventtitle}</div>
</div>

Also, note that this example is probably not best practice. If an effect is taking place when another effect is called you may experience weirdness. Ray Camden suggested I look to set a flag if the effect is still running and wait to run the new effect until after the current effect has finished processing... maybe Ill post on that soon!

BlogCFC 5.8.001 © Ray Camden