[flexcoders] How Secure is RTMP?
That's my question - can anyone comment? Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] (609) 520-5637 (p) (484) 477-9900 (c)
RE: [flexcoders] How Secure is RTMP?
OK, I've done my own research - when all else fails read the directions, I always say. RTMP is not inherently secure and using rtmps requires a good bit of set up on the server side with keystores and the like. It would also seem that this would require a firewall to be opened at the stipulated port. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Battershall, Jeff Sent: Monday, March 03, 2008 2:34 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] How Secure is RTMP? That's my question - can anyone comment? Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] (609) 520-5637 (p) (484) 477-9900 (c) -- 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
RE: [flexcoders] LCDS Error??
It sounds like somehow those changes are being split into two different batches. Do you perhaps have auto-commit on or are you calling commit in the middle? There was a bug in 2.5.1 where this error was printed sometimes but I don't think I've seen a case where it caused any problems. If you have the server debug log for this case though I'd be glad to try and figure out why that change is not getting saved in this case. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Monday, March 03, 2008 1:18 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] LCDS Error?? Has anyone gotten this error in LCDS before? I can't seem to figure out what it means and what to do about it. [Flex] 03/03/2008 18:59:12.466 [ERROR] [Service.Data.General] Can't find create message for newly created item with message id: EB473A3B-AF5D-1E26-7831-7600782E18C5 I couldn't find anything in google as well. The error was being thrown when a user tried to commit a nested object for persistence. (Such as a new UserVO which contains a new ContactVO as a property) I this case the UserVO persisted correctly and the ContactVO persisted, but the ContactVO id did not save correctly in the users table and then the user.contact property was null. Any thoughts? - Kevin
RE: [flexcoders] Re: flexbuilder code formatter
I have found problems using the Aptana plugin on Flex Builder due to CSS editor turf wars. Aptana started throwing exceptions about the Flex style CSS declarations and I could not get it to stop - finally had to reinstall FB. If someone knows a workround for this, that would be great. Until then I'd have to recommend Aptana Studio standalone. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Beau Scott Sent: Friday, February 29, 2008 3:03 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: flexbuilder code formatter Does it play nice with FlexBuilder? Seems like I tried the AIR part of it last summer when it came out but didn't like the way it messed around with Flex Builders file associations. (I actually use Aptana for all my AJAX development) I'll give it a shot again, thanks J Beau From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of uriel_tru Sent: Friday, February 29, 2008 11:51 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: flexbuilder code formatter Hey Beau- ever thought about using Aptana- it has an adobe AIR plugin and that's basically ActionScript 3 and MXML files. You might want to give it a shot? Just my opinion. http://www.aptana.com/ -U.T. --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Beau Scott [EMAIL PROTECTED] wrote: Similar, not identical. If you find something that works, PLEASE let me know. I've resorted to trying to write an Eclipse AS3 formatter plug-in myself. Beau From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Dsd Sds Sent: Friday, February 29, 2008 9:46 AM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: Re: [flexcoders] flexbuilder code formatter Oh, I assumed it would work with AS3 since it's identical to Java syntax - Original Message From: Beau Scott [EMAIL PROTECTED] To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Sent: Friday, February 29, 2008 11:21:20 AM Subject: RE: [flexcoders] flexbuilder code formatter Have you tried Jalopy? Their site (and sales rep that I just emailed) says it doesn?t work with ActionScript. This was one feature of FB3 that I was REALLY hoping would make it. The only thing I?ve found that even remotely works well is PolyStyle, but it?s not a real IDE integration (you have to set it up as an external tool). HYPERLINK http://www.polystyle.com/integrations/eclipse.jsp; \nhttp://www.polystyl e.com/integratio ns/eclipse. jsp Beau From: [EMAIL PROTECTED] HYPERLINK http://ups.com; \nups.com [mailto:flexcoders@ yahoogroups.. com] On Behalf Of dsds99 Sent: Friday, February 29, 2008 9:04 AM To: [EMAIL PROTECTED] HYPERLINK http://ups.com; \nups.com Subject: [flexcoders] flexbuilder code formatter I'm still very new to the eclipse environment found jalopi..but it's not free No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.1/1303 - Release Date: 2/28/2008 12:14 PM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.1/1303 - Release Date: 2/28/2008 12:14 PM _ Never miss a thing. HYPERLINK http://us.rd.yahoo.com/evt=51438/*http:/www.yahoo.com/r/hsMake Yahoo your homepage. No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.2/1304 - Release Date: 2/29/2008 8:18 AM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.2/1304 - Release Date: 2/29/2008 8:18 AM
RE: [flexcoders] Flex 3 Upgrade
Paul, Dn't think you're right about the pro upgrade exactly. If you have Flex 2 and/or Flex 2 Charting the upgrade to Flex 3 Pro is the same - $299. Wish you were right about that. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Paul Andrews Sent: Wednesday, February 27, 2008 1:15 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Flex 3 Upgrade There are two different Flex Builder 3 options - standard or professional. You can upgrade to either. If you choose professional then having an existing charting licence will make the upgrade cheaper. As for making it preferable, it depends on what you will use Flex for (and your circumstances). Paul - Original Message - From: twcrone70 [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Wednesday, February 27, 2008 6:05 PM Subject: [flexcoders] Flex 3 Upgrade In order to be eligible for the Flex Builder 3 Upgrade do you only need a Flex Builder 2 license or do you need a Flex 2 Charting license also? Are there any other requirements that would make getting the full license preferable? Thanks, - Todd -- 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
[flexcoders] FB3 + Aptana Plug In = warring CSS editors
I added the Aptana plugin to my FB3 instance and started getting errors with Aptana not liking Flex Styles. Only solution was to remove the Apatana Plug In. Yes, I could install Apatana Studio, but it would be nice to get FB + Aptana working well together and to have Aptana to defer to FB on CSS. I just can't figure out how to do it. Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] (609) 520-5637 (p) (484) 477-9900 (c)
[flexcoders] Flex 3 is cool ... but I still need 2.0.1
Is it still possible to download Flex 2.0.1 from the Adobe website? I couldn't seem fo find it anywhere ... Thanks -- -- jake
[flexcoders] Re: Flex 3 is cool ... but I still need 2.0.1
Flex Builder ... Thanks, --Jake --- In flexcoders@yahoogroups.com, Peter DeHaan [EMAIL PROTECTED] wrote: Flex Builder or Flex SDK? You can get the SDK from http://labs.adobe.com/technologies/flex/sdk/flex2sdk.html From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Hindman Sent: Tuesday, February 26, 2008 12:29 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Flex 3 is cool ... but I still need 2.0.1 Is it still possible to download Flex 2.0.1 from the Adobe website? I couldn't seem fo find it anywhere ... Thanks -- -- jake
RE: [flexcoders] No Serial Numbers for Flex Builder 3?
I upgraded to Pro but no S/N. Wasted 20 minutes on the phone to discuver this. Also - was asked for my Adobe ID - anyone know where that can be found online? I sure couldn't and finally they verfied my identity via my home phone number. If Customer Service is going to ask for such things, it has to be somewhere where you can find it. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Claus Wahlers Sent: Monday, February 25, 2008 9:33 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] No Serial Numbers for Flex Builder 3? FWIW, i just purchased Flex Builder 3 Standard Upgrade and got my serial instantly. Cheers, Claus. Paul Whitelock wrote: I purchased the upgrade to Flex Builder 3 Professional and after the order went through instead of a serial number all that I got was a message that said Contact Customer Service. I just got off of a 15 minute phone call with Customer Service and was told that it will take 24 to 48 hours before serial numbers are available. Supposedly I will receive an email with the serial number, but after many bad experiences with Adobe Customer Service, let's just say I'll believe it when I see it ;-) Anyway, just wanted to get the word out in case you buy Flex Builder 3 and expect to receive a serial number for the product at the time you make the purchase. -- 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
RE: [flexcoders] No Serial Numbers for Flex Builder 3?
I just tried logging back in and no S/N. So whatever the fix was, does not appear to be global. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Ian M. Jones Sent: Monday, February 25, 2008 11:29 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] No Serial Numbers for Flex Builder 3? I had the same problem, ordered FlexBuilder 3 Professional upgrade this morning, in the email confirmation entitled Your Serial Numbers it said Contact Customer Service under Adobe Flex Builder 3 Professional (Mac/Win,English), and on my downloads page in my Adobe account it also said Contact Customer Service in place of a serial number. So I contacted our local (UK) customer service, spoke to a nice lady who checked out my order and said she'd get back in contact when she got the serial number. Although she was supposed to send it by email, she called and said that I should now have an email with the serial number. I didn't have it, but she said I should be able to see it in the downloads in my online account. I went online (keeping her on the phone until I could verify), and sure enough my serial number was there. I have my serial number, after a little wait, hopefully the bug in serial number delivery has been fixed by now. Ian On 25 Feb 2008, at 15:09, Battershall, Jeff wrote: I upgraded to Pro but no S/N. Wasted 20 minutes on the phone to discuver this. Also - was asked for my Adobe ID - anyone know where that can be found online? I sure couldn't and finally they verfied my identity via my home phone number. If Customer Service is going to ask for such things, it has to be somewhere where you can find it. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Claus Wahlers Sent: Monday, February 25, 2008 9:33 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] No Serial Numbers for Flex Builder 3? FWIW, i just purchased Flex Builder 3 Standard Upgrade and got my serial instantly. Cheers, Claus. Paul Whitelock wrote: I purchased the upgrade to Flex Builder 3 Professional and after the order went through instead of a serial number all that I got was a message that said Contact Customer Service. I just got off of a 15 minute phone call with Customer Service and was told that it will take 24 to 48 hours before serial numbers are available. Supposedly I will receive an email with the serial number, but after many bad experiences with Adobe Customer Service, let's just say I'll believe it when I see it ;-) Anyway, just wanted to get the word out in case you buy Flex Builder 3 and expect to receive a serial number for the product at the time you make the purchase. -- 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
RE: [flexcoders] New version of FB3 won't let my AIR app run
Just a thought - did you update your app descriptor to account for the 1.0 release? Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of justletmejoinalready Sent: Monday, February 25, 2008 3:37 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] New version of FB3 won't let my AIR app run Here's my steps: 1) I uninstalled the beta 2) installed the final release 3) Installed SVN 4) Imported my existing project from the repo. Click run app and nothing happens. No errors, but also no app. I click debug and get this error: -- Process terminated without establishing connection to debugger. Command: C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\bin\adl.exe C:\Program Files\Apache Group\Apache2\htdocs\FlexProjects\Faces\bin- debug\Faces-app.xml C:\Program Files\Apache Group\Apache2\htdocs\FlexProjects\Faces\bin- debug Output from command: invalid application descriptor: descriptor version does not match runtime version -- Anyone have any ideas? -- 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
RE: [flexcoders] New version of FB3 won't let my AIR app run
Just read your email completely - that would appear to be the issue - you need to change your app descriptor xml to match the current runtime. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of justletmejoinalready Sent: Monday, February 25, 2008 3:37 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] New version of FB3 won't let my AIR app run Here's my steps: 1) I uninstalled the beta 2) installed the final release 3) Installed SVN 4) Imported my existing project from the repo. Click run app and nothing happens. No errors, but also no app. I click debug and get this error: -- Process terminated without establishing connection to debugger. Command: C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\bin\adl.exe C:\Program Files\Apache Group\Apache2\htdocs\FlexProjects\Faces\bin- debug\Faces-app.xml C:\Program Files\Apache Group\Apache2\htdocs\FlexProjects\Faces\bin- debug Output from command: invalid application descriptor: descriptor version does not match runtime version -- Anyone have any ideas? -- 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
Re: [flexcoders] do you need CS Degree to get a job?
as one who is frequently in a position to hire kick-ass developers, i personally dont care if you have a CS degree or not. In our company most of our top people have either no degree, or a degree in something other than CS. This is not to say a CS degree isnt a worthwhile endeavor, but for me, as one who is frequently looking to hire developers, it is not something which enters into the equation for me at all. At 10:38 PM 2/19/2008, you wrote: Doug McCune wrote: The benefit of higher education is one question, but is largely unrelated to the question originally posed, which had to do with whether or not a CS degree would make the applicant more hireable. No question about it; having a degree will make you more hireable. The HR + Recruiters (AKA Gatekeepers) don't know anything about great code samples or how to evaluate the quality of your blog. For many of the jobs out there, you need to convince the gatekeepers to let you to speak to the People who can really evaluate your skills. And they need to use some form of cut-off to whittle down the number of applicants. A degree in a related field is one item. Certification is another. -- Jeffry Houser Flex, ColdFusion, AIR AIM: Reboog711 | Phone: 1-203-379-0773 -- Adobe Community Expert http://www.adobe.com/communities/experts/members/JeffryHouser.htmlhttp://www.adobe.com/communities/experts/members/JeffryHouser.html My Company: http://www.dot-com-it.comhttp://www.dot-com-it.com My Podcast: http://www.theflexshow.comhttp://www.theflexshow.com My Blog: http://www.jeffryhouser.comhttp://www.jeffryhouser.com Jeff Tapper Senior Technologist Digital Primates IT Consulting Group [EMAIL PROTECTED] http://www.digitalprimates.net
Re: [flexcoders] Tools to monitor flex network traffic for debugging SOAP calls and responses (kinda urgent)?
while not free, I've found service capture to be incredibly valuable. At 07:20 PM 2/17/2008, you wrote: Firebug plugin for firefox or wireshark. Both are free Sent via BlackBerry from T-Mobile -Original Message- From: Josh McDonald [EMAIL PROTECTED] Date: Mon, 18 Feb 2008 10:13:28 To:flexcoders@yahoogroups.com flexcoders@yahoogroups.com Subject: [flexcoders] Tools to monitor flex network traffic for debugging SOAP calls and responses (kinda urgent)? Hi Guys, Is there something good out there I can use to view the raw XML request/response data going to and from the server when making SOAP calls? A vcr proxy? An option in the debugger I don't know about? -Josh -- Therefore, send not to know For whom the bell tolls, It tolls for thee. :: Josh 'G-Funk' McDonald :: 0437 221 380 :: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] com -- 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 Jeff Tapper Senior Technologist Digital Primates IT Consulting Group [EMAIL PROTECTED] http://www.digitalprimates.net
RE: [flexcoders] Re: AIR and LCDS, Channel.Connect.Failed error
Eduard, I wouldn't depend on the compiler to determine your endpoints in an AIR application. I'm doubting that approach will work. When I init my app, I create channelSets and add channels to them, and each remote object's channelSet property are bound to one of these channelSets. Bottom line is I'm defining my channels/channelsets programmatically and setting the endpoints during this process. It works just fine. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of m88e24 Sent: Thursday, February 14, 2008 4:28 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: AIR and LCDS, Channel.Connect.Failed error Jeff, thanks for your reply. Unfortunately setting the endpoint on the RemoteObject does not make any difference and generates the same error with the same faulty URL. Seems like it is ignored completely. I tested by setting the wrong endpoint in my working Flex 3 application in order to check if the endpoint is indeed processed when a -service directive is given to the compiler. The answer is yes it does overrule the -service directive. So setting the endpoint does work in Flex 3 but not in AIR. Eduard --- In flexcoders@yahoogroups.com, Battershall, Jeff [EMAIL PROTECTED] wrote: AFAIK, an AIR application doesn't have a domain context the way a Flex app would. You need to specify the endpoint for your channels in an AIR application. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of m88e24 Sent: Wednesday, February 13, 2008 11:06 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] AIR and LCDS, Channel.Connect.Failed error The project I'm working on is using Flex 3 (latest beta) and LCDS 2.5.1 running under Tomcat 6.x. The service consists of a Java class and is correctly defined in the remoting-config.xml All things work as they should. Now I want to move the project to a AIR application. I know how to setup an AIR application and moving from a working Flex 3 application to an AIR application is no big deal. The project compiles without problems and the -services directive points to the services-config.xml, the same one from the working Flex 3 application. So one expect things to be alright but then things fall apart. As soon as the AIR application is launched and tries to connect to the destination, the following error occurs. [FaultEvent fault=[RPC Fault faultString=Send failed faultCode=Client.Error.MessageSend faultDetail=Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: 'http://oolWall_AIR.swf/coolwall/messagebroker/ amf'] messageId=8E8E8B57-66F0-D797-2B5E-137734E88D9C type=fault bubbles=false cancelable=true eventPhase=2] It is immediately obvious that the url is not correct. The host name and port is missing and even the first letter C is missing from .swf file name. It should have read http://localhost:8080/coolwall/ messagebroker/amf but apparently the AIR application is using the .swf file name minus the starting Capital character as the host name and port number. I use a program called ServiceCapture to capture the network chatter and it confirmed me that the host name and port number is indeed wrong. I mean it could also be a faulty debug trace statement but this proofs that the generated URL when using AIR and LCDS is wrong. In the Adobe Flex Builder Jira bug tracking system there is an issues which has been closed a couple of month ago and dismisses it as an error of either LCDS or AIR. The workaround is handcoding the exact URL in the remoting-config.xml file which is ofcourse not very sensible. I cannot judge which product is the one to blame as I lack the knowledge to do so. So does anyone (Adobe?) know which product (FB, AIR, LCDS?) is faulty and when it will be fixed. Thank you very much. -- 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
RE: [flexcoders] BlazeDS - Unknown destination error
Make sure that either you are pointing your compiler at the services-config.xml which defines those destinations or you need to define a channel set on the client and set the channelSet property on your service. You can see what destinations are getting compiled into your app via the static variable: flex.messaging.config.ServerConfig.xml. That should be a subset of the info from services-config.xml if you are compiling stuff in. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Geoffrey Sent: Thursday, February 14, 2008 11:28 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] BlazeDS - Unknown destination error I'm trying to get BlazeDS working with our existing Flex application. When the application starts and tried to subscribe to a publisher, I get the following error: [MessagingError message='Unknown destination 'userTopic'.'] at mx.messaging.config::ServerConfig$/getChannelSet() [C:\dev\enterprise_bali\frameworks\mx\messaging\config\ServerConfig.as:2 24] ... I have the topic defined in my messaging-config.xml file like this: destination id=userTopic/destination Not really sure what the deal is. I've converted our app to use the Flex 3 plugin for Eclipse, and that seems OK (not sure if I really needed to do this). The only thing I see is that the properties of the main flex project say Project is being compiled with Flex 3.0, but server has Flex 2.0.1 in the Flex Compiler section. Ummm, say what? Any help would be appreciated.
RE: [flexcoders] Re: BlazeDS - Unknown destination error
Sorry for the terse description - it's been a little busy here! For Point 1, the stuff you have there looks like the server itself is starting up fine. The issue is that when you compile your SWF, the tool you use to compile your SWF also should refer to the services-config.xml file. If you are using flex builder, there is a setting for that in your project properties. If you are requesting the MXML file directly from the browser (where the server compiles the mxml file to produce the SWF), this is in your flex-config.xml file. If you are compiling using ant or the command line compiler there is a -services option to the compiler. For Point 2, since you do not set the channelSet property on your Consumer component, you need to follow the step in point 1. There is another option where the client downloads the configuration for your destination from the server when it connects. But for that to work, you need to specify the URL to the server so it can connect in the first place. You do that with the channelSet property. For Point 3, you can see this by adding the MXML tag: mx:TraceTarget/ If you are using the debug player, you'll see some diagnostics in the flashlog.txt file. That gets buried in the user's home directory on windows under application data/macromedia/flash player/logs. Make sure you have the debug player though since the release player doesn't output trace information. You can also get to this property directly in actionscript with: import flex.messaging.config.ServerConfig; trace(ServerConfig.xml); Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Geoffrey Sent: Thursday, February 14, 2008 1:37 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: BlazeDS - Unknown destination error I hate to say it, but I don't know how to do any of that. -- Point 1 -- [point] your compiler at the services-config.xml which defines those destinations Here are a couple lines of debug output from the console. I think I'm pointing to the correct config files. [Flex] [Configuration] BlazeDS - Community Edition: 3.0.0.353 [Flex] [Configuration] Endpoint my-streaming-amf created with security: None [Flex] [Startup.Destination] Destination with id 'userTopic' is ready (startup time: '0' ms) [Flex] [Startup.Service] Service with id 'message-service' is ready (startup time: '0' ms) [Flex] [Startup.MessageBroker] MessageBroker with id '__default__' is ready (startup time: '407' ms) So to me, that part of the configuration is correct. -- Point 2 -- define a channel set on the client and set the channelSet property on your service This is my code in main.mxml to define my consumer: mx:Consumer id=userConsumer destination=userTopic message=onUsersFeed(event)/ And the corresponding code in AS to subscribe to the destination. public function onCreationComplete():void { // Subscribe to destination userConsumer.subscribe(); } Am I doing something wrong here? I basically took this from one of the BlazeDS samples. -- Point 3 -- You can see what destinations are getting compiled into your app via the static variable: flex.messaging.config.ServerConfig.xml I don't know how to access this variable. Is this a Java variable? Thanks for the help, and sorry for me being so dense. Geoff --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: Make sure that either you are pointing your compiler at the services-config.xml which defines those destinations or you need to define a channel set on the client and set the channelSet property on your service. You can see what destinations are getting compiled into your app via the static variable: flex.messaging.config.ServerConfig.xml. That should be a subset of the info from services-config.xml if you are compiling stuff in. Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Geoffrey Sent: Thursday, February 14, 2008 11:28 AM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] BlazeDS - Unknown destination error I'm trying to get BlazeDS working with our existing Flex application. When the application starts and tried to subscribe to a publisher, I get the following error: [MessagingError message='Unknown destination 'userTopic'.'] at mx.messaging.config::ServerConfig$/getChannelSet() [C:\dev\enterprise_bali\frameworks\mx\messaging\config\ServerConfig.as:2 24] ... I have the topic defined in my messaging-config.xml file like this: destination id=userTopic/destination Not really sure what the deal is. I've converted our app to use the Flex 3 plugin for Eclipse, and that seems OK (not sure if I really needed to do this). The only thing I see
RE: [flexcoders] Re: Flex Data Management and container's UserTransaction
Answers inline: Thanks Jeff. 1. This is all happening in remote Service (I dont have access to assembler's transaction there). Hence I am creating new DataServiceTransaction. Does refresh and update happen on a different thread? For assemblers, I use Hibernate Interceptor which works great. When you call dst.commit() the entire refresh of the fills happens inside of that call. All pushed messages are also put into the client queues synchronously as part of that call. 2. singleSession = true binds a session to a threadLocal, so the same session should be available to all as long as its happening on the same thread Interesting... so it seems like the problems you were seeing are still not explained? 3. If we have one-many relation(parent child) in assembler, which points to the same assembler. If a child changes outside of the scope of the assembler, do we need to send refresh on the child only or parent only or the recursively from top most parent to bottom most child. If the property values of the child items change, you only need to call updateItem on the child destination. If a child item is added or removed from an association that happens on the parent destination. When you use auto-sync, we keep track of the reference graph and so can route the changes to the appropriate clients just knowing the leaf change. We walk back up the reference graph to find all clients that are looking at that item. Jeff --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: Hi Shailesh, I'm not sure what the problems are... It sounds like you are using the DataServiceTransaction.begin() and commit() methods yourself (the other way this can be used is if you call the DataServiceTransaction.getCurrentDataServiceTransaction() call from inside of an assembler method such as createItem). When you call begin, if you specify useJTA=false I think that when you call commit() on the data service transaction that those calls should go out no matter what. By the time this calls is made though, we will assume that the changes you are telling us about have been applied to the data base and either have already been committed. It could be that you are calling commit() just before the transaction has been committed? The part that could go wrong there is the refresh fill process. If you call createItem() and then commit(), the commit will go through each managed fill and potentially re-execute those queries to pick up the newly added item. If this fill call re-queries the database so it does not see the change applied, it would not refresh it properly. It might be that in one mode you are using the HibernateAssembler picks up the same session and so sees those changes and in the other mode is picks up a different session? I'm not sure... if you still have questions and can generate a server debug log for the problematic case I'm happy to take a look. Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Shailesh Mangal Sent: Wednesday, February 13, 2008 2:57 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] Re: Flex Data Management and container's UserTransaction Turned out that Its not the transaction, its OpenSessionInViewFilter's flag for singleSession which caused my updates fail [For reasons not known]. So, in a nut shell, If you have, 1. singleSession = true, DataServiceTransaction wouldnt send out the updates 2. singleSession = false, DataServiceTransaction send out the updates just fine. (problem with this approach is bulk operations will exhaust resources as every request will fetch a new session object) Will appreciate comments if any one has witnessed the same behavior. -Shailesh --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com mailto:flexcoders%40yahoogroups.com , Shailesh Mangal shailesh.mangal@ wrote: In usecase-2, what should happen when method that begins dataServiceTransaction is already within a JTA transaction. In our codebase, We have some remote services which send refreshes to the client using DataServiceTransaction. All these refreshes were working fine until we wrapped my services into Spring TransactionProxy. Any clue is highly appreciated. We tried it with both useJTA=true and useJTA=false One other side query: If we have one-many relation(parent child) in assembler, which points to the same assembler. If a child change, do we need to send refresh on the child only or parent only or the recursively from top most parent to bottom most child. -Shailesh --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom jvroom@ wrote: There are two use cases
RE: [flexcoders] addEventListener question
What problem are you trying to solve? There's no reason at all that you cannot reference other variables, or call other functions inside of your callback. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of markgoldin_2000 Sent: Wednesday, February 13, 2008 11:17 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] addEventListener question I am addining listeners doing this: addEventListener(result, httpResult) Is there a way of providing additional to ResultEvent parameters to a function (httpResult) we are using as a callback function? Thank for help. -- 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
RE: [flexcoders] AIR and LCDS, Channel.Connect.Failed error
AFAIK, an AIR application doesn't have a domain context the way a Flex app would. You need to specify the endpoint for your channels in an AIR application. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of m88e24 Sent: Wednesday, February 13, 2008 11:06 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] AIR and LCDS, Channel.Connect.Failed error The project I'm working on is using Flex 3 (latest beta) and LCDS 2.5.1 running under Tomcat 6.x. The service consists of a Java class and is correctly defined in the remoting-config.xml All things work as they should. Now I want to move the project to a AIR application. I know how to setup an AIR application and moving from a working Flex 3 application to an AIR application is no big deal. The project compiles without problems and the -services directive points to the services-config.xml, the same one from the working Flex 3 application. So one expect things to be alright but then things fall apart. As soon as the AIR application is launched and tries to connect to the destination, the following error occurs. [FaultEvent fault=[RPC Fault faultString=Send failed faultCode=Client.Error.MessageSend faultDetail=Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: 'http://oolWall_AIR.swf/coolwall/messagebroker/ amf'] messageId=8E8E8B57-66F0-D797-2B5E-137734E88D9C type=fault bubbles=false cancelable=true eventPhase=2] It is immediately obvious that the url is not correct. The host name and port is missing and even the first letter C is missing from .swf file name. It should have read http://localhost:8080/coolwall/ messagebroker/amf but apparently the AIR application is using the .swf file name minus the starting Capital character as the host name and port number. I use a program called ServiceCapture to capture the network chatter and it confirmed me that the host name and port number is indeed wrong. I mean it could also be a faulty debug trace statement but this proofs that the generated URL when using AIR and LCDS is wrong. In the Adobe Flex Builder Jira bug tracking system there is an issues which has been closed a couple of month ago and dismisses it as an error of either LCDS or AIR. The workaround is handcoding the exact URL in the remoting-config.xml file which is ofcourse not very sensible. I cannot judge which product is the one to blame as I lack the knowledge to do so. So does anyone (Adobe?) know which product (FB, AIR, LCDS?) is faulty and when it will be fixed. Thank you very much. -- 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
RE: [flexcoders] Re: LCDS - Express, how to change database connection
Yeah, the approach used by the samples is designed so they are easier to run on any app server. Sounds like you know the right practice, but for others who might be reading this for production use, I recommend using a data source using a connection pool which requires app server specific configuration. That also keeps the connection info out of your code. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of greenfishinwater Sent: Wednesday, February 13, 2008 3:55 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: LCDS - Express, how to change database connection Thanks Jeff, I thought it would be easy. I think I will write my own product screen from scratch to see how it all works. My initial idea was to gradually modify the sample to get it working with Oracle, and make other changes. Seems like these samples are not a good 'standard practice' Thanks Andrew --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: Some of the samples hardcode the database connection info in a class called ConnectionHelper.java. Check in WEB-INF/src/... Look at the sample you are running, find the destination names. Find these in your config... you probably found connection info for the SQLAssembler destinations which are entirely coded without Java but if you are using a Java based sample you'll have to change the Java code itself. Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of greenfishinwater Sent: Tuesday, February 12, 2008 10:45 AM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] LCDS - Express, how to change database connection I have just installed LCDS Express version with included JRun, and I have been looking at the test drive samples. These samples use the associated hsqldb as the database. I want to write some test code that uses an Oracle database. Where do I change the database connection data. I found a database entry in data-management-config.xml in c:\lcds\jrun4\servers\default\samples\WEB-INF\flex I changed this to use Oracle, but the sample still uses hsqldb Where do I setup different database connections? Thanks Andrew
RE: [flexcoders] Re: Flex Data Management and container's UserTransaction
Hi Shailesh, I'm not sure what the problems are... It sounds like you are using the DataServiceTransaction.begin() and commit() methods yourself (the other way this can be used is if you call the DataServiceTransaction.getCurrentDataServiceTransaction() call from inside of an assembler method such as createItem). When you call begin, if you specify useJTA=false I think that when you call commit() on the data service transaction that those calls should go out no matter what. By the time this calls is made though, we will assume that the changes you are telling us about have been applied to the data base and either have already been committed. It could be that you are calling commit() just before the transaction has been committed?The part that could go wrong there is the refresh fill process. If you call createItem() and then commit(), the commit will go through each managed fill and potentially re-execute those queries to pick up the newly added item. If this fill call re-queries the database so it does not see the change applied, it would not refresh it properly. It might be that in one mode you are using the HibernateAssembler picks up the same session and so sees those changes and in the other mode is picks up a different session? I'm not sure... if you still have questions and can generate a server debug log for the problematic case I'm happy to take a look. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Shailesh Mangal Sent: Wednesday, February 13, 2008 2:57 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Flex Data Management and container's UserTransaction Turned out that Its not the transaction, its OpenSessionInViewFilter's flag for singleSession which caused my updates fail [For reasons not known]. So, in a nut shell, If you have, 1. singleSession = true, DataServiceTransaction wouldnt send out the updates 2. singleSession = false, DataServiceTransaction send out the updates just fine. (problem with this approach is bulk operations will exhaust resources as every request will fetch a new session object) Will appreciate comments if any one has witnessed the same behavior. -Shailesh --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Shailesh Mangal [EMAIL PROTECTED] wrote: In usecase-2, what should happen when method that begins dataServiceTransaction is already within a JTA transaction. In our codebase, We have some remote services which send refreshes to the client using DataServiceTransaction. All these refreshes were working fine until we wrapped my services into Spring TransactionProxy. Any clue is highly appreciated. We tried it with both useJTA=true and useJTA=false One other side query: If we have one-many relation(parent child) in assembler, which points to the same assembler. If a child change, do we need to send refresh on the child only or parent only or the recursively from top most parent to bottom most child. -Shailesh --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom jvroom@ wrote: There are two use cases where we DMS will use the UserTransaction. 1) When your assembler has use-transactions=true, and you commit a change or batch of changes, the DMS code will start a transaction before calling your createItem, updateItem, and deleteItem methods. If any of those get an error, the transaction is rolled back and all of the changes are put back into the uncommitted list on the client. If they all succeed the transaction is committed and the changes pushed to other interested clients. 2) If you use the DataServiceTransaction api to push changes from the server, when you call begin you can pass in a value of true which causes the DMS stuff to start a JTA transaction in that call. When you call commit, the JTA transaction is committed if the setRollbackOnly call was not made. This is just a convenience if you happen to have some JDBC code which is updating the database. You want to both commit those changes and push the changes to other clients or rollback those changes and cancel those changes. For 1), when you are also using Hibernate, the hibernate assembler will register a hibernate current session context class. The goal of this class is to ensure that we create one hibernate session for each JTA transaction we create for DMS and commit/roll them back in sync. Going forward I'd like to offer another way to do this so that we can more flexibly integrate with other ways of using hibernate sessions. Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of den.orlov Sent: Wednesday, December 12, 2007 2:10 AM To: flexcoders@yahoogroups.com mailto:flexcoders
RE: [flexcoders] LCDS - Express, how to change database connection
Some of the samples hardcode the database connection info in a class called ConnectionHelper.java. Check in WEB-INF/src/... Look at the sample you are running, find the destination names. Find these in your config... you probably found connection info for the SQLAssembler destinations which are entirely coded without Java but if you are using a Java based sample you'll have to change the Java code itself. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of greenfishinwater Sent: Tuesday, February 12, 2008 10:45 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] LCDS - Express, how to change database connection I have just installed LCDS Express version with included JRun, and I have been looking at the test drive samples. These samples use the associated hsqldb as the database. I want to write some test code that uses an Oracle database. Where do I change the database connection data. I found a database entry in data-management-config.xml in c:\lcds\jrun4\servers\default\samples\WEB-INF\flex I changed this to use Oracle, but the sample still uses hsqldb Where do I setup different database connections? Thanks Andrew
RE: [flexcoders] Does the LCDS HIbernate Assembler override fetch joins in HQL queries?
I don't think LC DS is doing anything funky to override how hibernate does the query. We just are accessing the cat.kittens property to pull out the identities of the kittens even with lazy=true. I don't know enough about hibernate to know how to get it to query kittens and cats in the same select statement. Of course in 2.6 (now in beta) we have the load-on-demand and page-size properties you can set on the association tag so we avoid fetching cat.kittens altogether until it is accessed on the client. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Monday, February 11, 2008 5:55 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Does the LCDS HIbernate Assembler override fetch joins in HQL queries? I am working with a bunch of named hql queries in Hibernate and it seems to me that no matter how I write the query the properties are still lazy loaded via my associations in the destinations files. For example if I create a query, select cat from Cat cat left join fetch cat.kittens kittens will still be lazy loaded if I have my association between cat kittens as lazy. The explicit fetch in the query is ignored. I would be interested to know if anyone else has come across this limitation? - Kevin
RE: [flexcoders] LCDS and triggers, auto inserts or updates of timestamp columns
One approach which works well for this type of thing is where you query the values after you've done the update or insert and just populate the changed properties in your instance. LC DS lets the assembler modify properties which are not defined on the client. The most common example is that you often set identity properties in your createItem method after they are assigned in the database. You also can do this for version properties which get updated on each change though and certainly a last modified timestamp would work this way. In your createItem method you do not need to do anything other than updating the property in the instance passed in as it picks up any changed properties. In the updateItem method, you do need to ensure the changed property is in the changes list passed to your assembler (or just add it if it is not). Since you are using the hibernate assembler, you'd probably need to sub-class the hibernate assembler and put this logic into the subclass after performing the create/update using the super class. The other way people use triggers is to modify rows or columns that store data for unrelated objects... for that you'd have to use the DataServiceTransaction api in Java to mirror what is being done in the database if you want clients to track those changes. Unfortunately that means that you have to mirror the trigger logic in Java. There's no easy way that I know of to have the trigger notify the Java code so this can be done automatically. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Monday, February 11, 2008 1:10 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] LCDS and triggers, auto inserts or updates of timestamp columns I am wondering how successful triggers are when used with LCDS DMS? Should I expect to run into a bunch of DataService conflicts with this or are they safe to use. I am not thinking about anything too crazy, even just basic timestamp updating would be nice to implement on the database rather than in Java or on the client. There are some basic triggers I would love to enable as well. Just looking for some quick opinions/advice before I enable these on my database. Thanks, Kevin
RE: [flexcoders] Re: Remote Object Security
As an additional level of security, you can set up your services-config.xml to create a destination that REQUIRES SSL (my-secure-amf or whatever) - this goes to an entirely different servlet-mapping than normal remoting requests that will fail requests not using SSL. Combined with your SSL cert, that's some pretty good due-diligence re: security of remote objects. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Battershall, Jeff Sent: Friday, February 08, 2008 10:06 AM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: Remote Object Security I'm using setRemoteCredentials() successfully in a couple of applications along with CFLOGIN in Application.cfc. Using Cairngorm ServiceLocator makes this easier as you can create a persistent instance of a remote object, set credentials on it after the user successfully logs in, and then continue to use it without fear of any session timeout. If for any reason the remote credentials are no longer available, they can be reset by the CFLOGIN code block in your Application.cfc. Seems to work great and is way, way better than using sessions on the server-side. Additionally you then have the ability to set up roles based security for your remote object (CFC) methods. I wouldn't say this approach is hacker-proof because that's an assertion that is 'made to be broken' but it does assume that the remote accessor at least has some valid credentials before prooeeding. Using good old SSL would be reccommended of course. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tom Chiverton Sent: Friday, February 08, 2008 9:46 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Remote Object Security On Friday 08 Feb 2008, slash_n_rose wrote: I'm just trying to use setRemoteCredentials(myUserName, myPassword); method in each remote object call and check usrename/password in my Application.cfc using cflogin. Is there any problem with this? Not as such, no, assuming it works. -- Tom Chiverton Helping to advantageously architect total infomediaries on: http://thefalken.livejournal.com This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at Halliwells LLP, 3 Hardman Square, Spinningfields, Manchester, M3 3EB. A list of members is available for inspection at the registered office. Any reference to a partner in relation to Halliwells LLP means a member of Halliwells LLP. Regulated by The Solicitors Regulation Authority. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 2500. For more information about Halliwells LLP visit www.halliwells.com. -- 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
RE: [flexcoders] Re: HTTPService or URLRequest Request header Question
Anyone know if this works if your browser needs to use a proxy server to connect to the internet? Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of scott.royston Sent: Friday, February 08, 2008 11:30 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: HTTPService or URLRequest Request header Question This is by far the best solution I have found to date: http://code.google.com/p/as3httpclientlib/ http://code.google.com/p/as3httpclientlib/ Built from the flash socket support, you have total freedom in using HTTP the right way without all the annoying restrictions and 'quirks' of HTTPService/URLRequest. It also gets rid of a bunch of browser specific quirks (SSL/HTTPS/caching) that come with URLRequest using the browser as the workhorse. I'm surprised the library hasn't gotten more mention on this message board. (Not affliated with it at all). It basically lets you do a well-behaved fully REST client, without having to rely on LCDS/Blaze server-side stuff. --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , gli1_2000 [EMAIL PROTECTED] wrote: Then what is a possible alternative to get around this? Anyone has suggestions? --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , João Fernandes joaopedromartinsfernandes@ wrote: this is true, you can't use authorization token in headers anymore within Flash Player. This is big step backwards in my opinion -- João Fernandes http://www.onflexwithcf.org http://www.onflexwithcf.org http://www.riapt.org http://www.riapt.org
RE: [flexcoders] Re: Remote Object Security
I'm using setRemoteCredentials() successfully in a couple of applications along with CFLOGIN in Application.cfc. Using Cairngorm ServiceLocator makes this easier as you can create a persistent instance of a remote object, set credentials on it after the user successfully logs in, and then continue to use it without fear of any session timeout. If for any reason the remote credentials are no longer available, they can be reset by the CFLOGIN code block in your Application.cfc. Seems to work great and is way, way better than using sessions on the server-side. Additionally you then have the ability to set up roles based security for your remote object (CFC) methods. I wouldn't say this approach is hacker-proof because that's an assertion that is 'made to be broken' but it does assume that the remote accessor at least has some valid credentials before prooeeding. Using good old SSL would be reccommended of course. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tom Chiverton Sent: Friday, February 08, 2008 9:46 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Remote Object Security On Friday 08 Feb 2008, slash_n_rose wrote: I'm just trying to use setRemoteCredentials(myUserName, myPassword); method in each remote object call and check usrename/password in my Application.cfc using cflogin. Is there any problem with this? Not as such, no, assuming it works. -- Tom Chiverton Helping to advantageously architect total infomediaries on: http://thefalken.livejournal.com This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at Halliwells LLP, 3 Hardman Square, Spinningfields, Manchester, M3 3EB. A list of members is available for inspection at the registered office. Any reference to a partner in relation to Halliwells LLP means a member of Halliwells LLP. Regulated by The Solicitors Regulation Authority. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 2500. For more information about Halliwells LLP visit www.halliwells.com. -- 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
RE: [flexcoders] Re: PopUpButton issue
Scott, There seems to be a variety of cirumstances where the behavior can be seen. Here's a bug entry for the item already: http://bugs.adobe.com/jira/browse/SDK-14470 I was able to make it happen by have a PopUpButton instance inside a Panel inside a Module. This defintely must be resolved before Flex 3 is released. Can't have something as generic as a PopUpButton failing and requiring a workaround. Yes it is true that there were other issues with the PopUpButotn component, however right now this component is effectively broken and I would hope it doesn't assume the category of a 'known issue' when Flex 3 is formally released. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Scott Melby Sent: Wednesday, February 06, 2008 8:39 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: PopUpButton issue I have now :) http://bugs.adobe.com/jira/browse/SDK-14562 Scott Scott Melby Founder, Fast Lane Software LLC http://www.fastlanesw.com dazweeja wrote: I agree - nulling the _popUp property seems like a hack. There doesn't seem to be a logical link between removing a PopUpButton from the stage and nulling its _popUp property. Why would a developer expect to have to re-set the _popUp property of a previously functioning PopUpButton every time its added back to the stage? If there's code elsewhere that requires this hack then it sounds like that code that should be fixed. Covering it up only leads to more problems later on. Scott, have you filed a bug for this? --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , vdeprojects [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: I'm having exactly the same problem - it's as if the PopupButton is suffering from Alzheimer. Scotts solution works great and I also think that not resetting the _popUp variable to null would be much better. If you don't think so it would be nice if you could make the method protected so we can fix it ourselves :) Regarding memory leaks: wouldn't it be better if these event handlers (removed_from_stage, added_to_stage, ...) were using weak references??? --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Deepa Subramaniam dsubrama@ wrote: There were intricacies with the PopUpManager logic which, I think, led to this solution. The framework changelist (available on labs) would have more details. From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Scott Melby Sent: Wednesday, January 16, 2008 12:47 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: Re: [flexcoders] PopUpButton issue Deepa - Thanks! It seems you could avoid the memory leak without nulling _popUp couldn't you? i.e. just call PopUpManager.removePopUp(_popUp) without the following line that nulls the reference. Is that not right? Scott Scott Melby Founder, Fast Lane Software LLC http://www.fastlanesw.com http://www.fastlanesw.com Deepa Subramaniam wrote: This chunk of code was added on purpose, to avoid problematic memory leaks with popup components. In Jira you can see it was fixed to address SDK bug 13104. We were not correctly unregistering popup children when necessary. Your workaround is correct, so feel safe using it :) https://bugs.adobe.com/jira/browse/SDK-13104 https://bugs.adobe.com/jira/browse/SDK-13104 https://bugs.adobe.com/jira/browse/SDK-13104 https://bugs.adobe.com/jira/browse/SDK-13104
RE: [flexcoders] Re: PopUpButton issue
Scott, Gotcha. Don't know how it could be considered to be closed when the only thing we've got is a hack to work around it. But be that as it may, I would think/hope that this is getting the attention it deserves.. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Scott Melby Sent: Wednesday, February 06, 2008 11:24 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: PopUpButton issue Jeff - I saw the bug you referenced in JIRA when i searched, but I decided to add my bug report anyway because that existing one was marked as closed. Scott Scott Melby Founder, Fast Lane Software LLC http://www.fastlanesw.com Battershall, Jeff wrote: Scott, There seems to be a variety of cirumstances where the behavior can be seen. Here's a bug entry for the item already: http://bugs.adobe.com/jira/browse/SDK-14470 http://bugs.adobe.com/jira/browse/SDK-14470 I was able to make it happen by have a PopUpButton instance inside a Panel inside a Module. This defintely must be resolved before Flex 3 is released. Can't have something as generic as a PopUpButton failing and requiring a workaround. Yes it is true that there were other issues with the PopUpButotn component, however right now this component is effectively broken and I would hope it doesn't assume the category of a 'known issue' when Flex 3 is formally released. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Scott Melby Sent: Wednesday, February 06, 2008 8:39 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: PopUpButton issue I have now :) http://bugs.adobe.com/jira/browse/SDK-14562 http://bugs.adobe.com/jira/browse/SDK-14562 Scott Scott Melby Founder, Fast Lane Software LLC http://www.fastlanesw.com http://www.fastlanesw.com dazweeja wrote: I agree - nulling the _popUp property seems like a hack. There doesn't seem to be a logical link between removing a PopUpButton from the stage and nulling its _popUp property. Why would a developer expect to have to re-set the _popUp property of a previously functioning PopUpButton every time its added back to the stage? If there's code elsewhere that requires this hack then it sounds like that code that should be fixed. Covering it up only leads to more problems later on. Scott, have you filed a bug for this? --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , vdeprojects [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: I'm having exactly the same problem - it's as if the PopupButton is suffering from Alzheimer. Scotts solution works great and I also think that not resetting the _popUp variable to null would be much better. If you don't think so it would be nice if you could make the method protected so we can fix it ourselves :) Regarding memory leaks: wouldn't it be better if these event handlers (removed_from_stage, added_to_stage, ...) were using weak references??? --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Deepa Subramaniam dsubrama@ wrote: There were intricacies with the PopUpManager logic which, I think, led to this solution. The framework changelist (available on labs) would have more details
RE: [flexcoders] Re: Setting combobox selectedindex
The way I accomlished this was by sub-classing ComboBox, to take a value as a parameter and set the selectedIndex accordingly. Ben Forta has an example of this somewhere on his website. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of gur_sukh Sent: Wednesday, February 06, 2008 1:02 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Setting combobox selectedindex No this is not the scenario i want to have initially a value selected when the combobox is shown. --- In flexcoders@yahoogroups.com, Scott Melby [EMAIL PROTECTED] wrote: It seems you are asking how to change your code so that your combo box selectedIndex property gets updated each time your model changes. For demo purposes you could just do something like the following: /** * Returns the index of the */ private function getSelectedProductSubTypeIndex(selectedProduct:Product):int { //TODO: in real system search the selectedProduct for the correct sub type and return correct index //the thing to search for could be passed as a param as well return 1; } mx:ComboBox id=productSubTypeCB width=160 dataProvider={selectedProduct.typeNames} selectedIndex={this.getSelectedProductSubTypeIndex(selectedProduct)} change=productOffer.productSubType = event.currentTarget.value / Assuming your productType member is Bindable this method will get triggered (due to it having a parameter that is bindable) every time an assignment is made to productType (like your model changes), since it always returns 1 your selected index will be set for you. hth Scott Scott Melby Founder, Fast Lane Software LLC http://www.fastlanesw.com gur_sukh wrote: The combobox dataprovider sets selectedindex to 0. How do we set it to something else. AS the dataprovider is bound to model and every time it changes the selected index is 0. For demo purposed i need to set this to 1. mx:ComboBox id=productSubTypeCB width=160 dataProvider={selectedProduct.typeNames} selectedItem=1 change=productOffer.productSubType = event.currentTarget.value / -- 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
RE: [flexcoders] Re: Setting combobox selectedindex
You have to override the set dataProvider function and others - have you actually looked at Ben's code? When the dataProvider is updated, the 'set value' does not. A comparison between the dataProvider value can be done and set selectedIndex accordingly. Believe me, it works - I'm using it in production apps now. I have to say, it would be nice to have this feature part of the core Flex ComboBox implmentation, so that selectedItem can be set as well as gotten. The problem is, of course, that you don't know what sort of data type is in the data provider and so comparison is more difficult. I dealt with that by requiring my data types in the dataProvider conform with a custom interface, and thereby make comparison easy. I suppose might be other ways to accomplish the same thing. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of gur_sukh Sent: Wednesday, February 06, 2008 1:33 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Setting combobox selectedindex yes tried that too, but when dataprovider is set the selectedIndex gets reset to 0 and hence the value. --- In flexcoders@yahoogroups.com, Battershall, Jeff [EMAIL PROTECTED] wrote: The way I accomlished this was by sub-classing ComboBox, to take a value as a parameter and set the selectedIndex accordingly. Ben Forta has an example of this somewhere on his website. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of gur_sukh Sent: Wednesday, February 06, 2008 1:02 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Setting combobox selectedindex No this is not the scenario i want to have initially a value selected when the combobox is shown. --- In flexcoders@yahoogroups.com, Scott Melby smelby@ wrote: It seems you are asking how to change your code so that your combo box selectedIndex property gets updated each time your model changes. For demo purposes you could just do something like the following: /** * Returns the index of the */ private function getSelectedProductSubTypeIndex(selectedProduct:Product):int { //TODO: in real system search the selectedProduct for the correct sub type and return correct index //the thing to search for could be passed as a param as well return 1; } mx:ComboBox id=productSubTypeCB width=160 dataProvider={selectedProduct.typeNames} selectedIndex={this.getSelectedProductSubTypeIndex(selectedProduct) } change=productOffer.productSubType = event.currentTarget.value / Assuming your productType member is Bindable this method will get triggered (due to it having a parameter that is bindable) every time an assignment is made to productType (like your model changes), since it always returns 1 your selected index will be set for you. hth Scott Scott Melby Founder, Fast Lane Software LLC http://www.fastlanesw.com gur_sukh wrote: The combobox dataprovider sets selectedindex to 0. How do we set it to something else. AS the dataprovider is bound to model and every time it changes the selected index is 0. For demo purposed i need to set this to 1. mx:ComboBox id=productSubTypeCB width=160 dataProvider={selectedProduct.typeNames} selectedItem=1 change=productOffer.productSubType = event.currentTarget.value / -- 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
RE: [flexcoders] Re: PopUpButton issue
Joann, I understand the constraints of time, release dates and such. It is a real pain, though, that a component that is pretty darn useful needs a hack-y workaround just to continue to use it - and that means code refactoring in a number of places, because I've gone to it alot. :( Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Joan Lafferty Sent: Wednesday, February 06, 2008 5:05 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: PopUpButton issue The original bug is Deferred and Closed. This doesn't mean it won't be fixed, however. It is deferred for this release of Flex 3 (which is coming to an end), but, it can be reopened for our next release. So, you didn't need to file a new bug. However, you should vote on the original one that is deferred. Since this bug is a regression from from Flex 2.0.1, we will probably fix this in the future. We just didn't get the time during this release :( Thanks for you feedback, Joan Lafferty Flex SDK QA To: Battershall, Jeff Sent: Wednesday, February 06, 2008 8:29 AM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: PopUpButton issue Scott, Gotcha. Don't know how it could be considered to be closed when the only thing we've got is a hack to work around it. But be that as it may, I would think/hope that this is getting the attention it deserves.. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Scott Melby Sent: Wednesday, February 06, 2008 11:24 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: PopUpButton issue Jeff - I saw the bug you referenced in JIRA when i searched, but I decided to add my bug report anyway because that existing one was marked as closed. Scott Scott Melby Founder, Fast Lane Software LLC http://www.fastlanesw.com http://www.fastlanesw.com Battershall, Jeff wrote: Scott, There seems to be a variety of cirumstances where the behavior can be seen. Here's a bug entry for the item already: http://bugs.adobe.com/jira/browse/SDK-14470 http://bugs.adobe.com/jira/browse/SDK-14470 I was able to make it happen by have a PopUpButton instance inside a Panel inside a Module. This defintely must be resolved before Flex 3 is released. Can't have something as generic as a PopUpButton failing and requiring a workaround. Yes it is true that there were other issues with the PopUpButotn component, however right now this component is effectively broken and I would hope it doesn't assume the category of a 'known issue' when Flex 3 is formally released. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Scott Melby Sent: Wednesday, February 06, 2008 8:39 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: PopUpButton issue I have now :) http://bugs.adobe.com/jira/browse/SDK-14562 http://bugs.adobe.com/jira/browse/SDK-14562 Scott Scott Melby Founder, Fast Lane Software LLC http://www.fastlanesw.com http://www.fastlanesw.com dazweeja wrote: I agree - nulling the _popUp property seems like a hack. There doesn't seem to be a logical link between removing a PopUpButton from the stage and nulling its _popUp property. Why would a developer expect to have to re-set the _popUp property of a previously functioning PopUpButton every time its added back to the stage? If there's code elsewhere that requires this hack then it sounds like that code that should be fixed. Covering it up only leads to more problems later
RE: [flexcoders] PopUpButton not working in AIR Beta 3
I've been able to replicate this problem by loading a module that contains a Panel which has a PopUpButton inside it. If anyone is aware of this issue and has a workaround, please let me know. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Battershall, Jeff Sent: Sunday, February 03, 2008 12:40 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] PopUpButton not working in AIR Beta 3 I was able to get it to work if I took it out of a Panel container in the module in question. Totally fubar. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Battershall, Jeff Sent: Sunday, February 03, 2008 10:28 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] PopUpButton not working in AIR Beta 3 I'm still trying to identify the exact steps to re-create but suffice to say, in my AIR application (which uses modules), the PopUpButton component refuses to work. I'm doing things declaritively, with MXML like this: mx:PopUpButton x=500 y=10 label=Add Company width=220 openAlways=true mx:popUp mx:Canvas width=220 height=35 visible=true backgroundColor=0xFF backgroundAlpha=1 horizontalScrollPolicy=off verticalScrollPolicy=off mx:TextInput textAlign=left x=5 y=5 width=150 id=companyInput/ mx:Button x=160 y=5 label=Add styleName=appButton/ /mx:Canvas /mx:popUp /mx:PopUpButton This is pretty vanilla code - of the type I have not seen issues with elsewhere. So far its a complete mystery why this doesn't work - it works fine in a test AIR app not using modules. Any input appreciated. Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] (609) 520-5637 (p) (484) 477-9900 (c) -- 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
RE: [flexcoders] How to get the reference of each element in a TileList ?
Yes, if the data passed to the renderer is bindable, you can create a custom renderer that will intelligently respond to changes. I've been having good luck with TileList and custom ItemRenderers. -Original Message- From: Alex Harui [mailto:[EMAIL PROTECTED] Sent: Monday, February 04, 2008 12:35 AM To: flexcoders@yahoogroups.com Cc: Battershall, Jeff Subject: RE: [flexcoders] How to get the reference of each element in a TileList ? Try indexToItemRenderer(). Keep in mind that if you are scrolling, not all renderers exist. It is usually better to work from with in the renderer than from outside the list. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of bhaskar M Sent: Sunday, February 03, 2008 11:14 AM To: flexcoders@yahoogroups.com Cc: [EMAIL PROTECTED] Subject: RE: [flexcoders] How to get the reference of each element in a TileList ? Thanks for the reply. I tried using getChildAt method. But I had errors coming up when I typecasted the returning element of getChildAt method into the ItemRendered class which is in my case ServiceSelectorItem. I actually want to get the reference of each of the items of TileList so that I can do some manipulations on them. Could you give me some sample code if you do not mind. Bhaskar. Battershall, Jeff [EMAIL PROTECTED] wrote: How about myTileList.getChildAt(index)? TileList shouldn't offer more performanc! e, as such, over Repeater, as the TileList itself uses a repeater to layout it's children. But it does offer layout capabilities that you'd have to roll on your own with a repeater and that could get messy. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of bhaskar M Sent: Sunday, February 03, 2008 10:06 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] How to get the reference of each element in a TileList ? Hi I am replacing Repeater with TileList in my Application as performance concerns.. I got struck in getting the reference of each element in TileList. How to get the reference of each element in a TileList ? Thanks in Advance. Bhaskar Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://us.rd.yahoo.com/evt=51734/*http:/tools.search.yahoo.com/newsearc h/category.php?category=shopping Never miss a thing. Make Yahoo your homepage. http://us.rd.yahoo.com/evt=51438/*http:/www.yahoo.com/r/hs
[flexcoders] PopUpButton not working in AIR Beta 3
I'm still trying to identify the exact steps to re-create but suffice to say, in my AIR application (which uses modules), the PopUpButton component refuses to work. I'm doing things declaritively, with MXML like this: mx:PopUpButton x=500 y=10 label=Add Company width=220 openAlways=true mx:popUp mx:Canvas width=220 height=35 visible=true backgroundColor=0xFF backgroundAlpha=1 horizontalScrollPolicy=off verticalScrollPolicy=off mx:TextInput textAlign=left x=5 y=5 width=150 id=companyInput/ mx:Button x=160 y=5 label=Add styleName=appButton/ /mx:Canvas /mx:popUp /mx:PopUpButton This is pretty vanilla code - of the type I have not seen issues with elsewhere. So far its a complete mystery why this doesn't work - it works fine in a test AIR app not using modules. Any input appreciated. Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] (609) 520-5637 (p) (484) 477-9900 (c)
RE: [flexcoders] PopUpButton not working in AIR Beta 3
I was able to get it to work if I took it out of a Panel container in the module in question. Totally fubar. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Battershall, Jeff Sent: Sunday, February 03, 2008 10:28 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] PopUpButton not working in AIR Beta 3 I'm still trying to identify the exact steps to re-create but suffice to say, in my AIR application (which uses modules), the PopUpButton component refuses to work. I'm doing things declaritively, with MXML like this: mx:PopUpButton x=500 y=10 label=Add Company width=220 openAlways=true mx:popUp mx:Canvas width=220 height=35 visible=true backgroundColor=0xFF backgroundAlpha=1 horizontalScrollPolicy=off verticalScrollPolicy=off mx:TextInput textAlign=left x=5 y=5 width=150 id=companyInput/ mx:Button x=160 y=5 label=Add styleName=appButton/ /mx:Canvas /mx:popUp /mx:PopUpButton This is pretty vanilla code - of the type I have not seen issues with elsewhere. So far its a complete mystery why this doesn't work - it works fine in a test AIR app not using modules. Any input appreciated. Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] (609) 520-5637 (p) (484) 477-9900 (c) -- 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
RE: [flexcoders] How to get the reference of each element in a TileList ?
How about myTileList.getChildAt(index)? TileList shouldn't offer more performance, as such, over Repeater, as the TileList itself uses a repeater to layout it's children. But it does offer layout capabilities that you'd have to roll on your own with a repeater and that could get messy. -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of bhaskar M Sent: Sunday, February 03, 2008 10:06 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] How to get the reference of each element in a TileList ? Hi I am replacing Repeater with TileList in my Application as performance concerns.. I got struck in getting the reference of each element in TileList. How to get the reference of each element in a TileList ? Thanks in Advance. Bhaskar Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://us.rd.yahoo.com/evt=51734/*http://tools.search.yahoo.com/newsear ch/category.php?category=shopping
[flexcoders] TabNaviigator tabBar index doesn't update on selectedIndex change
I'm using Flex 3 Beta 3. I have a TabNavigator component where the children are created dynamically from a Repeater. When the dataProvider of the repeater changes, the tab labels update accordingly, EXCEPT the tabBar index of the component doesn't visually update. I would just set myTabNav.tabBar.selectedIndex = whatever, except that the tabBar is a protected member. I can work around this by extending the component (I think) but I shouldn't have to do this - perhaps I'm missing something on how to best approach it. Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] (609) 520-5637 (p) (484) 477-9900 (c)
RE: [flexcoders] Bitmap: Please, please help.
no, not quite. Think of my need to be something like Photoshop layers. I can create a layer, then another, and be able to see the first layer behind the second. _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Sherif Abdou Sent: Wednesday, January 30, 2008 1:06 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Bitmap: Please, please help. do u mean sort of like this but you want to be able to drag and drop? http://www.tileui.com/ http://www.tileui.com/ just warp the mouse around all of them, is that kinda it?. - Original Message From: Noyes, Jeff [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Wednesday, January 30, 2008 11:44:43 AM Subject: [flexcoders] Bitmap: Please, please help. I want to be able to drag and drop multiple images onto one object - and have the images layer one on top of the other (see one through the other). Can that be done? _ From: [EMAIL PROTECTED] ups.com http://ups.com/ [mailto:flexcoders@ yahoogroups. com] On Behalf Of Kyle Neath Sent: Wednesday, January 30, 2008 11:53 AM To: [EMAIL PROTECTED] ups.com http://ups.com/ Subject: Re: [flexcoders] got any good air styling references? The best method I've found is to just remove all native controls (by uncommenting a directive in the air xml file, and adding showChrome= false to your WindowedApplication ). From there, it's pretty trivial to mimic native functions. Here's the ones used for beta 3 (they changed it, so googling around gets confusing): this.nativeWindow. minimize( ); // minimizes the window this.nativeWindow. close(); // closes the window this.nativeWindow. startResize( ); // call this within a MouseDown event on your resizing handle this.nativeWindow. startMove( ); // call this within a MouseDown event on your moving handle (title bar) All assuming this is the current window. - Kyle _ Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://us.rd.yahoo.com/evt=51734/*http://tools.search.yahoo.com/newsear ch/category.php?category=shopping
[flexcoders] Bitmap: Please, please help.
I want to be able to drag and drop multiple images onto one object - and have the images layer one on top of the other (see one through the other). Can that be done? _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kyle Neath Sent: Wednesday, January 30, 2008 11:53 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] got any good air styling references? The best method I've found is to just remove all native controls (by uncommenting a directive in the air xml file, and adding showChrome=false to your WindowedApplication). From there, it's pretty trivial to mimic native functions. Here's the ones used for beta 3 (they changed it, so googling around gets confusing): this.nativeWindow.minimize(); // minimizes the window this.nativeWindow.close(); // closes the window this.nativeWindow.startResize(); // call this within a MouseDown event on your resizing handle this.nativeWindow.startMove(); // call this within a MouseDown event on your moving handle (title bar) All assuming this is the current window. - Kyle
RE: [flexcoders] Re: DataServices (LCDS) Java Heap error
These are Java options you set on the Java command line - not specific or related to LC DS. Usually in your server's startup.bat or something it lets you add additional Java args so that's where these would go. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Tuesday, January 29, 2008 6:03 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: DataServices (LCDS) Java Heap error I am assuming this is done in my server-config.xml file. I will take a look later tonight. Thanks, Kevin --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: The server log ought to have more detail. The first thing I do when dealing with heap issues is to turn on the heap space debug logging. -verbose:gc this will show you the free heap space. You might just need to increase the max heap size a bit. Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Kevin Sent: Tuesday, January 29, 2008 3:32 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] DataServices (LCDS) Java Heap error I had a crash today with my data services apps and got the following error: body = (null) clientId = B1A21AEB-7FB2-0022-31DE-C79FF87CB391 correlationId = 8819D347-6D27-31D1-65CB-C79FFBA81DFD destination = contacts extendedData = (null) faultCode = Server.Processing faultDetail = (null) faultString = There was an unhandled failure on the server. Java heap space headers = (Object)#1 messageId = E5DE7DBF-F0F7-7E52-B2B3-F9837BBF444D rootCause = (null) timestamp = 1201645034863 timeToLive = 0 Any idea what could cause this or how to handle it. I am not compiling on the server, just running Tomcat. I am also having an interesting problem where one specific user crashes the entire system every time she gets on. I have no idea how a user would have that much influence or what it could be one her machine that crashes Hibernate/LCDS so if anyone can shed some like on this as well that would be much appreciated. The app is only serving about 7 or 8 concurrent users right now. Thanks, - Kevin
RE: [flexcoders] DataServices (LCDS) Java Heap error
The server log ought to have more detail. The first thing I do when dealing with heap issues is to turn on the heap space debug logging. -verbose:gc this will show you the free heap space. You might just need to increase the max heap size a bit. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Tuesday, January 29, 2008 3:32 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] DataServices (LCDS) Java Heap error I had a crash today with my data services apps and got the following error: body = (null) clientId = B1A21AEB-7FB2-0022-31DE-C79FF87CB391 correlationId = 8819D347-6D27-31D1-65CB-C79FFBA81DFD destination = contacts extendedData = (null) faultCode = Server.Processing faultDetail = (null) faultString = There was an unhandled failure on the server. Java heap space headers = (Object)#1 messageId = E5DE7DBF-F0F7-7E52-B2B3-F9837BBF444D rootCause = (null) timestamp = 1201645034863 timeToLive = 0 Any idea what could cause this or how to handle it. I am not compiling on the server, just running Tomcat. I am also having an interesting problem where one specific user crashes the entire system every time she gets on. I have no idea how a user would have that much influence or what it could be one her machine that crashes Hibernate/LCDS so if anyone can shed some like on this as well that would be much appreciated. The app is only serving about 7 or 8 concurrent users right now. Thanks, - Kevin
RE: [flexcoders] DataServices (Service.Data.General) error...should I be concerned?
Yeah, it looks like this error occurs when you have an association tag for a property (in this case a one-to-many or many-to-many) and there is no corresponding property on the Java class which is getting serialized back from the client. Unfortunately the diagnostics for that error don't tell you the destination or the property (which I just fixed in the code) but if you turn the debug log on, you'll see what items are being modified in the batch and can probably figure it out from that. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Monday, January 28, 2008 8:24 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] DataServices (Service.Data.General) error...should I be concerned? I am getting a fairly consistent error in my logs... [Flex] 01/28/2008 10:56:06.277 [ERROR] [Service.Data.General] Failed to create collection property: null It doesn't seem to be crashing things, but i figure it can't be good. My only thought is that this could be caused by some transient properties that are in some classes, but are referenced in my destinations. This was our way around the lack of inheritance in 2.5.1 destinations, but perhaps we have caused problems with this. I would be interested in how I could dig deeper into what is causing this error. Thanks, Kevin
RE: [flexcoders] Destination not found error with liveCycle DS and Flex
There are two ways to fix this: 1) change your compile options to include the -services WEB-INF/flex/services-config.xml so that the destination configuration and channel configuration is compiled into the SWF. This allows you to use the symbolic destination id in your client without specifying a URL to connect to the server. This is a flex builder configuration option or set on the command line if you use that. It is set in flex-config.xml if you use request the mxml from the browser. 2) Define a ChannelSet on the client in MXML or ActionScript and set the channelSet property of your service to this channelSet. This allows the service to contact the server to pull down the destination information at connect time. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of flexuser1 Sent: Saturday, January 26, 2008 10:29 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Destination not found error with liveCycle DS and Flex Hi, I just installed livecycle DS and looked at all the samples, etc. I tried making my own project by 1. adding a destination called 'chat' in the C:\lcds\jrun4\servers\default\flex\WEB-INF\flex messaging-config.xml default-channels channel ref=my-rtmp/ /default-channels destination id=chat properties network session-timeout0/session-timeout /network server max-cache-size1000/max-cache-size message-time-to-live0/message-time-to-live durablefalse/durable /server /properties /destination = 2. made a flex app with producer and consumer destination = 'chat' 3. restart LCDS and then run the app I get this error: [MessagingError message='Destination 'chat' either does not exist or the destination has no channels defined (and the application does not define any default channels.)'] What!? I added the destination! I have everything on my company's remote server which I log into from home. I could give you access to the windows remote desktop program if you would like to take a look at the folder structure, etc. Thank you -Mike
RE: [flexcoders] Re: LCDS Paging error and connection management in DataServices. Advice?
Just to add a bit to this issue... when you have auto-sync=true, LC DS should automatically disconnect and reconnect but unfortunately that was not working automatically in 2.5.1. Here's a little program I wrote to automatically connect if the app is started when the server is not available and automatically reconnect if you get disconnected. This might help resolve your problem. ?xml version=1.0 encoding=iso-8859-1? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; creationComplete=appReady() width=700 height=900 mx:DataService id=dataService destination=SQLPerson/ mx:ArrayCollection id=testCollection/ mx:Script ![CDATA[ import mx.events.*; import mx.data.*; import mx.data.events.*; private var timer:Timer = null; public function appReady():void { dataService.fill(testCollection); dataService.addEventListener(propertyChange, connectedListener); dataService.addEventListener(DataServiceFaultEvent.FAULT, faultListener); } private function faultListener(event:DataServiceFaultEvent):void { trace(fault event occurred); } private function connectedListener(event:PropertyChangeEvent):void { if (event.property == connected) { if (!event.newValue) { trace(disconnected); startTimer(); } else { trace(reconnected); if (timer != null) { timer.stop(); timer = null; } } } } private function startTimer():void { if (timer == null) { timer = new Timer(2000); timer.addEventListener(TimerEvent.TIMER, reconnectHandler); timer.start(); } } private function reconnectHandler(event:TimerEvent):void { if (!dataService.connected) { dataService.disconnect(); dataService.connect(); // NOTE: you might also want to put your fill/getItem calls here // to be sure you get fresh copies of the data after you reconnect. // If that is awkward, you can set the option // reconnect fetch=INSTANCE / in your data-management-config.xml for // each destination so that when a reconnect occurs, we refill all data. } } ]] /mx:Script mx:TraceTarget/ mx:DataGrid id=testGrid percentHeight=100 percentWidth=100 dataProvider={testCollection} editable=true/ mx:Label text={dataService.connected ? 'connected' : 'not connected'}/ /mx:Application From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Seth Hodgson Sent: Thursday, January 24, 2008 9:15 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: LCDS Paging error and connection management in DataServices. Advice? Oh, and in regard to AMF polling and your connected state, this channel issues poll requests over HTTP on an interval. If your server is unreachable, the next poll request that is sent will fail, triggering the channel to move to a disconnected state. If you enable client logging (mx:TraceTarget and a debug player) you should be able to see log entries for the channel issuing poll requests and when one of these fails, an entry stating that the channel has stopped polling. Best, Seth From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Kevin Sent: Thursday, January 24, 2008 5:35 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] Re: LCDS Paging error and connection management in DataServices. Advice? Thanks. Do you know if the connected property works in amf-polling as well? As an experiment I tried to disconnect my wireless connection while the app was running and the connected property didn't change. However, using RTMP it works fine. Also, is there a way to distinguish a disconnect from when the server is down or has restarted? In those cases, it seems I need to for my users to relaunch the application rather than just try to reconnect to the channel. I would love to see some sample code (if there is any out there) from anyone who has handled all these connection/disconnection issues in DMS. It seems like there is a fair amount to try to keep track of with these type of connections vs a simple asynchronous call. Thanks, Kevin --- In flexcoders@yahoogroups.com
Re: [flexcoders] Access TWAIN scanners from Air
a colleague of mine has written an app to do this with AIR and Artemis and a handful of java classes. its pretty sweet. If used properly, AIR is anything but a joke. At 08:43 PM 1/20/2008, you wrote: Javier de la Torre wrote: Hi all, I would like to access the TWAIN API from an AIR application. I have been looking around and the only way I have found it is by using Artemis. Although accessing from Java would be great, there are great APIs out there, the Artemis connection looks very preliminar and with a deploying process that can be too hard. I have understood also that there is no way to run command line processes from AIR in thi version. Another idea I have heard is to create an external program that will provide me access to TWAIN through sockets connections. But then I would have to distribute the two things together, set up services in windows, uff... it sounds is gonna be complicate to distribute such a software. Any other idea? Don't use air. Its pretty much useless for this type of app as far as i can tell. It's a bit of a bad joke really. Pity. cheers, - shaun Jeff Tapper Senior Technologist Digital Primates IT Consulting Group [EMAIL PROTECTED] http://www.digitalprimates.net
[flexcoders] Adobe AIR Disconnected storage with Credit Cards
Hello, I am trying to find more detailed information about how Adobe AIR is able to support a disconnected session. I believe I read somewhere that it is using a sqlanywhere DB, but I could be 100% wrong on that. My question is I am wondering if the temporary storage of this information is encrypted in any way. We are looking at creating an AIR application that will take credit cards. You can imagine the regulations around that. So I was wondering if there is any documentation as to the details of how the disconnected sessions are implemented in AIR. So far I have not been able to find anything. Any help on this would be greatly appreciated. Thanks Jeff Never miss a thing. Make Yahoo your home page. http://www.yahoo.com/r/hs
Re: [flexcoders] Adobe AIR Disconnected storage with Credit Cards
Paul, Thanks. Yes I was thinking about something close to that. Of course when the CC is entered you can do the check digit to make sure the number is valid. I have a good background in Flex all the way back to flex 1.5. I haven't started with AIR yet, but I am thinking so I put the CC into the value object and attempt to call my webservice to actually do the charge. I am looking for details about how the application handles the fact it can't get to the webservice. What is AIR doing being the scene to save that so it can resend it when a connection is available again. Yes if I encrypt the CC before putting it into the value object that helps, but I still have to answer the question for the auditors of where is the encrypted information stored. Is it purged after the connection is reestablished, etc. So in a perfect world maybe there is a flag for a field in AIR that if it has to store it for a temp time that it will encrypt it. I am just having a hard time finding out the low level details of how this is supported (The store and forward). Thanks Jeff - Original Message From: Paul Andrews [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Tuesday, January 15, 2008 9:33:23 AM Subject: Re: [flexcoders] Adobe AIR Disconnected storage with Credit Cards - Original Message - From: Jeff Krueger To: [EMAIL PROTECTED] ups.com Sent: Tuesday, January 15, 2008 4:26 PM Subject: [flexcoders] Adobe AIR Disconnected storage with Credit Cards Hello, I am trying to find more detailed information about how Adobe AIR is able to support a disconnected session. I believe I read somewhere that it is using a sqlanywhere DB, but I could be 100% wrong on that. My question is I am wondering if the temporary storage of this information is encrypted in any way. We are looking at creating an AIR application that will take credit cards. You can imagine the regulations around that. So I was wondering if there is any documentation as to the details of how the disconnected sessions are implemented in AIR. So far I have not been able to find anything. Any help on this would be greatly appreciated. How about encrypting them in the application? If the application is disconnected, you won't be able to verify the cards. Most websites don't keep credit card details (unless the user specifically allows it) so credit cards and a disconnected application sound like a challenge. I can't remember the last time I gave credit card info that wasn't verified on the spot. Paul Thanks Jeff Never miss a thing. Make Yahoo your home page. http://www.yahoo.com/r/hs
Re: [flexcoders] Adobe AIR Disconnected storage with Credit Cards
I know what you are saying. Unfortuantly the process flow doesn't really allow for the user to come back. In reality the disconnects from the internet should be very brief, but of course I can not gaurantee that. Thanks Jeff - Original Message From: George [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Tuesday, January 15, 2008 11:32:58 AM Subject: Re: [flexcoders] Adobe AIR Disconnected storage with Credit Cards For me I would never try to store sensitive private information anywhere as user don't know. I would ask to input credit cards information once again when getting back online. George Jeff Krueger wrote: Paul, Thanks. Yes I was thinking about something close to that. Of course when the CC is entered you can do the check digit to make sure the number is valid. I have a good background in Flex all the way back to flex 1.5. I haven't started with AIR yet, but I am thinking so I put the CC into the value object and attempt to call my webservice to actually do the charge. I am looking for details about how the application handles the fact it can't get to the webservice. What is AIR doing being the scene to save that so it can resend it when a connection is available again. Yes if I encrypt the CC before putting it into the value object that helps, but I still have to answer the question for the auditors of where is the encrypted information stored. Is it purged after the connection is reestablished, etc. So in a perfect world maybe there is a flag for a field in AIR that if it has to store it for a temp time that it will encrypt it. I am just having a hard time finding out the low level details of how this is supported (The store and forward). Thanks Jeff Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
Re: [flexcoders] Adobe AIR Disconnected storage with Credit Cards
Thanks for the information. I think I have enough to get started trying to solve this problem. I think Ivo's response with the encrypted store might help out also. Thanks Again Jeff - Original Message From: Scott Mulder [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Tuesday, January 15, 2008 11:55:37 AM Subject: RE: [flexcoders] Adobe AIR Disconnected storage with Credit Cards From what I have figured out… Flex stores to a local db file that is accessible to any other flex app that is running on the local machine. Not secure. The only way you are going to get it to be secure (from my understanding) is to encrypt it yourself and develop a security routine yourself. Syncing with the server is either handled on your own, or if you use liveCycle or some other DTO with logic that does this automatically. There are some good tutorials on doing this with Java and LiveCycles, but I don’t have much access to my server and don’t know how to tell if I have LiveCycles installed (or knowledge of Java) so I have been writing a custom sync routine that happens whenever a record is saved that sends all unsynced records (“UPDATED”, “DELETED”, “NEW”) to the FDS gateway into a ColdFusion Service. I am also going to use GUIDs to insure that the info is unique. You’ll want to clear the CCs out of your local SQLite db manually if you intend to store it the way I’m doing it. If I’m wrong someone correct me. Scott From: [EMAIL PROTECTED] ups.com [mailto:flexcoders@ yahoogroups. com] On Behalf Of George Sent: Tuesday, January 15, 2008 1:33 PM To: [EMAIL PROTECTED] ups.com Subject: Re: [flexcoders] Adobe AIR Disconnected storage with Credit Cards For me I would never try to store sensitive private information anywhere as user don't know. I would ask to input credit cards information once again when getting back online. George Jeff Krueger wrote: Paul, Thanks. Yes I was thinking about something close to that. Of course when the CC is entered you can do the check digit to make sure the number is valid. I have a good background in Flex all the way back to flex 1.5. I haven't started with AIR yet, but I am thinking so I put the CC into the value object and attempt to call my webservice to actually do the charge. I am looking for details about how the application handles the fact it can't get to the webservice. What is AIR doing being the scene to save that so it can resend it when a connection is available again. Yes if I encrypt the CC before putting it into the value object that helps, but I still have to answer the question for the auditors of where is the encrypted information stored. Is it purged after the connection is reestablished, etc. So in a perfect world maybe there is a flag for a field in AIR that if it has to store it for a temp time that it will encrypt it. I am just having a hard time finding out the low level details of how this is supported (The store and forward). Thanks Jeff Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
[flexcoders] Re: [SYD-ANN] Sydney Flex and AIR Pre-Release Tour With Danny Dura
With all due respects to Chris, is it appropriate to ask that such announcements do not get posted to the list? I do not wish to see a multitude of announcements for events I cannot attend. There must be some way to promote to your local market, without bombarding the list right? --- In flexcoders@yahoogroups.com, Chris Velevitch [EMAIL PROTECTED] wrote: Thursday, 24th January. Flex 3 and AIR are getting close to launch and in preparation, Danny Dura from the Platform Evangelism Team will be specifically in Sydney to show off the great new features for this exciting launch. Check the listings below to hook up with the local user group in the city closest to you and join us for an evening of Flex and AIR. Don't miss out on the opportunity to see and hear about this highly anticipated release of Flex 3 and AIR during this special pre-release tour. Plus, in addition to giving away some one of a kind Flex/AIR branded schwag, each event will also be raffling off a copy of Flex Builder 3 Professional (pending availability) and a full commercial copy of CS3 Web Premium! Details and RSVP on http://sydneyflashdev2008prelaunchtour.eventbrite.com -- Chris -- Chris Velevitch Manager - Sydney Flash Platform Developers Group m: 0415 469 095 www.flashdev.org.au
[flexcoders] Flickr Authentication: HELP!!
Folks, Can someone point me to a good tute on creating a flickr app that uses private photos? Sadly, I have code that allows me to do it, but when I create a new project, and point to the folder that contains the code, I get a bunch of errors com.adobe.webapis.flickr could not be found. Yet, if I start typing into a CDATA tag import com.adobe... Flex will autocomplete as though it knows exactly where these files are. Why does it do this?
RE: [flexcoders] Re: Flex + Spring + Hibernate - Lazy=true
We haven't released the source for blazeds yet but it is coming. It does not contain any AS source generation but I think that is easy to layer on and there are a bunch of decent implementations out there. There is better support for customizing the serialization process in blazeds (improved over 2.5.1). The beta for blazeds has some of this but we are adding even more between beta and the release. Implementing lazy loading is a bit of a pain with hibernate if you have to do it using remote object. There are two major issues: 1) the class names of the generated wrapper classes used by hibernate mess up the mapping of the class names used to find the right AS class. This one is easy to get around with this PropertyProxy mechanism. In fact, LC DS contains the source to a PropertyProxy implementation (HibernatePropertyProxy.java) which you can use with remote object to strip the generated class name off before serialization. This has the side effect of returning empty versions of all non-loaded lazy properties which brings us to problem 2). Note that hibernate has different mechanisms for doing the lazy loading.. it can do byte code modification but I haven't used that technique so I'm not sure how it works here. 2) If you did not fetch a property with lazy=true in hibernate before the session is closed, the attempt to access that property during serialization fails with the session closed error. To get around this, you can make sure you access all properties you need before the serialization.. this is the approach used by LC DS but because it has a model of the association properties, you don't have to code it up yourself. It is done by the assembler so it is automatic.Another hacky approach is to put a servlet filter in which opens up a hibernate session before calling the MessageBrokerServlet, then close the session once it returns. That means you lose control over the hibernate sessions in your application and you have a transaction which is open for the entire duration of the request which is not very flexible. There might also be performance problems if you have a session/transaction open while you are doing I/O. Not sure that will be a problem but these are the reasons we went with the prefetch mechanism in LC DS's hibernate assembler. In terms of the issues with hibernate in 2.5 and earlier versions, one of the trickiest things is that you need to make your data-management-config.xml match up with the hibernate config. We're hoping to get a chance into a future version which makes this not necessary since the configs are pretty similar. You also need to do the AS code which matches the Java code yourself (or use a 3rd party code gen tool). Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of andrii_olefirenko Sent: Friday, January 11, 2008 5:46 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Flex + Spring + Hibernate - Lazy=true Assemblers are more for CRUD apps. And even with Hibernate assembler, i haven't achieved lazy loading (it was old version of FDS and maybe i didn't try hard but anyway). If anyone has been able to implement lazy loading with LCDS 2.5, let me know so at least i will be assured that this is possible :) in addition to lazy loading, there are also problems of multiple instances if the same object, and the need to manually write actionscript counterparts of java objects. IFAIK, there no tool for automated generation AS3 classes out of java classes in BlazeDS. For big projects with permanent changes to the objects it is pain to manually maintain both AS3 and java obejcts sync. it would be nice to implement all these features in open-sourced BlazeDS, but i didn't find any source code in distribution as for now. --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Rodrigo Pereira Fraga [EMAIL PROTECTED] wrote: Oh my god =/ But who uses the LCDS, it does not contain a HibernateAssembler which implements the use of lazy? --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , andrii_olefirenko andriyo@ wrote: BlazeDS (and LCDS as far as i remember) doesn't support this out of box. There are workarounds like 1) make you own DTO (hibernate free) 2) prefetch object dependencies 3) include metadata about lazy properties with you objects, control externalization to handle objects with metadata and so on. if you develop with Hibernate (or EJB3), lack of lazy object support makes BlazeDS simply unusable for real enterprise application devs. --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Rodrigo Pereira Fraga rpffoz@ wrote: Someone has some solution to use the Pattern OpenSessionInView with Flex using BlazeDS? I am using Spring and it contains a OpenSessionInViewFilter used in web.xml
Re: [flexcoders] i18n - Adavnced Internationalization in Flex Builder 3 - words order in a phrase
On Wed, Jan 09, 2008 at 03:13:46PM -, mydarkspoon wrote: For example, I have a label that displays Search all images on Flickr. The label text is disassembled into Search {scope} {mediaType} on {Flickr}. for instance, this phrase can be Search your videos on Youtube The ResourceManager can supply a good solution for using another language for these words, yet, language like German uses different part of speech order (I'm not speaking German so I might be wrong, sorry). Since I don't know German, but just to demonstrate what I mean in a fictional language I just made, the words order is Videos your search Youtube on (of course wit hthe appropriate translation). A good solution could be a binding template that would come with the locale file, but I couldn't find any existing solution to enable that. Has anyone came across with this problem ? Typically, the entire phrase has to be translated in order to read properly. Splitting phrases into words, then translating the words individually, and then reassembling the phrase will result in a poor translation in almost any language other than the app's native language. -Jeff
RE: [flexcoders] Manual refresh nested collection in LCDS managed object
You can use the method DataServiceTransaction.updateItem(..) to update association properties as well. You need to create an instance of the parent object, fully populate the association property with the new values, then specify the property name (or names) you changed in the changes parameter. You can supply null for the previous item of course unless you want to do conflict detection. We're adding better support for incremental updates of association properties in general in the next version. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Thursday, January 10, 2008 10:55 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Manual refresh nested collection in LCDS managed object I am wondering if there is a way to manually refresh a nested collection from the server. If I have an object with nested collections, I know how to refresh the collection holding the parent object, but is there a way to refresh just the object OR just a collection inside the object. All my collections have association destinations, but the nested collections are filled automatically from the parent object and not from an explicit call that we make so I am not sure how best to refresh them manually if needed. I assume there is something basic here I am missing. Thanks, Kevin
RE: [flexcoders] Re: Manual refresh nested collection in LCDS managed object
Yes, that is in Java. If you are in ActionScript, usually you have the collection property on the client already and so just make a change to it using the collection apis. When you commit, it should apply those changes on the server. I started to answer your next question a few times and each time realized my answer would probably get me in trouble with corporate :-) Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Thursday, January 10, 2008 1:04 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Manual refresh nested collection in LCDS managed object Sounds like this needs to be done in Java correct? Is there a way to do a refresh from actionscript? Also you have mentioned some new features (destination inheritance!) for the next version. Is there a target date for that yet OR info anywhere as to what the planned feature are? Thanks! - Kevin --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: You can use the method DataServiceTransaction.updateItem(..) to update association properties as well. You need to create an instance of the parent object, fully populate the association property with the new values, then specify the property name (or names) you changed in the changes parameter. You can supply null for the previous item of course unless you want to do conflict detection. We're adding better support for incremental updates of association properties in general in the next version. Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Kevin Sent: Thursday, January 10, 2008 10:55 AM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] Manual refresh nested collection in LCDS managed object I am wondering if there is a way to manually refresh a nested collection from the server. If I have an object with nested collections, I know how to refresh the collection holding the parent object, but is there a way to refresh just the object OR just a collection inside the object. All my collections have association destinations, but the nested collections are filled automatically from the parent object and not from an explicit call that we make so I am not sure how best to refresh them manually if needed. I assume there is something basic here I am missing. Thanks, Kevin
RE: [flexcoders] Re: Manual refresh nested collection in LCDS managed object
If you make a change to the collection property on the client side, we queue an update message for the parent item of that collection. This update will send down the entire collection, then push it to other clients even if you only added or removed one item from the collection. If your collection property is lazy=true we only push around the ids of the elements in the collection. If you change a property of an item in a collection and that collection is a managed association, we only send the update for the item in the collection. The parent item is not affected. This does make collection properties somewhat inefficient when dealing with large collections. We have an alternative way of doing updates to collection properties coming out in the next release where we send around incremental changes. The ArrayCollection.refresh method is (I think) just about updating the client side sort and filters. It won't go back to the server. You'd have to call getItem or fill again for the parent item to refresh the child collection's membership. To refresh individual items in the collection you can call getItem on them. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Thursday, January 10, 2008 3:14 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Manual refresh nested collection in LCDS managed object Yes, that is in Java. If you are in ActionScript, usually you have the collection property on the client already and so just make a change to it using the collection apis. I am curious to how this works internally. If I make a change to a collection (or an item in the collection) on the actionscript side, when that change is made on the server does the whole collection get refreshed OR just the single object that I made the change to. Also, I am assuming that when I call someArrayCollection.refresh() on the client that this does NOT signal a refresh of data from the server. I would have to do something more substantial to actually signal a reload of the current data from the server (like change some data)... correct? I guess I am trying to figure out the expected behavior when trying to managed objects/collections on the client with autosync vs. manual sync. - Kevin --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: Yes, that is in Java. If you are in ActionScript, usually you have the collection property on the client already and so just make a change to it using the collection apis. When you commit, it should apply those changes on the server. I started to answer your next question a few times and each time realized my answer would probably get me in trouble with corporate :-) Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Kevin Sent: Thursday, January 10, 2008 1:04 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] Re: Manual refresh nested collection in LCDS managed object Sounds like this needs to be done in Java correct? Is there a way to do a refresh from actionscript? Also you have mentioned some new features (destination inheritance!) for the next version. Is there a target date for that yet OR info anywhere as to what the planned feature are? Thanks! - Kevin --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom jvroom@ wrote: You can use the method DataServiceTransaction.updateItem(..) to update association properties as well. You need to create an instance of the parent object, fully populate the association property with the new values, then specify the property name (or names) you changed in the changes parameter. You can supply null for the previous item of course unless you want to do conflict detection. We're adding better support for incremental updates of association properties in general in the next version. Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Kevin Sent: Thursday, January 10, 2008 10:55 AM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] Manual refresh nested collection in LCDS managed object I am wondering if there is a way to manually refresh a nested collection from the server. If I have an object with nested collections, I know how to refresh the collection holding the parent object, but is there a way to refresh just the object OR just
RE: [flexcoders] Lazy Loading on Tree Component with LCDS
On second thought, this will be trickier than I thought. One problem is that you need to put a NotPendingCollection as a property in your model so you get hierarchical collections which don't throw IPEs. This isn't too bad but you can't then use static data binding expressions to forward events from one collection to the other so you need to write a bit of code and probably need to make that property read-only or mark it as [Transient] so it is not managed. This approach also is going to push the 2.x Tree implementation since it will have to respond to collection change events to dynamically update the display. If you can use the Flex 3 approach Alex described, that would be much easier and work better. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Vroom Sent: Friday, January 04, 2008 4:39 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Lazy Loading on Tree Component with LCDS I have an approach that might help with the 2.x Tree. It is a subclass of ArrayCollection you can use to suppress ItemPendingErrors which you can get here: http://www.jvroom.com/NotPendingCollection.as You provide it a source collection and this collection will either be empty or fully populated... it won't throw ItemPendingErrors. You can use it with lazy loaded associations or paged collections but if you use it with paging, the first time someone access an item, it will page in the entire collection (unless you set startIndex/maxIndex as described later). It is still a bit experimental but let me know if you have problems with it as the code is not too complicated. To use it you'd put this between your tree and your filled/associated collection: !-- the data as it comes from the server... in this case I pass this to fill -- mx:ArrayCollection id=streamData/ !-- a view of the data that does not throw IPEs (NotPendingCollection does not do sorting) -- NotPendingCollection id=notPendingStreamData sourceCollection={streamData}/ ... mx:LineChart dataProvider={notPendingStreamData} It also has a startIndex and maxIndex parameters so your collection can expose a sub-region of the paged collection. This allows you to use this more efficiently if the underlying collection is paged. I've done some testing on this using a chart (which also does not handle item pending errors) but haven't tested it with tree. In my sample, I hooked up the start and max index to the visible regions of a data grid and then have the chart display the visible data as you scroll in the grid. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Friday, January 04, 2008 2:15 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Lazy Loading on Tree Component with LCDS We are having trouble with lazy loading and the tree component. We get item pending errors all over the place. Is this to be expected or should the tree component handle lazy loading like the DataGrid? We are using LCDS with Hibernate so the calls are made internally. If not, what is the proper way to handle Item Pending errors. Thanks for the info. - Kevin
RE: [flexcoders] Lazy Loading on Tree Component with LCDS
I have an approach that might help with the 2.x Tree. It is a subclass of ArrayCollection you can use to suppress ItemPendingErrors which you can get here: http://www.jvroom.com/NotPendingCollection.as You provide it a source collection and this collection will either be empty or fully populated... it won't throw ItemPendingErrors. You can use it with lazy loaded associations or paged collections but if you use it with paging, the first time someone access an item, it will page in the entire collection (unless you set startIndex/maxIndex as described later). It is still a bit experimental but let me know if you have problems with it as the code is not too complicated. To use it you'd put this between your tree and your filled/associated collection: !-- the data as it comes from the server... in this case I pass this to fill -- mx:ArrayCollection id=streamData/ !-- a view of the data that does not throw IPEs (NotPendingCollection does not do sorting) -- NotPendingCollection id=notPendingStreamData sourceCollection={streamData}/ ... mx:LineChart dataProvider={notPendingStreamData} It also has a startIndex and maxIndex parameters so your collection can expose a sub-region of the paged collection. This allows you to use this more efficiently if the underlying collection is paged. I've done some testing on this using a chart (which also does not handle item pending errors) but haven't tested it with tree. In my sample, I hooked up the start and max index to the visible regions of a data grid and then have the chart display the visible data as you scroll in the grid. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Friday, January 04, 2008 2:15 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Lazy Loading on Tree Component with LCDS We are having trouble with lazy loading and the tree component. We get item pending errors all over the place. Is this to be expected or should the tree component handle lazy loading like the DataGrid? We are using LCDS with Hibernate so the calls are made internally. If not, what is the proper way to handle Item Pending errors. Thanks for the info. - Kevin
Re: [flexcoders] Re: What event to catch
On Sat, Dec 29, 2007 at 02:29:18PM -, ben.clinkinbeard wrote: An example of this approach can be seen here: http://www.returnundefined.com/files/CheckBoxRenderers/srcview/index.html That is using a click event but the principle is identical. In this example, why is the event listener added to the Application instead of to the CenteredCheckBoxHeaderRenderer? Then you wouldn't have to check the event target. -Jeff
Re: [flexcoders] Connecting Flex with SQL Server
On Thu, Dec 20, 2007 at 11:59:26AM -0500, Samuel R. Neff wrote: Using direct HTTP calls to MSSQL requires embedding sql server username/password into the swf which is not a good idea. You could call out to a service to pick up the username and password (which is still sketchy security practice). -Jeff
RE: [flexcoders] Configuring message channels - RTMP
The ChannelSet should send a disconnected event when the client detects from the server that it has been disconnected. You should get immediate notification for RTMP channels since we deliver this even when the server closes the client's connection. I don't see how a firewall would affect this unless the RTMP connection itself failed to be made through the firewall. You might be falling back to RTMPT which is a polling implementation using the same port but I think that RTMPT though would also deliver the disconnected event in the same way as RTMP. If you have an AMF/HTTP channel defined as a fallback, it might be that you are using that channel now instead. For those channels, we rely on the app server's session to track the connected state of the user. The session will typically not timeout though on a polling channel because the poll requests keep it alive. Instead, you have to set a subscription-timeout on the destinations you are subscribing to. Once your subscriptions timeout, your consumer's subscribed property will get set to false and polling will stop so your session can eventually timeout. You can watch that subscribed property to detect that case. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of nhid Sent: Tuesday, December 18, 2007 1:55 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Configuring message channels - RTMP Hi, Our system has a messaging broadcasting feature for timeout. When it times out an alert pops up to the user. It seems to be after we have installed a firewall in the network, this feature stopped working, the alert doesn't pop up anymore. What properties should be used or what should be added to fix this problem? This is what we have: channel-definition id=my-rtmp class=mx.messaging.channels.RTMPChannel endpoint uri=http://{server.name}:2296/; class=flex.messaging.endpoints.RTMPEndpoint / properties idle-timeout-minutes20/idle-timeout-minutes websphere-workmanager-jndi-namejava:comp/env/wm/MessagingWorkManager/ websphere-workmanager-jndi-name client-to-server-maxbps100K/client-to-server-maxbps server-to-client-maxbps100K/server-to-client-maxbps /properties /channel-definition Thank you.
RE: [flexcoders] LCDS/Data Management, lazy references to child objects are replaced with ids of that referenced objects
When you are returning a property of an object which is declared as an association in your data-management-config.xml with lazy=true, you can just create an instance of the referenced object and only populate its identity properties. Since the referenced object also has a destination defined, in that destination you specify the identity property names used for objects of that type. These are the only properties DMS will look at on the referenced object. We do ship the source to the HibernateAssembler though it is a bit more complex given that hibernate has lazy fetching property of its own. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Den Orlov Sent: Tuesday, December 18, 2007 4:16 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] LCDS/Data Management, lazy references to child objects are replaced with ids of that referenced objects I've read LCDS/Data Management docs about managing object associations several times and still can't understand what should I return from my assembler in the case of lazy references. Docs states several times that I should return object where references to child objects are replaced with ids of that referenced objects. But what are this ids (UID, id property marked in destination, something other)? Where they should be populated, what property of what object? Example of fill method that return not fully populated object would be very helpful. Den
RE: [flexcoders] LCDS, FDMS, Custom serialization of lazy references
You do not need to use the Externalizable interface to do lazy associations with DMS. You just need to follow the normal rules for mapping Java to AS classes (public read-write properties must match, RemoteClass(alias=...) needs to be set, zero arg constructor). We exclude the lazy=true properties from serialization... neither the get nor the set method will be called on those instances during serialization itself.Instead, in the message sent across the wire a separate header is used to store the referencedIds for each lazy=true property. These headers are then used to repopulate those properties on the client. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Den Orlov Sent: Tuesday, December 18, 2007 3:33 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] LCDS, FDMS, Custom serialization of lazy references I can't find information at LCDS/Data Management Services documentation about proper way of custom serialization of lazy references. I mean what should I write at readExternal()/writeExternal() for java/as Managed object that have lazy reference to other Managed object. Den
Re: [flexcoders] Re: How to send Arrays in WebService request???
On Thu, Dec 13, 2007 at 08:26:17AM -0800, Peter Farland wrote: note that Beta 3 was just released). Note that very recently (build 189998) further properties were added to the ISOAPDecoder interface to provide more control over how possibly-reoccuring result parts are decoded in a response. The existing behavior was preserved, but when we get more details about your response we'll be able to see whether you can take advantage of these settings. What are these settings and what do they affect? The behavior where the webservice call returns an object if it finds a single element versus an array if it finds multiple elements, for an element whose maxOccurs is defined as unbounded in the schema, is driving us insane. -Jeff
RE: [flexcoders] Flex Data Management and container's UserTransaction
There are two use cases where we DMS will use the UserTransaction. 1) When your assembler has use-transactions=true, and you commit a change or batch of changes, the DMS code will start a transaction before calling your createItem, updateItem, and deleteItem methods. If any of those get an error, the transaction is rolled back and all of the changes are put back into the uncommitted list on the client. If they all succeed the transaction is committed and the changes pushed to other interested clients. 2) If you use the DataServiceTransaction api to push changes from the server, when you call begin you can pass in a value of true which causes the DMS stuff to start a JTA transaction in that call. When you call commit, the JTA transaction is committed if the setRollbackOnly call was not made. This is just a convenience if you happen to have some JDBC code which is updating the database. You want to both commit those changes and push the changes to other clients or rollback those changes and cancel those changes. For 1), when you are also using Hibernate, the hibernate assembler will register a hibernate current session context class. The goal of this class is to ensure that we create one hibernate session for each JTA transaction we create for DMS and commit/roll them back in sync. Going forward I'd like to offer another way to do this so that we can more flexibly integrate with other ways of using hibernate sessions. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of den.orlov Sent: Wednesday, December 12, 2007 2:10 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Flex Data Management and container's UserTransaction As I understand Flex Data Management Services require that application container provide UserTransaction for it. But I can't find any guide about how FDMS uses it. I was completely confused when I checked several tutorials that used FDMS+HibernateAssempler+Spring or FDMS+hand written Assempler+Hibernate+Spring. That tutorial http://blogs.adobe.com/mtg/2006/08/my_first_hibernate_enabled_fle.html http://blogs.adobe.com/mtg/2006/08/my_first_hibernate_enabled_fle.html specify that Hibernate's SessionFactory use datasource not tied to global transaction manager. This tutorials: http://devblog.ezmo.com/2007/05/29/using-flex-data-services-with-spring- and-hibernate/ http://devblog.ezmo.com/2007/05/29/using-flex-data-services-with-spring -and-hibernate/ http://iamjosh.wordpress.com/2007/11/08/building-a-livecycle-data-servic e-application/ http://iamjosh.wordpress.com/2007/11/08/building-a-livecycle-data-servi ce-application/ don't specify that SessionFactory should use global transaction scope for Session and use local transaction management. So what's the purpose of FDMS to have reference to container's UserTransaction? Den
RE: [flexcoders] RemoteObject silently throwing #1009 null object error
I've seen this before when an error occurs in a set method being invoked during AMF deserialization. In FB, you should be able to stop in those methods and/or add your own trace statements to find the problem. This all happens before the FDS code is executed which is why TraceTarget is showing anything. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of simonjpalmer Sent: Monday, December 10, 2007 11:53 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] RemoteObject silently throwing #1009 null object error Hi, FB2 + FDS. I have a RemoteObject silently throwing the following error when I call a remote method: TypeError: Error #1009: Cannot access a property or method of a null object reference. Does anyone know of a way I can track down what exactly is causing the error to be thrown? I have been using TraceTarget in my app to try and see what is going on but no message ever gets created (I guess this error is thrown while the message is being created). Ideally I want to be able to step through the framework code in the debugger so I can examine my value object graph at the point the error gets thrown. It is clearly data related because some objects succeed via the same method and others do not. There is nothing obvious in my data or code that would cause a null to occur and I have spent days looking for possible culprits and found and fixed quite a few with no effect. What I really need is to be able to see what the framework is objecting to. Anyone else come across this? Anyone have any suggestions? tia Simon
Re: [flexcoders] HOWTO - Sending an XML object to PHP
On Tue, Dec 11, 2007 at 01:12:09AM -, Alan Gruskoff wrote: While reading XML data into Flex is easy, sending it out for writing was more challenging. I found an example like the below based on worked fine for sending name/value pairs to PHP, like a form would do. I needed to send an XML object, and since the docs say you can, I eventually found a way. I knew PHP was picking up the content, but I had trouble finding how to grab it as $_POST nor $HTTP_POST_VARS had it. The answer was the PHP variable: $HTTP_RAW_POST_DATA. That holds content. Assuming PHP5, you can use the SoapServer class, which works fantastic for this. -Jeff
[flexcoders] ProgressEvent.bytesTotal not populated?
I've built at AIR app that supports application update, but I'd like to show the user the progress of the updater download. For some reason, the ProgressEvent.bytesTotal just isn't coming over the wire. bytesLoaded sure is, just not bytesTotal. It isn't as though this is some tiny file, either - we're talking about 4MB, so the player *should* have time to get this info. Any suggestions/info appreciated! Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] (609) 520-5637 (p) (484) 477-9900 (c)
RE: [flexcoders] Re: DataServiceTransaction auto-refresh issue
Each Java class needs to be serialized from ActionScript. Right now, this means exposing all properties using public get/set methods or with a public field. Without a setter, it is hard to know exactly what field to set when we deserialize a class. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of chris_alme Sent: Tuesday, December 11, 2007 7:46 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: DataServiceTransaction auto-refresh issue I've found a solution to this!!! Though I am a bit puzzled and would love to get more input on this... I noticed in the LCDS log that the identity specified in data-management-config.xml: destination id=messageService adapter ref=java-dao properties sourcemessageAssembler/source scopeapplication/scope factoryspring/factory metadata identity property=id type=java.lang.Integer / /metadata /properties /adapter /destination of the managed object sent to the client was coming back as null (see: {id=null}): [Flex] 12/11/2007 09:02:11.461 [DEBUG] [Message.Data.page_items] Before invoke service: data-service incomingMessage: Flex Message (flex.data.messages.DataMessage) operation = page_items id = null clientId = 53492C9B-48AD-96DB-8C56-C9B9B8F61CB3 correlationId = destination = messageService messageId = CE15E11D-7D0A-9BEC-EDB0-C9BA32DC7D6B timestamp = 1197385331461 timeToLive = 0 body = {} hdr(DSEndpoint) = clario-amf-polling hdr(sequenceId) = 1 hdr(DSids) = [ {id=null} ] hdr(DSId) = A27E7099-4D18-5A3A-B7AD-71EBEFFF9EA1 Long story short, the id property of my server-side object was NOT writable. This is intended as it ties to the DB identity and is either set during construction or via hibernate during insert/retrieval to/from the DB. I changed the setId() method to public, and everything works fine - updates are pushed to the client and my DataGrid updates accordingly. Though I question why this has to be writable? I want it to be read-only to prevent tampering. Why must it be writable??? According to the Live Cycle docs: A Data Management Service destination contains one or more identity elements that you can use to designate data properties to be used to guarantee unique identity among items in a collection of data. So as long as I set the identity, shouldn't LCDS need only the ability to read it for comparison purposes??? I know it is getting set properly as I can debug and see it prior to serialization. Thoughts???
RE: [flexcoders] Re: RemoteObject silently throwing #1009 null object error
Oh, so these errors occur before the server even gets the request? In that case, it could be the get methods of the parameters to your remote object that are causing this error during the serialization process. You won't be able to step into this code since it gets called from native player code when the player tries to write the data into the socket. You should still be able to set breakpoints in your own code though. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of simonjpalmer Sent: Tuesday, December 11, 2007 2:05 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: RemoteObject silently throwing #1009 null object error Jeff, thanks for the reply. Couple of questions: 1) I tried stepping into the remote object call but I can't figure out the source path for the following which is where the first step takes me mx.rpc::AbstractService/http://www.adobe.com/2006/actionscript/flash/pro xy::callProperty http://www.adobe.com/2006/actionscript/flash/proxy::callProperty 2) If my error is happening as the message gets created is that not AMF serialization rather than de-serialization? Do I have that the wrong way up? I don't see why a set method would be called when serializing, but I can understand if it were deserializing. Either way this is an interesting new line of investigation, I'll check all my setters. Simon --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: I've seen this before when an error occurs in a set method being invoked during AMF deserialization. In FB, you should be able to stop in those methods and/or add your own trace statements to find the problem. This all happens before the FDS code is executed which is why TraceTarget is showing anything. Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of simonjpalmer Sent: Monday, December 10, 2007 11:53 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] RemoteObject silently throwing #1009 null object error Hi, FB2 + FDS. I have a RemoteObject silently throwing the following error when I call a remote method: TypeError: Error #1009: Cannot access a property or method of a null object reference. Does anyone know of a way I can track down what exactly is causing the error to be thrown? I have been using TraceTarget in my app to try and see what is going on but no message ever gets created (I guess this error is thrown while the message is being created). Ideally I want to be able to step through the framework code in the debugger so I can examine my value object graph at the point the error gets thrown. It is clearly data related because some objects succeed via the same method and others do not. There is nothing obvious in my data or code that would cause a null to occur and I have spent days looking for possible culprits and found and fixed quite a few with no effect. What I really need is to be able to see what the framework is objecting to. Anyone else come across this? Anyone have any suggestions? tia Simon
RE: [flexcoders] Flex Beta 3 [Managed] tag not working.
This was a bug in (I think) Flex 3 beta 2. My recollection is that it would break when one Managed class extended another one. It is fixed in the nightly builds of Flex 3 which you can download. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Tuesday, December 11, 2007 1:00 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Flex Beta 3 [Managed] tag not working. Has something changed with the Managed tag? We removed it in order to get our app to compile in Flex 3 Beta and so now we get errors unless we directly implement the IManaged interface. Is this the correct way to approach this now? Is there a reason why was done? We have a lot of classes to change now... Thanks, Kevin
RE: [flexcoders] Re: DataServiceTransaction auto-refresh issue
Oh interesting I haven't run into this case before, but I think we do still need the ability to set the property on the AS side at least. When you create an item on the client, it might have a null or empty id. When you commit that change, the server typically assigns an id. The client gets returned a new instance of the same item with the populated id which then need to copy over into the original instance. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of chris_alme Sent: Tuesday, December 11, 2007 11:05 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: DataServiceTransaction auto-refresh issue Hi Jeff - Thanks for the response. For the class in question, I've implemented read/writeExternal on both the Java and Actionscript sides in order to hide the db id on the client side. It is still exposed via a getter, so this should take care of any serialization issue, so I'm still confused? --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: Each Java class needs to be serialized from ActionScript. Right now, this means exposing all properties using public get/set methods or with a public field. Without a setter, it is hard to know exactly what field to set when we deserialize a class. Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of chris_alme Sent: Tuesday, December 11, 2007 7:46 AM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] Re: DataServiceTransaction auto-refresh issue I've found a solution to this!!! Though I am a bit puzzled and would love to get more input on this... I noticed in the LCDS log that the identity specified in data-management-config.xml: destination id=messageService adapter ref=java-dao properties sourcemessageAssembler/source scopeapplication/scope factoryspring/factory metadata identity property=id type=java.lang.Integer / /metadata /properties /adapter /destination of the managed object sent to the client was coming back as null (see: {id=null}): [Flex] 12/11/2007 09:02:11.461 [DEBUG] [Message.Data.page_items] Before invoke service: data-service incomingMessage: Flex Message (flex.data.messages.DataMessage) operation = page_items id = null clientId = 53492C9B-48AD-96DB-8C56-C9B9B8F61CB3 correlationId = destination = messageService messageId = CE15E11D-7D0A-9BEC-EDB0-C9BA32DC7D6B timestamp = 1197385331461 timeToLive = 0 body = {} hdr(DSEndpoint) = clario-amf-polling hdr(sequenceId) = 1 hdr(DSids) = [ {id=null} ] hdr(DSId) = A27E7099-4D18-5A3A-B7AD-71EBEFFF9EA1 Long story short, the id property of my server-side object was NOT writable. This is intended as it ties to the DB identity and is either set during construction or via hibernate during insert/retrieval to/from the DB. I changed the setId() method to public, and everything works fine - updates are pushed to the client and my DataGrid updates accordingly. Though I question why this has to be writable? I want it to be read-only to prevent tampering. Why must it be writable??? According to the Live Cycle docs: A Data Management Service destination contains one or more identity elements that you can use to designate data properties to be used to guarantee unique identity among items in a collection of data. So as long as I set the identity, shouldn't LCDS need only the ability to read it for comparison purposes??? I know it is getting set properly as I can debug and see it prior to serialization. Thoughts???
Re: [flexcoders] Re: Scan document using Flex 2 or 3. Help please
On Fri, Dec 07, 2007 at 09:25:47PM -, Abyss Knight wrote: I don't believe you can access other applications on the system directly unless they are other AIR/Flex applications that you've written. If you were able to do this, it would be a very large security concern. I like that solution that some other guy posted in the barcode reader thread: write a client-side server to do the intra-app communication and the Flex portion can commuicate with it via sockets. Jeff
Re: [flexcoders] Re: Web Services and Arrays
On Fri, Dec 07, 2007 at 01:20:55PM -, triggersoftware wrote: It looks to me like the Flash deserialising code can't deal when an array is sent back with other objects at the same level: someObject grades grades grades someOtherObject /someObject It doesn't work properly out that it's an array unless all sibling nodes are of the same type: someObject gradeWrapper grades grades grades /gradeWrapper someOtherObject /someObject We found the same thing, luckily we are only consuming our own services and we were able to wrap all the arrays in wrapper elements as you describe. -Jeff
RE: [flexcoders] DS - Data synchronization between 2 destinations?
We are working on improving the ability to do these types of master/detail relationships in future LC DS versions with a single destination. Using one destination is obviously how you'd like to do it but you do run into some performance problems for large collections and object graphs with how it is implemented today. In the future we'll have additional metadata to specify on association properties (at least) which let you specify one or more properties are unfetched until the client tries to access them. I take it you are turning off auto-sync so you can use the paged fill stuff -i.e. the fill methods which return a page at a time? (We hope to also remove that limitation in the next release as well). The simple answer for keeping data between two destinations in sync is that in your assembler's updateItem method for one destination you use the DataServiceTransaction.updateItem method for the other destination (or similarly for createItem and deleteItem) But when auto-sync is turned off, clients using that destination won't receive those pushed changes. You can however use manual synchronization. Clients can subscribe to one or more subtopics or use a selector expression which specifies which messages they want to receive. Clients or server code which publishes changes can specify which subtopics those messages go to. Here's a snippet which shows you subscribe manually for a destination: personService.manualSync.producerDefaultHeaders = {a:4}; // used for selector expressions personService.manualSync.producerSubtopics.addItem(grouptopic); personService.manualSync.consumerAddSubscription(grouptopic, a IN ('3', '4', '5')); // subscribes both to a subtopic with a selector expression personService.manualSync.consumerSubscribe(); The DataServiceTransaction class also has the ability to set headers and subtopics which its changes are published to. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of gabrysb Sent: Friday, December 07, 2007 6:18 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] DS - Data synchronization between 2 destinations? Hello, I run into a problem. I'm using LC Data Services with two destinations: Customers and Customer. First one is used to fill datagrid with basic customer information like name, city, the second one to get/update/create specific customer. I decided to split this into two destinations because there are 30,000 or more customers so destination Customers uses custom paging (with startIndex, number of rows) and there are many more properties of each customer than name, city. So, when user double clicks in the data grid form displays and destination Customer getItem is called to fetch full information about this specific customer. So far so good. It works flawlessly. BUT! because i'm using paging to fill datagrid i disabled caching and autoSync: cache-itemsfalse/cache-items auto-sync-enabledfalse/auto-sync-enabled in Customers destination configuration. How can i make destination that fill datagrid aware of changes made through other one? I thought about using subtopics, but as far as I know theses are destination specific so no joy. Maybe I should do all of this using only one destination? but what about getItem in assembler? I cannot use it once to get full customer data and the other time to upadte specific row in datagrid (getItem would be used to refresh particular row in case of update, wouldn't it?) Im using plain java for assemblers, services (no hibernate, etc.). I'm looking forward for any suggestions, it is quite possible I'm making a big conceptional mistake because i just started using DS (and i find it amazing). Thanks, Gabriel Borkowski
Re: [flexcoders] Web Service Enumerations...Is this a bug?...need help!
On Fri, Nov 30, 2007 at 12:47:17PM -0500, Kevin wrote: Has anyone been successful accessing web services (with the WebService classes) that include an enumeration in them. I cannot get it to work properly and no one seems to have an answer (even the support people at the web service company...). Take a look at this WSDL to see the structure of the webservice I am trying to access. We use them. The enumeration is a restriction and Flex ignores it, so you'll see it/generate it as a normal string as if the restrictions were not there. Jeff
[flexcoders] pulling my f'n hair out
I really cannot get the Flickr api's to work. I've tried downloading from google, from adobe, from random folks - nothing works. can someone point me to a tutorial that a) tells you which is the right api to download B) if other files are needed (corelib), how do those file fit into the director of the primary api files C) once all the api files are together, how to create an MXML file that gets private images from Flickr. Any takers? Please, spare my remaining hair. _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Matt Maher Sent: Thursday, November 29, 2007 5:03 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: AIR Window and Mouse management Well, that's just it. I don't have a mouseMove event as I'm trying to test when the mouse is not over a flash container. MouseMove is not heard by this window unless inside of the window... Unless someone knows how to listen to something crazy like System.system MouseMove ?? --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , [EMAIL PROTECTED] wrote: Maybe checking the Array from getObjectsUnderPoint could help you, inside a MouseEvent.MOUSE_MOVE event. -- Keith H -- Matt Maher [EMAIL PROTECTED] wrote: Is there a class or object out there that I can get reference to the mouse no matter where it is? I can't seem to find anything. I have an AIR app with multiple native windows. I want to show things in those windows while the mouse is over them, but not show them when the mouse is elsewhere. I have implemented the normal mouseOver mouseOut stuff but it's very easy to get into a scenario where mouseOut doesn't get called (another non-air window overlapping the air window for example). So I think I need to implement some form of collision detection in reverse. I think running a timer once I show things in the window (with mouseOver) to test to make sure the mouse is still within the boundaries of said window. But I cannot seem to get reference to the mouse without an event. And as far I know events are not broadcast into AIR when they occur outside of AIR (as far as I have been able to replicate at least). Can someone steer me a bit here? I HAVE found the deactivate event on a native window. At least if the user clicks somewhere else then I can handle that...
[flexcoders] Flicker Authorization tutorials
Any good ones out there. I've seen several for accessing public pictures doing a search, but I'd like to access my own pictures. Thanks
RE: [flexcoders] Need Help with DataServices pushing data to nested collections
If you are using clustering but don't have sticky-session load balancing that could cause this type of thing, but otherwise it doesn't sound right. The first thing would be to record the client and server debug logs for a sample session which exhibits the failure. For the client, mx:TraceTarget includeTime=true/ works well. For the server, I like turning on Message.* and Service.Data.* patterns. I can help you interpret those logs particularly if you can help me identify the id point in the logs where a specific change is not pushed. I'll also email you offlist a test jsp file which dumps out the server's subscription info as that can also help. It shows the fills, and items the server has and which clients are subscribed to which. Jeff From: Kevin [mailto:[EMAIL PROTECTED] Sent: Wednesday, November 21, 2007 7:06 AM To: Jeff Vroom Cc: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Need Help with DataServices pushing data to nested collections thanks for the suggestions. I made the changes and was able to get some basic pushing working, but it seems very touch and go as to when it works and when it doesn't. I don't know if this is related to our data management configuration or something larger. For example, on my local dev server, I can load the app on two different screens and get the pushed data to work, but only one way. However, if I keep reloading the app in the browser, I can eventually get to a place where it works both ways. I have also try to upload it to a production server, but I can't seem to get that to work at all even though the database is getting updated fine so the destinations are obviously working. I should mention that we are using Tomcat 5.5. Is there a way to debug test data pushing to try to isolate the reasons. Also, is there a way to restore it should the connections get lost AND thus what is the best way to catch these lapses and attempt to restore the connection. The problem I am having now is that unless I am monitoring two screens, there is no way I would know what is getting pushed to clients and what isn't I am obviously, very green with this, but since we have gotten this far with this app, I would like to see it through rather than go back to polling for data through remoting calls. Thanks for the help. I really appreciate it! - Kevin On Nov 21, 2007, at 12:10 AM, Jeff Vroom wrote: First off, did you know about resources/config/data-management-config.xml? It is sort of like our asdoc for configuration. The below scenario should work without associations in data-mangement-config if the data structure forms a tree but won't work if it is a more general graph. If you use hierarchical values, we basically just send around complete serialized versions of the top level object (e.g. the company) for any change to any sub-object so it can get expensive for deep or large graphs. With the managed associations approach we will send over updates for individual items in the graph. With lazy=false, the server to client stuff will be the same but with lazy=true we send over just a slice of the graph at a time and fetch referenced items individually so it is more flexible too. Jeff From: Kevin [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 20, 2007 7:25 PM To: flexcoders@yahoogroups.com Cc: Jeff Vroom Subject: Re: [flexcoders] Need Help with DataServices pushing data to nested collections Thank you. I think I understand, but just in case here is a scenario of what we are doing. We get our list of companies from a fill operation so now we have a data managed collection companies. var departments : ArrayCollection = companies.departments; //to add an items departments.addItem(deptartment); //this works fine and pushes fine var employees : ArrayCollection = department.getItemAt(0).employees; //we usually get to this using a selectedItem from a DataGrid employees.addItem(employee); // this add to db but doesn't push var schedules : ArrayCollection = employees.getItemAt(0).schedules; //we usually get to this using a selectedItem from a DataGrid schedules.addItem(schedule); // this add to db but doesn't push I am guess that what you are saying is the above example will not push UNLESS we set up destinations for each of our collections and then set up associations for these collections. We are using annotations with Hibernate, but I seems to remember that we still need to do this step when using annotations. Would you say that in general if you would like to take full advantage of data pushing it is a better idea to use a manage association approach rather than the default hierarchical approach? Is there an API for the data-management-config file? I know we have had questions about what tags go where and the dev guide didn't seem to specify everything. Thanks for your help. We LOVE
RE: [flexcoders] Need Help with DataServices pushing data to nested collections
It sounds like you do not have association tags in data-management-config.xml for each of these relationships and so are using the hierarchical values approach for managing the hierarchical data. This approach can save hierarchical stuff to hibernate fine if your hibernate associations have the save-update flag - since hibernate cascades the save operation down the object graph.. it will save the employee even when the change is made to the company. This approach also can push these changes to other clients but only when you modify them via the parent - i.e. in this case, you'd have to modify company.departments[i].employees and only another client that had retrieved the same company would see the new employee get pushed to it. If you are doing a query to get the employees directly, data management won't know it is the same employee and so those clients would not get that pushed change. For this more granular approach, you need to define the associations in your data-management-config.xml to match the associations in your hibernate configuration. That way DMS knows the ids of each entity, the data types and stuff like that and can keep everyone in sync. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Tuesday, November 20, 2007 5:11 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Need Help with DataServices pushing data to nested collections We are trying to use a hierarchical approach with DataServices but are having trouble with our nested VO collections. The data is getting properly saved to the database (via Hibernate) but the data pushing is not happening once we get more than one level deep in the collections. Here is an example: Company contains a collection of Departments - added Departments get pushed properly to the clients as expected. Department contains a collection of Employees - added Employees get recorded in the database BUT DONT get pushed to clients Employee contains a collection of Schedules- added Schedules get recorded in the database BUT DONT get pushed to the clients. Currently there is only one destination for Companies which then (as I understand it) should manage it's child collections. As you can see the management seems to be working OK, but not the data pushing once we get more than one level deep in the collections. Is there something that we may be missing here in our setup or assumptions? Any ideas would help as we are on a tight schedule to finish this part of the app before the Thanksgiving break (tomorrow!!) If you need to see our code let me know and I will paste some. Of course, I am assuming that there must be a way to get data pushing to work with deeply nested collections. Thanks! - Kevin
RE: [flexcoders] LiveCycle with multiple data services failing...
I am not sure why this is failing, but you might check to see what configuration if any is getting compiled into your SWF. Check the static variable: mx.messaging.config.ServerConfig.xml. If you trace that out, it should contain a subset of the configuration found on your server. It gets it through the compiler's -services services-config.xml option. It sounds like maybe you are compiling against a different version of the config that only has that one destination? The other approach DS has for getting the server's configuration is by loading it from the server at connect time. It will do this if you a) do not compile in the configuration and b) define your channel set on the client so that the client knows which server to talk to. In this case, the ServerConfig.xml variable gets populated only after you connect. Again, it would be interesting to see what is in there as that might help you track down how you are getting incomplete configuration. I'd also recommend turning on the mx:TraceTarget/ option as that logs some good debug info the flashlog.txt (including the config that is being used). Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of jamiebadman Sent: Tuesday, November 20, 2007 8:24 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] LiveCycle with multiple data services failing... Hi, I have a strange problem - hopefully someone might be able to figure out what's wrong... First, I'm using Flex 3 beta (Eclipse 3.2+WTP1.5), LiveCycle 2.5, JBoss 4.02. So here's what I do... I use the Flex 3 'create application from database' (if you've not used it yourself, don't give up on me - the problem is almost certainly unrelated to this step!) to create a flex 3 livecycle app from the wizard. This runs fine! I then run it again, against a different table. Again, the second app is fine. But when I try to combine the two applications (obviously renaming variables on both sides to avoid a clash), one of the dataservices runs absolutely fine but when I try to use the other, I get: 'Destination 'SIM_USER_REPORT_PAGESJava' either does not exist or the destination has no channels defined (and the application does not define any default channels.)' But this destination is defined in the same data-management-config.xml as the one that is working - and they're both using the same channel - so I know that channel both exists and works! Any ideas why the second service won't work when combined with the first? I've listed the data-management-config.xml below in case it helps... Thanks, Jamie. ?xml version=1.0 encoding=UTF-8? service id=data-service class=flex.data.DataService adapters adapter-definition id=actionscript class=flex.data.adapters.ASObjectAdapter default=true/ adapter-definition id=java-dao class=flex.data.adapters.JavaAdapter/ /adapters default-channels channel ref=my-rtmp/ /default-channels destination id=SIM_USER_REPORTSJava adapter ref=java-dao/ properties use-transactionstrue/use-transactions sourcecom.db.storage.dao.SIM_USER_REPORTSAssembler/source scopeapplication/scope cache-itemsfalse/cache-items metadata identity property=REPORT_ID/ /metadata network session-timeout0/session-timeout paging enabled=false pageSize=5/ throttle-inbound max-frequency=500 policy=ERROR/ throttle-outbound max-frequency=500 policy=REPLACE/ /network /properties /destination destination id=SIM_USER_REPORT_PAGESJava adapter ref=java-dao/ properties use-transactionstrue/use-transactions sourcecom.db.storage.dao.SIM_USER_REPORT_PAGESAssembler/source scopeapplication/scope cache-itemsfalse/cache-items metadata identity property=REPORT_ID/ /metadata network session-timeout0/session-timeout paging enabled=false pageSize=5/ throttle-inbound max-frequency=500 policy=ERROR/ throttle-outbound max-frequency=500 policy=REPLACE/ /network /properties /destination /service
RE: [flexcoders] Need Help with DataServices pushing data to nested collections
First off, did you know about resources/config/data-management-config.xml? It is sort of like our asdoc for configuration. The below scenario should work without associations in data-mangement-config if the data structure forms a tree but won't work if it is a more general graph. If you use hierarchical values, we basically just send around complete serialized versions of the top level object (e.g. the company) for any change to any sub-object so it can get expensive for deep or large graphs. With the managed associations approach we will send over updates for individual items in the graph. With lazy=false, the server to client stuff will be the same but with lazy=true we send over just a slice of the graph at a time and fetch referenced items individually so it is more flexible too. Jeff From: Kevin [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 20, 2007 7:25 PM To: flexcoders@yahoogroups.com Cc: Jeff Vroom Subject: Re: [flexcoders] Need Help with DataServices pushing data to nested collections Thank you. I think I understand, but just in case here is a scenario of what we are doing. We get our list of companies from a fill operation so now we have a data managed collection companies. var departments : ArrayCollection = companies.departments; //to add an items departments.addItem(deptartment); //this works fine and pushes fine var employees : ArrayCollection = department.getItemAt(0).employees; //we usually get to this using a selectedItem from a DataGrid employees.addItem(employee); // this add to db but doesn't push var schedules : ArrayCollection = employees.getItemAt(0).schedules; //we usually get to this using a selectedItem from a DataGrid schedules.addItem(schedule); // this add to db but doesn't push I am guess that what you are saying is the above example will not push UNLESS we set up destinations for each of our collections and then set up associations for these collections. We are using annotations with Hibernate, but I seems to remember that we still need to do this step when using annotations. Would you say that in general if you would like to take full advantage of data pushing it is a better idea to use a manage association approach rather than the default hierarchical approach? Is there an API for the data-management-config file? I know we have had questions about what tags go where and the dev guide didn't seem to specify everything. Thanks for your help. We LOVE data services... when understand it and get it working!!! - Kevin On Nov 20, 2007, at 9:34 PM, Jeff Vroom wrote: It sounds like you do not have association tags in data-management-config.xml for each of these relationships and so are using the hierarchical values approach for managing the hierarchical data. This approach can save hierarchical stuff to hibernate fine if your hibernate associations have the save-update flag - since hibernate cascades the save operation down the object graph.. it will save the employee even when the change is made to the company. This approach also can push these changes to other clients but only when you modify them via the parent - i.e. in this case, you'd have to modify company.departments[i].employees and only another client that had retrieved the same company would see the new employee get pushed to it. If you are doing a query to get the employees directly, data management won't know it is the same employee and so those clients would not get that pushed change. For this more granular approach, you need to define the associations in your data-management-config.xml to match the associations in your hibernate configuration. That way DMS knows the ids of each entity, the data types and stuff like that and can keep everyone in sync. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Sent: Tuesday, November 20, 2007 5:11 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Need Help with DataServices pushing data to nested collections We are trying to use a hierarchical approach with DataServices but are having trouble with our nested VO collections. The data is getting properly saved to the database (via Hibernate) but the data pushing is not happening once we get more than one level deep in the collections. Here is an example: Company contains a collection of Departments - added Departments get pushed properly to the clients as expected. Department contains a collection of Employees - added Employees get recorded in the database BUT DONT get pushed to clients Employee contains a collection of Schedules- added Schedules get recorded in the database BUT DONT get pushed to the clients. Currently there is only one destination for Companies which then (as I understand it) should manage it's child collections. As you can see the management seems to be working OK, but not the data
RE: [flexcoders] Unhandled failure on the server (LC Data Services)
That is very strange. Can you reproduce that with the server debug logging enabled on the server for the Message.* and Endpoint.* patterns enabled (in WEB-INF/flex/services-config.xml, set level=Debug and make sure those patterns are in the tags below). Unfortunately the error does not include the message which is causing the error. It should be either a batched or transacted type of message. The body of those types of messages is supposed to be an array of DataMessages but somehow we are getting an untyped ASObject in there. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Robert Csiki Sent: Friday, November 09, 2007 10:21 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Unhandled failure on the server (LC Data Services) Got this error when the DataService updates a collection with LCDS. Any ideas? I'm using LCDS 2.5.1 and FlexBuilder 2.0.1 with hotfix 2 Thanks. errorReply: Flex Message (flex.messaging.messages.ErrorMessage) clientId = 11D8F786-5719-0DA9-EF74-78B603160B85 correlationId = 1AF666B8-F92C-FC3D-8117-25A0268AF09C destination = repositoryObjectAssembler messageId = 11DC0268-DF1C-5543-9C64-76A36441D3C5 timestamp = 1194632161359 timeToLive = 0 body = null code = Server.Processing message = There was an unhandled failure on the server. flex.messaging.io.amf.ASObject details = null rootCause = null body = null extendedData = null stackTrace for: java.lang.ClassCastException: flex.messaging.io.amf.ASObject flex! .data.DataService.serviceTransactedMessage(DataService.java:744) flex.data.DataService.serviceMessage(DataService.java:429) flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:11 65) flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoin t.java:757) flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(Abstrac tRTMPServer.java:888) flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPCo nnection.java:424) edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker .runTask(ThreadPoolExecutor.java:665) edu.emory.mathcs.backport.java.util.concurrent.Thr! eadPoolExecutor$Worker.run(ThreadPoolExecutor.j! ava:690) java.lang.Thread.run(Unknown Source)
RE: [flexcoders] RemoteObject call does not get through if called by a Module
When I have seen this before, the problem is because the LC DS swcs (rpc.swc and fds.swc) are being linked into a module and not the main swf. It may be that if you put the RemoteObject references into the main swf, that by itself is enough to make those classes get linked in there and so that is why it works. If you put some references to those classes in the main swf, it may also just then work in the module as well? Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Robert Csiki Sent: Wednesday, November 07, 2007 12:12 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] RemoteObject call does not get through if called by a Module Hi there, I have an app that loads a module. The module then instantiates a RemoteObject with a valid LCDS destination, and then invokes one of its methods. The method does not get invoked on LCDS side and an error is displayed on thwe client TypeError: Error #1034: Type Coercion failed: cannot convert [EMAIL PROTECTED] to mx.messaging.messages.IMessage. The exact same RemoteObject piece of code, if executed by the main application works fine. Any ideas? From the client logs everything looks fine, but apparently LCDS complains the destination is not set! Attaching the client and server logs here. THANKS! ** client log *** [SWF] /MediaSpace/MediaSpace-debug.swf - 1,384,914 bytes after decompression [SWF] /MediaSpace/LcdsServiceModule.swf - 551,559 bytes after decompression 11/7/2007 15:04:09.265 [INFO] mx.messaging.Consumer 'cds-consumer-repositoryObjectAssembler-null' consumer set destination to 'repositoryObjectAssembler'. 11/7/2007 15:04:09.281 [INFO] mx.messaging.Producer '2F565DFD-EB9B-8C76-38CC-1BB66FC18B6D' producer set destination to 'repositoryObjectAssembler'. 11/7/2007 15:04:09.281 [INFO] mx.messaging.Producer 'BF892509-4259-389C-EBC2-1BB66FC11BD5' producer set destination to 'repositoryService'. 11/7/2007 15:04:09.843 [INFO] mx.messaging.Producer 'BF892509-4259-389C-EBC2-1BB66FC11BD5' producer sending message 'A76819C5-A5BC-7E08-29D0-1BB671F3BC94' 11/7/2007 15:04:09.843 [INFO] mx.messaging.Channel 'my-amf' channel endpoint set to http://localhost:8080/MediaSpace/messagebroker/amf http://lo!%0d%0a%20calhost:8080/MediaSpace/messagebroker/amf 11/7/2007 15:04:09.843 [INFO] mx.messaging.Channel 'my-amf' channel settings are: channel id=my-amf type=mx.messaging.channels.AMFChannel endpoint uri=http://{server.name}:{server.port}/MediaSpace/messagebroker/amf/ http://%7bserver.name%7d:%7bserver.port%7d/MediaSpace/messagebroker/amf properties polling-enabledfalse/polling-enabled /properties /channel LcdsRemoteService.isConnected() ends. 11/7/2007 15:04:09.875 [DEBUG] mx.messaging.Channel 'my-amf' pinging endpoint. 11/7/2007 15:04:09.968 [INFO] mx.messaging.Channel 'my-amf' channel is connected. 11/7/2007 15:04:09.968 [DEBUG] mx.messaging.Channel 'my-amf' channel sending message: (mx.messaging.mes! sages::RemotingMessage)#0 body = (Array)#1! nbs p; clientId = (null) destination = repositoryService headers = (Object)#2 messageId = A76819C5-A5BC-7E08-29D0-1BB671F3BC94 operation = isConnected source = (null) timestamp = 0 timeToLive = 0 11/7/2007 15:04:10.015 [INFO] mx.messaging.Producer 'BF892509-4259-389C-EBC2-1BB66FC11BD5' producer connected. TypeError: Error #1034: Type Coercion failed: cannot convert [EMAIL PROTECTED] to mx.messaging.messages.IMessage. ** LCDS log * [Flex] 11/07/2007 15:04:09.890 [INFO] [Endpoint.General] Channel endpoint my-amf received request. [Flex] 11/07/2007 15:04:09.890 [DEBUG] [Message.Command.client_ping] Executed command: (default service) commandMessage: Flex Message (flex.messaging.messages.CommandMessage) operation = client_ping clientId = F9A86CA5-0228-EEB6-F244-170023DEAFD6 correlationId = destination = messageId = E23E8A77-F21B-D2CE-146D-1BB67213E1AF timestamp = 1194465849890 timeToLive = 0 body = {} hdr(DSEndpoint) = my-amf hdr(DSId) = nil replyMessage: Flex Message (flex.messaging.messages.AcknowledgeMessage) clientId = F9A86CA5-0228-EEB6-F244-170023DEAFD6 ! ; correlationId = E23E8A77-F21B-D2CE-146D-1BB67213E1AF destination = null messageId = F9A86CA5-023B-5053-30E8-CD3D2DC36D3F timestamp = 1194465849890 timeToLive = 0 body = null hdr(DSId) = F9A86CA5-021A-96A3-CE8B-BD49472316ED [Flex] 11/07/2007 15:04:10.031 [INFO] [Endpoint.General] Channel endpoint my-amf received request. [Flex] 11/07/2007 15:04:10.031 [ERROR] [Message.General] Exception when invoking service: (none) with message: Flex Message (flex.messaging.messages.RemotingMessage) operation = null clientId = F9A86DFD-3F0C-37E6-EE2C-38C345001F58 destination = null messageId = timestamp = 1194465850031 timeToLive = 1194465850031 body = null hdr(DSEndpoint) = my-amf exception: flex.messaging.MessageException: No destination with id
[flexcoders] Re: FDS ManualSync and AS [Managed] Metadata
--- In flexcoders@yahoogroups.com, jeffjvroom [EMAIL PROTECTED] wrote: But the assembler doesn't know what fills are active, either. Or am I missing something? The assembler can keep track of a client's initial use of a fill (by saving the fillParams argument to the assembler's fill method), but can the assembler get notification when the fill is no longer being used (e.g., when the client goes away)? Yes, this is the case. The auto sync mechanism is what keeps track of which fills clients are looking at specifically. You would have to duplicate this logic and it is not trivial. To solve this generally is a bit tricky - you need to watch when fills are made, associate them with a session and remove that when the session expires. It's a little worse than that, because you could have multiple sessions using the same fill, right? So you would need to keep track of which sessions reference a fill and only remove the fill when the last session had closed. I imagine that clustering only adds another set of problems on top of this too. Is there an example of using manual sync in a clustered environment somewhere? In my application, the fills have a sort value, meaning that the new item could be in different positions in different fills anyway, so what I think the client should do is to just start the fill over again when an item is created. How would the assembler notify the client that it should do that? (That is, how do I get something similar to a refreshFill method returning EXECUTE_FILL in the auto-sync case?) Again, we just don't have a great way to refresh an entire sequence when auto sync is false. It sounds like you really need the auto-sync=true with the paged fill support. Desperately :-) What I'm thinking of doing is have the new item added at position 0, and have the client check, when an item is inserted at position 0, if the item is less than or equal to (according to the sort being used) the item in position 1. If it's not, the client would just call the fill again to get the new item in its proper position. Does that make sense? /jeff
RE: [flexcoders] conflicts resolution for flex data service and hibernate
Do you maybe have cascade=save-update set on the survey.questions association? Removing that might help. This survey.questions also would typically have inverse=true where question has a survey association that points back to survey. It seems like for some reason hibernate is trying to persist the survey.questions property when it changes. It should rather ignore changes made to that property (which it will do if inverse=true is set). Things behave better with a 1-many association when you use a bi-directional association where the many side has inverse=true. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of ggyao2005 Sent: Friday, November 02, 2007 12:32 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] conflicts resolution for flex data service and hibernate I have two classes, Survey and Question. Both of them have version attribute. Class Survey reference a collection of Question. When I add new Question object into the collection reference in Survey, then I commit. e.g. surveyServiceervice.fill(surveys, survey.all, []); var survey:Survey = surveys.getItemAt(0); var question:Question = new Question(); survey.questions.addItem(question); surveyService.commit([survey], true); in my database, I see the new question object persisted, with foreign key pointing to the survey. I also see the question has a version number of 1. Here is my headache: all the other question objects in the survey.questions have their version number increase by 1. But they are not reflected in the client (browser) side. This makes all my client side data obsolete. I wonder whether this is the supposed behavior of hibernateflex? if not, what configuration attributes I need to take care of? Thanks a lot! York
RE: [flexcoders] Re: RemoteObject call does not get through if called by a Module
This does seem strange. There are a few tricks you can use to get more details. On the server, the debug logging configuration is set via the WEB-INF/flex/services-config.xml file (set level=Debug and the pattern tags below control which patterns are logged). The Endpoint.* pattern will show the details of the serialization process including the alias sent over from the player. The other thing that would be interesting is on the client side to check the aliases registered for these Message classes. If the server responds with an instance of a class like mx.messaging.messages.AcknowledgeMessage and there is no alias for that class in the SWF, it will come back as an Object and you get those type casting errors. There is the describeType call in the player apis which lists the info for a given class and the mx.utils.ObjectUtil.getClassInfo method uses that to return this info in a form that is easier to use from ActionScript. When we build the swcs such as rpc.swc and fds.swc which include message classes, we use a trick so that any swf that links against that swc should include versions of the message classes. Their aliases should also get registered at that time. I believe that aliases are visible across the player instance and not isolated for a module so it might be possible for a module to get loaded that registers an alias for a class loaded via another domain. That is one reason it is important to ensure only the main swf links in the Message classes. The other swfs should treat those swcs as external libraries. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Robert Csiki Sent: Wednesday, November 07, 2007 12:59 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: RemoteObject call does not get through if called by a Module I have the 2 SWC's linked to both projects: the main one and the Module one (project's library path). Isn't it strange the client log reports a message being sent that includes a destination (repositoryService), and an operation (isConnected) and the server simply says the destination is received as 'null' and it can't be resolved (also the operation is received as 'null')?? How can I get to see more debug details on the LCDS side? Looks like the message the client sends is losing its integrity on its way to the server? I'm lost here. --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: When I have seen this before, the problem is because the LC DS swcs (rpc.swc and fds.swc) are being linked into a module and not the main swf. It may be that if you put the RemoteObject references into the main swf, that by itself is enough to make those classes get linked in there and so that is why it works. If you put some references to those classes in the main swf, it may also just then work in the module as well? Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Robert Csiki Sent: Wednesday, November 07, 2007 12:12 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] RemoteObject call does not get through if called by a Module Hi there, I have an app that loads a module. The module then instantiates a RemoteObject with a valid LCDS destination, and then invokes one of its methods. The method does not get invoked on LCDS side and an error is displayed on thwe client TypeError: Error #1034: Type Coercion failed: cannot convert [EMAIL PROTECTED] to mx.messaging.messages.IMessage. The exact same RemoteObject piece of code, if executed by the main application works fine. Any ideas? From the client logs everything looks fine, but apparently LCDS complains the destination is not set! Attaching the client and server logs here. THANKS! ** client log *** [SWF] /MediaSpace/MediaSpace-debug.swf - 1,384,914 bytes after decompression [SWF] /MediaSpace/LcdsServiceModule.swf - 551,559 bytes after decompression 11/7/2007 15:04:09.265 [INFO] mx.messaging.Consumer 'cds-consumer-repositoryObjectAssembler-null' consumer set destination to 'repositoryObjectAssembler'. 11/7/2007 15:04:09.281 [INFO] mx.messaging.Producer '2F565DFD-EB9B-8C76-38CC-1BB66FC18B6D' producer set destination to 'repositoryObjectAssembler'. 11/7/2007 15:04:09.281 [INFO] mx.messaging.Producer 'BF892509-4259-389C-EBC2-1BB66FC11BD5' producer set destination to 'repositoryService'. 11/7/2007 15:04:09.843 [INFO] mx.messaging.Producer 'BF892509-4259-389C-EBC2-1BB66FC11BD5' producer sending message 'A76819C5-A5BC-7E08-29D0-1BB671F3BC94' 11/7/2007 15:04:09.843 [INFO] mx.messaging.Channel 'my-amf' channel endpoint set to http://localhost:8080/MediaSpace/messagebroker/amf http://localhost:8080/MediaSpace/messagebroker/amf http://lo!%0d%0a
RE: [flexcoders] Re: FDS ManualSync and AS [Managed] Metadata
Answers inline: From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Glass Sent: Wednesday, November 07, 2007 1:54 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: FDS ManualSync and AS [Managed] Metadata --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , jeffjvroom [EMAIL PROTECTED] wrote: But the assembler doesn't know what fills are active, either. Or am I missing something? The assembler can keep track of a client's initial use of a fill (by saving the fillParams argument to the assembler's fill method), but can the assembler get notification when the fill is no longer being used (e.g., when the client goes away)? Yes, this is the case. The auto sync mechanism is what keeps track of which fills clients are looking at specifically. You would have to duplicate this logic and it is not trivial. To solve this generally is a bit tricky - you need to watch when fills are made, associate them with a session and remove that when the session expires. It's a little worse than that, because you could have multiple sessions using the same fill, right? So you would need to keep track of which sessions reference a fill and only remove the fill when the last session had closed. Yes, that is basically what we do to implement auto-sync. I imagine that clustering only adds another set of problems on top of this too. Is there an example of using manual sync in a clustered environment somewhere? In the clustered case, each server needs to model only the fills managed by clients connected to that cluster. You do need to process all changes on all servers though which means broadcasting those changes throughout the cluster. In this case, I'm not sure how you are detecting that the collection changed in the first place but if you detect it on all servers in the cluster, it is pretty easy. You just use the DataServiceTransaction api and you can set the sendMessagesToPeers flag to false for the transaction. Each server will then push its changes only to those clients connected to that server. Ordinarily with the refresh fill mechanism, we route all changes such as 'create' and 'updates' to all servers in the cluster and then each server refreshes the fills for clients managed on that server. That process detects the changes to the collections and pushes the update collection message only to its connected clients. In my application, the fills have a sort value, meaning that the new item could be in different positions in different fills anyway, so what I think the client should do is to just start the fill over again when an item is created. How would the assembler notify the client that it should do that? (That is, how do I get something similar to a refreshFill method returning EXECUTE_FILL in the auto-sync case?) Again, we just don't have a great way to refresh an entire sequence when auto sync is false. It sounds like you really need the auto-sync=true with the paged fill support. Desperately :-) What I'm thinking of doing is have the new item added at position 0, and have the client check, when an item is inserted at position 0, if the item is less than or equal to (according to the sort being used) the item in position 1. If it's not, the client would just call the fill again to get the new item in its proper position. Does that make sense? Yes, that seems like it would be a reasonable workaround for this missing feature. You also could just use the pub/sub stuff by itself to subscribe to refresh collection messages and have the client refresh the fill when it receives the message. Either way, it is not the most efficient way to refresh a large rapidly changing collection but probably would work fine as long as the collections do not change too frequently. Jeff
[flexcoders] AIR Modules - I've hit a wall
Sorry for the cross-post, but I'm trying to get some more exposure for this issue in hopes of a resolution/workaround. My desired deployment model for my AIR app is a shell app that loads Modules dynamically. What I'm running into is that the only location that AIR will let me load a module from is from the app-resource directory. The problem here is that I cannot programmatically update modules, as I am not allowed to write to the app-resource directory. And any attempts to load my modules from a server fail with SWF is not a loadable module. I've tried crossdomain.xml on the server side, but no dice. I've tried writing my modules to the app-storage directory, which I can do, but any attempts to load from this directory are met with the same error. Why does crossdomain.xml fail? Is it because the AIR app doesn't have a domain per se? Tracing ApplicationDomain.currentDomain.parentDomain returns null. It would be nice to have at least a workaround, and to know that this is a bug that will be addressed. All input appreciated. Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] (609) 520-5637 (p) (484) 477-9900 (c)
RE: [flexcoders] AIR Modules - I've hit a wall
Alex, I can see their viewpoint. What would be handy instead, I suppose, would be the ability to update an application without having to pull over the entire AIR file - just update a certain resource in the package. This would IMO provide a better user experience. Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Alex Harui Sent: Tuesday, November 06, 2007 4:15 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] AIR Modules - I've hit a wall The security folks have deemed that all modules must be installed in the same AIR package as the application. SWFs from outside the package are considered cross-domain and you can't import load them. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Battershall, Jeff Sent: Tuesday, November 06, 2007 6:15 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] AIR Modules - I've hit a wall Sorry for the cross-post, but I'm trying to get some more exposure for this issue in hopes of a resolution/workaround. My desired deployment model for my AIR app is a shell app that loads Modules dynamically. What I'm running into is that the only location that AIR will let me load a module from is from the app-resource directory. The problem here is that I cannot programmatically update modules, as I am not allowed to write to the app-resource directory. And any attempts to load my modules from a server fail with SWF is not a loadable module. I've tried crossdomain.xml on the server side, but no dice. I've tried writing my modules to the app-storage directory, which I can do, but any attempts to load from this directory are met with the same error. Why does crossdomain.xml fail? Is it because the AIR app doesn't have a domain per se? Tracing ApplicationDomain.currentDomain.parentDomain returns null. It would be nice to have at least a workaround, and to know that this is a bug that will be addressed. All input appreciated. Jeff Battershall Application Architect Dow Jones Indexes [EMAIL PROTECTED] mailto:jeff.battershall%40dowjones.com (609) 520-5637 (p) (484) 477-9900 (c)
RE: [flexcoders] good examples of imagecropping?
No responses. Are there no good examples? _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Noyes, Jeff Sent: Tuesday, October 30, 2007 3:07 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] good examples of imagecropping? I'd like to see some good code examples of uploading images, cropping, then saving. Can anyone point me in the right direction? http://geo.yahoo.com/serv?s=97359714/grpId=12286167/grpspId=1705007207/ msgId=91860/stime=1193360231/nc1=4507179/nc2=3848640/nc3=4840954
[flexcoders] Re: FDS ManualSync and AS [Managed] Metadata
I have some questions about manual sync with LCDS 2.5.1. --- In flexcoders@yahoogroups.com, Jeff Vroom [EMAIL PROTECTED] wrote: One other difference is that the refresh fill process - i.e. where the server refreshes fill methods after an insert or update or explicit refreshFill call is made on the server does not work with manual sync. Since the server has no knowledge of what fills each client is actively managing and does not cache its current set of ids, it can't refresh it. But the assembler doesn't know what fills are active, either. Or am I missing something? The assembler can keep track of a client's initial use of a fill (by saving the fillParams argument to the assembler's fill method), but can the assembler get notification when the fill is no longer being used (e.g., when the client goes away)? You can still update queries by using the DataServiceTransaction.addItemToFill and removeItemFromFill methods. In my experimentation, you have to call addItemToFill and removeItemFromFill with the *exact* fill parameters (unlike the matching that is done by refreshFill). Hence the need to keep track of which fills are active. Also, in my experimentation, the client only seems to get the collection-change event if the addItemToFill call has position=-1. Is that expected? In my application, the fills have a sort value, meaning that the new item could be in different positions in different fills anyway, so what I think the client should do is to just start the fill over again when an item is created. How would the assembler notify the client that it should do that? (That is, how do I get something similar to a refreshFill method returning EXECUTE_FILL in the auto-sync case?) Of course the other server side methods updateItem, createItem, and deleteItem also still work though make sure that any use of these apis also supply the producerSubtopics or producerDefaultHeaders needed to route these changes to the right clients. What exactly are createItem and deleteItem good for in the manual-sync case? They're not pushing anything to the clients. thanks/jeff
[flexcoders] good examples of imagecropping?
I'd like to see some good code examples of uploading images, cropping, then saving. Can anyone point me in the right direction? http://geo.yahoo.com/serv?s=97359714/grpId=12286167/grpspId=1705007207/ msgId=91860/stime=1193360231/nc1=4507179/nc2=3848640/nc3=4840954
[flexcoders] HELP! unable to install flash plaer
I am unable to reinstall flash plaer. I recently updated to the pre- release version 9.0.60, then uninstalled to go back to the current release 9.0.47. Now I cannot install. I run the unitaller and rebooted, but get a message: The version of Adobe Flash player ActiveX that you are trying to install is not the most current version. Please visit adobe to download the most secure version. I get this message event when trying to install the 9.0.60 version. I cannot work without the player installed. I'd also like to install the debugger version, but have the same problem. Jeff
[flexcoders] Re: HELP! unable to install flash player
Less panic !! I was able to do a /clean uninstall and get the installer to work. Seems OK now. jeff --- In flexcoders@yahoogroups.com, Jeff Schuenke [EMAIL PROTECTED] wrote: I am unable to reinstall flash plaer. I recently updated to the pre- release version 9.0.60, then uninstalled to go back to the current release 9.0.47. Now I cannot install. I run the unitaller and rebooted, but get a message: The version of Adobe Flash player ActiveX that you are trying to install is not the most current version. Please visit adobe to download the most secure version. I get this message event when trying to install the 9.0.60 version. I cannot work without the player installed. I'd also like to install the debugger version, but have the same problem. Jeff
RE: [flexcoders] Location of Spring and LCDS - SpringFactory etc?
My apologies, I uploaded a new version a few months ago but I just checked and it is still waiting for some admin to approve it. I'll have to track that down... In the meantime, I'll send you a new copy offlist. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of parkerwhirlow Sent: Wednesday, October 31, 2007 3:22 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Location of Spring and LCDS - SpringFactory etc? Hi all, We're begining a transition from pure DataManagementServices/Hibernate to running our own DAOs/RPCs configured with spring. Can someone point me to (or provide for everyone) the files for Spring support in LCDS? I've searched around on flexcoders, and seen several posts discussing a SpringFactory for use with Flex (remoting and data management). I've also seen a couple of I'll send updated SpringFactory code for some work-arounds. I was also able to find one spring support package on the flex exchange here: http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetailex tid=1035406 http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetaile xtid=1035406 However, this package is said to be compatible with FDS 2.0.1. Isn't there a new version compatible with the latest LCDS (2.5.1)? Thanks in advance, Parker Whirlow
RE: [flexcoders] Re: FDS ManualSync and AS [Managed] Metadata
We have tried to make the system as efficient as possible. The 10 entries/second does not seem to be too much overhead. If all 50 clients need to get all of these messages that total comes up to 500 messages/second which is probably still doable by one server but it will be pretty busy. It might be better if you can organize that into a cluster so that you can offload the delivery of messages between two servers, especially if there is a lot of other stuff going on in that server. In terms of the overhead for subscriptions, if you use subtopics, we use hashtables to store the subscriptions so the lookup is very efficient. If you use selector expressions, we do have to test those for each unique selector expression for each message so that is more expensive. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of changlim Sent: Wednesday, October 31, 2007 1:12 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: FDS ManualSync and AS [Managed] Metadata Hi Jeff, Thanks for your reply. I was able to use manual sync together with HibernateAssembler custom paging to display a result set of 20,000! Real cool to see the FDS to DB paging and FDS to client paging working! As it turns out we have external service (logger) that logs exception entries into a DB table. Since this is not done via FDS I had to publish notifications into a Message channel. The Flex client would now have to subscribe and response to these event (either update data or ignore). My question is: since the exception events could be potentially very large (say 10 entries per second - a few thousand events over 24 hours, with 50 concurrent clients) how scalable is this architecture based on message queue? Is the subscription and event handling on the client expensive? Thanks, Chang --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeff Vroom [EMAIL PROTECTED] wrote: Yes, when you use manual sync (with auto sync enabled=false) , the client will still both detect changes made on that client and push them to the server and receive pushed changes from the server and apply them on that client. The difference is in how messages are routed from one client to the next. Rather than the server tracking which data each client is actively managing and pushing only the right data to the right clients, you need to set up the routing rules yourself with the publish and subscribe rules. One other difference is that the refresh fill process - i.e. where the server refreshes fill methods after an insert or update or explicit refreshFill call is made on the server does not work with manual sync. Since the server has no knowledge of what fills each client is actively managing and does not cache its current set of ids, it can't refresh it. You can still update queries by using the DataServiceTransaction.addItemToFill and removeItemFromFill methods. Of course the other server side methods updateItem, createItem, and deleteItem also still work though make sure that any use of these apis also supply the producerSubtopics or producerDefaultHeaders needed to route these changes to the right clients. Here's a code snippet of some client code which sets up manual subscriptions: personService.autoSyncEnabled = groupService.autoSyncEnabled = false; // turn off auto sync personService.manualSync.producerDefaultHeaders = {a:4}; // if you use selector expressions this is how you specify key-value pairs for the producer personService.manualSync.producerSubtopics.addItem(grouptopic); // more commonly this publishes to a specific subtopic personService.manualSync.consumerAddSubscription(grouptopic, a IN ('3', '4', '5')); // subscribes both to a subtopic with a selector expression personService.manualSync.consumerSubscribe(); // this actually initiates the subscribe groupService.manualSync.producerDefaultHeaders = {a:4}; groupService.manualSync.producerSubtopics.addItem(grouptopic); groupService.manualSync.consumerAddSubscription(grouptopic, a IN ('3', '4', '5')); groupService.manualSync.consumerSubscribe(); Jeff From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of changlim Sent: Thursday, October 25, 2007 9:06 AM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] FDS ManualSync and AS [Managed] Metadata Hi All, I am dealing with very large data sets and is thinking of using FDS manualSync (instead of auto-sync-enabledtrue/auto-sync- enabled) for pushing server data updates to the clients. To use manualSync, the client code needs to subscribe to the DataServer for changes. From reading the FDS user guide, it was not clear to me if FDS would be able
[flexcoders] Re: JS - How to send a byteArray using HTTPService??
Hello Abdul, I have looked at URLLoader and see how to send. On the server side, I see the data in a byte array but am not sure how to pull this inot a variable. Any samples from either php or java? Thanks, Jeff --- In flexcoders@yahoogroups.com, Abdul Qabiz [EMAIL PROTECTED] wrote: Note sure, if HTTPService allows anything beyond text You can use URLLoader to send the data to server.. -abdul On 10/25/07, Jeff Schuenke [EMAIL PROTECTED] wrote: Hello All, I need to do a screen capture of a UIComponenet and allow the user to save this to their local drive. I understand thsi will need to go throu the server. I have read about the ImageSnapshot and PNGEncode methods in SDK 3 so I can get the BitmapData ( this example is using SDK 2). What I don't see how to do is send this to the server. I am trying this: //get the data var exportImage:BitmapData = new BitmapData(100,100); exportImage.draw(UIComponenet_name); var outData:ByteArray = new ByteArray(); outData.readBytes(exportImage.getPixels(new Rectangle (0,0,100,100))); var sendImage:HTTPService = new HTTPService(); sendImage.method = POST; sendImage.url = http://www.host.com/serverSave.php;; sendImage.send({HTTP_RAW_POST_DATA:outData.writeBytes(outData), name:' image.png'}); This is not working and it is only a guess. How can I send the data or is it possibile to do this as a POST?? Thanks, Jeff -- -abdul --- http://abdulqabiz.com/blog/ ---