Scotch on the Rocks, day 3 (live)

Submitted by Falken on Fri, 06/06/2008 - 10:29
Sean Corfield, Event driven programming in ColdFusion
richer ui interfaces require more interaction (and less structured flow) than simply responding to clicks
decouple where things happen from what happens with them
multiple handlers for an event, how to define this:
configuration - ModelGlue, Mach-II, JavaScript and Flex
flex is more implict than JavaScript or CF frameworks - combobox listens to events on the dataProvider by itself.
convention - event user.list maps to user CFC list() method
dynamically - do association at run time like AJAX result handlers, or addEventListener for custom events in flex that are dispatchEvent()'ed elsewhere
'edmund' adds this to ColdFusion for working async with Flex, but lots of cf framworks just add a proxy to allow Flex to trigger an event
event creation and dispatch a lot like Flexs's deliberatly to make FLex seem less alien
can be configured using modelglue XML if you want
has simple workflow engine that lets things loop, decide the next function etc. Not states of objects, but which functions are actully run for particular events
edmund's listeners are configured with beans in coldspring, including the workflow conditions etc
can change wiring of actions to decision points without writing code - only the config - can test much easier, reuse more decision points
puts biz logic into config, and then html or flex or ... can use it

Luca Mezzalira, Manage Flash Lite Data with Flex and air
flash lite, even 2.x is very limiting, both actionscript version, and things like xmlsocket only in latest versions
also, devices are obviously less powerful, and the player is embeded anyway so cant be upgraded
flashlite 1.1 is most wildly deployed, and thats ~Flash 5 !
but can still use to take 1st steps onto mobile, even though Lite is say lite is restricted, but iRiver, for instance, has whole operating system done in v1.1 !
fairly restricted, AIR 2.0 will run on mobile - get into the ecosystem now
also, adobe's open screen project aims to bring 'consistant ria expereince' to everywhere, without additional cost. huge wide backing. even microsoft is shipping lite player on their phones !
demo of using AIR app to manage news/map locations, write .xml of them to disk then upload to web site - picked up by Lite app on mobile (or mobille emulator) phone app can then be shown by slaes to clients etc.
releasing 'easyAIR' that provides helper methods for read/write XML file or CRUD xml nodes.

peter bell, rad oo CF development
what has systemsforge been upto, after mvc ?
'lightbase' - collection of tools - not a 'framework' you can download
aimed at <5 people, <3 months
less code to solve your buisness problems
*but* still maintainable
xml config at runtime as opposed to generation of code
or you can remove the angle brakets, and have a domain specific language thats a bit closer to natural language.
use common base classes to encapsulate common functions - getFooByBar => getBy('foo','bar')
coldspring-like DI, but can find a UserService.cfc by looking in project, then common lib, then the base class - this means no more empty files that just 'extend'.
iterating business object - over time a 'simple', fast, cfoutput query=... gets complicated, cfif's sneak in, biz logic for sales price, admin view of it, and you can't reuse it. So... cfloop ... the display('foo') ibo method knows weather to show it or not
smart views - its ok to call out to the fooService from the view for non-main quick, unchanging stuff
now we've broken mvc seperation. why not go a bit further ? custom data types - each can display() displayFormFIeld() process()
if xml / dynamic runtime performance becomes bad later, you can convert to code generator *from the same xml*. assuming cacheing etc is now help.

Borre Wessel, flex client architecture and best pactives
cairngorm adobe's defacto internal standard fro flex projects as it gives a common language - with internal and external developers
cairngorm doesn't enforce anything however, you can architecure your View however you like.
only truly global properties should go directly on ModelLocator, use child models for everything else - probably one model for each major view chunk. THen data bind to a private ref. to that model.
look at PresentationModel patten for models @
- these are not tied to cairngorm, and aare testable/mockable.
- viewMOdel.handleShow() eventually gets viewMOdel.dataList populated
unit tests - no point testing the MOdel as it's just data. easy to test formatters, validators etc. however
you *will* remember to load/stress test the services your RIA uses, otherwise even the best finsihed product may be useless

Nicolas Lierman, data visulisation with Flex and AIR
google analytics api, it's ace.
can easily apply one effect to all chart series buy putting it on the mx:Chart, not the Series - or have different fx for each series
all charts have background[] and foreground[] of IChartElement2 (for Flex <3 that's IChartElement)
in your own backgrounds, override draw() and do what you want - more control than CSS but more work
shouldn't be surprised but am that the FlexLIb scheduling compnet works great in AIR and you cna drag and drop a file to make a new entry, from .txt or use iCal parser 


John Farrar (not verified)

Sat, 08/02/2008 - 22:33

OK, that was mentioned here but has anyone in the ColdFusion community actually created an iCal solution yet?