[flexcoders] Re: Changes not detected in index.template.html

2007-01-19 Thread Jamie O
I'm running into the same issue getting
http://www.deitte.com/archives/2006/08/finally_updated.htm to work
under an FDS compile on load situation and haven't had any success either.

What bothers me to a fair extent is that this solution (iFrame to
render HTML proper since Flex / Flash uses such a lobotomized
rendering engine) nullifies one of the main selling points of Flex
that it doesn't require javascript to function completely. If the user
turns off JS, AJAX is hosed.

http://weblogs.macromedia.com/mesh/archives/2006/11/update_on_apoll.html
gives me hope that there will be a way around that in the future, but
it's pressing a larger client dependency down than just the Flash Player.

Will let you know if I come up with anything, but from what I can tell
because it's calling the .mxml directly, the index.template.html never
creates the pure .html file which your .swf is relying on to handle
the JS.

--- In flexcoders@yahoogroups.com, Oliver Merk [EMAIL PROTECTED] wrote:

 I have a project that compiles on the server. I need to add some
 custom Javascript to the HTML that's generated when I run the mxml
 file (eg. http://localhost:8700/flex/MyApp.mxml). When I add the code
 to /html-template/index.template.html file and run the application, I
 don't see the JS when I view source.
 
 I've searched around and haven't heard of this problem before. Any
 ideas how to get this to work?
 
 Thanks,
 Oliver





[flexcoders] Re: Flex and XSLT

2007-01-10 Thread Jamie O
I'm just beginning to experiment on thisWill post back any
successful results I find on this.

--- In flexcoders@yahoogroups.com, Leon Tanner [EMAIL PROTECTED] wrote:

 Hi All,
 
 Has anyone tried their hand at using XSLT to transform XML data to a
 Flex interface?  
 
 I have been given a piece of work that will involve me receiving XML
 data (schema already exist) and make it presentable within a Flex app,
 making use of already existing XSLT style sheets (that tie up to this
 specific XML data).  After trawling the web for examples, I haven't
 found anything obvious - and it seems sensible to ask if anyone here has
 been involved with any such work?
 
 Many thanks for any help!
 Leon





[flexcoders] Re: Cairngorm / MVC Best Practice

2007-01-05 Thread Jamie O
It sounds possible, but I'm not quite sure I get what you're
describing. Could you post an example of this? The event, the command,
the snippet(s) from the controller / delegate(s) / service which would
support this?

Thx,
Jamie

--- In flexcoders@yahoogroups.com, Tom Chiverton [EMAIL PROTECTED]
wrote:

 On Thursday 04 January 2007 22:03, Jamie O wrote:
  2) Is there a way - similar to how a delegate can have a series of
  functionname_onResult, functionname_onFault - that you can have one
  command deal with multiple onResult scenarios?
 
 We have all our Events take the current object as the first parameter 
 (i.e. 'this').
 The Command then calls 
 savedFromEventHome.onCommandName(result)
 in onResult.
 
 Could that do what you want ?
 
 -- 
 Tom Chiverton
 Helping to advantageously fashion web-enabled clusters
 
 
 
 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 St James's Court Brown Street Manchester M2 2JF.
 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 Law Society.
 
 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 8008.
 
 For more information about Halliwells LLP visit www.halliwells.com.





[flexcoders] Re: Cairngorm / MVC Best Practice

2007-01-05 Thread Jamie O
 3) Why exactly are u looking to do?

-Have one event type 'task' that handles multiple usages
-Event usages:
 -Display all (update arrayCollection)
 -Display one in detail (update instance of a VO)
 -Add  task (add instance of VO to the arrayCollection)
 -Edit task (update database for instance of VO)
 -Delete task (remove instance of VO from db and arrayCollection)

-Try to understand if one command can be written well to handle these
situations, or if it is better to have a command for each scenario
which all tie in to the same event type

Below is some of the pieces of code I have for the 'generic command'
approach that might help for discussion.
//TaskEvent.as
package com.events {
 import com.adobe.cairngorm.control.CairngormEvent;
 import com.vo.PersonVO;
 import com.vo.TaskVO;

public class TaskEvent extends CairngormEvent {
public static var TASK_ADD:String = TaskAdd;
public static var TASK_EDIT:String = TaskEdit;
public static var TASK_DELETE:String = TaskDelete;

public var User:PersonVO;
public var Task_Update:TaskVO;

public function TaskEvent(p_type:String, p_User:PersonVO,
p_Update:TaskVO) {
super(p_type, false, true); 
User = p_User;
Task_Update = p_Update; 
}
}
}


package com.commands
{
import com.adobe.cairngorm.commands.Command;
import com.adobe.cairngorm.business.Responder;
import com.adobe.cairngorm.control.CairngormEvent;

import com.model.ModelLocator;
import com.business.TaskDelegate;
import com.events.TaskEvent;
import com.vo.PersonVO;
import com.vo.TaskVO;

import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.utils.ArrayUtil;
import mx.collections.ArrayCollection;

public class TaskCommand implements Command, Responder {
public function execute(p_event:CairngormEvent):void {
 switch(p_event.type) {
case TaskEvent.TASK_ADD:
TaskAdd(TaskEvent(p_event).User, 
TaskEvent(p_event).Details);
break;
case TaskEvent.TASK_DELETE:
TaskDelete(TaskEvent(p_event).User, 
TaskEvent(p_event).Details);
break;
}
 }
//Skipped the actual content of TaskAdd / TaskDelete functions
}


Tom's reply leads me to believe there is a way to do the equivelent -
from my coding example - of having a TaskAdd_onResult,
TaskDelete_onResult and TaskAdd_onFault, TaskDelete_onFault within the
same command rather than having to separate out. But how is not quite
clear to me.



[flexcoders] Re: RPC Pro's and Cons

2007-01-05 Thread Jamie O
--- In flexcoders@yahoogroups.com, Patrick Mineault
[EMAIL PROTECTED] wrote:

 over magic... LMAO.
 
I like my magic beans thank you very much :)

 Tom Chiverton a écrit :
  On Thursday 04 January 2007 21:45, Jamie O wrote:

  -You need FDS over HTTP or Web when the security of the URL is
  important. Without FDS (or WebOrb or equivelent layer of server-side
  technology) the URL of the service is exposed in the .swf to being
  decompiled.
  
 
  :points at WireShark / Pharos
  The endpoint is exposed over both. It has to be, because the
traffic runs over 
  the network, as opposed to over magic.
 

  -Java and Flex / FDS play the nicest together, especially with the
  Flex plugin to eclipse. If you already have your java classes setup
  from a previous project, you can leverage that code to tie a new Flex
  UI on the front.
  
 
  Unless you are a ColdFusion programmer :-)
 





[flexcoders] Re: RPC Pro's and Cons

2007-01-04 Thread Jamie O
I can give my $0.02 on these as I've experimented with each. They may
not be absolute pros / cons that an Adobe salesperson would provide
but for what they're worth:

-You need FDS over HTTP or Web when the security of the URL is
important. Without FDS (or WebOrb or equivelent layer of server-side
technology) the URL of the service is exposed in the .swf to being
decompiled.

-There are limitations on the way Adobe has done their implementation
of Web Services. Everything I tried, googled and talked to indicated
that their implementation does not support ws-sec, there may be other
issues if you're doing anything of a very complex nature.

-Java and Flex / FDS play the nicest together, especially with the
Flex plugin to eclipse. If you already have your java classes setup
from a previous project, you can leverage that code to tie a new Flex
UI on the front.

-WebOrb is, amongst other things, an equivelent of FDS but allows .Net
 integration. It also handles PHP (previous version was called
PHPOrb). I haven't played with it specifically but a lot of the
writings on the web indicate it's pretty good.

-I chose to go with AMFPHP as the integration for PHP on the backend
with my current project. AMFPHP is VERY lightweight and if you've used
it for Flash remoting before the learning curve is a lot lower than
any of the other technologies.

The good thing about how Adobe's pushed their tech out there is that
you don't have to spend  to experiment with each of the various
technologies you're looking at. You could prototype with multiple and
then make your decision for what best suites your landscape. It's only
when you get into load-balanced, multi-server solutions that the costs
come into play. But I hear what you're asking from an 'upfront / eyes
open' point of view. Short answer - it depends :P

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

 I'm looking for any information on why FDS is better than HTTPService
 or WebService. Or better phrased, WHEN would one prefer FDS over the
 other two for reasons other than publish/subscription? 
 
 I'm working on determining the best way to go with an architecture. I
 can tie Flex applications to Java, .NET or PHP API's for our back-end
 systems, but I'm wondering whether to go with a home-grown
 approach/WebORB vs. FDS?  Does serving Flex apps from the FDS server
 reduce bandwidth or make for more efficient delivery? Is polling
 really terribly detrimental compared to data pushing? Is FDS amazingly
 faster, better, stronger than going with a free option. How much can
 an FDS server take before we need to build out the architecture?
 
 Basically I need to have a good list of WHY we should use Flex Data
 Services before I start dropping hundreds of thousands of dollars on
 the architecture.
 
 thanks, 
 /j





[flexcoders] Cairngorm / MVC Best Practice

2007-01-04 Thread Jamie O
It's Thursday afternoon, which means my bi-weekly question everything
I've just coded and contemplate serious internal changes on the
project. This week the insanity relates to Cairngorm or perhaps Model
View Controller design pattern in general, and the best practices of
it's implementation.

Short Questions:
1) How do you break up your commands / delegates?
2) Is there a way - similar to how a delegate can have a series of
functionname_onResult, functionname_onFault - that you can have one
command deal with multiple onResult scenarios?
3) Are there any examples out there which deal with these situations
specifically? My googles have not lead to good details, but perhaps
I'm just querying for the wrong terminology at this point
4) If you're delegate(s) are so simplistic to just act as a gateway,
what would a sample look like where you eliminte it?

Example Context: You have a screen (view) in which a user can display
a list of tasks, select one to display, select one to edit, select one
to delete, or add a new one. You'll also have a host of other
functions with similar scope (Add staff, Add materials, etc) for
arguments sake.

Long Thoughts:
My initial thoughts built up from Jesse's Amazon Web Service example
-Create one custom event (Task) that has a sub-event type for each
activity (list, display, add, edit, delete) as a series of constants
defined in the event itself.

-The execute function in the command (also a responder) would be a
giant switch statement that passes off the different pieces of data
from the event to the appropriate function within the command.

-Each of these calls a delegate to hit a back-end service to get what
is required of it and return the results to the command to update the
model and the view responds accordingly.

This breaks down when I have more than one function returning results
from a delegate because I can only have one 'onResult' function within
the command. How to code for the differences of if it was a delete
action to return the view back to the list of task state versus an
edit action to return to the display state for that updated task.

My second intention is to create a specific command for each activity
(TaskAddCommand, TaskEditCommand, TaskDeleteCommand) and keep the
event as described above. But is doing the following in the controller
adviseable:
addCommand(TaskEvent.ADDTASK, TaskAddCommand);
addCommand(TaskEvent.EDITTASK, TaskEditCommand);
addCommand(TaskEvent.DELETETASK, TaskDeleteCommand);

This is still plagued by the delegate having a huge amount of code
just acting as passthru service, but would still be something that
coding conflicts would arise on.

If you're delegate(s) are so simplistic of just acting as a gateway,
what would a sample look like where you eliminte it? Then I could
stick with one event type with sub-types, each sub-type references a
specific command which does it's own service call / response.

Thx,
Jamie



[flexcoders] Re: Amfphp with AMF3 support: testers wanted

2006-12-19 Thread Jamie O
Hey,

Much like a virgin learning to navigate the salacious curves of his
first partner, I've tried putting it everywhere and had little
success. Typo's aside, I've managed to resolve the on-save error with
the FDS version by putting the destination in the remoting-config.xml. 

Now, when I load the .mxml in the browser I get a Error: Cannot
assign operations into an RPC Service (endpointdestination) at
mx.rpc::AbstractService/http://www.adobe.com/2006/actionscript/flash/proxy::setProperty()
at com.post.mailbox.business::Services/::_WebService1_i() error message.

I think for the time being I'll un-FDS my project but this is
obviously not an optimal solution and one that I'm sure many are going
to run into down the road. Hopefully Patrick's efforts in bringing FDS
suppport to AMFPHP will resolve this quirk.

Jamie

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

 Jamie,
 
 You can try putting the the adapter in the remoting-config.xml. 
Leave the channel in the services-config.xml.  ColdFusion's default
remoting services-config.xml puts them all in one file, and thats what
I end up doing for my non FDS stuff.
 
 One thing I did notice in terms of the Cairngorm stuff is the line
of code that says:
 service = ServiceLocator.getInstance().getService(AMFPHPDestination)
 
 should read:
 service = ServiceLocator.getInstance().getService(roAMFPHPService)
 
 Hope that helps,
 
 Renaun
 




[flexcoders] Re: Amfphp with AMF3 support: testers wanted

2006-12-19 Thread Jamie O
I've never been so happy to realize I made such a stupid mistake! The
subsequent error was related to a web service that I had somehow put
an 'endpointdestination' reference instead of a 'destination'. 

Splitting the pieces of the example services-config.xml as I
previously posted does work quite well with FDS / cairngorm. Thank you
so much guys!

Jamie

--- In flexcoders@yahoogroups.com, Jamie O [EMAIL PROTECTED] wrote:

 Hey,
 
 Much like a virgin learning to navigate the salacious curves of his
 first partner, I've tried putting it everywhere and had little
 success. Typo's aside, I've managed to resolve the on-save error with
 the FDS version by putting the destination in the remoting-config.xml. 
 
 Now, when I load the .mxml in the browser I get a Error: Cannot
 assign operations into an RPC Service (endpointdestination) at

mx.rpc::AbstractService/http://www.adobe.com/2006/actionscript/flash/proxy::setProperty()
 at com.post.mailbox.business::Services/::_WebService1_i() error
message.
 
 I think for the time being I'll un-FDS my project but this is
 obviously not an optimal solution and one that I'm sure many are going
 to run into down the road. Hopefully Patrick's efforts in bringing FDS
 suppport to AMFPHP will resolve this quirk.
 
 Jamie
 
 --- In flexcoders@yahoogroups.com, Renaun Erickson renaun@ wrote:
 
  Jamie,
  
  You can try putting the the adapter in the remoting-config.xml. 
 Leave the channel in the services-config.xml.  ColdFusion's default
 remoting services-config.xml puts them all in one file, and thats what
 I end up doing for my non FDS stuff.
  
  One thing I did notice in terms of the Cairngorm stuff is the line
 of code that says:
  service = ServiceLocator.getInstance().getService(AMFPHPDestination)
  
  should read:
  service = ServiceLocator.getInstance().getService(roAMFPHPService)
  
  Hope that helps,
  
  Renaun
 





[flexcoders] Re: Amfphp with AMF3 support: testers wanted

2006-12-18 Thread Jamie O
Hello,

I am able to do a stand-alone .mxml project using the samples you have
provided and connect well to my php methods / backend database. The
issue I have is when trying to deploy this as part of a Flex Data
Services / Cairngorm app I can't get the remote object to allow
compile or usage without error.

Anyone have a cairngorm / FDS scope example for using AMFPHP 1.9?

If I do the closest equivelent of adding the relevant contents of your
services-config.mxml to the already created one for FDS I get a
Destination 'AMFPHPDestination' must specify at least one adapter
error message when starting the server (Tomcat 5.5)

If I do a purely-client side entry of the endpoint in the
services.mxml instantiation I get other errors - and this is also not
a way I want to go as the endpoint URL would be exposed.

Renaud's examples don't seem to include cairngorm-ified versions as
was the case in the past and I haven't managed to crack this nut.

Thx,
Jamie

--- In flexcoders@yahoogroups.com, Patrick Mineault
[EMAIL PROTECTED] wrote:

 Hi all,
 
 I've finally gotten around to add AMF3 support to amfphp, so you can 
 finally use Flex 2's RemoteObject with it. To test the new features, 
 I've created a new Service Browser in Flex 2 which allows you to 
 introspect services and test methods on the fly. I need people to test 
 out the new AMF3 support.
 
 New/changed features:
 
 - $this-methodTable is DEAD. All methods in /services are now 
 considered remotely accessible, unless you set them to protected or 
 private (PHP5) or start the method name with an (_), in which case it 
 will throw an error. If you want to get a description of a method and 
 it's arguments without looking at the class itself, add JavaDoc to the 
 method and you should see it in the new Service Browser.
 - _authenticate is dead, as a side-effect of the removal of the 
 methodTable. You can secure methods by creating a special function 
 called beforeFilter($methodName) in your class and return false to 
 stop a method from being executed. (the _ and the beforeFilter are the 
 conventions used by CakePHP, so I figured I'd use those instead of 
 rolling my own).
 - Circular references in AMF0 and AMF3 should now work. Class mapping 
 code has been ported to the AMF3 code also. To use remote class
mapping, 
 use registerClassAlias or the [RemoteClass] metadata tag, then read the 
 instructions in advancedsettings.php
 - Returning a mysql_query will now return either an Array or an 
 ArrayCollection depending on the setting in gateway.php. Other database 
 types are currently unsupported in AMF3 mode (they will be supported as 
 soon as I am sure the AMF3 code is perfect).
 - You can send ByteArray, ArrayCollection and ObjectProxy instances as 
 arguments to remote methods. You will receive the result as a
string, as 
 the inner array and as the inner object, respectively. Currently there 
 is no way to send back these types to Flash, but there will be in the 
 next version.
 - /browser now brings up the brand spanking new Flex 2-based service 
 browser. You can test methods directly through it. If the method
returns 
 an array or arraycollection, the browser will attempt to show it in a 
 datagrid (sweet). Please feel free to modify servicebrowser.mxml (it's 
 very spaghetti-code-ish, but it works). You will need the Adobe corelib 
 to compile (google for the link)
 
 Limitations/things to keep in mind:
 
 - MySql works but not other databases
 - You can use a JSON string for arguments in the service browser. 
 However you must wrap object keys in quotes (a limitation of Adobe
corelib).
 - Paged recordsets don't work anymore
 - Only tested in PHP5. PHP4 might show issues with circular references.
 - Calling two methods on a remoteObject one after the other (during the 
 same frame) might not work.
 - Charles and ServiceCapture have some issues with AMF3 handling. You 
 might see strings which seem out of place in your output while it works 
 fine in Flash. I will notify the people involved. You might want to set 
 PRODUCTION_SERVER to true in gateway.php if this is a recurrent
problem, 
 in the meantime.
 - If you need to send to Flash a class and want it to be mapped to a 
 class in a package, you need to add a key to the class called 
 _explicitType with a value of com.mypackage.TheClass and use 
 registerClassAlias or [RemoteClass] as usual ( a limitation of php not 
 supporting packages)
 
 All that being said, I need testers. Please download it here:
 
 http://5etdemi.com/uploads/amfphp-1.9.alpha.zip
 
 (although it states it is amfphp 1.9, there will be no amfphp 1.9. 
 amfphp 2.0 will be amfphp 1.9 + JSON and possibly XML-RPC)
 
 If you run into any issues, please either:
 
 - Create a minimal test case which shows the reproducible bug, then
send 
 it to me.
 - In gateway.php, uncomment $gateway-logIncomingMessages and 
 logOutgoingMessages, create an in and an out folder and run it again. 
 Then send the log files (*.amf) to me.
 
 

[flexcoders] Re: Amfphp with AMF3 support: testers wanted

2006-12-18 Thread Jamie O
For the stand-alone basic .mxml I used a copy of the basic example
Renaud gave - with a different URL for the gateway which is located on
a separate server. For the cairngorm / FDS version, here are the
changes I made to the default FDS .xml files

1) In services-config.xml, add the service to the services section
beneath the 4 service include path links add the service:
services
service-include file-path=remoting-config.xml /
service-include file-path=proxy-config.xml /
service-include file-path=messaging-config.xml /
service-include file-path=data-management-config.xml /

service id=amfphp-service
 class=flex.messaging.services.RemotingService 
   messageTypes=flex.messaging.messages.RemotingMessage
destination id=AMFPHPDestination
channels
channel ref=my-amfphp/
/channels
properties
source*/source
/properties
/destination
/service
/services


2) In services-config.xml, Add to the channels section add the
following channel:
channel-definition id=my-amfphp
class=mx.messaging.channels.AMFChannel
endpoint
uri=http://externalURLaddress/amfphp/gateway.php;
class=flex.messaging.endpoints.AMFEndpoint/
/channel-definition

3) Here's the services.mxml remote object:
cairngorm:ServiceLocator 
xmlns:cairngorm=com.adobe.cairngorm.business.*
xmlns:mx=http://www.adobe.com/2006/mxml;

mx:RemoteObject 
id=roAMFPHPService
destination=AMFPHPDestination
source=AccountService
showBusyCursor=true
   mx:method name=checkLogin /
/mx:RemoteObject
/cairngorm:ServiceLocator

4) And the relevant parts of the login delegate which calls:
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.remoting.RemoteObject;
   
public class LoginDelegate
{
protected var service:RemoteObject;
protected var responder:Responder;

public function LoginDelegate(p_responder:Responder)
{
trace(LoginDelegate::constructor);

responder = p_responder;
service = ServiceLocator.getInstance().getService(AMFPHPDestination)
as RemoteObject;
}
   
public function CheckLogin():void {
trace(LoginDelegate::CheckLogin function -  + p_AttemptedUser.UserID);
service.addEventListener(ResultEvent.RESULT, CheckLogin_onResult);
service.addEventListener(FaultEvent.FAULT, CheckLogin_onFault);
service.checkLogin(UsernameTest, PasswordTest);
}
 
 protected function CheckLogin_onResult(event:ResultEvent):void
{
trace(LoginDelegate::CheckLogin_onResult - Output);
trace(event.result);
responder.onResult(new ResultEvent(ResultEvent.RESULT, false, true,
event.result));
service.removeEventListener(ResultEvent.RESULT, CheckLogin_onResult);
service.removeEventListener(FaultEvent.FAULT, CheckLogin_onFault);
}

And I receive the error Destination 'AMFPHPDestination' must specify
at least one adapter. The php service isn't anything special, just
give username / pass, validate in query to the mySQL DB and return a
specific data element if valid. I know from ServiceCapture and the
other version that I don't have an issue on that side.

Much thanks!
Jamie

--- In flexcoders@yahoogroups.com, Patrick Mineault
[EMAIL PROTECTED] wrote:

 Could you post the services_config.xml file you have?
 
 Patrick
 
 2006/12/18, Jamie O [EMAIL PROTECTED]:
 
Hello,
 
  I am able to do a stand-alone .mxml project using the samples you have
  provided and connect well to my php methods / backend database. The
  issue I have is when trying to deploy this as part of a Flex Data
  Services / Cairngorm app I can't get the remote object to allow
  compile or usage without error.
 
  Anyone have a cairngorm / FDS scope example for using AMFPHP 1.9?
 
  If I do the closest equivelent of adding the relevant contents of your
  services-config.mxml to the already created one for FDS I get a
  Destination 'AMFPHPDestination' must specify at least one adapter
  error message when starting the server (Tomcat 5.5)
 
  If I do a purely-client side entry of the endpoint in the
  services.mxml instantiation I get other errors - and this is also not
  a way I want to go as the endpoint URL would be exposed.
 
  Renaud's examples don't seem to include cairngorm-ified versions as
  was the case in the past and I haven't managed to crack this nut.
 
  Thx,
  Jamie
 
  --- In flexcoders@yahoogroups.com flexcoders%40yahoogroups.com,
Patrick
  Mineault
  patrick.mineault@ wrote:
  
   Hi all,
  
   I've finally gotten around to add AMF3 support to amfphp, so you can
   finally use Flex 2's RemoteObject with it. To test the new features,
   I've created a new Service Browser in Flex 2 which allows you to
   introspect

[flexcoders] Re: Database Connectivity - Why so hard?

2006-12-15 Thread Jamie O
Hey,

I looked through the pages but did not try the sample. My $0.02 on
code generators has always been that once you understand the entirety
of the code languages you are working with, they can be a great way to
save time and effort. But early in the learning process they tend to
cause one more harm then help as you don't grasp a lot of the W's
(where, what, why) the assisting elements are doing for you. This can
make debugging a bigger challenge, and integration of this to a more
vanilla approach can be quite cumbersome.

The same holds true for me with Flex / backend technologies...I'd like
to understand all the elements that code generator produces and be
able to produce them myself. I have made some headway in that
department using AMFPHP as the remote object gateway, PHP to make the
SQL calls to a mySQL database. I put a blog post together covering the
initial efforts and results I got:

http://www.oastler.ca/index.php/development/flex/20061213_flex-middleware-success-amfphp-and-mysql/

Thanks for the thoughts,
Jamie
--- In flexcoders@yahoogroups.com, greg h [EMAIL PROTECTED] wrote:

 Jamie,
 
 Have you seen this sample app?
 
 Automatically generating code for Flex 2 data access
 http://www.adobe.com/devnet/flex/articles/daoflex.html
 
 I believe it may cover your original request for an example
incorporating a
 mySQL database via JDBC with java remote objects to a Flex project,
 preferably involving FDS.
 
 Whether or not it qualifies as a simplistic example I can not say :-)
 
 Please post back whether you find the sample app above helpful.
 
 (fyi ... I currently am using neither Java on the back end nor FDS.)
 
 g





[flexcoders] Database Connectivity - Why so hard?

2006-12-11 Thread Jamie O
Does anyone out there have some simplistic examples of incorporating a
mySQL database via JDBC with java remote objects to a Flex project,
preferably involving FDS? Super++ bonus points if it uses myEclipse too!

My googling leads to quite a few things that have bits and pieces but
they all incorporate what seems like a lot of overhead (persistence
layers like Hibernate, Spring java framework, factories?, etc). I
haven't done much of any java programming before so perhaps that green
element is adding to the confusion.

For example purposes, I have four main cases of functionality I'd like
to get my head around:
1) Login - User provides username / password, system provides a unique
ID from the database if they are correct, or a null / error code if not.
2) Register - Validated user input passes object to create new user.
3) Display Contacts - Users unique ID passed to method to return
complete contact details.
4) Edit Contact Info - User unique ID and updated object data provided
to back-end for update. Returns updated contact.

I've tried PHP / RPC-XML and can get some functionality out of that,
but the java remote object route sounds to be the 'more better'
solution and also something a larger % of our company can support once
we get past the 'stumbling in the dark RD' phase.

I understand a lot of the reasons for OO to decouple functionality to
the extent that they do, but when I compare what ASP / PHP / etc of
non-RIA applications used to handle with database connectivity right
in the code, it seems like there is a heck of a lot of overhead just
to accomplish basic tasks.

Thx,
Jamie




[flexcoders] Extending Flex Web Services with WS-Security (WSS4J)

2006-12-05 Thread Jamie O
WS-Security is not supported by Flex out of the box. Has anyone
tackled this, or if not could someone give a high-level view of how
they might accomplish this? I can't seem to create a user in the Adobe
forums to post it to find out if this might be added in upcoming
support point release???

My thoughts on topic:
1) Manual creation of the SOAP Headers will not work because the token
has a set expiration time based on timestamp, username, password.
Building that logic up in the client app would expose the credentials
in the .swf.

2) Using Axis to create a proxy of the true WS-Secure web service
might be viable, but seems dumb to create a web service wrapper for an
already exposed web service. Plus, my knowledge on the java side is
limited and the googles on Eclipse WTP and doing this haven't yielded
much more than a headache.

3) With the FDS Plugin facet for Eclipse WTP in theory I can code both
java and mxml / as3 into one. If that is the case could I write a
component (SecureWS) to extend mx.rpc.soap.WebService to add the WSS4J
functionality I'm after. The user / pass parameters would then be
stored as part of the named proxy service on FDS. Everything secure
and connective.

Also something I'd happily share back to the community if I can get
some help on how I'd tackle #3.

Thx,
Jamie

[Thread History]
In a previous thread that was in danger of being fragmented, Seth
Hodgson wrote, WSSAddUsernameToken is part of the WSS4J API that
implements the OASIS WS-Security spec. The Flex web service stack on
the client doesn't currently support WS-Security out of the box, but
WS-Security is based on SOAP headers and you could probably build
these manually. Perhaps someone on the list has tackled this and has
code to share?

It was in response to my question, One of the next web services I'm
looking to integrate uses a username / password to create token via
WSSAddUsernameToken. Its package is org.apache.ws.security.message. Or
so the co-worker who has built connectivity to that out through J2EE
tells me.
 
Each client system connects with it's own user / pass combo. So I
believe I should be able to write these into the named proxy web
service connection (having issue with that also, put a separate post
out for it) on FDS to be secure.



[flexcoders] FDS Environment Challenge Questions!

2006-12-04 Thread Jamie O
Hello,

After a laborious day of uninstalling, re-installing, washing,
rinsing, repeating, I finally have my eclipse environment setup with
WTP, Java 1.5 and the FDS Plugin Project Peter Martin created. The
directory structure seems to make more sense to me, but have raised a
couple of questions in my brain - some of which are general Flex /
FDS, others are specific to WTP / Tomcat implementation:

1) Without using Peter's FDS Plugin, what is the easiest way to deploy
a FDS-enabled project as http://localhost:8080/ or
http://localhost:8080/ProjectName/? Every example I've been able to
find has it coming out of the flex.war as
http://localhost:8080/Flex/ProjectName/


2) When deploying using FDS compile on server option, how can you
configure your server to acknowledge
http://localhost:8080/HelloWorld/Main.mxml when
http://localhost:8080/HelloWorld/ is accessed? Default .mxml
parameters? I'd figure to use the index.htm with presentation similar
to the template when using a non-FDS enabled version but unclear where
to point the embed items to.


3) FDS Plugin Specific - How *should* one break down their content
w.r.t the directory structure provided? I was able to create a simple
sample (one event class, one valueobject, two component .mxml views
called from the Main.mxml. The only way I was able to get any to work
was with everything nested within sub-directories of the WebContent
folder. I'd expect I could use the [source_path]user_classes for .swc
but it didn't seem to play nice with pure .as files.

4) Same question as #3 but expand your example answer for a
Cairngorm-ified project.

5) How to turn all this into a deployable .war or .ear file on a
non-development machine? This is more a general java question but
figured I'd press my luck like that old tv show and make it a 5 pack
o' questions.

Thx,
Jamie



[flexcoders] Re: how many the classes of flex?

2006-11-30 Thread Jamie O
All your class are belong to flex? :P

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

 how many the classes of flex? ha.ha.





[flexcoders] Re: Announcing FlexSearch.org !

2006-11-30 Thread Jamie O
I had built one myself when CSE first came out. The issue I had then
was the number of blogs out there which regular google would turn up
that mine would not because I had not added them seemed significant
enough to ditch it.

I think having one person clean / control the list is invaluable to
prevent duplication of efforts, etc. If there were an 'Request URL XYZ
to be added' button / page, it would probably help the content
collection process.

Speaking of which - www.oastler.ca has my blog, RSS for Flex-related
items at http://www.oastler.ca/index.php/development/flex/feed/

Cheers,
Jamie

--- In flexcoders@yahoogroups.com, Andrew Trice [EMAIL PROTECTED]
wrote:

 Good work.  I think it could benefit from a search option that is a
combination of forums, blogs and LiveDocs, which could be the
default view.  I did a search, and the first thing I thought was why
does this only show forum answers?.
  
 -Andy
 www.cynergysystems.com
  
  
 
 
 
 From: flexcoders@yahoogroups.com on behalf of Clint Modien
 Sent: Thu 11/30/2006 7:55 AM
 To: flexcoders@yahoogroups.com
 Cc: Ben Lucyk
 Subject: [flexcoders] Announcing FlexSearch.org !
 
 
 
 I created an aggregation of developer content searchable via a few
Google custom search engines (CSE) to help the development community
find the answers to questions quicker.  It's located at:
 
  
 
 http://flexsearch.org http://flexsearch.org/Feedback appreciated.
 
  
 
 I want to be clear that this is a community based project.  I'll be
posting the site list in xml format so that you can see what sites are
in and what sites aren't in.  That way I can get feedback on what
other sites the CSE should be aggregating.
 
  
 
 Basically... If you hate it tell me why.  I'll fix it.  If you love
it tell me why we'll keep it that way.  You can tell me why via the blog.
 
  
 
 If you have ideas post comments on the blog I setup @
http://blogs.flexsearch.com http://blogs.flexsearch.com/ 
 
  
 
 Thanks!
 
  
 
  
 
  Clint Modien
 
 http://esria.com http://esria.com/ 
 
 p. 1.877.TRY.ESRIA ext 706
 
 c. 1.408.489.0750
 
 f. 1.877.828.4436
 
 [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]





[flexcoders] Re: need help about setup webservice in FDS

2006-11-30 Thread Jamie O
http://www.everythingflex.com/blog/1/2006/03/WebService-setup-for-FES.cfm
and
http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=60catid=583threadid=1177997highlight_key=ykeyword1=proxy
both chronicle the solution, but I'll admit it even took me a while to
see what was the source of my issue. 

In order to access the named services you must chose the project
option to build your files on the server. If you build locally it
doesn't see the named connection. Although the everythingflex article
claims If you wish to use a named service within FlexBuilder (non 
FDS application) you will need to add an argument to your Flex
Compiler arguments under the project properties:
mxmlc --services=./mypath/to/flex-enterprise-services.xml etc I
haven't tested.

But my issue was resolved by building on server. Hope yours does too.


--- In flexcoders@yahoogroups.com, Jamie O [EMAIL PROTECTED] wrote:

 I have had an identical issue that I'm unable to resolve. Here are the
 4 samples I've tried in my proxyConfig.xml file:
 destination id=DefaultHTTP
   properties
   dynamic-urlhttp://URLGOHERE/WS.asmx?WSDL/dynamic-url
   /properties
 /destination
 
 destination id=Sample0
   properties
   dynamic-urlhttp://URLGOHERE/WS.asmx?WSDL/dynamic-url
   /properties
 /destination
 
 destination id=Sample1
   properties
   wsdlhttp://URLGOHERE/WS.asmx?WSDL/wsdl
   soap*/soap
   /properties
   adapter ref=soap-proxy/
   /destination
 
 destination id=Sample2 adapter=soap-proxy
  properties
  wsdlhttp://URLGOHERE/WS.asmx?WSDL/wsdl
  soaphttp://URLGOHERE/WS.asmx?WSDL/soap
 /properties
   /destination
 
   destination id=Sample3 adapter=soap-proxy
   properties
  wsdlhttp://URLGOHERE/WS.asmx?WSDL/wsdl
  soaphttp://URLGOHERE/WS.asmx?WSDL/soap
   /properties
   channels
   channel ref=my-amf/
   /channels
   /destination 
 
 I've tried with the soap-proxy as default=true and the general
 state. When I call the URL direct from a web service it does work. As
 soon as I try to do the named proxy approach, it fails.
 
 What am I missing??? I bet it's obvious :(
 Jamie
 
 --- In flexcoders@yahoogroups.com, nmsflex nmsflex@ wrote:
 
  
  i have .net web service api example
  
  http://190.100.1.102/ws/Service.asmx
  
  wsdl address: http://190.100.1.102/ws/Service.asmx?WSDL
  
  is anyone can show me how to set up webservice in fds to access 
  my .net web service api
  
  if configure flex-proxy-service.xml by adding 
  
  destination id=myWS adapter=soap-proxy
 properties
  wsdlhttp://190.100.1.102/ws/Service.asmx?WSDL/wsdl
  soaphttp://190.100.1.102/ws/Service.asmx/soap
 /properties
 channels
  channel ref=my-amf/
/channels
  /destination 
  
  but i still get error when i run my app
   Error: can not send and can not load success wsdl
  
  Thanks
 





[flexcoders] Re: need help about setup webservice in FDS

2006-11-29 Thread Jamie O
I have had an identical issue that I'm unable to resolve. Here are the
4 samples I've tried in my proxyConfig.xml file:
destination id=DefaultHTTP
properties
dynamic-urlhttp://URLGOHERE/WS.asmx?WSDL/dynamic-url
/properties
/destination

destination id=Sample0
properties
dynamic-urlhttp://URLGOHERE/WS.asmx?WSDL/dynamic-url
/properties
/destination

destination id=Sample1
properties
wsdlhttp://URLGOHERE/WS.asmx?WSDL/wsdl
soap*/soap
/properties
adapter ref=soap-proxy/
/destination

destination id=Sample2 adapter=soap-proxy
 properties
 wsdlhttp://URLGOHERE/WS.asmx?WSDL/wsdl
 soaphttp://URLGOHERE/WS.asmx?WSDL/soap
/properties
/destination

destination id=Sample3 adapter=soap-proxy
properties
 wsdlhttp://URLGOHERE/WS.asmx?WSDL/wsdl
 soaphttp://URLGOHERE/WS.asmx?WSDL/soap
/properties
channels
channel ref=my-amf/
/channels
/destination 

I've tried with the soap-proxy as default=true and the general
state. When I call the URL direct from a web service it does work. As
soon as I try to do the named proxy approach, it fails.

What am I missing??? I bet it's obvious :(
Jamie

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

 
 i have .net web service api example
 
 http://190.100.1.102/ws/Service.asmx
 
 wsdl address: http://190.100.1.102/ws/Service.asmx?WSDL
 
 is anyone can show me how to set up webservice in fds to access 
 my .net web service api
 
 if configure flex-proxy-service.xml by adding 
 
 destination id=myWS adapter=soap-proxy
properties
   wsdlhttp://190.100.1.102/ws/Service.asmx?WSDL/wsdl
   soaphttp://190.100.1.102/ws/Service.asmx/soap
/properties
channels
 channel ref=my-amf/
   /channels
 /destination 
 
 but i still get error when i run my app
  Error: can not send and can not load success wsdl
 
 Thanks





[flexcoders] Re: role based security vs session based security with a servlet container

2006-11-29 Thread Jamie O
Just like Red Two in Star Wars Episode 3 I'll try to Stay on Target
Stay on Target and not hijack this thread. Like Hank I'm sometimes
feeling the 'newb' factor.

One of the next web services I'm looking to integrate uses a username
/ password to create token via WSSAddUsernameToken. Its package is
org.apache.ws.security.message. Or so the co-worker who has built
connectivity to that out through J2EE tells me.

Each client system connects with it's own user / pass combo. So I
believe I should be able to write these into the named proxy web
service connection (having issue with that also, put a separate post
out for it) on FDS to be secure.

Is this the 'J2EE auth' of which you speak? From my googles it seems a
fairly standard approach, still lost on the FDS side as to how to
integrate such things.

Thx,
Jamie

--- In flexcoders@yahoogroups.com, Seth Hodgson [EMAIL PROTECTED] wrote:

 Hi Hank,
 
 How do you do your logins now against your account database? You're
not using general J2EE auth?
 
 Role based security in FDS just wraps the existing J2EE auth
machinery provided by your app server. You can code your login UI in
your Flex app and before any calls or data exchange are permitted
through a protected destination authentication will be performed
automatically using the credentials you've specified via
setCredentials(). You add a security constraint to a destination like
so (only users who are members of the 'admin' role are allowed access
in this case):
 
 destination id=...
   security
  security-constraint ref=admins /
   /security
   ...
 /destination
 
 The actual authentication is performed via an app server specific
login command class. FDS ships with implementations for all supported
servers. The command class to use is specified in the security section
of the core config file like so:
 
 security
   login-command class=flex.messaging.security.JRunLoginCommand
server=JRun/
   ...
 
 I'd recommend using J2EE auth as opposed to trying to role some
other custom approach. When security is involved it's really best to
use existing libraries and frameworks that have been heavily tested
(J2EE auth for instance), because bugs in this area tend to be more
dangerous than bugs in your UI code.
 
 HTH,
 Seth
 
 
 From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED]
On Behalf Of hank williams
 Sent: Tuesday, November 28, 2006 10:01 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] role based security vs session based security
with a servlet container
 
 I am trying to figure out the best way of implementing security 
authentication. I am using tomcat, and FDS at the moment for remoting.
My server side code is obviously in java.
 
 A while back, role base security was recommended as the way to
implement security. The idea being that if someone did not have the
right credentials that they would be prevented from gaining access to
the flex app. But my problem with this is that I want to do my
authentication UI *in* flex, so I can't prevent people from getting to
it before I have had a chance to authenticate. Another problem with
the role based stuff is that, as I understand it, roles are maintained
by the container. I am not clear how to use my account database
(JDBC/Mysql) in this process. 
 
 What seems easier to me is using sessions, because I can, from any
server side function, request the current session of the given user. I
can look to see if their session is valid, how long they have been
logged on, etc. And using this methodology, I can do login in the flex
application, which just sends a login message to the server, the
server adds a record to my session record that indicates that I am
logged in and when I logged in. 
 
 This second approach seems like the best approach and the one that
gives me the most flexibility. But I am looking for validation
regarding my approach here.  Am I doing something wrong here? Are
there some reasons that the role based security would be better? 
 
 Any insight from people better versed in security than I am would be
greatly appreciated.
 
 Hank





[flexcoders] Re: Securing WebServices

2006-11-24 Thread Jamie O
I'm running into a few similar issues and curious what the most
knowledgeable minds in the group have to say.

My understanding at this point says that Cairngorm gives you the
service locator and other framework aspects you're seeking, but Flex
Data Services is really where the best security solutions lie at this
point.

Creating a named proxy service destination in FDS that is referenced
in your service on the client side. The actual WS URL is not exposed
for decompilation risk, and your crossdomain.xml would doubly ensure
only the clients / environments you intend access.

Jamie

--- In flexcoders@yahoogroups.com, Sebastian Zarzycki [EMAIL PROTECTED] wrote:

 What kind of standards does Flex2 web services implementation support? 
 Which version of Soap, any WS- Standards?
 
 I'm trying to solve basic problem of securing access to my
webservice on 
 server. I would like to use WS-Security standard,
 but I'm afraid, there's no way for Flex to send proper request? Simple 
 webservice support in Flex may be not enough in the future...
 Is this a matter of just writing some additional AS3 classes to extend 
 WS, or the internal flash/flex design?
 
 How to solve such problem then? What is your solution? Most obvious one 
 that comes to my mind is to ask server for login,
 server generates token for client, and client uses his token. But this 
 means that I have to add this token parameter to *every*
 webservice method. This is not acceptable, as I want (in fact, my 
 customer wants)  my services to be free of such things. Authorization
 should be transparent (but flexible).  Then again I could have one big 
 thing, ServiceLocator or something like that, so that
 every client request will point to this one (so authorization is in one 
 place), with real service name as parameter. This is even
 harder to implement.
 
 So, any ideas?
 
 -- 
 | Sebastian Zarzycki / rat[tkin]






[flexcoders] Re: Can I have an image on every datagrid row

2006-11-23 Thread Jamie O
Example:

mx:DataGrid 
dataProvider={dataSource} 
rowHeight=40 
dragEnabled=true 
height=140
mx:DataGridColumn headerText=Image dataField=image
mx:itemRenderer
mx:Component
mx:Image source={data.image}/
/mx:Component
/mx:itemRenderer
/mx:DataGridColumn
/mx:DataGrid

--- In flexcoders@yahoogroups.com, arpan srivastava [EMAIL PROTECTED]
wrote:

 Hi 
 Can I have an image on every datagrid row. I used Image class
but, I cannot add the image object into a FlexShape of which my
datagrid row is made.






[flexcoders] Flex Data Services / Eclipse / Tomcat - Installation Guide

2006-11-23 Thread Jamie O
Just when the learning curve felt like it was starting to taper off -
likely a minor slope change - I decided to put another 1/2 dozen
technologies into the mix just to challenge myself. No really, doing
this WILL allow me to do complete end-to-end development from database
to middleware to front-end. I thought my learnings might be valuable
for a few others out there in Flexcoder land. Don't let this be
construed as saying I yet fully comprehend all of what I've managed to
do, just that I've hooked up the pieces and it seems to work as a
foundation.

Several posts on FlexCoders lead me to believe this is a non-obvious
process - which I can believe. So if you are interested, I've put
together a blog post -
http://www.oastler.ca/index.php/flex/20061123_flex-data-services-with-myeclipse-tomcat/
- with the details on what I've managed to do. The post covers the
following installations:

- Java Dev Kit 1.4.2.13 - The foundation upon which all of my future
pain will be built.
- Eclipse 3.1.2 - Same version as the Flex IDE was based on is required.
- MyEclipse 4.1.1 - Not exactly sure why I need this, but co-workers
indicate it will help.
- Flex 2 Eclipse Plug-In - Just another installation of Flex 2 as the
plugin for Eclipse.
- Tomcat 5.5.20 - I thought this came with MyEclipse, only the ability
to connect does.
- Flex Data Services - Install without the integrated JRun option, as
a series of .war files.
- Connect the dots, la, la, la.

Cheers,
Jamie





[flexcoders] Data Driven Method Calls / Change Watcher

2006-11-16 Thread Jamie O
Hello,

While Occam's Razor may posit that, one should embrace the less
complicated formulation, it provides no basis for understanding how
to develop that least complicated solution. If you want to call a
method of a component when the content of a particular variable that
is bound to by a public property within that component changes, use a
ChangeWatcher.

I've wrote a more detailed blog entry
(http://www.oastler.ca/index.php/flex/20061116_data-driven-method-calls-change-watcher/)
on the topic for those who are finding it difficult to isolate the
component without taking all the spaghetti code with it. This is what
the message thread -
http://tech.groups.yahoo.com/group/flexcoders/message/56103 - was
dealing with.

As I run into additional challenges and find solutions for them, I'll
share my knowledge at http://www.oastler.ca/index.php/category/flex/

Cheers,
Jamie




[flexcoders] Encapsulating Components Tutorial

2006-11-16 Thread Jamie O
Hi,

I've put together a tutorial on how to create .swc components in Flex
2 using the Flex Library Project type at
http://www.oastler.ca/index.php/flex/20061116_encapsulating-components-libraries-swcs/

For those on the learning curve of discovering Flex 2, fear
not...There are others out there who have shared in your struggles and
are trying to share our knowledge. If you have resources / ideas to
share, make sure to post them.

All of my flex related blog learnings can be found at
http://www.oastler.ca/index.php/category/flex/

Cheers,
Jamie




[flexcoders] Manipulating ComboBox.selectedItem issues

2006-11-16 Thread Jamie O
I have two combo boxes listening to array collections for their data
providers. When the user selects one entry in the first combo box, the
eventHandler on first combo box change() event will drive what data
should be populated into the array collection for the other combo box.
That part all works fine, code snippets are below.

Everything I've managed to find on using ComboBox.selectedItem has
been a .data or .label or LabelFunction sample and simplistic. What
happens when you have multiple data elements within the entry of an AC
which is dataprovider for a combobox? How come the labelFunction can
return the unique element but I can't access those unique elements for
selectedItem?

mx:ComboBox id=cmbNumber width=100 left=10 top=15
prompt=Select change=PrepareAddress()
dataProvider={Content.acStreetNumbers}/

mx:ComboBox id=cmbStreet width=200 left=118 top=15
prompt=Select labelFunction=drawStreet change=StreetHandler()
dataProvider={Content.acStreetNames}/

private function StreetHandler():void {
Content.acStreetNumbers.removeAll();

for each (var numberRangeXML:XML in SourceXML.Street.(@Name ==
cmbStreet.selectedItem.streetname).NumberRange) {
var i:int;
for (i = int([EMAIL PROTECTED]); i = int([EMAIL PROTECTED]); i =
i + 1) {
Content.acStreetNumbers.addItem(i);
}
}
}

Here's the loop I use to populate the Content.acStreetNames array:
for each (var streetXML:XML in SourceXML.Street) {
var newStreet:Object = new Object();
newStreet.streetlabel = [EMAIL PROTECTED] +   + [EMAIL PROTECTED] +  

+ [EMAIL PROTECTED];
newStreet.streetname = [EMAIL PROTECTED]();
newStreet.streettype = [EMAIL PROTECTED]();
newStreet.streetdir = [EMAIL PROTECTED]();
Content.acStreetNames.addItem(newStreet);
}

My labelFunction 'drawStreet' picks up the streetlabel variable just
fine. The issue I have is that in another use case for this component,
I want to pre-populate what is displayed in the fields. I can make
cmbStreet.text and cmbNumber.text include the data, but that's a hack
because it isn't truly driven on the underlying data. As a result if
you look into the drop-down for cmbNumber you won't see any entries.

cmbStreet.selectedLabel is read-only so can't be modified for my use.

Modifying cmbStreet.selectedItem with data I know is in the underlying
AC does not seem to trigger the effect.

Modifying cmbStreet.selectedItem.streetname - what I would have
expected to work - gets me a Error #1009: Cannot access a property or
method of a null object reference. on execution.

Even building an entire object to use against selectedItem doesn't work.




[flexcoders] Re: cairngorm: calling a function in a view

2006-11-08 Thread Jamie O
My view has a SWC component within it, so parsing the XML in the
command or anywhere within the program is not an option. I pass the
XML to the component and call it's parseXML method() to have it
update. I did manage to find another thread much earlier in this
discussion that - although not recommended from an encapsulating code
best practices point of view - temporarily resolves my issue. In my
command I execute the views component method directly:

Application.application.viewstackNameHere.getChildByName(viewNameHere).ComponentID.ParseXML();

Later on, I'll get some consulting time with someone smarter in the
ways of cairngorm and Flex than myself to help re-factor the code and
post the 'proper' method to this. From what I've read it is an issue
for a number of others.

Thanks,
Jamie




--
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: ItemRenders with Lists / Nested Array Objects

2006-11-07 Thread Jamie O
Found my own answer. I posted summary and code snippets at
http://www.oastler.ca/index.php/flex/20061107_getting-a-little-rr-repeaters-renderers/

Late night issue = easy early morning solution :)




--
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: cairngorm: calling a function in a view

2006-11-07 Thread Jamie O
I believe Observe / Value is what I want to use for a current
challenge, but try as I might, I just cannot seem to wrap my head
around it. Hoping someone could take another kick at the cat to
explain it in context of the following situation:

My component (SWC) is defined inside a view and has a public property
that is databound to my modelLocator for it's XML source. When the
right data conditions are met internally it broadcasts an addressEvent
with all user selected data.
pcall:pcall id=PointofCall left=10 top=50
postcodeXML={ModelLocator.getInstance().PointOfCall.postcodeXML}
AddressEvent=AddressEventHandler(event) /

When the user provides input data, I broadcast a search event and
receive the updated XML from the services / delegator. There is a
public method - currently titled Update() - in the component to parse
the XML and build up it's display accordingly. Within the view I can
bind a button to that Update() function and the parsing goes smooth.

mx:Button x=333 y=10 label=Button click={PointofCall.Update()}/

But the problem is that I only know when the data is updated in the
onResult method of my command that sent the data off in the first place.

How do I - in a command - trigger the method of a component on a view?

Thanks,
Jamie

--- In flexcoders@yahoogroups.com, Tim Hoff [EMAIL PROTECTED] wrote:
  Hi Alex,
  
  Thank you very much for addressing this topic in your blog. Using 
  observe and ObserveValue seems much cleaner than 
  viewLocator/viewHelper; more direct and less classes. Your 
 examples 
  illustrate a very useful technique for manipulating local view 
  states through binding. I wasn't however, able to view the source 
  for Iteration6. It shows a partial listing of the application mxml 
  class, but no other classes and download options.
  
  Kudos,
  -TH





--
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: cairngorm: calling a function in a view

2006-11-07 Thread Jamie O
I'm sorry, I think you might have just broke my brain :( Or maybe my
grasp on Cairngorm isn't quite as strong as I thought it. The root of
my understanding is based on Jesse (JesterXL)'s example with quite a
few modifications.

I built the parse() method inside the component as it would get into
nested arrays and storing a lot of variables in the global program
that don't have value to do it the other way. Plus, from an OO
perspective I think that is more sound, I can give the SWC to another
developer along with sample XML format to provide to it. Make sense no?

Part of this may be the 'many ways to skin a cat' challenge that
Cairngorm is more a frame on which to hang your code rather than
something that forces you to program in a particular manner.

Any samples of methods on the model and calling components / their
getters / setters from views would be valuable.

Thx,
Jamie

--- In flexcoders@yahoogroups.com, Bjorn Schultheiss
[EMAIL PROTECTED] wrote:

 Ideally your pase() method should be on the model, with the view
only used
 to render passed data via databinding the parsed value from the
model to the
 dataprovider of the view.
 
  
 
 Regards,
 
  
 
 Bjorn Schultheiss
 
 Senior Flash Developer
 
 QDC Technologies
 
  
 
 From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
 Behalf Of Jamie O
 Sent: Wednesday, 8 November 2006 9:57 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Re: cairngorm: calling a function in a view
 
  
 
 I believe Observe / Value is what I want to use for a current
 challenge, but try as I might, I just cannot seem to wrap my head
 around it. Hoping someone could take another kick at the cat to
 explain it in context of the following situation:
 
 My component (SWC) is defined inside a view and has a public property
 that is databound to my modelLocator for it's XML source. When the
 right data conditions are met internally it broadcasts an addressEvent
 with all user selected data.
 pcall:pcall id=PointofCall left=10 top=50
 postcodeXML={ModelLocator.getInstance().PointOfCall.postcodeXML}
 AddressEvent=AddressEventHandler(event) /
 
 When the user provides input data, I broadcast a search event and
 receive the updated XML from the services / delegator. There is a
 public method - currently titled Update() - in the component to parse
 the XML and build up it's display accordingly. Within the view I can
 bind a button to that Update() function and the parsing goes smooth.
 
 mx:Button x=333 y=10 label=Button
click={PointofCall.Update()}/
 
 But the problem is that I only know when the data is updated in the
 onResult method of my command that sent the data off in the first place.
 
 How do I - in a command - trigger the method of a component on a view?
 
 Thanks,
 Jamie
 
 --- In flexcoders@yahoogroups.com
mailto:flexcoders%40yahoogroups.com ,
 Tim Hoff TimHoff@ wrote:
   Hi Alex,
   
   Thank you very much for addressing this topic in your blog. Using 
   observe and ObserveValue seems much cleaner than 
   viewLocator/viewHelper; more direct and less classes. Your 
  examples 
   illustrate a very useful technique for manipulating local view 
   states through binding. I wasn't however, able to view the source 
   for Iteration6. It shows a partial listing of the application mxml 
   class, but no other classes and download options.
   
   Kudos,
   -TH






--
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: A navigation question.. best practise?

2006-11-06 Thread Jamie O
I've done what Bjorn recommends for a project and have a follow-up
$0.02 or question. I created an event type NavigateURL which I
broadcast from the event handlers for my buttons in the views. The
command for this event type then updates my modelLocator property
(app_State).

Question is...Is this a case of loose coupling overkill or a
worthwhile process???

The Command code:
package com.post.commands
{
import com.adobe.cairngorm.business.Responder;
import com.adobe.cairngorm.commands.Command;
import com.adobe.cairngorm.control.CairngormEvent;
import com.post.model.ModelLocator;

public class NavigateCommand implements Command, Responder {
public function execute(p_event:CairngormEvent):void {
trace(NavigateCommand::execute function, p_event.type:  + p_event.type);

switch(p_event.type) {
//Redirect the user to the Intro view - Intro.mxml
case NavigateEvent.NAVIGATE_INTRO:
ModelLocator.getInstance().app_state = ModelLocator.STATE_INTRO;
break;

//Redirect the user to the Register view - Register.mxml
case
NavigateEvent.NAVIGATE_REGISTER:
ModelLocator.getInstance().app_state = ModelLocator.STATE_REGISTRATION;
break;

//Redirect the user to the Login view - Login.mxml
case NavigateEvent.NAVIGATE_LOGIN:
ModelLocator.getInstance().app_state = ModelLocator.STATE_LOGIN;
break;
}
}

And the event itself:
package com.post.events {
import com.adobe.cairngorm.control.CairngormEvent;

public class NavigateEvent extends CairngormEvent {
public static var NAVIGATE_INTRO:String = navigateIntro;
public static var NAVIGATE_LOGIN:String = navigateLogin;
public static var NAVIGATE_REGISTER:String = navigateRegister;

public var strUser:String;
public var strPass:String;

public function NavigateEvent(p_NavType:String) {
//Constructor function which receives the Navigation Type
//from the view calling the event via the controller.
//Results in a separate function in the NavigateCommand executing.
super(p_NavType, false, true);

}
}
}


Add the events / command association in the controller:
addCommand(NavigateEvent.NAVIGATE_REGISTER, NavigateCommand);
addCommand(NavigateEvent.NAVIGATE_LOGIN, NavigateCommand);
addCommand(NavigateEvent.NAVIGATE_INTRO, NavigateCommand);

--- In flexcoders@yahoogroups.com, bjorn.schultheiss
[EMAIL PROTECTED] wrote:

 Hi Michelle,
 
 Have a go at using the viewStack container.
 create a property:Number in your modelLocator and bind the
 selectedIndex property of your viewstack to the property on your model
 Locator.
 for example
 
 mx:ViewStack
 selectedIndex={ModelLocator.getInstance().currentViewIndex} 
 
 check out some of the examples on Alex Ulhmanns blog or try
 cairngormdocs.org :)
 
 Bjorn
 
 --- In flexcoders@yahoogroups.com, Michelle Grigg michellejg@
 wrote:
 
  Greetings,
  
  I am having a bit of a problem working out exactly how to navigate
  through my application which will be using the Cairngorm 2
 architecture.  
  
  It currently has the following views: a Login page, a Task List, a 
  Task and a Finish page.  The task list can have any where up to 8
  tasks displayed so the user will be switching between Task List and
  Task quite often.
  
  The flow between these views will be accessed through button events
  (ie, login button, or a start button to start the task etc).  There
  will be only one View shown to the user at any one time.
  
  I hope that all makes sense.
  
  Anyhoo.
  
  I have read about both the ModelLocator and also
  ViewHelper/ViewLocator, and am yet to have that warm and fuzzy moment
  where everything just suddenly makes sense, and thus know which is to
  be used where.
  
  So my question:  What would be the best way to go about handling the
  change of Views within this application?
  
  Thanks in advance,
  Michelle
 






--
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] ItemRenders with Lists / Nested Array Objects

2006-11-06 Thread Jamie O
Trying to use a list and ItemRenderer to display output of a
HTTPService called XML file. The issue is that the XML can have
between 1 - 3 'Date' nodes and 1 - 3 'Location' nodes per 'Show'. I
think some sort of repeater / loop is required but my attempts thus
far have not gone well.

The source included does display all the data to the screen, just in a
fugly manner. If someone can offer tips on the itemRepeater process
for lists, most of what I've seen is pointed for dataGrids and I've
been unable to repurpose.
--
XML Source:
--
Shows
Show Title=Name here
Date Time=January 30, 2006 - 10am to 5pm/
Date Time=January 31, 2006 - 11am to 3pm/
Location Place=Building/
Location Place=City, Prov/
/Show
/Shows

--
onResult function:
--
public function onResult(event:*=null):void {
var ShowsXML:XML = new XML(event.result);
trace (ShowsXML);
for each (var Show:XML in ShowsXML.Show) {
var newShow:ShowVO = new ShowVO();
newShow.Title = [EMAIL PROTECTED];
for each (var ShowDates:XML in Show.Date) {
newShow.Dates.addItem([EMAIL PROTECTED]);
}
for each (var ShowLocations:XML in Show.Location) {
newShow.Locations.addItem([EMAIL PROTECTED])
}
ModelLocator.getInstance().Shows.addItem(newShow);
}
}

--
ShowVO Package:
--
import mx.collections.ArrayCollection;

[Bindable]
public class ShowVO {
public var Title:String = new String();
public var Dates:ArrayCollection = new ArrayCollection();
public var Locations:ArrayCollection = new ArrayCollection();
}
--
Main .mxml:
--
mx:VBox label=Shows amp; Tours width=100% height=100%
mx:Text width=100% text=You can find us here: textAlign=center
color=#ff/
mx:List id=myList rowHeight=75 width=100% height=100% 
itemRenderer=renderers.ShowTour
dataProvider={ModelLocator.getInstance().Shows}/
/mx:VBox

--
renderers.ShowTour:
--
mx:VBox xmlns:mx=http://www.adobe.com/2006/mxml;
horizontalAlign=center
mx:Label text={data.Title} textAlign=center fontStyle=bold/
mx:Label text={data.Dates} textAlign=center
fontStyle=italic/mx:Label text={data.Locations}
textAlign=center/
/mx:VBox





--
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: Why shouldnt you use a specific event type for a command.execute in cairngor

2006-10-31 Thread Jamie O
If you have one 'Search' event being broadcast from a view that can
search in multiple ways depending on user interaction, perhaps it's
searching different resources depending on a radio button perhaps?
Then you could use the same broadcast event and evaluate the event
data to call different services accordingly.

I have one 'Navigate' event that the majority of my views call and
pass a constant within that so the command picks that out and updates
my model app_State as a result. The main view stack monitors that
state. Keeps the views clean of any data manipulation.

--- In flexcoders@yahoogroups.com, Rick Schmitty [EMAIL PROTECTED] wrote:

 Thanks for the replies, appreciate it.  Could you give a for example
of a
 command that would handle different types of events?
 
 I'm thinking of a command as a specific task (which in my world..so
far..
 has been a specific event) I think I have some tunnel vision here...
 




--
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: Hide tabs in tabBar

2006-10-27 Thread Jamie O
I was able to do the equivelent of what you're trying to do via a
TabBar and separate viewstack by making the selected child of the
stack visible = false, but not your specific challenge. The .show
event was valuable for that.

This is one I'd also like to see answered!

J
--- In flexcoders@yahoogroups.com, KP [EMAIL PROTECTED] wrote:

 Well I have a TabNavigator which contains 3 tabs on basis of some
condition
 I want to hide two tabs and show only one tab.
 
 Although I can  disable them but not hide them.the visible property
does not
 work it seems.
 
  
 
 Can some one show me some kind of approach on this one. 
 
  
 
 Cheers
 
 Kumar






--
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: Cairngorm / Webservice / E4X XML Output

2006-10-26 Thread Jamie O
Yes, it displays XML and cannot access nodes.
Here's the heading elements of the returned XML from a trace:
PostalCodeLookupResponse
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
xmlns:xsd=http://www.w3.org/2001/XMLSchema;
xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;
xmlns=[CorporateNSAddressRemoved]
PostalCodeLookupResult Value=K7M 6B2 ProvinceCode=ON
Municipality Name=KINGSTON
.
/Municipality
/PostalCodeLookupResult
/PostalCodeLookupResponse

I have been able to reference via 
postalcodeXML.*::[EMAIL PROTECTED] but when I have to put
the wildcard and result and such on every node it seems kind of
laborious. I figured there would be a way to make the default hold up
which I haven't yet managed.

--- In flexcoders@yahoogroups.com, ben.clinkinbeard
[EMAIL PROTECTED] wrote:

 Does the Alert.show(postcodeXML) display the xml and you're just not
 able to get nodes within it? Does the returned xml contain namespaces?
 If you can post the resulting xml and the code you're using to try and
 access individual nodes it will be easier to diagnose your issue.
 
 Ben
 
 
 --- In flexcoders@yahoogroups.com, Jamie O jamie.oastler@ wrote:
 
  I've tried pretty much every sample I can find out there on the
  interweb and just can't seem to get things to play nice with my web
  service to allow me to get at individual nodes / elements using E4X.
  If anyone can suggest something, it would be REALLY appreciated.
  
  I've got:
  -an event broadcasting to the controller (not shown) working fine.
  -execute the search command (not shown) working fine.
  -executing the webservice request (shown) working fine.
  -receiving the webservice response (shown) working fine.
  -Accessing specific nodes / attributes in the response not working!
  -If I use a HTTPService to a direct XML file, e4x is ok.
  
  [SERVICE DEFINITION MXML]
  mx:WebService id=addressWSService wsdl=[RemovedPath]?WSDL
  makeObjectsBindable=false showBusyCursor=true useProxy=false
  mx:operation name=PostalCodeLookup resultFormat=e4x
  mx:request
  PostalCode
  K7M6B2
  /PostalCode
  /mx:request
  /mx:operation
  /mx:WebService
  
  [DELEGATE DEFINITION ACTIONSCRIPT]
  service = ServiceLocator.getInstance().getService(addressWSService)
  as WebService;
  
  public function LocateAddress(p_PostalCode:String):void
  {
  service.addEventListener(ResultEvent.RESULT, LocateAddress_onResult);
  service.addEventListener(FaultEvent.FAULT, LocateAddress_onFault);
  var o:AbstractOperation = service.getOperation(PostalCodeLookup);
  o.arguments.PostalCode = p_PostalCode;
  service.PostalCodeLookup();
  }
  
  protected function LocateAddress_onResult(event:ResultEvent):void
  {
  trace(AddressWSDelegate::LocateAddress_onResult);
  responder.onResult(new ResultEvent(ResultEvent.RESULT, false, true,
  event.result));
  }
  
  [SEARCH COMMAND ACTIONSCRIPT]
  protected function searchPostalCode(p_postalcode:String):void
  {
  getDelegate().LocateAddress(p_postalcode);
  }
  
  protected function getDelegate():AddressWSDelegate
  {
  return new AddressWSDelegate(this);
  }
  
  public function onResult(event:*=null):void
  {
  trace(SearchCommand::onResult);
  var postcodeXML:XML = new XML(event.result);
  Alert.show(postcodeXML);
  }
  
  Overall the structure of this app is pretty close to Jesse Wardens
  Amazon sample but that one goes to an array rather than working with
  e4x which I would like to.
 






--
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] Cairngorm / Webservice / E4X XML Output

2006-10-25 Thread Jamie O
I've tried pretty much every sample I can find out there on the
interweb and just can't seem to get things to play nice with my web
service to allow me to get at individual nodes / elements using E4X.
If anyone can suggest something, it would be REALLY appreciated.

I've got:
-an event broadcasting to the controller (not shown) working fine.
-execute the search command (not shown) working fine.
-executing the webservice request (shown) working fine.
-receiving the webservice response (shown) working fine.
-Accessing specific nodes / attributes in the response not working!
-If I use a HTTPService to a direct XML file, e4x is ok.

[SERVICE DEFINITION MXML]
mx:WebService id=addressWSService wsdl=[RemovedPath]?WSDL
makeObjectsBindable=false showBusyCursor=true useProxy=false
mx:operation name=PostalCodeLookup resultFormat=e4x
mx:request
PostalCode
K7M6B2
/PostalCode
/mx:request
/mx:operation
/mx:WebService

[DELEGATE DEFINITION ACTIONSCRIPT]
service = ServiceLocator.getInstance().getService(addressWSService)
as WebService;

public function LocateAddress(p_PostalCode:String):void
{
service.addEventListener(ResultEvent.RESULT, LocateAddress_onResult);
service.addEventListener(FaultEvent.FAULT, LocateAddress_onFault);
var o:AbstractOperation = service.getOperation(PostalCodeLookup);
o.arguments.PostalCode = p_PostalCode;
service.PostalCodeLookup();
}

protected function LocateAddress_onResult(event:ResultEvent):void
{
trace(AddressWSDelegate::LocateAddress_onResult);
responder.onResult(new ResultEvent(ResultEvent.RESULT, false, true,
event.result));
}

[SEARCH COMMAND ACTIONSCRIPT]
protected function searchPostalCode(p_postalcode:String):void
{
getDelegate().LocateAddress(p_postalcode);
}

protected function getDelegate():AddressWSDelegate
{
return new AddressWSDelegate(this);
}

public function onResult(event:*=null):void
{
trace(SearchCommand::onResult);
var postcodeXML:XML = new XML(event.result);
Alert.show(postcodeXML);
}

Overall the structure of this app is pretty close to Jesse Wardens
Amazon sample but that one goes to an array rather than working with
e4x which I would like to.




--
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] Google Flex Development Search Engine

2006-10-24 Thread Jamie O
Hello,

Google just deployed a new 'co-op' search engine feature. Basically
you setup a unique list of websites you want search results to be
pulled from. I've created a new one focused on Flex 2, Cairngorm and
related RIA development. Initially it has most of the major blogs,
flexcoders, adobe sites, but is setup that anyone can sign-up as a
collaborator and add sites to it which they think are useful.

http://www.google.com/coop/cse?cx=002320952290770987034%3Adnutgprjrk8

I find google a pretty good tool for searching for code samples,
examples, etc but it usually gets a bit of marketing speak drowning
out the actual stuff I want. This is a way for the community to grow a
Flex specific search engine for free. Feel free to add to it and use.

Cheers,
Jamie





--
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: More Documentation of Cairngorm and Flex Cairngorm Store

2006-10-20 Thread Jamie O
Hey,

Does anyone know where these links might reside beyond the
www.richinternetapps.com site which I've been unable to get a response
from for the last couple of days? I've read the 6-part series and
*think* I *get* Cairngorm, but getting the first sample(s) up and
running has posed a little challenge as yet. I don't want to use FDS
at the moment which prohibits the Store 2 sample I believe.

Thx,
Jamie

--- In flexcoders@yahoogroups.com, Steven Webster [EMAIL PROTECTED] wrote:

 Flex and Cairngorm Deconstructed: Cairngorm Store (Part 1)
 http://www.richinternetapps.com/archives/000118.html
  
 Flex Cairngorm Store (Part 2) - Installation Guide
  http://www.richinternetapps.com/archives/000119.html
 http://www.richinternetapps.com/archives/000119.html 
  
 Flex Cairngorm Store (Part 3) - Discussion of Business and
Integration Tier
 http://www.richinternetapps.com/archives/000120.html





--
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: Get Tab from TabBar?

2006-10-20 Thread Jamie O
If the tabbar is bound to the viewstack as a dataprovider, you can
manipulate properties of the tabbar / tab based on what the currently
selected child in the viewstack is.

I'm using a similar approach to set the style of the selected tab so
that it's background colour matches the selected child when the show
event fires I call a function which executes the following:

tbNavigate.setStyle(tabStyleName,tab + vsContent.selectedChild.id);

That same approach should allow you to manipulate the tab / data that
you want no?

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

 Does anyone know how to retrive a tab from a TabBar? If I use
 getChild() it returns a child of the associated ViewStack.
 TabNavigator, which I do not want to use, has a getTabAt() function. I
 checked out the code, and it simply does this:
 
 return Button(tabBar.getChildAt(index));
 
 If I do this on my tabBar, it pops up an error stating I can't cast a
 VBox to a Button. Why is it that TabNavigator can do this, but I
 cannot do this on my TabBar's children?






--
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] Learning Cairngorm $0.02

2006-10-20 Thread Jamie O
Hello,

I've been using Flex for a couple weeks, able to build apps that are a
shaky mix of loose / tightly coupled components, but functional all
the same. After reading the revered 6-part articles to whet my
appetite, I felt I was ready to dig in.

The Cairngorm 2 Store demo invoking FDS scared me a little, but I
found
http://www.jessewarden.com/archives/2006/07/flex_2_webservice.html was
an invaluable resource to get started with as it took a less big chunk
to try and solve. In a few hours I was able to re-write her webservice
example for my HTTPService usage and get a server query to return
data. GO ME!

I'm still figuring out exactly how to write the question of how to
refactor my code from pure Flex to the Cairngormified version, but
just wanted to thank people who have answered my questions along the
way to get to this point. A resource like this group makes it
invaluable in getting up-to-speed without being daunted by the
learning curve.

If anyone has any tips / suggestions / approaches for refactoring code
and main things to be aware of in context of putting it into the right
place (controller, VO's, commands, etc) that they could share it would
be greatly appreciated.

Jamie





--
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: WSDL Security?

2006-10-16 Thread Jamie O
That does help Tom, just a potentially niave series of questions in
follow-up...How does using the proxy FDS service NOT secure the resource?

If a rogue .swf does not know the address to connect to, how can it
access the channel?

Additionally, with a crossdomain.xml policy file in place on the
server (only allowing our set of domains to access) there would be an
higher level of security. Even if someone does determine the complete
WSDL address they are unable to access it via .swf.

The current systems accessing the WSDL are all server-side language
meaning that the WSDL is 'safe'. Just looking to provide the
equivelent level of security from Flex/Flash.

Jamie
--- In flexcoders@yahoogroups.com, Tom Ruggles [EMAIL PROTECTED] wrote:

 Hi Jamie,
 
 You do have the steps right for deployment.  As for securing the 
 resource the options available would be to either:
 
 - add security constraints to the destination.  This would require 
 you to either have users log in or hardcode credentials in the app 
 (which is obviously no help in case of decompiling).
 - add J2EE web app security to your web app to secure the entire 
 thing or any HTTP/AMF channels that are allowed to acces the 
 destination
 
 Unfortunately there is no mechanism to automatically detect friendly 
 vs. rogue swfs.  But needing to know the channel and destination 
 name are a slight deterrant.
 
 HTH,
 Tom
 
 --- In flexcoders@yahoogroups.com, Jamie O jamie.oastler@ 
 wrote:
 
  Hello,
  
  I 'believe' what I describe below is accurate, just looking for
  confirmation. We have a production WSDL that is called by a number 
 of
  other non-Flash/Flex apps. We would like to access it via Flex, but
  not make the WSL url visible in code - thereby succeptible to
  decompiled .swf access and non-company uses.  
  
  In order to ensure this is the case, I believe we must do the 
 following:
  1) Install Flex Data Services and create a named proxy service
  destination with the wsdl url.
  2) Use destination=wsdlDestination and useProxy=true in 
 HTTPService
  
  
  Is there an inherrent control within FDS that prevents .swf from 
 other
  (malicious) sites from using our proxy? I guess conceptually 
 because
  it isn't served from there it would never know the connection to 
 refer
  back to other than the destination name which is not a fully 
 qualified
  URL. Wondering if we would also need a crossdomain.xml file to 
 inhibit
  non-company .swf from accessing?
  
  Thx,
  Jamie
 






--
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] WSDL Security?

2006-10-13 Thread Jamie O
Hello,

I 'believe' what I describe below is accurate, just looking for
confirmation. We have a production WSDL that is called by a number of
other non-Flash/Flex apps. We would like to access it via Flex, but
not make the WSL url visible in code - thereby succeptible to
decompiled .swf access and non-company uses.  

In order to ensure this is the case, I believe we must do the following:
1) Install Flex Data Services and create a named proxy service
destination with the wsdl url.
2) Use destination=wsdlDestination and useProxy=true in HTTPService


Is there an inherrent control within FDS that prevents .swf from other
(malicious) sites from using our proxy? I guess conceptually because
it isn't served from there it would never know the connection to refer
back to other than the destination name which is not a fully qualified
URL. Wondering if we would also need a crossdomain.xml file to inhibit
non-company .swf from accessing?

Thx,
Jamie




--
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] Viewstack / Navigator Filtering Best Practice?

2006-10-02 Thread Jamie O
Hello,

Looking for a little help as far as best practices for filtering a
navigator (togglebuttonbar, buttonbar) from a viewstack data provider.
Each viewstack is a canvas and I only want to present the selection in
the togglebuttonbar IF the XML node which contains the data for the
canvas exists.

Right now I'm using .addChild and .removeChild on the togglebuttonbar
to control which buttons are displayed. That works the firs time the
app loads, but as the user changes the data source (tied to a textbox
that loads a different xml file) it breaks. I'm thinking there is a
way to control which viewstate elements are displayed from within a
dataprovider, but having issues with that.

Right now, this is the XML event result handler source code:
mx:Script
private function XMLDPHandler(event:ResultEvent):void {
pcXMLDP = new XML(event.result);
bbNavigate.removeAllChildren();
if (pcXMLDP.nodename1.length()  0) {
bbNavigate.addChild(vsNavigate .getChildByName(nodename1));
}
else {
bbNavigate.removeChild(vsNavigate .getChildByName(nodename1));
}
/mx:Script

And this is the viewstack / navigator components MXML:
mx:ToggleButtonBar x=10 y=70 id=bbNavigate width=475 /
mx:ViewStack x=10 y=100 id=vsNavigate width=475 height=235

mx:Canvas id=nodename1 label=Node 1 width=325 height=100
 mx:Label text=Node 1 text test 
 fontWeight=bold left=0 top=0/
 mx:ComboBox id=cmbCriteria width=200 
 dataProvider={pcXMLDP.nodename1.criteria}
 labelField=@Name  left=108 top=15/
/mx:Canvas

mx:Canvas id=nodename2 label=Node 2 width=325 height=100
 mx:Label text=Node 2 text test 
 fontWeight=bold left=0 top=0/
 mx:ComboBox id=cmbRank width=200 
 dataProvider={pcXMLDP.nodename2.rank}
 labelField=@Name  left=108 top=15/
/mx:Canvas

/mx:ViewStack
/mx:Canvas


Any help would be appreciated
Thx






--
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: Flex 2 courses in Ottawa

2006-09-21 Thread Jamie O
I'll be taking the course as well! I've taken a few
'pre-Adobe/Macromedia merger' Their training courses usually go at a
good pace and the materials for after-course implementation reference
quite good.

See you there!

--- In flexcoders@yahoogroups.com, David Mendels [EMAIL PROTECTED] wrote:

 Hi Jen,
 
 Not sure if they are on this list, but we (Adobe) have about 300 people
 in Ottawa and a few of them are doing great things with Flex :)
 
 Hope the class is great, do report back to the list with feedback.
 
 -David 
 
 -Original Message-
 From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
 Behalf Of jenunderscore
 Sent: Tuesday, September 19, 2006 11:33 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Flex 2 courses in Ottawa
 
 Hey all, I'm new to the list and thought I would take thise opportunity
 to introduce myself to the group. 
 
 If there are any other people here from the Ottawa region, I will be
 attending courses by the New Toronto Group, next week. If you are also
 attending, feel free to introduce yourselves!
 
 Take care,
 Jen
 
 
 
 
 
 
 --
 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

* 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] ComboBox Data Refresh Events

2006-09-20 Thread Jamie O
I remember googling somewhere that when you programatically change
combo box data it doesn't trigger the change event. You had to force
an event to fire or on that event call your function or something?

I've built a component that calls an XML source. One combobox
(cmbStreet) is a normal dataprovider list, the second (cmbNumber) uses
the selection from cmbStreet to find the specific node in the XML and
populate based on the relevant attributes.

That part of the code is working, except that I can't seem to clean
all the entries from the array or dropdown list and the function won't
execute on first load. I've tried it in creationComplete but I don't
think the data is loaded to find results at that point.

mx:Canvas xmlns:mx=http://www.adobe.com/2006/mxml; width=375
height=40 borderStyle=solid borderThickness=0
creationComplete=UpdateList()
mx:Script
![CDATA[
import mx.controls.List;
[Bindable]
public var xmldpPC:XML;

[Bindable]
private var NumberList:Array = new Array();

private function UpdateList():void {
var xmldpStreet:XML;
xmldpStreet = new XML(xmldpPC.Municipality.Streets.Street.(@Name ==
cmbStreet.selectedLabel));

//I think more better stuff has to happen here.
NumberList.length = 0;
cmbNumber.selectedIndex = 0;

for each (var StreetValue:XML in xmldpStreet.Number) {
NumberList.push([EMAIL PROTECTED]());
}
}

]]
/mx:Script

mx:ComboBox x=3 y=12 id=cmbNumber width=75
dataProvider={NumberList}/mx:ComboBox

mx:ComboBox x=85 y=12 id=cmbStreet width=200
dataProvider=[EMAIL PROTECTED]
change=UpdateList()/

/mx:Canvas






--
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: ComboBox Data Refresh Events

2006-09-20 Thread Jamie O
I temporarily have found the answer of using the valueCommit event
instead of change event as the trigger to update the second comboBox
as it fires on both programmatic and user driven events.

--- In flexcoders@yahoogroups.com, Jamie O [EMAIL PROTECTED] wrote:

 I remember googling somewhere that when you programatically change
 combo box data it doesn't trigger the change event. You had to force
 an event to fire or on that event call your function or something?
 
 I've built a component that calls an XML source. One combobox
 (cmbStreet) is a normal dataprovider list, the second (cmbNumber) uses
 the selection from cmbStreet to find the specific node in the XML and
 populate based on the relevant attributes.
 
 That part of the code is working, except that I can't seem to clean
 all the entries from the array or dropdown list and the function won't
 execute on first load. I've tried it in creationComplete but I don't
 think the data is loaded to find results at that point.
 
 mx:Canvas xmlns:mx=http://www.adobe.com/2006/mxml; width=375
 height=40 borderStyle=solid borderThickness=0
 creationComplete=UpdateList()
 mx:Script
 ![CDATA[
   import mx.controls.List;
   [Bindable]
   public var xmldpPC:XML;
   
   [Bindable]
   private var NumberList:Array = new Array();
   
   private function UpdateList():void {
   var xmldpStreet:XML;
   xmldpStreet = new XML(xmldpPC.Municipality.Streets.Street.(@Name ==
 cmbStreet.selectedLabel));
 
 //I think more better stuff has to happen here.
   NumberList.length = 0;
   cmbNumber.selectedIndex = 0;
 
   for each (var StreetValue:XML in xmldpStreet.Number) {
   NumberList.push([EMAIL PROTECTED]());
   }
   }
   
   ]]
   /mx:Script
 
 mx:ComboBox x=3 y=12 id=cmbNumber width=75
 dataProvider={NumberList}/mx:ComboBox
 
 mx:ComboBox x=85 y=12 id=cmbStreet width=200
 dataProvider=[EMAIL PROTECTED]
 change=UpdateList()/
 
 /mx:Canvas







--
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: ArrayCollection returns object Object

2006-09-20 Thread Jamie O
I'll take my best attempt.

1) Create the XML variable you will need to map the HTTPService object
data to and create a function that will handle the result call of your
HTTPService call.
mx:Script
![CDATA[
import mx.rpc.events.ResultEvent;

[Bindable]
private var xmldpAddress:XML;
   
public function LoadXML(evt:Event):void {
xmldpAddress = new XML(evt.target.lastResult);
//Do other result-driven actions here
}
]]

2) In your HTTPService call a function to handle the result event:
mx:HTTPService
id=feedRequest 
url = [PATH GOES HERE]
useProxy=false
resultFormat=e4x 
result=LoadXML(event)
/

3) So when you trigger the request via feedRequest.send() function
from either the creationComplete part of the application or a button
event, it calls the service, the service calls your result function
and the result function maps that service data object into an XML format.

4) As a result, you can then use dot notation for the XML in any
dataprovider you want.

mx:TextInput x=139 y=143 width=151 id=txtProv
editable=false enabled=false text=[EMAIL PROTECTED]/

At that point, the help page under Programming ActionScript 3.0  Core
ActionScript 3.0 Data Types and Classes  Working with XML 
Traversing XML Structures should give you all the examples you need to
bind the particular data you're looking for.

Good luck!
Jamie

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

 I was wondering if someone can help me (preference) or point me to a
 tutorial on xml and data structures that are not hardcoded.
 
 I am using an HttpService to retreive xml and I can get result, but
 when I use it to populate a List I get object Object.  All livedocs
 and info tells you how to use arrays, arraycollections, and xml when
 the xml is hardcoded in the app.
 
 Here is my file and xml.
 
 FILE
 ?xml version=1.0 encoding=utf-8?
 mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; xmlns=*
 paddingTop=3
 creationComplete=initApp()
 pageTitle=Dashboard
   
   mx:Style source=OSX.css/
   
   mx:Script
   ![CDATA[
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
import mx.rpc.*;
import mx.charts.*;
   
   
   [Bindable]
public var slicedMonthData:ArrayCollection;
   
   [Bindable]
public var slicedRegionData:ArrayCollection;
   
   [Bindable]
public var JasonsAC:ArrayCollection;
   
private var monthData:Array;
private var regionData:Array;
   
private function initApp():void
{
srv.send();
slicedMonthData = new ArrayCollection();
slicedRegionData = new ArrayCollection();
}
   
   
   private function resultHandler(event:ResultEvent):void
 {
 monthData = event.result.list.month.source as Array;
   slider.maximum = monthData.length - 1;
   slider.values = [0, monthData.length - 1];
 slicedMonthData.source = monthData;
 JasonsAC = new ArrayCollection(slicedMonthData.source);
 //regionBreakdown.month = monthData[0];//
 
 }
   
   private function getSliderLabel(value:String):String
 {
 return monthData[parseInt(value)].name;
 }
 
 
 
 private function rangeChange():void
 {
   if (monthData != null)
   slicedMonthData.source =
 monthData.slice(slider.values[0], slider.values[1] + 1);
   if (regionData != null)
   slicedRegionData.source = 
 regionData.slice(slider.values[0],
 slider.values[1] + 1);
 }
 
 

   ]]
   /mx:Script
   
 mx:HTTPService id=srv url=results.xml useProxy=false
 result=resultHandler(event)/   
   mx:Model id=dataSet/mx:Model
   
 
   
   mx:ApplicationControlBar width=100% height=37
   mx:Spacer width=2/
 mx:Label text=Dashboard:/
 mx:ComboBox width=150
 mx:dataProvider
 mx:Array
 mx:StringRevenue Timeline/mx:String
 mx:StringKWH Timeline/mx:String
 mx:StringMember Timeline/mx:String
 /mx:Array
 /mx:dataProvider
 /mx:ComboBox
 mx:Spacer width=10/
 mx:Label text=Select Period:/
 mx:HSlider id=slider width=180 thumbCount=2
 

[flexcoders] Re: Multiple XML loads?

2006-09-18 Thread Jamie O
I had to make a few minor changes to your example to type define the
XML during the function, but otherwise the following WORKS perfectly!
Can also, as a result, use dot notation to access individual elements
/ attributes for comboBoxes within components.

I think the biggest stumbling block for me is to get a complete grasp
on the syntax for different UI elements and XML referencing the proper
elements. Thanks for your help Tracy!

Main.mxml Code Snippet:
---
?xml version=1.0 encoding=utf-8?
mx:Application xmlns:mx=http://www.adobe.com/2006/mxml;
layout=absolute xmlns:ns1=components.* width=470 height=493
creationComplete=feedRequest.send()
mx:Script
![CDATA[
import mx.rpc.events.ResultEvent;

[Bindable]
public var XMLDP_Address: XML;

public function LoadXML(evt:Event):void {
 //set the global var value
 XMLDP_Address = new XML(evt.target.lastResult);
}
]]
/mx:Script
mx:HTTPService
 id=feedRequest 
 url = [VALID XML URL]
 useProxy=false
 resultFormat=e4x 
 result=LoadXML(event)
/

mx:Panel x=10 y=268 width=450 height=206 layout=absolute
id=pnlStatus
mx:TextArea x=10 y=39 width=410 height=117
text={XMLDP_Address.toXMLString()}
/mx:TextArea

mx:ComboBox x=260 y=9 id=cmbTest
dataProvider=[EMAIL PROTECTED]
width=160/mx:ComboBox

/mx:Panel

ns1:cmpnt_ALE x=10 y=10 width=450 XMLPC={XMLDP_Address}
/ns1:cmpnt_ALE





--
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: Multiple XML loads?

2006-09-15 Thread Jamie O
God @(#$ do I not so much enjoy being at the bottom of a learning
curve. I can't fathom why putting the .send() into a function which is
called when my button is pushed didn't occur to me but, well, it
didn't. Thank you Tracy!

The second piece that I am now probably doing something very stupid
with is the format of the data and traversing. I haven't used XML a
LOT but I understand the basics of dot notation and have the Flex
'Traversing XML Structures' document printed for reference.

I have been able to populate combobox using the labelField and
dataProvider when the HTTPService is default format (object). However
I am trying to do a lookup in the XML based on the item a user selects
from that combobox and populate a second combobox with details of
children of that selected element. According to documentation if the
HTTPService is set as XML or e4x the following syntax should work in
the Change event:

{XML_PostCode.lastResult.Prov.City.Streets.(@streetname ==
cmbStreet.selectedLabel).NumberRangeLow}

Any attempts I did to 'stub' the HTTPService and use mx:Model or
mx:XML just went very badly for me. Any help would be appreciated.

--- In flexcoders@yahoogroups.com, Tracy Spratt [EMAIL PROTECTED] wrote:

 I am not sure I understand because you don't know which feed to pull at
 runtime.
 
  
 
 Using AS code you can change the URL of the HTTPService call and invoke
 send() at will.
 
  
 
 If you need to keep track of which result goes with which send, you can
 use the ACT pattern, that allows you to set and retrieve data in an
 AsyncToken.
 
  
 
 Tracy
 
  
 
 
 
 From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
 Behalf Of Jamie O
 Sent: Monday, September 11, 2006 9:25 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Multiple XML loads?
 
  
 
 Hi all,
 
 I have one conceptual/programming question right now I'm struggling
 with. Say in the blogreader sample app tutorial, you wanted to have
 several buttons to read several different RSS or XML feeds. My
 attempts using HTTPService have failed because you don't know which
 feed to pull at runtime or been able to use a variable in the
 HTTPService url. Other attempts have been equally unsuccessful.
 
 Put the code from that tutorial in below for reference.
 Any help thanks!
 






--
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] Multiple XML loads?

2006-09-11 Thread Jamie O
Hi all,

I'm about a week into learning Flex, liking a lot of what I'm seeing
for how things have been built. Reminds me of wy back when
Visual Basic was one of the larger tools on the market for front-end
based applications in that all the components and presentation
manipulation are right there.

I have one conceptual/programming question right now I'm struggling
with. Say in the blogreader sample app tutorial, you wanted to have
several buttons to read several different RSS or XML feeds. My
attempts using HTTPService have failed because you don't know which
feed to pull at runtime or been able to use a variable in the
HTTPService url. Other attempts have been equally unsuccessful.

Put the code from that tutorial in below for reference.
Any help thanks!

?xml version=1.0 encoding=utf-8?
mx:Application xmlns:mx=http://www.adobe.com/2006/mxml;
layout=absolute creationComplete=feedRequest.send()
mx:HTTPService 
id=feedRequest 
url=pathtoxml goes here
useProxy=false/
mx:Panel x=10 y=10 width=475 height=400 layout=absolute
title={feedRequest.lastResult.rss.channel.title}
mx:DataGrid x=20 y=20 id=dgPosts width=400
dataProvider={feedRequest.lastResult.rss.channel.item}
mx:columns
mx:DataGridColumn headerText=Posts 
dataField=title/
mx:DataGridColumn headerText=Date 
dataField=pubDate width=150/
/mx:columns
/mx:DataGrid
mx:TextArea x=20 y=175 width=400 height=100
htmlText={dgPosts.selectedItem.description} /
mx:LinkButton x=20 y=283 label=Read Full Post
click=navigateToURL(new URLRequest(dgPosts.selectedItem.link)); /
/mx:Panel

/mx:Application







--
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/