Cool, thanks man. Yeah, concerning the callbacks (2), just intrested to know success or failure (no data), so the view could react if necessary (applicable when binding is overkill, of course).
-TH --- In [email protected], "JesterXL" <[EMAIL PROTECTED]> wrote: > > Tim, as long as you don't go off and use AJAX, we'll all love you no matter > what you do. > > 1. Nope. The common use case is remoting calls, webservices 2nd, > httpservices 3rd. Everyeone will get ResultEvents & FaultEvents. Those who > don't are using custom stuff, and thus know what they are getting into. > > 2. Steven, and others like my boss the architect, do not like the > possibility of View's getting raw server data. For example, an unfettered / > un-processed result that comes back from a Delegate call could make it's way > back to the View the originaly fired the Command. This makes it all too > easy for developers not experienced with Cairngorm to allow View's to start > screwing with data. They also have to "know" about ResultEvents and > FaultEvents. To me, it's worth it; we just use the convention "if we get a > result, it succeeded" and follow the original rules. > > Regarding state, yeah man, you stated my feelings exactly. > > 3. Cool. > > I'm working on training online material, professional for a change, that > will have a lot of the above. The rest I'll blog as usual when it's > presentable. > > ----- Original Message ----- > From: "Tim Hoff" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Wednesday, July 05, 2006 2:51 AM > Subject: [flexcoders] Re: Cairngorm Responder interface changes > > > Hi Jesse, > > Let me start by saying that I acquiesce; no more viewHelpers. All > code has been rolled into the view. For component oriented > development, it makes sense. > > Concerning your cogent points of view: > > 1) ResultEvent & FaultEvent events: Not sure how much of an impact > this makes in reality, But yes, do we need to support "undefined"? > It adds weight. > > 2) Command callbacks: When I first got into Cairngorm, I wondered > why there wasn't a round trip of communication back to the > view/gesture. There are plenty of local view actions that benefit > from knowing the result of a command; maybe "ViewResponder". Here, > I would hope that you would accept Steven's invitation to show your > enhanced code, so that it might benefit all of us by possibly being > rolled into Cairngorm. > > Functions vs. state variables: Yes, the scope of the function > dictates the need for state representation. I mean, if model == > state, should every toggled RadioButton or focused TextInput require > a state variable for control. At a point it becomes redundant, and > more efficient to address locally. > > 3) Added 2 methods to ServiceLocator: See #2 about sharing and > possible adoption. > > My comments to you are not personal, or even professional. I have > seen your work, website, and sat in on one of your online > presentations. I think that you are brilliant. Being from SoCal, I > know and appreciate your snowboarder mentality. :) I agree with > your points here. I would just hope that, instead of bagging, you > would contribute your proposed solutions, so that we all might enjoy > a cleaner architecture. > > ::looking for teddy bears:: > -TH > > --- In [email protected], "JesterXL" <jesterxl@> wrote: > > > > Sending again; sent at like 10:00am this morning, but still don't > see it. 10:03pm now. > > > > ------------------------- > > > > 1. ResultEvent & FaultEvent events. I disagree with this change, > so have changed them back instead of of using the * change for the > Responder interface. > > > > 2. Command callbacks. Sometimes, there is a legitimate need for a > View to "know" when a Command is completed. In my consulting, we've > added an optional callback method that can be passed via > EventBroadcaster (Cairngorm 1). So, View's launching Commands have > the option of using a Callback (like flash.net.Responder) to have a > result method called when the Command is done. We extended > Cairngorm's command to have all of this plumbing hidden. The > convention we have is, "If the View has his onResult run, he can > conclude that the Command succeeded in it's operation." If a fault > was fired in the Delegate, this means the app is broken and needs to > be fixed. There is no error handling, only error fixing. > > > > In my personal work, I've implemented both; result and faults, via > Event's. If an event extends my JXLEvent class (which extends > Cairngorm), it has the option of getting those callbacks. I should > probably do it like we do it at work, but for now, it works. I like > handling errors, so although fault and result are pretty low level, > I can have View's handle errors (or Commands obviously). > > > > Both avoid ViewLocator via a nice convention. It also makes it > cake to have a chained command with visual feedback. You can have > your View fire off other commands in a particular order AND show > visual feedback the whole time. Could you do this by binding? > Sure, but I'd rather use functions vs. state variables. > > > > 3. Added 2 methods to ServiceLocator. He doesn't support Producer > or Consumer (MessageAgent) services, so with a new method he does. > He also doesn't support NetConnection; with the new method, he > does. Since Cairngorm was made for a more request response, it > feels like both of the above are halfway implemented, but for > sending messages, Cairngorm works great, including Acknowledge > messages for Delegates that fire the original message. In both > cases, actual callbacks are handled by totally different classes > that basically act as Observers, and emit events. The more > specialized (for example, a channel in FDS created for Text > messages, and thus Chat only) is an extension of that > ConsumerObserver class, called ChatObsever, and he omits Chat > specific events for those who care. They, like Delegate's, utlize > ServiceLocator. > > > > I would, however, prefer you all either give me a better idea(s), > christen this idea as good for handling NetConnection / FDS' > consumer/producer model, and/or implement something that supports > these push based technologies into Cairngorm. > > > > With the exclusion of #1, both #2, and #3 can be done via > extneding the Cairngorm base classes so you're not affecting the > original framework, only extending it. I'd prefer #3 be made > official though, by you all somehow, some way. > > > > ----- Original Message ----- > > From: Steven Webster > > To: [email protected] > > Sent: Monday, July 03, 2006 6:03 PM > > Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes > > > > > > Jesse, > > > > I'd love for you to share the modifications you're making to > Cairngorm, and to understand the rationale behind these changes. > It's not our intention that developers would typically need to > change the framework locally, and doing so certainly makes it more > difficult for folks to follow us on any upgrade paths as time rolls > by. Different strokes for different folks though. > > > > But if you can share your motives for changes, and the changes > themselves, then we can consider rolling them into the framework if > they satisfy general concerns. > > > > Best, > > > > Steven > > > > Steven Webster > > Practice Director (Rich Internet Applications) > > Adobe Consulting > > Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, > EH12 9DQ, UK > > p: +44 (0) 131 338 6108 > > m: +44 (0) 7917 428 947 > > swebster@ > > > > > > > > > > > > > > > > ----------------------------------------------------------------- -- > ----------- > > From: [email protected] > [mailto:[EMAIL PROTECTED] On Behalf Of JesterXL > > Sent: 03 July 2006 20:13 > > To: [email protected] > > Subject: Re: [flexcoders] Re: Cairngorm Responder interface > changes > > > > > > Don't have Flex 2 open in front of me ( client hearts 1.5 ), but > you can I > > think do: > > > > public function onResult(event:* = null):void > > { > > ResultEvent(event).result > > // or... > > var yourEvent:ResultEvent = event as ResultEvent; > > } > > > > I can't remember if you can cast in the function signature as: > > > > public function onResult ( event:* as ResultEvent = null ) > > > > ...but, either way, you can also do what I do; keep your own > build of > > Cairngorm locally! I've yet to work on a project where the team > didn't > > modify their build of Cairngorm to suit their needs. > > > > ----- Original Message ----- > > From: "ben.clinkinbeard" <ben.clinkinbeard@> > > To: <[email protected]> > > Sent: Monday, July 03, 2006 3:00 PM > > Subject: [flexcoders] Re: Cairngorm Responder interface changes > > > > Ah ha. Actually, I had to change them to > > > > public function onResult(event:* = null):void > > public function onFault(event:* = null):void > > > > so that they matched the signature exactly. I guess my confusion > was > > in that I was viewing the :* as meaning the developer could > specify > > whatever type they wanted. I was seeing * as a kind of > superclass when > > that is in fact not the case. I have to agree with Jester; I > don't > > really see the point of this change. > > > > Thanks for your help, > > Ben > > > > --- In [email protected], "Clint Modien" <cmodien@> > wrote: > > > > > > you need to change these lines > > > > > > public function onResult(event:ResultEvent):void > > > public function onFault(event:FaultEvent):void > > > > > > to this... > > > > > > public function onResult(event:*):void > > > public function onFault(event:*)void > > > > > > On 7/3/06, ben.clinkinbeard <ben.clinkinbeard@> wrote: > > > > > > > > Can someone explain why it is telling me I've implemented the > > > > Responder methods with an incompatible signature? > > > > > > > > public function onResult(event:ResultEvent):void > > > > public function onFault(event:FaultEvent):void > > > > > > > > The signatures shown in the docs are > > > > > > > > public function onResult(event:* = null):void > > > > public function onFault(event:* = null):void > > > > > > > > What am I missing here? > > > > > > > > Thanks, > > > > Ben > > > > > > > > > > > > --- In [email protected] <flexcoders% > 40yahoogroups.com>, > > > > "der_kotty" <kotty.tm@> wrote: > > > > > > > > > > Hi, > > > > > > > > > > I was just wondering why the > com.adobe.cairngorm.business.Responder > > > > > interface has been changed since it has been released on > Adobe Labs. > > > > > In Cairngorm 2.0 alpha > (org.nevis.cairngorm.business.Responder) the > > > > > parameters of the onFault and onResult handlers were typed > events > > > > > (ResultEvent and FaultEvent). > > > > > > > > > > Why have the parameters been changed to '*'? Where is the > sense in > > > > > that? To my opinion this is not really best practice but > maybe > > > > > there's a really good reason for that? Does anyone know? > > > > > > > > > > Cheers > > > > > David > > > > > > > > > > > > > > > > > > > > > > > > -- > > Flexcoders Mailing List > > FAQ: > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > > Search Archives: http://www.mail-archive.com/flexcoders% > 40yahoogroups.com > > Yahoo! Groups Links > > > > > > > > > > -- > Flexcoders Mailing List > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > Search Archives: http://www.mail-archive.com/flexcoders% 40yahoogroups.com > Yahoo! Groups Links > ------------------------ Yahoo! Groups Sponsor --------------------~--> See what's inside the new Yahoo! Groups email. http://us.click.yahoo.com/2pRQfA/bOaOAA/yQLSAA/nhFolB/TM --------------------------------------------------------------------~-> -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

