[flexcoders] Re: Data synchronisation tip and tricks?

2006-09-16 Thread bill_sahlas



Hi Paul -
Sounds like you've been doing this "database design" thing for a while. I'm very glad to see this topic being discussed. The topic which we're on- "Data Synchronization" - doescurrently have some discussions around them (in the form of white papers and blog posts) that I think everybody on this thread should become familiar with to help in getting a better and broader picture of what exactly Flex Data Management Services is and what it was designed to solve.
This article was written by Jeff Vroom, Software Architect working on Flex Data Services http://tech.groups.yahoo.com/group/flexcoders/message/50090. You and the others like you on this thread – folks that are interested in more complex multi-user database systems - are exactly the folks that we're hoping to engage. Flex Data Management Services was written just for you! A couple of excerpts from the article:
"Layered on top of those basic client/server communication facilities, the Flex Data Management Services framework provides rich and robust data management facilities in a client/server environment."
"Flex Data Management Services helps solve these problems by making it easy to synchronize data between client and server tiers without compromising the end-user experience, the integrity of the data, or the scalability and performance of the application. By eliminating the RPC wrappers, Data Management Services enables you to replicate server objects to the client, detects changes you make to these objects, and propagates these changes to the server where a server-side data adapter handles them. One type of adapter is the Java Adapter, which communicates these changes to your Java back end or updates your database. Data Management Services also supports an in-memory ActionScript adapter and an adapter that directly supports a hibernate data model."
Another important "something that you should know" article, written by Ben Forta (ColdFusion Evangelist), is here at http://www.adobe.com/devnet/coldfusion/articles/fr_fds.html.
This article discusses, in particular, some reasons why you'd want to build applications utilizing FDS vs. applications built with RemoteObject method invocations AND compares both these methodologies and approaches to building RIAs with multi-user consideration. Here are a couple of excerpts the article.
"What makes FDS really compelling is the fact that it allows for a real bidirectional connection between the server and the client-side Flash application. What does this mean? Consider the following scenarios:

Your charting applications (powered by ColdFusion-supplied data) need to display live data with changes to that data as they occur. You could use a timer in Flash and poll for new data every n seconds, but what you really want is for the server to just push new data to the client whenever there is any. 
Your mx:DataGrid displays results from a database search, but that data could be stale and you would never know it. What you want is for data changes to be immediately reflected on the screen of any clients that happen to be looking at that data (and not those who are not, obviously). 
Your database front end allows users to insert, update, and delete database records. Your old web version of the application allowed users to select a record for editing and then submit it to be saved. But what if two users edited the same record at once? Most likely, you just save changes as save requests occur, so the last update always wins. That may (or may not) be appropriate in a web application that displays a single record and refreshes pages frequently. But in a client-server type application, where lost rows may be redisplayed at once and pages never really refresh, the chances of overwriting on someone else's edits are high. An ideal way is to manage data synchronization and conflict resolution. "
"Data synchronization: This is the ability to safely handle concurrent access to back-end data, tracking data changes, and safely handle conflict resolution. No more last-edit-overwrites-any-prior-edit mishaps; you can write code that ties in to back-end data and talks to the Flash client, providing real end-to-end data synchronization. Instead of the client talking to a CFC directly that in turn talks to a back-end database, when using FDS and data synchronization, the client talks to FDS, which in turn talks to a back end (ColdFusion and the database). FDS, which sits in the middle, can arbitrate requests, monitoring for conflicts and alerting the client of conflicts when they occur. "
I think that I have a unique perspective on this subject matter having worked on both the ColdFusion team as lead quality engineer and currently on the Flex Data Services team. I'll be checking back on this thread for updates on the discourse!
--- In flexcoders@yahoogroups.com, "Paul Andrews" [EMAIL PROTECTED] wrote: To be honest, this is old-hat for database programmers, yet it's rarely discussed in Flex/Flash circles and largely ignored in 

[flexcoders] Loading AVM1 content into AVM2

2006-09-16 Thread Ian Thomas
Hi guys,

I've hit a huge hurdle when trying to communicate between AVM1 and AVM2.

I've been trying to create a component - call it AVM1Loader - which
will allow simple communication between an AVM2 flex app and a
contained AVM1 file.

In theory, it's pretty simple:

- Use Loader to load the file.
- Create a LocalConnection for AVM2 to talk to AVM1
- Create a LocalConnection for AVM1 to talk to AVM2

This all works fine, and communications all work.

However, the problem comes with the naming of the LocalConnections.
Clearly each AVM1Loader instance wants to have a differently named
pair of LocalConnections; otherwise you'll get into trouble if you're
trying to have two AVM1Loaders running together at the same time - or
even two instances of the same Flex app running together at the same
time.

Generating a unique ID is easy, but I can't for the life of me work
out how to communicate it to the contained AVM1 file.

The obvious way would be to pass it as a parameter: e.g.
_loader.load(new URLRequest(AVM1File.swf?key=+someUniqueKey));

That works, but only (apparently) once. The next time you try to load
AVM1File.swf with a _different_ key (under a whole new instance of
AVM1Loader) something very odd happens. The key value does get
transmitted correctly on the second run, but the _root of the
contained movie gets screwed up.

These simple trace statements are on the root of AVM1File.swf:

trace(_root);
trace(_root.clip); // (Clip is an instance defined on the stage of AVM1File)
trace(_parent);

On the first (successful) load (i.e. loading
AVM1File.swf?key=someUniqueKey), I get:
_root
_root.clip
undefined

Which is as expected. On the second run through (i.e. loading
AVM1File.swf?key=someOtherKey), I get:

_root
_level0.App0.Panel4.contentPane.AVM1Loader40.instance55.instance56.clip
_level0.App0.Panel4.contentPane.AVM1Loader40.instance55

Which is very strange - suddenly my AVM1 code is seeing its AVM2
instance name. And from that point on, the AVM1 code stops working
correctly - loading clips etc. fails.

If I change the URL to just AVM1File.swf it all works fine, but
obviously my unique key doesn't get transmitted. Similarly, fixing the
URL - sending AVM1File.swf?key=dummy each time - works fine.
Somethings up when you alter the parameter.

It's a new instance of Loader() - I'm not reusing anything.

So - that's clearly some sort of bug, and I seem to have hit a blank
wall there. If anyone's got any ideas on that peculiarity then great.

But that aside, if anyone's got any brainwaves on how to simply
communicate a unique ID to an AVM1 file I'm loading, that'd be great.
:-)

Yours in frustration,
  Ian


--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* Your email settings:
Individual Email | Traditional

* To change settings online go to:
http://groups.yahoo.com/group/flexcoders/join
(Yahoo! ID required)

* To change settings via email:
mailto:[EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 





Re: [flexcoders] Loading AVM1 content into AVM2

2006-09-16 Thread Daniel Wabyick

That most definitely sounds like a bug ...  I think the following would 
work:

- Create a class LocalConnectionDaemon in AVM2 that is connected under a 
hardcoded LC name. ( e.g. LC_DAEMON );

-  Create a class LocalConnectionDaemon in AVM1 that does the following:
- Generates a unique LocalConnection URL based on the 
current-time-millis ( e.g. var clientId:String = LC_CLIENT_1324343243243 )
- Send a command to LocalConnectionDaemon via - LC_SERVER  .. 
createClient( clientId )
- Listen for a command (on that same LocalConnection, or one the 
server can figure out) called   onClientCreated( otherClientId:String )

- LocalConnectionDaemon should have a method  createClient( 
clientId:String ) that takes the ID, and transforms it to a guaranteed 
unique name
(e.g.  var newClientId:String = clientId + _AVM2) and sends  
onClientCreated( newClientId );
 
Definitely more painful, but doable.  I should point out that one big 
issue with LocalConnection is that messages are limited to 40kb. You may 
need to chunk your requests over if they are large.


Also, just thought this would be a good time  to point out Adobe's  
bug-report / wishlist page. If you send them a *reproducable*  bug 
report, they will get back to you very quickly:

http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform

Regards,
-D




Ian Thomas wrote:

 Hi guys,

 I've hit a huge hurdle when trying to communicate between AVM1 and AVM2.

 I've been trying to create a component - call it AVM1Loader - which
 will allow simple communication between an AVM2 flex app and a
 contained AVM1 file.

 In theory, it's pretty simple:

 - Use Loader to load the file.
 - Create a LocalConnection for AVM2 to talk to AVM1
 - Create a LocalConnection for AVM1 to talk to AVM2

 This all works fine, and communications all work.

 However, the problem comes with the naming of the LocalConnections.
 Clearly each AVM1Loader instance wants to have a differently named
 pair of LocalConnections; otherwise you'll get into trouble if you're
 trying to have two AVM1Loaders running together at the same time - or
 even two instances of the same Flex app running together at the same
 time.

 Generating a unique ID is easy, but I can't for the life of me work
 out how to communicate it to the contained AVM1 file.

 The obvious way would be to pass it as a parameter: e.g.
 _loader.load(new URLRequest(AVM1File.swf?key=+someUniqueKey));

 That works, but only (apparently) once. The next time you try to load
 AVM1File.swf with a _different_ key (under a whole new instance of
 AVM1Loader) something very odd happens. The key value does get
 transmitted correctly on the second run, but the _root of the
 contained movie gets screwed up.

 These simple trace statements are on the root of AVM1File.swf:

 trace(_root);
 trace(_root.clip); // (Clip is an instance defined on the stage of 
 AVM1File)
 trace(_parent);

 On the first (successful) load (i.e. loading
 AVM1File.swf?key=someUniqueKey), I get:
 _root
 _root.clip
 undefined

 Which is as expected. On the second run through (i.e. loading
 AVM1File.swf?key=someOtherKey), I get:

 _root
 _level0.App0.Panel4.contentPane.AVM1Loader40.instance55.instance56.clip
 _level0.App0.Panel4.contentPane.AVM1Loader40.instance55

 Which is very strange - suddenly my AVM1 code is seeing its AVM2
 instance name. And from that point on, the AVM1 code stops working
 correctly - loading clips etc. fails.

 If I change the URL to just AVM1File.swf it all works fine, but
 obviously my unique key doesn't get transmitted. Similarly, fixing the
 URL - sending AVM1File.swf?key=dummy each time - works fine.
 Somethings up when you alter the parameter.

 It's a new instance of Loader() - I'm not reusing anything.

 So - that's clearly some sort of bug, and I seem to have hit a blank
 wall there. If anyone's got any ideas on that peculiarity then great.

 But that aside, if anyone's got any brainwaves on how to simply
 communicate a unique ID to an AVM1 file I'm loading, that'd be great.
 :-)

 Yours in frustration,
 Ian

  



--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* Your email settings:
Individual Email | Traditional

* To change settings online go to:
http://groups.yahoo.com/group/flexcoders/join
(Yahoo! ID required)

* To change settings via email:
mailto:[EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 





Re: [flexcoders] Loading AVM1 content into AVM2

2006-09-16 Thread Daniel Wabyick

That most definitely sounds like a bug ...  I think the following would 
work:

- Create a class LocalConnectionDaemon in AVM2 that is connected under a 
hardcoded LC name. ( e.g. LC_DAEMON );

-  Create a class LocalConnectionDaemon in AVM1 that does the following:
- Generates a unique LocalConnection URL based on the 
current-time-millis ( e.g. var clientId:String = LC_CLIENT_1324343243243 )
- Send a command to LocalConnectionDaemon via - LC_SERVER  .. 
createClient( clientId )
- Listen for a command (on that same LocalConnection, or one the 
server can figure out) called   onClientCreated( otherClientId:String )

- LocalConnectionDaemon should have a method  createClient( 
clientId:String ) that takes the ID, and transforms it to a guaranteed 
unique name
(e.g.  var newClientId:String = clientId + _AVM2) and sends  
onClientCreated( newClientId );
 
Definitely more painful, but doable.  I should point out that one big 
issue with LocalConnection is that messages are limited to 40kb. You may 
need to chunk your requests over if they are large.


Also, just thought this would be a good time  to point out Adobe's  
bug-report / wishlist page. If you send them a *reproducable*
bug report, they will get back to you very quickly:

http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform

Regards,
-D




Ian Thomas wrote:

 Hi guys,

 I've hit a huge hurdle when trying to communicate between AVM1 and AVM2.

 I've been trying to create a component - call it AVM1Loader - which
 will allow simple communication between an AVM2 flex app and a
 contained AVM1 file.

 In theory, it's pretty simple:

 - Use Loader to load the file.
 - Create a LocalConnection for AVM2 to talk to AVM1
 - Create a LocalConnection for AVM1 to talk to AVM2

 This all works fine, and communications all work.

 However, the problem comes with the naming of the LocalConnections.
 Clearly each AVM1Loader instance wants to have a differently named
 pair of LocalConnections; otherwise you'll get into trouble if you're
 trying to have two AVM1Loaders running together at the same time - or
 even two instances of the same Flex app running together at the same
 time.

 Generating a unique ID is easy, but I can't for the life of me work
 out how to communicate it to the contained AVM1 file.

 The obvious way would be to pass it as a parameter: e.g.
 _loader.load(new URLRequest(AVM1File.swf?key=+someUniqueKey));

 That works, but only (apparently) once. The next time you try to load
 AVM1File.swf with a _different_ key (under a whole new instance of
 AVM1Loader) something very odd happens. The key value does get
 transmitted correctly on the second run, but the _root of the
 contained movie gets screwed up.

 These simple trace statements are on the root of AVM1File.swf:

 trace(_root);
 trace(_root.clip); // (Clip is an instance defined on the stage of 
 AVM1File)
 trace(_parent);

 On the first (successful) load (i.e. loading
 AVM1File.swf?key=someUniqueKey), I get:
 _root
 _root.clip
 undefined

 Which is as expected. On the second run through (i.e. loading
 AVM1File.swf?key=someOtherKey), I get:

 _root
 _level0.App0.Panel4.contentPane.AVM1Loader40.instance55.instance56.clip
 _level0.App0.Panel4.contentPane.AVM1Loader40.instance55

 Which is very strange - suddenly my AVM1 code is seeing its AVM2
 instance name. And from that point on, the AVM1 code stops working
 correctly - loading clips etc. fails.

 If I change the URL to just AVM1File.swf it all works fine, but
 obviously my unique key doesn't get transmitted. Similarly, fixing the
 URL - sending AVM1File.swf?key=dummy each time - works fine.
 Somethings up when you alter the parameter.

 It's a new instance of Loader() - I'm not reusing anything.

 So - that's clearly some sort of bug, and I seem to have hit a blank
 wall there. If anyone's got any ideas on that peculiarity then great.

 But that aside, if anyone's got any brainwaves on how to simply
 communicate a unique ID to an AVM1 file I'm loading, that'd be great.
 :-)

 Yours in frustration,
 Ian

  



--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* Your email settings:
Individual Email | Traditional

* To change settings online go to:
http://groups.yahoo.com/group/flexcoders/join
(Yahoo! ID required)

* To change settings via email:
mailto:[EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 




Re: [flexcoders] Loading AVM1 content into AVM2

2006-09-16 Thread Ian Thomas



Hi Daniel, Thanks for that. If I understand you correctly, you're suggesting creating a known LocalConnection which acts as an 'ID server' in AVM2. I had thought about something similar. The issue is that I can't see how the pairing up works between an AVM1Loader (the AS3 component) and it's contained AVM1 movie. I can understand using a known point for the AVM1 movie to talk to, but can't see how you can guarantee that the right IDs can be guaranteed to be known by both parent and child if, for example, two such pairs are being created at the same time. You can't queue it - 
e.g. FIFO - because you can't guarantee that the first AVM1 movie loads faster than the second. And you can't even do it by URL mangling or somesuch, because we might be dealing with loading the same movie into two different components (which is the case in my setup).
 Additionally, I think the known server fails if (for example) two copies of the same Flex app were running at the same time - although I guess you could get around that by querying LC_DAEMON to see if it already exists before creating it.
 I'll play around with the idea and see if I can make sense of it; unless you've any other light to shed. :-) Thanks for the Adobe info - I'll create a simple test case and drop a note to them.Cheers,
 IanOn 9/16/06, Daniel Wabyick [EMAIL PROTECTED] wrote:













  




That most definitely sounds like a bug ...  I think the following would 
work:

- Create a class LocalConnectionDaemon in AVM2 that is connected under a 
hardcoded LC name. ( e.g. LC_DAEMON );

-  Create a class LocalConnectionDaemon in AVM1 that does the following:
- Generates a unique LocalConnection URL based on the 
current-time-millis ( e.g. var clientId:String = LC_CLIENT_1324343243243 )
- Send a command to LocalConnectionDaemon via - LC_SERVER  .. 
createClient( clientId )
- Listen for a command (on that same LocalConnection, or one the 
server can figure out) called   onClientCreated( otherClientId:String )

- LocalConnectionDaemon should have a method  createClient( 
clientId:String ) that takes the ID, and transforms it to a guaranteed 
unique name
(e.g.  var newClientId:String = clientId + _AVM2) and sends  
onClientCreated( newClientId );
 
Definitely more painful, but doable.  I should point out that one big 
issue with LocalConnection is that messages are limited to 40kb. You may 
need to chunk your requests over if they are large.

Also, just thought this would be a good time  to point out Adobe's  
bug-report / wishlist page. If you send them a *reproducable*  bug 
report, they will get back to you very quickly:

http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform

Regards,
-D

Ian Thomas wrote:

 Hi guys,

 I've hit a huge hurdle when trying to communicate between AVM1 and AVM2.

 I've been trying to create a component - call it AVM1Loader - which
 will allow simple communication between an AVM2 flex app and a
 contained AVM1 file.

 In theory, it's pretty simple:

 - Use Loader to load the file.
 - Create a LocalConnection for AVM2 to talk to AVM1
 - Create a LocalConnection for AVM1 to talk to AVM2

 This all works fine, and communications all work.

 However, the problem comes with the naming of the LocalConnections.
 Clearly each AVM1Loader instance wants to have a differently named
 pair of LocalConnections; otherwise you'll get into trouble if you're
 trying to have two AVM1Loaders running together at the same time - or
 even two instances of the same Flex app running together at the same
 time.

 Generating a unique ID is easy, but I can't for the life of me work
 out how to communicate it to the contained AVM1 file.

 The obvious way would be to pass it as a parameter: e.g.
 _loader.load(new URLRequest(AVM1File.swf?key=+someUniqueKey));

 That works, but only (apparently) once. The next time you try to load
 AVM1File.swf with a _different_ key (under a whole new instance of
 AVM1Loader) something very odd happens. The key value does get
 transmitted correctly on the second run, but the _root of the
 contained movie gets screwed up.

 These simple trace statements are on the root of AVM1File.swf:

 trace(_root);
 trace(_root.clip); // (Clip is an instance defined on the stage of 
 AVM1File)
 trace(_parent);

 On the first (successful) load (i.e. loading
 AVM1File.swf?key=someUniqueKey), I get:
 _root
 _root.clip
 undefined

 Which is as expected. On the second run through (i.e. loading
 AVM1File.swf?key=someOtherKey), I get:

 _root
 _level0.App0.Panel4.contentPane.AVM1Loader40.instance55.instance56.clip
 _level0.App0.Panel4.contentPane.AVM1Loader40.instance55

 Which is very strange - suddenly my AVM1 code is seeing its AVM2
 instance name. And from that point on, the AVM1 code stops working
 correctly - loading clips etc. fails.

 If I change the URL to just AVM1File.swf it all works fine, but
 obviously my unique key doesn't get transmitted. Similarly, fixing the
 URL - sending 

Re: [flexcoders] Flex2, ActionScript3, Cairngorm Flash

2006-09-16 Thread greg h



Wow Comfederation, your request is a pretty tall order. lol.

Quick question, are you coming to Flex from Flash? It matters
because Flex and Flash are, if not siblings, then they at least are
cousins :-) Thus if you are coming from Flash, I would explain
Flex from a Flash perspective. If you are not coming from Flash,
then the explaining likely should be different.

Regarding your questions, I will limit myself to 5 minutes and see what I can get through.

-- Your Impression. Yes,
it is correct. MXML -- AS3 -- SWF. To see what Flex
Evangelist Ted Patrick called The Wizard behind the Flex Curtain, enter
the following in your Flex 2 compiler setting:
-keep-generated-actionscript=true
For details where to enter this setting, see this post:
www.flashguru.co.uk/flex-2-compilation-hidden-goodies/
Note: As a Flex developer, you never really need to see the generated actionscript but it can be interesting.

-- Yes on both your questions:
can one accomplish with straigt AS3 code whatever can be done with
Flex/MXML? and MX UI cotrols or rather can they be used straight from
AS3?
Yes, but why would you want to? MXML is a way of instantiating
the components of the Flex Framework. If you find MXML intuitive
and a fast enough way of developing then use it. If straight
ActionScript works better for you, then that works too. For
either MXML or AS, see the Flex 2 Language Reference for all of the
classes and their properties, methods and events:
http://livedocs.macromedia.com/flex/2/langref/
Note: The bottom of most language reference pages have lots of sample code, both MXML and AS.

-- Flex 2 vs Flash 9.
Both are authoring environments for authoring SWFs. Both provide
support for ActionScript 3. AS3 is a HUGE leap forward and
includes debuggers, runtime errors and other simply amazing
things. Flex 2 includes a ton of components, aka the Flex
Framework. Flash authoring includes a component set but it pales
in comparison to the Flex Framework. Flash 9 currently is only
available in an alpha preview release. Details here:
http://labs.adobe.com/technologies/flash9as3preview/

Oops, time is up.

Again, please tell us more about yourself. The more we now the better we can be at providing assistance.

hth,

gOn 9/15/06, comfederation [EMAIL PROTECTED] wrote:
I have yet to get into all of this, beyond some basic point andclicking within FlexBuilder.So, I would be greatful if someone could please summarize theinteraction between the various compoments in my subject line.
From what I have read, I am under an impression that the Flex2 partbasically converts MXML into ActionScript3 code; which then getscompiled into a SWF file.Is this correct and can one accomplish with straigt AS3 code whatever
can be done with Flex/MXML ?What about the MX UI cotrols or rather can they be used straight fromAS3 ?Thanks a lot and take care.


__._,_.___





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com








   






  
  
SPONSORED LINKS
  
  
  

Software development tool
  
  
Software development
  
  
Software development services
  
  


Home design software
  
  
Software development company
  

   
  






  
  Your email settings: Individual Email|Traditional 
  Change settings via the Web (Yahoo! ID required) 
  Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured 
   
Visit Your Group 
   |
  
Yahoo! Groups Terms of Use
   |
  
   Unsubscribe 
   
 

  




__,_._,___



Re: [flexcoders] Re: Posting patched versions of framework code to this list?

2006-09-16 Thread Anatole Tartakovsky



Renaun,
I don't think Louis changes can be placed in extension layer as they would involve access to private methods and variables. I think his question is if Adobe foresee making Flex framework open source project administered by Adobe and is looking for repository/approval process.

I alsobelieve ( from reading the license in the past - can be wrong - did not talk to lawyers) that working in mx. packages is not allowed - so in the past any changes of that sort required us to recreate significant part of Flex stack.


Addressing this issue via open source project would greatly simplify life of the people doing routine changes to framework and needing those changes to be present.

The only other alternative I can see is to replicating Flex objects in open source project and making sure they are synchronized with the releases of Flex. However, it might lead to significant market fragmentation as well as break of existing libraries that are working within mx packages like Mercury.


I would really like to hear Adobe position on Louis offer.

Thank you,
Anatole Tartakovsky
http://www.faratasystems.com



On 9/16/06, Renaun Erickson [EMAIL PROTECTED] wrote:






You can always extend the class, make your own component and post iton Flex Exchange on Adobe.com.Renaun

--- In flexcoders@yahoogroups.com, Louis Ryan [EMAIL PROTECTED] wrote:
 I have modified the DataGrid class to allow columns to be locked on the right. I posted this as an enhancement request to Adobe but its not so easy to include alot of text in their suggestion area so I
 didnt include the sample code I had for this.   Is it OK to post modified versions of the Flex framework code here? If not is there a better way to send suggested code/patches to Adobe for
 review?  Thanks  Louis Ryan

 

__._,_.___





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com








   






  
  
SPONSORED LINKS
  
  
  

Software development tool
  
  
Software development
  
  
Software development services
  
  


Home design software
  
  
Software development company
  

   
  






  
  Your email settings: Individual Email|Traditional 
  Change settings via the Web (Yahoo! ID required) 
  Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured 
   
Visit Your Group 
   |
  
Yahoo! Groups Terms of Use
   |
  
   Unsubscribe 
   
 

  




__,_._,___



Re: [flexcoders] Re: RemoteObject Setup

2006-09-16 Thread greg h



Brian,

Regarding your question from last week, today I saw Anatole Tartakovsky
replying on another topic here at FlexCoders and it reminded me of the
following excellent article that he coauthored that was posted on
DevNet in July:
  Automatically generating code for Flex 2 data access
 http://www.adobe.com/devnet/flex/articles/daoflex.html

The article focuses on using Flex 2 with RemoteObject against Java
backends. The article is very tightly written and includes
downloadable code.

And best of all, the article is a how-to for using DAOFlex, an open-source tool that generates Flex and Java code for you :-)

hth,

gOn 9/9/06, klumikaze [EMAIL PROTECTED] wrote:













  



Is there any good resources for doing the same with Java/Flex 2? 

I've had a hell of a time figuring out how to do RemoteObjects (not
the Flex end, just the Java  configuration end).

Brian
--- In flexcoders@yahoogroups.com, Darren Houle [EMAIL PROTECTED] wrote:

 Very cool, thanks again Gred :-)
 
 Darren
 
 
 
 From: greg h [EMAIL PROTECTED]
 Reply-To: flexcoders@yahoogroups.com
 To: flexcoders@yahoogroups.com
 Subject: Re: [flexcoders] RemoteObject Setup
 Date: Wed, 6 Sep 2006 21:02:21 -0700
 
 Darren,
 
 Glad to hear that you got Ben's Phone Selector Sample Application
up and
 going.  It is pretty sweet, isn't it?
 
 Now that you have your basic CF/Flex Builder 2/mx:RemoteObject
 configuration working, you might want to also check out some of the
other
 amazing goodies that the good folks at Adobe put together
specifically for
 CF developers moving to Flex 2 and using mx:RemoteObject
 
 First on my list is the Flex Builder 2 ColdFusion/Flex Application
 Wizard.  Essentially it is a code generator.  You use a visual query
 builder that is provided to build SQL against any tables in your
 datasources, and off the Wizard goes to create everything else: 
CFCs and
 MXML. (And of course the MXML uses mx:RemoteObject to call the
methods on
 the CFCs that are generated.  Pretty much RAD at its finest!)
 
 There are two links for Captivate demos that provide introductions
to using
 the App Gen Wizard at the following link (total runtime of the
two demos
 combined is about 23 minutes):
 www.adobe.com/devnet/coldfusion/articles/wizards.html
 (There is also a link there for a third Captivate demo of Other
Wizards 
 and
 Utilities that are also a part of the ColdFusion Extensions for Flex
 Builder 2.)
 
 fyi ... At the end of your Flex Builder 2 installation a pop-up
prompted 
 you
 to install the ColdFusion Extensions for Flex Builder 2.  You can
check if
 you have them installed by going to the main menu in Flex Builder 2 and
 going to either:
 1) File -- New -- Other -- ColdFusion Wizards
 2) Window -- Other Views -- ColdFusion
 If you do not see either of these, post back and I will dig up the
 instructions on how to install the Extensions.
 
 The documentation for the ColdFusion Extensions for Flex Builder 2
is in
 Chapter 5 of the documentation that can be download from here:

http://download.macromedia.com/pub/documentation/en/flex/2/using_cf_with_flex2.pdf

 
 Lastly, Nahuel Foronda and Laura Arguello published an article last
month 
 in
 the ColdFusion Developer's Journal that also focuses on using
 mx:RemoteObject and is entitled Your First Flex Application with a
 ColdFusion Backend: The wow factor plus usability
 http://coldfusion.sys-con.com/read/256076_1.htm
 I have not yet had a chance to go through this article, but Nahuel and 
 Laura
 do top notch work, so I expect that this article will be another great
 resource.
 
 Happy Flexing!
 
 g


__._,_.___





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com








   






  
  
SPONSORED LINKS
  
  
  

Software development tool
  
  
Software development
  
  
Software development services
  
  


Home design software
  
  
Software development company
  

   
  






  
  Your email settings: Individual Email|Traditional 
  Change settings via the Web (Yahoo! ID required) 
  Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured 
   
Visit Your Group 
   |
  
Yahoo! Groups Terms of Use
   |
  
   Unsubscribe 
   
 

  




__,_._,___



[flexcoders] Re: Posting patched versions of framework code to this list?

2006-09-16 Thread Louis Ryan
Renaun,

Thanks for the follow up. I tried what you suggested for quite a while
unfortunately there are some issues with the inheritance structure of
DataGrid that make it impossible to implement this behavior without
patching. 

In particular the following issues with the DataGrid class make
subclassing to control the layout very difficult
- calcualteColumnSizes is private and not overridable (this is where
the heavy lifting occurs to layout the columns)
- resizeColumns is mx_internal protected which I assume means you can
override but dont be suprised if this changes later :)
- commitEditedItemPosition also private

I also tried subclassing DataGridBase but then you cant reuse
DataGridItemRenderer of DataGridColumn as they depend on DataGrid and
not DataGridBase. 

Id be happy to send you the patched version off list if yould like to
take a look.

Cheers

-Louis

--- In flexcoders@yahoogroups.com, Renaun Erickson [EMAIL PROTECTED] wrote:

 You can always extend the class, make your own component and post it
 on Flex Exchange on Adobe.com.
 
 Renaun
 
 --- In flexcoders@yahoogroups.com, Louis Ryan louiscryan@ wrote:
 
  I have modified the DataGrid class to allow columns to be locked on
  the right. I posted this as an enhancement request to Adobe but its
  not so easy to include alot of text in their suggestion area so I
  didnt include the sample code I had for this. 
  
  Is it OK to post modified versions of the Flex framework code here? If
  not is there a better way to send suggested code/patches to Adobe for
  review?
  
  Thanks
  
  Louis Ryan
 








--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* Your email settings:
Individual Email | Traditional

* To change settings online go to:
http://groups.yahoo.com/group/flexcoders/join
(Yahoo! ID required)

* To change settings via email:
mailto:[EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 




[flexcoders] Re: Posting patched versions of framework code to this list?

2006-09-16 Thread Renaun Erickson
Anatole I see your point about Adobe and open source.  I would prefer
it closed with the ability to modified more than making it fully open
source.  There are good and bad reasons for both ways.

In the components I have created quite often I learn and take bits of
pieces from the source of the Flex framework and have had great
success (even with private variable quirks).

I think what we have now is a big step to what we had before and will
get more and more open as time goes on.

Renaun

--- In flexcoders@yahoogroups.com, Anatole Tartakovsky
[EMAIL PROTECTED] wrote:

 Renaun,
 
 I don't think Louis changes can be placed in extension layer as they
would
 involve access to private methods and variables. I think his
question is if
 Adobe foresee making Flex framework open source project administered by
 Adobe  and is looking for repository/approval process.
 I also believe ( from reading the license in the past - can be wrong
- did
 not talk to lawyers)  that working in mx. packages is not allowed -
so in
 the past any changes of that sort required us to recreate
significant part
 of Flex stack.
 
 Addressing this issue via open source project would greatly simplify
life of
 the people doing routine changes to framework and needing those
changes to
 be present.
 
 The only other alternative I can see is to replicating Flex objects
in open
 source project and making sure they are synchronized with the
releases of
 Flex. However, it might lead to significant market fragmentation as
well as
 break of existing libraries that are working within mx packages like
 Mercury.
 
 I would really like to hear Adobe position on Louis offer.
 
 Thank you,
 Anatole Tartakovsky
 http://www.faratasystems.com
 
 
 
 
 On 9/16/06, Renaun Erickson [EMAIL PROTECTED] wrote:
 
 You can always extend the class, make your own component and
post it
  on Flex Exchange on Adobe.com http://adobe.com/.
 
  Renaun
 
 
  --- In flexcoders@yahoogroups.com flexcoders%40yahoogroups.com,
Louis
  Ryan louiscryan@ wrote:
  
   I have modified the DataGrid class to allow columns to be locked on
   the right. I posted this as an enhancement request to Adobe but its
   not so easy to include alot of text in their suggestion area so I
   didnt include the sample code I had for this.
  
   Is it OK to post modified versions of the Flex framework code
here? If
   not is there a better way to send suggested code/patches to
Adobe for
   review?
  
   Thanks
  
   Louis Ryan
  
 
   
 








--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* Your email settings:
Individual Email | Traditional

* To change settings online go to:
http://groups.yahoo.com/group/flexcoders/join
(Yahoo! ID required)

* To change settings via email:
mailto:[EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/