Scotch on the Rocks, day 1 (live)

Submitted by Falken on Wed, 06/04/2008 - 11:11
Key note
Cf8 and beyond
Cf8 'doing very well' no more 8.releases
Cf open proc. Initive, open bugs, hurrah. More open to community, share control of new features etc. Built in frameworks, etc.
Claude englebert is emea cf adobe contact, one at last.
'cool' air/flex intergration, number 1 item is improved developer experince. Ide straw poll, eclipse massive win.
CF isnt just web apps anymore, your code hooks to Flex, AIR, PDF etc now.
Lcds bundeled with cf8, much easier then cf7 horror.
Live LCDS chat demo, with CF maintaining buddy list for all Flex clients, CF is consumer\Producer of LCDS channels same as a FIex client but there is no sync or conflict check- Data Managment does that. CFC assembler interface to DM. Wizard in cf eclipse extensions for that cfc. Once call ds.fill() sync is live and changes sync to all clients by magic ! There is hardly any code, and most can be written by wizard ! Can also 'ping' dataservices if a record is changed ie by html form. If conflict, as3 handler method. Lcds built into cf8, blasds doesnt have data
Thats lcds express, and is limited to one cpu, but otherwise unlimted.
Thats cool. And we can use at work to save having to poll for results of long running req.
How to take data ofline in AIR, and then later sync to cf ? What about a cfqury alike in air, that can work on/off line ?

Mark Drew, Better Config with ColdSpring
The (in)famous taxcalulator example.
Coldspring as configuration of dependancies.
Touches on AOP and

Peter bell, reqs and estimating
Intent driven design:
Educating users saves us and them time, money. Deliver agreed system, not solve their buisness prob.
Desgined for <5 developers spread over <3 months
Nothing is obvious to us, not in spec. Not in system.
Traceability, why are we adding X did we miss a buisness inent or is this a v2 feature.

Peter Martin, Intro to data management
LCDS.war is just a templace for building your Java backend on top off.
[Managed] meta data tag svaes firing propertychangeevents yourself, like [Bindable]
Use createItme() to get default (templat'ed) object
IN Flex listen for DataCOnflictEvent - acceptClient() or acceptServer() - is that easy - hard work is in the GUI, the right place. beware that can have multipe conflicts for same object though.
debugging in flex client good, has handy filter in LogTarget
even though can just commit(), you can do more granulat calls too.
seem to be lots of issues with getting lcds through firewalls, however auto fallback to something more friendly using channel sets, esp in LCDS 2.6 due later this year which does HTTP(AMF) streaming- in beta now on
lazy associations make the client more complex, so only use them if you have good reason
on server can use SQL assembler to do it without server side coding at all
most of the time, if not using CF8-bundeled assembler, you'll want the java one.
can use xml-declation config to call plain POJO when fill() etc. called
server side debugging options same as client, setup in services-config.xml
demo app for 2.6 will have have >10k data items, paged. handy for detail views !

Scott Stroz
ColdFusion 8 Exchange Intergration
(Writer of Flogr, Flex interface for CF log files)
In exchange, in iis (on exchsvr) enabled webdav and enabled outlook web access for all users (rather than an uber user with access to everything). if using https to access to exchange, must import client cert into jre store.
if using persistant connections, remember to close it when done, because the exception otherwise is a later 'cant connect'.
might be fun to play with cfexchangeconnection action=getSubfolders s this actual includes notes, sub folders, *calendar* etc
cant create mail - that's what cfmail does - but can create any other item
cfexchangmail will not download the files for attachments unless attachmentPath is given, in which case attachmentfilepath in result query is the path on the CF server, not exchange
this is nice, Scott has a live Exchange account on a remote service, and can show CF marking read/unread using their interface
mail/task/calendar/contact tag syntax is all very similar

Peter Elst
RIA meets Desktop, Introduction to AIR API's
nativeApplication has network status event (global) but need to go on and URLMonitor / SocketMonitor in order to actually see if a resouse (WSDL endpoint host) is accessable and that will call it's handlers when available/not available (polled)
in flex, easiest to subclass Window to make a custom window class, call open() on an instance of it to pop it up. These pages will share a scope, so opened window can hide buttons on it's parent by just using the id of the control
The 6 line web browser, including a 'beer simulator' applying Flex filters to the control (adds another ten lines, the horror !