Coldfusion / Flex 3 Web Services or...
I have a Flex 3 main app that calls 2 components - one has a datagrid with user data while the other component has an input form for the same user data. I use the Coldfusion to server the data changes. I found that if I change the data using the input form, it is not reflected in the datagrid. So I'm out of sync - and can't find a good solution to prevent this. I know now that solutions are out there (like LiveCycle data services) to keep components in sync with the database. But I'm confused... I have a hosting site to work with - and I'm in a shared environment. Therefore I won't be able to update the coldfusion config files to make the LiveCycle work. I need a solution that will allow me to keep Flex 3 and the database in sync using Coldfusion - but kept within the constraints of a shared hosting environment. What should I look into. Thanks! ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319953 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Coldfusion / Flex 3 Web Services or...
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 What about when the user submits the information utilizing the form in flex to have it make another trip to the component to acquire all data to be redisplayed in the data grid. I do this same thing however in my case, my datagrid is refreshed every 5 minutes automatically. Kim Hoopingarner wrote: I have a Flex 3 main app that calls 2 components - one has a datagrid with user data while the other component has an input form for the same user data. I use the Coldfusion to server the data changes. I found that if I change the data using the input form, it is not reflected in the datagrid. So I'm out of sync - and can't find a good solution to prevent this. I know now that solutions are out there (like LiveCycle data services) to keep components in sync with the database. But I'm confused... I have a hosting site to work with - and I'm in a shared environment. Therefore I won't be able to update the coldfusion config files to make the LiveCycle work. I need a solution that will allow me to keep Flex 3 and the database in sync using Coldfusion - but kept within the constraints of a shared hosting environment. What should I look into. Thanks! ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319954 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Coldfusion / Flex 3 Web Services or...
There are a few ways to do this, but the simplest way is to databind the grid to a data structure inside of Flex and make sure that data structure gets updated by the form submit. You can do the update either at the same time as you submit the form, or you can wait for a successful response from the server and do the update in the response handler function inside of Flex. I recommend staying with the basic built-in techniques while you get started with Flex. If you are looking for how to handle the situation of two people updating the data at the same time or the issue of potentially updating stale data, then that is a different task from making sure the grid data updates with the content of the form submit. -Mike Chabot On Sun, Mar 1, 2009 at 10:23 AM, Kim Hoopingarner k.hoopingar...@e-details.com wrote: I have a Flex 3 main app that calls 2 components - one has a datagrid with user data while the other component has an input form for the same user data. I use the Coldfusion to server the data changes. I found that if I change the data using the input form, it is not reflected in the datagrid. So I'm out of sync - and can't find a good solution to prevent this. I know now that solutions are out there (like LiveCycle data services) to keep components in sync with the database. But I'm confused... I have a hosting site to work with - and I'm in a shared environment. Therefore I won't be able to update the coldfusion config files to make the LiveCycle work. I need a solution that will allow me to keep Flex 3 and the database in sync using Coldfusion - but kept within the constraints of a shared hosting environment. What should I look into. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319956 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Coldfusion / Flex 3 Web Services or...
There are a few ways to do this, but the simplest way is to databind the grid to a data structure inside of Flex and make sure that data structure gets updated by the form submit. You can do the update either at the same time as you submit the form, or you can wait for a successful response from the server and do the update in the response handler function inside of Flex. I recommend staying with the basic built-in techniques while you get started with Flex. If you are looking for how to handle the situation of two people updating the data at the same time or the issue of potentially updating stale data, then that is a different task from making sure the grid data updates with the content of the form submit. -Mike Chabot You bring up my concern that I didn't say at all... what if the data is changed via another person? I want to be able to get that data too. On Sun, Mar 1, 2009 at 10:23 AM, Kim Hoopingarner k.hoopingar...@e-details.com wrote: I have a Flex 3 main app that calls 2 components - one has a datagrid with user data while the other component has an input form for the same user data. I use the Coldfusion to server the data changes. I found that if I change the data using the input form, it is not reflected in the datagrid. So I'm out of sync - and can't find a good solution to prevent this. I know now that solutions are out there (like LiveCycle data services) to keep components in sync with the database. But I'm confused... I have a hosting site to work with - and I'm in a shared environment. Therefore I won't be able to update the coldfusion config files to make the LiveCycle work. I need a solution that will allow me to keep Flex 3 and the database in sync using Coldfusion - but kept within the constraints of a shared hosting environment. What should I look into. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319957 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Coldfusion / Flex 3 Web Services or...
You bring up my concern that I didn't say at all... what if the data is changed via another person? I want to be able to get that data too. For that, you need to use LiveCycle Data Services, or take the same approach that you would with any other web application - check some flag on the server that you set to indicate dirty data. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319958 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Coldfusion / Flex 3 Web Services or...
I like the LifeCycle - but is there a good host company out there that supports this? Thanks for any advice on this topic. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319959 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Coldfusion / Flex 3 Web Services or...
I like the LifeCycle - but is there a good host company out there that supports this? I really doubt it - people who use LiveCycle typically use dedicated servers. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information! ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319960 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Coldfusion / Flex 3 Web Services or...
Maybe check out WebORB to see if it offers something to help. I dont use that product, so Im not sure. http://www.themidnightcoders.com/products.html To handle the issue of updating stale data, comparing checksums is a common way to detect if anything on the server changed. SQL Server has great support for data checksums, if you happen to use that database. What is done in the ASP.NET framework is to keep track of both the values being edited and the new values. When an update is sent to the server, first verify that the values in the database match the values that you edited. Luckily Visual Studio can generate all this code for the developer, since it would be rather tedious to write yourself for a big form. SQL Server has good data change detection and alerting functionality that is intended to be used with the ASP.NET Web site caching functionality, but you can also use the same functionality with CF since it is handled by the database. None of these techniques will help solve the problem of data binding within flex on their own. LiveCycle would help, but given your situation, the hurdles you would need to jump in order to use that technology are fairly high. -Mike Chabot On Sun, Mar 1, 2009 at 12:53 PM, Dave Watts dwa...@figleaf.com wrote: You bring up my concern that I didn't say at all... what if the data is changed via another person? I want to be able to get that data too. For that, you need to use LiveCycle Data Services, or take the same approach that you would with any other web application - check some flag on the server that you set to indicate dirty data. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.c ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319964 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Coldfusion / Flex 3 Web Services or...
Just to clarify, you need the data in the datagrid to match the database real-time, so that other user's updating the database also update every other user's UI? It's pretty rare for this need, so I just wanted to clarify that's what you truly require. TJ Downes On Sun, Mar 1, 2009 at 7:23 AM, Kim Hoopingarner k.hoopingar...@e-details.com wrote: I have a Flex 3 main app that calls 2 components - one has a datagrid with user data while the other component has an input form for the same user data. I use the Coldfusion to server the data changes. I found that if I change the data using the input form, it is not reflected in the datagrid. So I'm out of sync - and can't find a good solution to prevent this. I know now that solutions are out there (like LiveCycle data services) to keep components in sync with the database. But I'm confused... I have a hosting site to work with - and I'm in a shared environment. Therefore I won't be able to update the coldfusion config files to make the LiveCycle work. I need a solution that will allow me to keep Flex 3 and the database in sync using Coldfusion - but kept within the constraints of a shared hosting environment. What should I look into. Thanks! ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319965 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Coldfusion / Flex 3 Web Services or...
Sorry for my last post. GMail didnt initially show me the whole thread so I didn't realize that had been answered. TJ On Sun, Mar 1, 2009 at 1:34 PM, KoldFuzun koldfu...@gmail.com wrote: Just to clarify, you need the data in the datagrid to match the database real-time, so that other user's updating the database also update every other user's UI? It's pretty rare for this need, so I just wanted to clarify that's what you truly require. TJ Downes On Sun, Mar 1, 2009 at 7:23 AM, Kim Hoopingarner k.hoopingar...@e-details.com wrote: I have a Flex 3 main app that calls 2 components - one has a datagrid with user data while the other component has an input form for the same user data. I use the Coldfusion to server the data changes. I found that if I change the data using the input form, it is not reflected in the datagrid. So I'm out of sync - and can't find a good solution to prevent this. I know now that solutions are out there (like LiveCycle data services) to keep components in sync with the database. But I'm confused... I have a hosting site to work with - and I'm in a shared environment. Therefore I won't be able to update the coldfusion config files to make the LiveCycle work. I need a solution that will allow me to keep Flex 3 and the database in sync using Coldfusion - but kept within the constraints of a shared hosting environment. What should I look into. Thanks! ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319966 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Coldfusion / Flex 3 Web Services or...
OK - I'm going about this problem from another angle. But I'm still scratching my head. Again- 2 components within the app. I have a tab bar in the main app that users click to change to the different component views. I came up with the idea to have the tab bar trigger an event - and the component with the datagrid is set up to listen for that event. But that doesn't seem to work either. While the main app is successfully dispatching my event, the datagrid component is not triggering its listening function. MAIN APPLICATION: mx:Script ![CDATA[ private function triggerEvent(event:Event):void { var event:Event = new Event(clickAdminUser); dispatchEvent(event); } ]] /mx:Script mx:TabBar id=tbAdmin direction=vertical dataProvider={viewStack} width=10% paddingLeft=10 styleName=AdminTabBar itemClick=triggerEvent(event) / mx:ViewStack id=viewStack width=87% height=99% components:AdminUser id=cUser label=Users width=100% height=100% / components:AdminUserInput id=cUserInput label=User Input width=100% height=100% / /mx:ViewStack -- COMPONENT ADMINUSER mx:VBox xmlns:mx=http://www.adobe.com/2006/mxml; horizontalCenter=true height=100% width=100% horizontalScrollPolicy=off verticalScrollPolicy=off creationComplete=init() xmlns:components=components.* mx:Script ![CDATA[ public function init():void { addEventListener(clickAdminUser,refreshUserData); refreshUserData(); } ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319969 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Coldfusion / Flex 3 Web Services or...
OK - I'm going about this problem from another angle. But I'm still scratching my head. Same scenario - 2 components within the app. I have a tab bar in the main app that users click to change to the different component views. I came up with the idea to have the tab bar (who calls the different components) trigger an event - and the component with the datagrid is set up to listen for that event. But that doesn't seem to work either. While the main app is successfully dispatching my event every time I click the tab bar options, the datagrid component is not triggering its listening function. Below is the code. Any ideas why the component won't trigger the refreshUserData when I am clicking the tab bar? MAIN APPLICATION: mx:Script ![CDATA[ private function triggerEvent(event:Event):void { var event:Event = new Event(clickAdminUser); dispatchEvent(event); } ]] /mx:Script mx:TabBar id=tbAdmin direction=vertical dataProvider={viewStack} width=10% paddingLeft=10 styleName=AdminTabBar itemClick=triggerEvent(event) / mx:ViewStack id=viewStack width=87% height=99% components:AdminUser id=cUser label=Users width=100% height=100% / components:AdminUserInput id=cUserInput label=User Input width=100% height=100% / /mx:ViewStack -- COMPONENT ADMINUSER mx:VBox xmlns:mx=http://www.adobe.com/2006/mxml; horizontalCenter=true height=100% width=100% horizontalScrollPolicy=off verticalScrollPolicy=off creationComplete=init() xmlns:components=components.* mx:Script ![CDATA[ public function init():void { addEventListener(clickAdminUser,refreshUserData); refreshUserData(); } private function refreshUserData():void { roUser.getUsers(); } /mx:Script ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319970 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Coldfusion / Flex 3 Web Services or...
You need to refresh the datagrid after the user submit comes back successful. Just fire the same function that populated the grid in the first place from the user input result handler. You can also do that in the CFC too. If the update is successfull, have the CFC retreive a fresh set of data for the datagrid and then send that back to Flex. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319975 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4