AMF for the Apple iPhone
http://egnaro.com/post.cfm/amf-for-iphone
Filed under: cfmx, flex, iPhone | Tagged: AMF, coldfusion, flash remoting, iPhone | Leave a comment »
AMF for the Apple iPhone
http://egnaro.com/post.cfm/amf-for-iphone
Filed under: cfmx, flex, iPhone | Tagged: AMF, coldfusion, flash remoting, iPhone | Leave a comment »
Here is good link concerning learning Flex features.
http://flexonblog.wordpress.com/
Filed under: AIR, Flash Platform, flex, Flex 3 | Tagged: blog, flex | Leave a comment »
I’m going to explain how to send data from main Flex mxml file to a custom component.
[UPDATE]
I’ll add some code to change components in the parent application from the custom component.
[CC]
ex.)
parentApplication.idhdivbox1.getDividerAt(0).visible = true;
or
parentApplication.[ID].[property or methods] = [value];
Lessons Learned : Try to keep the code inside the custom component small and send data (property) to the CC from the main mxml. Only if one can’t perform outside the custom component should you add ActionScript inside it.
1.) Main mxml
A.) Refer to custom component.
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”
xmlns:flexiframe=”com.google.code.flexiframe.*”
xmlns:cpanel=”usa_components.*”
horizontalAlign=”center” verticalAlign=”middle”
left=”0″ top=”0″
applicationComplete=”onApplicationComplete(‘1’); ”
viewSourceURL=”srcview/index.html” >
B.) Setup bindable xml to custom component property.
[Bindable]
public var b_treexml:XMLListCollection = new XMLListCollection;
C.) Put results from server into data provider of Tree component which is in the custom component. The first statement loads the results into the data provider. The second statement loads the results into a bindable var inside the custom components, so I can ‘EXPAND’ the tree at a
public function set_tree1(e:ResultEvent):void {
idCpanel.idtree.dataProvider = e.result;
idCpanel.treeData2 = e.result as XML;
} // end of set tree….
2.) Using custom component on main mxml
<cpanel:cPanel prop1=”1″ prop2=”{b_treexml}” />
3.) Custom component
A.) Setup bindable variables.
// bindable variables
[Bindable]
public var prop1:String;
[Bindable]
public var prop2:XMLListCollection;
[Bindable]
public var treeData2:XML;
B.) I have a ‘EXPAND ALL’ button to expand the tree.
// open all nodes – tree2private function openAllNodes2():void {
idtree.openItems = treeData2..*;
} // end of open all nodes….
<mx:Button label=”Expand ALL” click=”openAllNodes2();”
useHandCursor=”true” buttonMode=”true” mouseChildren=”false” />
C.) Here is the code for the Tree component inside the CC. Notice the ID.
<mx:Tree width=”100%” height=”100%”
dataProvider=”{prop2}”
labelField=”@label”
showRoot=”false”
change=”iFrame.source = (Tree(event.target).selectedItem.attribute(‘path’).toString());”
itemClick=”tree_itemClick(event);” />
Filed under: ActionScript, flex | Tagged: Adobe, Custom Components, flex | Leave a comment »
Here is a great site from Adobe about learning about their products.
Filed under: AIR, cfmx, CSS, design, flash, Flash Platform, flex, Flex 4, HTML, JavaScript | Tagged: Adobe | Leave a comment »
1.) Creating an Application from your desktop
Application Type : Web Application
Application server type: ColdFusion
Use remote object access service [ checked ]
ColdFusion Flash Remoting [ checked ]
ColdFusion Installation type: standalone
Web Root: d://cf9/wwwroot
Root URL: http://localhost:8500/
ColdFusion WAR: d:/cf9/wwwroot/cfusion-ear/cfusion-war/
Main source folder: src
Output folder URL: bin-debug
* Flex App: I copied this code and compiled the code via the ‘run’ button.
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”
layout=”absolute” viewSourceURL=”srcview/index.html”>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.Fault;
import mx.rpc.events.ResultEvent;
// send
public function WelcomeMsg():void {
Alert.show(test_name.text);
ws.WelcomeMsg(test_name.text );
}
// result
private function onResult( e : ResultEvent ) :void {
msg.text = e.result.toString();
}
// error msg
private function onFault( e : FaultEvent ) :void {
msg.text = e.fault.faultString;
}
]]>
</mx:Script>
<mx:RemoteObject id=”ws”
destination=”ColdFusion”
source=”apps.flex.test_rs1.src.NEWCFComponent” >
<mx:method name=”WelcomeMsg”
result=”onResult(event)”
fault=”Alert.show(event.fault.message, ‘Erro’)” />
</mx:RemoteObject>
<!–
<mx:method name=”WelcomeMsg”
result=”onResult(event)”
fault=”Alert.show(event.fault.message, ‘Erro’)” />
–>
<mx:Button x=”284″ y=”10″ label=”Get Welcome Message.”
click=”WelcomeMsg()” />
<mx:TextInput id=”msg” x=”481″ y=”10″ width=”300″ />
<mx:TextInput id=”test_name” x=”116″ y=”10″ width=”150″ />
<mx:Label x=”10″ y=”12″ text=”Enter your name:” />
</mx:Application>
* ColdFusion CFC: Save this cfc as [NEWCFComponent.cfc] in the same folder as src. You will notice that I append to a log file so I can verify that the cfc is being executed.
<cfcomponent displayname=”CF_Service” output=”false”>
<cffunction access=”remote” returntype=”string”>
<cfargument required=”yes” default=”default message… “>
<cfset v_now = Now() & ” <br />” >
<cffile action=”append” addnewline=”yes”
file=”#GetDirectoryFromPath(GetBaseTemplatePath())#cfc_log_file.html”
output=”#v_now# date=YO, #test_name#!” fixnewline=”no” >
<cfreturn “YO, #test_name#!”>
</cffunction>
</cfcomponent>
* Test CFC: One should make sure one doesn’t get an error from this specific method in the CFC. One should use default values for all of the CFC arguments.
http://localhost:8500/apps/flex/test_rs1/src/NEWCFComponent.cfc?method=WelcomeMsg
* Run a Flex Application via the ‘RUN’ button. After you compile the application, it will launch a browser of the flex page. One will put your ‘name’ in the first box and click on the button. You will notice the ‘YO’ and your name in the second box coming from the cfc.
https://localhost:8500/flex/test_rs2/bin-debug/test_rs2.html
2.) Create a Flex Application on your web server
Application Type : Web Application
Application server type: ColdFusion
Use remote object access service [ checked ]
ColdFusion Flash Remoting [ checked ]
ColdFusion Installation type: J2EE
Web Root: \\[server_name]\regroot\
Root URL: https://domain_name.com/
ColdFusion WAR: \\[server_name]\regroot\cfusion-ear\cfusion-war\
Main source folder: src
Output folder URL: bin-debug
* Flex App: I copied this code and compiled the code via the ‘run’ button.
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”
layout=”absolute” viewSourceURL=”srcview/index.html”>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.Fault;
import mx.rpc.events.ResultEvent;
// send
public function WelcomeMsg():void {
Alert.show(test_name.text);
ws.WelcomeMsg(test_name.text );
}
// result
private function onResult( e : ResultEvent ) :void {
msg.text = e.result.toString();
}
// error msg
private function onFault( e : FaultEvent ) :void {
msg.text = e.fault.faultString;
}
]]>
</mx:Script>
<mx:RemoteObject id=”ws”
destination=”ColdFusion”
source=”flex.test_rs2.src.NEWCFComponent” >
<mx:method name=”WelcomeMsg”
result=”onResult(event)”
fault=”Alert.show(event.fault.message, ‘Erro’)” />
</mx:RemoteObject>
<mx:Button x=”284″ y=”10″ label=”Get Welcome Message.”
click=”WelcomeMsg()” />
<mx:TextInput id=”msg” x=”481″ y=”10″ width=”300″ />
<mx:TextInput id=”test_name” x=”116″ y=”10″ width=”150″ />
<mx:Label x=”10″ y=”12″ text=”Enter your name:” />
</mx:Application>
ColdFusion CFC: Save this cfc as [NEWCFComponent.cfc] in the same folder as src. You will notice that I append to a log file so I can verify that the cfc is being executed.
<cfcomponent displayname=”CF_Service” output=”false”>
<cffunction name=”WelcomeMsg” access=”remote” returntype=”string”>
<cfargument name=”test_name” type=”string” required=”yes” default=”default message… “>
<cfset v_now = Now() & ” <br />” >
<cffile action=”append” addnewline=”yes”
file=”#GetDirectoryFromPath(GetBaseTemplatePath())#cfc_log_file.html”
output=”#v_now# date=YO, #test_name#!” fixnewline=”no” >
<cfreturn “YO, #test_name#!”>
</cffunction>
</cfcomponent>
* Test CFC: One should make sure one doesn’t get an error from this specific method in the CFC. One should use default values for all of the CFC arguments.
http://[domain-name.com]/flex/test_rs1/src/NEWCFComponent.cfc?method=WelcomeMsg
* Run a Flex Application via the ‘RUN’ button. After you compile the application, it will launch a browser of the flex page. One put you ‘name’ in the first box and click on the button. You will notice the ‘YO’ and your name in the second box.
https://[domain-name.com]/flex/test_rs2/bin-debug/test_rs2.html
Filed under: cfmx, cfmx 7, cfmx 8, cfmx 9, flex | Tagged: coldfusion, flash remoting, flex, Flex RemoteObject | Leave a comment »
Here is a good site using ColdFusion and Flex.
Filed under: cfmx, cfmx 7, cfmx 8, cfmx 9, flex | Tagged: coldfusion, flex, flex examples, flex remoting | Leave a comment »
Here is the fourth part of an article to increase performance of Flex applications.
http://www.insideria.com/2008/07/flex-ria-performance-considera-3.html
Filed under: flex | Tagged: flex, flex performance | Leave a comment »
Here is the third part of an article to increase performance of Flex applications.
http://www.insideria.com/2008/06/flex-ria-performance-considera-2.html
Filed under: flex | Tagged: flex, flex performance | Leave a comment »
Here is the second part of an article to increase performance of Flex applications.
http://www.insideria.com/2008/04/flex-ria-performance-considera.html
Filed under: flex | Tagged: flex, flex performance | Leave a comment »
Here is the first part of an article to increase performance of Flex applications.
http://www.insideria.com/2008/03/flex-ria-performance-considera-1.html
Filed under: flex | Tagged: flex, flex performance | Leave a comment »
This is the link to Adobe Developers site.
Filed under: AIR, cfmx, flash, Flash Platform, flex, Flex 4 | Tagged: coldfusion, flash, flex | Leave a comment »
This is a good practical site about examples on Flex.
Filed under: Flex 3, Flex 4 | Tagged: blog, flex, flex examples | Leave a comment »
Here is a simple article about Flex and ColdFusion RemoteObject/WebServices.
http://macmartine.com/blog/2008/04/flex_and_coldfusion_remoteobje.html
Filed under: cfmx, cfmx 7, cfmx 8, cfmx 9, flex | Tagged: coldfusion, flex, remoteobjects, web services | Leave a comment »
Here is one of many Flex blogs from Abobe.
http://blogs.adobe.com/gosmith/
Filed under: flex | Tagged: blog, flex | Leave a comment »
Here is a pretty good Flex blog. This blog has a lot of videos on Flex 3 and 4.
http://graphics-geek.blogspot.com/
Filed under: flex | Leave a comment »
Here is an article how to use ColdFusion 9 services with Flex.
http://balajisridhar.wordpress.com/2009/11/27/how-to-consume-cfaas-using-flex-client/
Filed under: cfmx 9, flex | Tagged: cfmx 9, coldfusion, flex | Leave a comment »
Here is a link concerning Adobe Flex 4 information.
http://blogs.adobe.com/aharui/
Filed under: flex | Tagged: flex, flex 4 | Leave a comment »
Here is a link for the Official Adobe Flex team.
Filed under: flex | Tagged: blog, flex | Leave a comment »
Here is a blog for the Adobe Flex Documentation team.
http://blogs.adobe.com/flexdoc/
Filed under: flex | Tagged: blog, flex, flex documentation | Leave a comment »
Here is a site concerning PaperVision3D.
http://blog.papervision3d.org/
Filed under: Flash Platform, flex, Flex 3D, Uncategorized | Tagged: ActionScript, flex, papervision3d | Leave a comment »
James Ward has a page which will see if your page is Flex instead of Flash.
http://www.jamesward.com/is_it_flex/
Filed under: flash, Flash Platform, flex, Uncategorized | Tagged: flash, flex | Leave a comment »
Flex on Google Android in Flash Player and AIR
http://www.jamesward.com/2010/05/21/flex-on-android-in-flash-player-and-air/
Filed under: AIR, Android, flash, Flash Platform, flex, Mobile, Uncategorized | Tagged: flex, Google Android | Leave a comment »
Here is an article in creating an ActionScript debugger.
http://labs.flexperiments.nl/asdebugger/
Filed under: ActionScript, flex, Uncategorized | Tagged: ActionScript, ActionScript Debugger, flex | Leave a comment »
Here is a good article how to do a type ahead for a combobox in Flex.
http://labs.flexperiments.nl/alternative-combobox-for-flex/
Filed under: flex, Uncategorized | Tagged: Combo with Type Ahead, flex | Leave a comment »
Here is a good site for a Adobe Flex Tree (open-sourced).
http://labs.flexperiments.nl/flptree-2-0-better-faster-open-source/
Filed under: flex, Uncategorized | Tagged: flex, Tree Control | Leave a comment »
This is a great site using CSS for Adobe Flex. The guy is correct that CSS is implemented terribly in Flex. Didn’t they think about how CSS works in a web page and just copy that idea???
http://fcss.flashartofwar.com/
Filed under: ActionScript, CSS, flex, Uncategorized | Tagged: blog, CSS, flex | Leave a comment »
The articles from Yakov Fain about Adobe Flex are excellent.
http://flexblog.faratasystems.com/author/yakov
Filed under: AIR, Flash Platform, flex, Uncategorized | Tagged: AIR, blog, flex | Leave a comment »
Here is a good product to create wireframes for Adobe Flex.
Filed under: flex, Uncategorized | Tagged: flex, flex tools, Wireframe | Leave a comment »
Here is a good article about the detail of the Flex Tree Control.
http://vipuljhawar.wordpress.com/2008/03/28/creating-a-dynamic-tree-in-flex/
Filed under: ActionScript, flex, Uncategorized | Tagged: flex, Tree Control | Leave a comment »
I’m going to add some Adobe Flex ActionScript libraries.
Filed under: ActionScript, flex | Tagged: ActionScript, flex | 1 Comment »
I’m going to add links which pertain to (UX) User Experience and RIA. I will be adding more links since there is some good stuff.
A Flex Developer’s Guide to User Experience Work Flows and Best Practices
50 Most Usable RIAs
the Flex User Interface Discussion
Design elements and principles
Theresa Neil blog
Designing Web Interface blog
Bill Scott’s blog (Netflix)
Wireframes
Functioning Form
Info Design Patterns
Stop Design
Prototyping
Rapid Prototyping Tools
Messages and Images
CSS Message Boxes for different message types
Design
Opinion
Google not a nice place to work
Filed under: design, flex | Tagged: blog, design, design principles, flex, google yuck, prototyping, RIA, user experience | Leave a comment »
I’ve been trying to get my two tree controls to work with 2 httpservices without any success since most of the examples are hard-coding the data (XML) inside mxml. Since I’m dense or whatever, I found this link which answered my problem. If I find another way to transform dynamic data I will post it as a different example. A co-worker of mine gave me the 2nd example.
EXAMPLE #1
answer link : example1
cfm page containing the following xml data :
====================================
<?xml version=”1.0″ encoding=”UTF-8″ ?>
<rows><node1 text=’Test last name,first middle initial’ data=’E020094 ;ZZ;ZZ;ZZ’ >
<node2 text=’tab1′ data=’E020094 ; 1;ZZ;ZZ’ >
<leaf text=’panel 1′ data=’E020094; 1;1;1′ />
</node2>
</node1>
</rows>
ActionScript code inside flex
====================================
// show errors from server
public function handleFault(event:FaultEvent,a_descr:String):void {
Alert.show(event.fault.faultString + ” ” + a_descr, “Error”);
} // end of handle fault…
flex mxml
====================================
<mx:HTTPService
id=”idloadtree2″ resultFormat=”e4x”
url=”https://server_name/flex/get_tree.cfm”
useProxy=”false” showBusyCursor=”true”
fault=”handleFault(event,’Get Tree 2′);” />
<mx:Tree id=”idtree2″ name=”Tree” height=”100%” width=”100%”
selectionColor=”#ffff33″ textSelectedColor=”#ff3333″
dataProvider=”{idloadtree2.lastResult}” labelField=”@text”
showRoot=”false” >
EXAMPLE #2
cfm page
================================================================
<cfsetting showdebugoutput=”no”>
<cfxml variable=”myxml”>
<root label=”root node”>
<branch label=”top level branch A”>
<leaf label=”leaf a” />
<leaf label=”leaf b” />
<branch label=”second level branch A-A”>
<leaf label=”leaf c” />
<leaf label=”leaf d” />
</branch>
</branch>
<branch label=”top level branch B”>
<leaf label=”leaf e” />
</branch>
</root>
</cfxml>
<cfoutput>#tostring(myxml)#</cfoutput>
Flex code
=================================================================
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”vertical” creationComplete=”init()”>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.FaultEvent;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
// second tree’s data
[Bindable] private var _myTreeCFM:XML;
// init function to get data from cfm page
private function init():void
{
getXML.send();
}
// when data comes back, it is XML, assign it to the variable
private function resultHandlerXML(e:ResultEvent):void
{
_myTreeCFM = e.result as XML;
}
// right like there will be any errors
private function faultHandler(e:FaultEvent):void
{
Alert.show(e.message.toString());
}
]]>
</mx:Script>
<mx:Label text=”CFM data” fontSize=”20″ fontWeight=”bold” color=”#FFFFFF”/>
<!– tree with cfm data –>
<mx:Tree id=”example_cfm”
labelField=”@label”
showRoot=”false”
dataProvider=”{_myTreeCFM}”
width=”400″ height=”300″ />
<!– get data from server –>
<mx:HTTPService id=”getXML”
url=”getXML.cfm”
resultFormat=”e4x”
result=”resultHandlerXML(event)”
fault=”faultHandler(event)”
showBusyCursor=”true” />
</mx:Application>
Filed under: flex | Tagged: flex, httpservice, Tree Control | Leave a comment »
I am starting to experiment on how to send an ‘array of queries’ from CFMX 7 with 1 httpservice call from Flex. This service will send 1 xml packet of data for 4 data grids. So, instead of sending 4 httpserice calls from flex to cfmx and sending back 4 xml packets, I thought maybe less data and less requests would speed up the response time. I will add more content as I finish this code (8/26/2009).
1.) You will notice that I modified querytoxml in cflib for my purposes.
Flex (send data to cfmx)
=============================================================================
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute”
creationComplete=”_init_app()”
width=”1280″ height=”100%”
themeColor=”#D6DADC” backgroundGradientAlphas=”[1.0, 1.0]”
backgroundGradientColors=”[#7AB4F6, #C2DCF8]” >
<mx:Script>
<![CDATA[
// get XML to data grids
public function _init_app(): void {
idloadSHOWALL.send();
} // end of init….
// show errors from server
public function handleFault(event:FaultEvent,a_descr:String):void {
Alert.show(event.fault.faultString + ” ” + a_descr, “Error”);
} // end of handle fault…
]]>
</mx:Script>
<mx:HTTPService
id=”idloadSHOWALL”
url=”/flex/get_datagrids.cfm”
useProxy=”false” showBusyCursor=”true”
result=”set_datagrids(event);”
fault=”handleFault(event,’Get Data Grid’);” />
CFMX 7 (build xml and send back to Flex)
===============================================================================
<cfparam name=”url.a_tabid” type=”any” default=”” >
<cfparam name=”url.a_deptid_emplid” type=”any” default=”” >
<cfparam name=”url.a_panelid” type=”any” default=”” >
<cfparam name=”url.a_sort” type=”any” default=”1″ >
<cfsetting enablecfoutputonly=”yes” showdebugoutput=”No”>
<cfsilent>
<cfscript>
/**
* Generates an XMLDoc object from a basic CF Query.
*
* @param query The query to transform. (Required)
* @param rootElement Name of the root node. (Default is “query.”) (Optional)
* @param row Name of each row. Default is “row.” (Optional)
* @param nodeMode Defines the structure of the resulting XML. Options are 1) “values” (default), which makes each value of each column mlText of individual nodes; 2) “columns”, which makes each value of each column an attribute of a node for that column; 3) “rows”, which makes each row a node, with the column names as attributes. (Optional)
* @param basicinfo Y/N (Y=default) Basic information. (Optional)
* @param v_no_record_col Compare this column name if there is no records. (Optional)
* @param v_no_record_descr Add this description to the column name if there is no records. (Optional)
* @return Returns a string.
* @author Patrick Whittingham
* @version 3, August 2009
*/
function queryToXML(query){
//the default name of the root element
var root = “query”;
//the default name of each row
var row = “row”;
//make an array of the columns for looping
var cols = listToArray(query.columnList);
var v_rows = query.recordCount;
//which mode will we use?
var nodeMode = “values”;
// default : basic info
var basicinfo = “Y”;
var v_no_record_col = “”; var v_no_record_descr = “No Data Found”;
//vars for iterating
var ii = 1; var rr = 1;
//vars for holding the values of the current column and value
var thisColumn = “”; var thisValue = “”;
//a new xmlDoc
var xml = xmlNew();
//if there are 2 arguments, the second one is name of the root element
if(structCount(arguments) GTE 2) root = arguments[2];
//if there are 3 arguments, the third one is the name each element
if(structCount(arguments) GTE 3) row = arguments[3];
//if there is a 4th argument, it’s the nodeMode
if(structCount(arguments) GTE 4) nodeMode = arguments[4];
//if there is a 5th argument, its the basic info.
if(structCount(arguments) GTE 5) basicinfo = arguments[5];
//if there is a 6th argument.
if(structCount(arguments) GTE 6) v_no_record_col = arguments[6];
//if there is a 7th argument.
if(structCount(arguments) GTE 7) v_no_record_descr = arguments[7];
//create the root node
xml.xmlRoot = xmlElemNew(xml,root);
//capture basic info in attributes of the root node
if (basicinfo eq “Y” ) {
xml[root].xmlAttributes[“columns”] = arrayLen(cols);
xml[root].xmlAttributes[“rows”] = query.recordCount;
}
//loop over the recordcount of the query and add a row for each one
for(rr = 1; rr LTE query.recordCount; rr = rr + 1){
arrayAppend(xml[root].xmlChildren,xmlElemNew(xml,row));
//loop over the columns, populating the values of this row
for(ii = 1; ii LTE arrayLen(cols); ii = ii + 1){
thisColumn = lcase(cols[ii]);
thisValue = query[cols[ii]][rr];
switch(nodeMode){
case “rows”:
xml[root][row][rr].xmlAttributes[thisColumn] = thisValue;
break;
case “columns”:
arrayAppend(xml[root][row][rr].xmlChildren,xmlElemNew(xml,thisColumn));
xml[root][row][rr][thisColumn].xmlAttributes[“value”] = thisValue;
break;
default:
arrayAppend(xml[root][row][rr].xmlChildren,xmlElemNew(xml,thisColumn));
xml[root][row][rr][thisColumn].xmlText = thisValue;
}
}
} // end of rr loop….
// NO RECORDS FOUND
if (v_rows eq 0) {
arrayAppend(xml[root].xmlChildren,xmlElemNew(xml,row));
thisColumn = lcase(cols[ii]); thisValue = “”; rr = 1;
//loop over the columns, populating the values of this row
for(ii = 1; ii LTE arrayLen(cols); ii = ii + 1){
thisColumn = lcase(cols[ii]); thisValue = “”;
if (UCASE(thisColumn) eq UCASE(v_no_record_col) ) { thisValue = v_no_record_descr; }
switch(nodeMode){
case “rows”:
xml[root][row][rr].xmlAttributes[thisColumn] = thisValue;
break;
case “columns”:
arrayAppend(xml[root][row][rr].xmlChildren,xmlElemNew(xml,thisColumn));
xml[root][row][rr][thisColumn].xmlAttributes[“value”] = thisValue;
break;
default:
arrayAppend(xml[root][row][rr].xmlChildren,xmlElemNew(xml,thisColumn));
xml[root][row][rr][thisColumn].xmlText = thisValue;
}
}
} // end of if…
//return the xmlDoc
return xml;
}
</cfscript>
<!— show all —>
<cfset v_tabs = “” >
<cfif url.a_sort eq “1” > <cfset url.a_sort = “Ttabno, Tdept ” >
<cfelse> <cfset url.a_sort = “Tdept, Ttabno ” >
</cfif>
<cfinvoke component=”cat”
method=”get_show_all” argumentcollection=”#url#” returnvariable=”ret_showall” />
<cfdump var=”#ret_showall#”>
<cfscript>
v_count = 0; v_content = “”;
v_rows = ArrayLen(ret_showall);
//
v_tab_list = ret_showall[1].columnlist; v_tab_arr = ListToArray(v_tab_list); v_row1 = ret_showall[1].RecordCount;
v_panel_list = ret_showall[2].columnlist; v_panel_arr = ListToArray(v_panel_list); v_row2 = ret_showall[2].RecordCount;
v_link_list = ret_showall[3].columnlist; v_link_arr = ListToArray(v_link_list); v_row3 = ret_showall[3].RecordCount;
v_parms_list = ret_showall[4].columnlist; v_parms_arr = ListToArray(v_parms_list); v_row4 = ret_showall[4].RecordCount;
//
</cfscript>
<cfset xmlObj1 = queryToXML(ret_showall[1],”rows”,”row”,”rows”,”N”,”tname”,”No Data Found”) >
<cfset xmlObj1 = Replace(xmlObj1,’table_type=””‘,’table_type=”1″‘,’All’) >
<cfset xmlObj2 = queryToXML(ret_showall[2],”rows”,”row”,”rows”,”N”,”pname”,”No Data Found”) >
<cfset xmlObj2 = Replace(xmlObj2,’table_type=””‘,’table_type=”2″‘,’All’) >
<cfset xmlObj3 = queryToXML(ret_showall[3],”rows”,”row”,”rows”,”N”,”Lurl”,”No Data Found”) >
<cfset xmlObj3 = Replace(xmlObj3,’table_type=””‘,’table_type=”3″‘,’All’) >
<cfset xmlObj4 = queryToXML(ret_showall[4],”rows”,”row”,”rows”,”N”,”pmname1″,”No Data Found”) >
<cfset xmlObj4 = Replace(xmlObj4,’table_type=””‘,’table_type=”4″‘,’All’) >
<cfset xmlobj = xmlObj1 & xmlObj2 & xmlObj3 & xmlObj4 >
<cfset xmlobj = Replace(xmlobj,'<?xml version=”1.0″ encoding=”UTF-8″?>’,”,’All’) >
<cfset xmlobj = Replace(xmlobj,”<rows>”,””,”All”) >
<cfset xmlobj = Replace(xmlobj,”</rows>”,””,”All”) >
<cfset xmlobj = ‘<?xml version=”1.0″ encoding=”UTF-8″?><rows>’ & xmlobj & ‘</rows>’ >
</cfsilent>
<cfsetting enablecfoutputonly=”no” />
<cfcontent reset =”yes” type=”text/xml; charset=UTF-8″>
<cfoutput>#xmlObj#</cfoutput>
<cfsetting showdebugoutput=”No” >
<cfabort>
Filed under: cfmx, cfmx 7, flex | Tagged: array of queries, cfmx 7, flex 3 | Leave a comment »
I’ve wanted to use some of my ActionScript packages in a shared folder for multiple projects. The current default of the namespace is relative to the “SRC” folder. This isn’t a solution since I will have a “COM” folder under every “SRC” folder.
e.g. for src folder )
FOLDER ==> src –> com –> x –> y
NAMESPACE ==> xmls:example=”com.x.y.*”
<example:wrap x=”10″ y=”10″ id=”idtest” styleName=”style1″ themColor=”#77CCE1″ >
….
</example>
If you want to use a shared folder for some common code (AS packages), then you must first add a namespace and a source path to the package. I’ve tweaked my package location and import statement which Flex Builder nicely helps me greatly …:)
NAMESPACE ==> xmlns:exanple=”x.y.*”
SOURCE PATH ==> j:/shared_folder/flex_as/com (You will notice it is using a mapped drive to a shared folder for my flex actionscript code )
ACTUAL CODE ==>
<example:wrap x=”10″ y=”10″ id=”idtest1″ styleName=”style1″ themeColor=”#77CC1E” >
….
</example>
Filed under: ActionScript, flex | Tagged: ActionScript, flex, flex common code, flex source path | Leave a comment »
Here is a bunch of links on the various Flex frameworks.
Mate
Swiz
Pure MVC
Cairngorm
Parsley
Filed under: flex | Tagged: flex, flex frameworks, frameworks | Leave a comment »
Even though, Flex doesn’t do printing that well, it can take a snapshot of a component.
Taking screenshots in Flex 3 using the ImageSnapshot.captureImage() method
<mx:Script>
<![CDATA[
// needed imports
import flash.net.FileReference;
import mx.graphics.codec.*;
import mx.graphics.ImageSnapshot;
// save PNG chart to user PC.
private function saveChart(source:IBitmapDrawable):void {
//var image:ImageSnapshot = ImageSnapshot.captureImage(idchartgrid, 300, new PNGEncoder());
var image:ImageSnapshot = ImageSnapshot.captureImage(source);
var file:FileReference = new FileReference();
file.save(image.data, “chart.png”);
} // end of savechart….
]]>
</mx:Script>
<mx:Panel id=”idchartgrid” width=”940″ height=”550″ title=”A9 Summary Chart”
horizontalScrollPolicy=”off” verticalScrollPolicy=”off” toolTip=”A9 Summary Chart” >
<mx:HBox id=”idIMAGE3″ >
<mx:Image source=”../../images/chart_bar.gif”
toolTip=”Create Chart” buttonMode=”true”
click=”saveChart(idchartgrid); ” />
<mx:Label text=”Create Chart” />
</mx:HBox>
<mx:ColumnChart id=”mychart” dataProvider=”{chart1}”
secondDataProvider=”{chart2}”
axisTitleStyleName=”axisTitleStyle”
showDataTips=”true” dataTipMode=”multiple” mouseSensitivity=”200″
height=”350″ width=”800″ >
Filed under: flex, Uncategorized | Tagged: create snapshot, flex 3 | Leave a comment »
Here are some links concerning using CSS in Adobe Flex.
Intro to Flex CSS Styling
Flex 3 CSS List Reference
Discover the power of Flex and CSS
Flex CSS Explorer
Flex Filter Explorer
Flex Primitive Explorer
Filed under: CSS, flex | Tagged: CSS, flex, style | Leave a comment »
Here are some links concerning Adobe Flash Collaborative Services.
Introduction to Adobe Flash Collaborative Services
Filed under: Flash Collaborative Services, flex | Tagged: Adpbe, flash, Flash Collaborative Services, flex | Leave a comment »
Here is list of general Oracle and Flex tips/tricks.
Using Oracle EPG to provide XML services for Flex applications
Filed under: flex, Oracle 10g | Leave a comment »
Here is a list of Flash Builder 4 tips and tricks.
Lots Of Great New ColdFusion Flash Builder Content On ADC
More info on Flash Builder 4 and Flex 4
Filed under: flex | Tagged: flash builder 4, flex | Leave a comment »
Here is a list of new cfmx 9 tips and tricks.
Documentation
Configuring and Administering Adobe ColdFusion 9
Adobe cfmx 9 CFML Reference
Developing Adobe cfmx 9 Applications
Installing Adobe cfmx 9
Adobe cfmx 9 Language Reference
Using Adobe ColdFusion Builder
Installing Adobe ColdFusion Builder
Trick and Tips
Excellent CFMX 9 review
Sneak Peek of Proxy Tags in ColdFusion 9
ColdFusion Functionality Exposed As Services
The New ColdFusion LOCAL Scope
Look, No Datasource
Sneak Peek of Proxy Tags in ColdFusion 9
AIR, CFMX9 and SQLLite
Flash Remoting in ColdFusion 9 is super fast!
Changes in the XML configuration files for Flash Remoting in ColdFusion 9
VIDEOS
9 Videos
Filed under: AIR, cfmx, cfmx 9, flex | Tagged: AIR, cfmx 9, cfmx 9 documentation, coldfusion, flash remoting, flex 4, sqllite | Leave a comment »
This is the place I’m going to put interesting examples of Adobe Flex which don’t fall in the other categories.
Ribbit – Voice enable Flex/AIR applications
Flex Paint 2.0 with Source Code
Universal Mind
Web App Solutions (WASI)
Flex Ramblings blog
Different Data Visualization techniques
Text to Speech
Preparing for Multi-touch in Flash – A Primer
Some Cool Apps from Adobe Solution Providers
Filed under: AIR, flex, Flex - Phone applications, Uncategorized | Tagged: AIR, blog, dashboards, drawing tool, flex, Multi-touch, phone application, portal, sticky notes, text to speech | Leave a comment »
I will place my flex performance tips on this post.
Flex RIA Performance Considerations Part 2: Application Startup
Comparing Web Services with Flex Remoting
Round up of ActionScript 3.0 and Flex optimization techniques and practices
Filed under: flex, Flex performance tips | Tagged: ActionScript performance, flex, flex performance, tips | Leave a comment »
I’ve been looking around for a solution, so I can put web pages (ie., cnn) into a Flex page. Some would say I should type in that html (www.cnn.com ?), but why and one can’t type in CNN. Others would say that Flex and HTML should be separated from each other. WHY? I wished Adobe would give off their high horse and fix this fundemental problem with Flash/Flex. The following links give Adobe response and some solutions might at least address the problem. I enjoy other persons creativity which others might call “hacks”.
Don’t use HTML in Flex
HTML in Flex on code.google
HTML in Flex
HTML in Flex #2
HTML in Flex example #1
HTML in Flex example #2
Mutliple articles about this subject
Filed under: flex, HTML | Tagged: flex, HTML, html in flex | Leave a comment »
I will place my 3d frameworks and components in this post.
Future of Flex 3D
Open Flux
Open Flux demos and Flex 4
Flash 3D
PaperVision tutorials
Away 3D
Drag and Drop Video
Spring Graph
Flex Data Visualization I
Flex Data Visualization II
Spring Graph
Mark Sheperd blog
Filed under: flex, Flex 3D, Uncategorized | Tagged: 3d, drag and drop, flex, flex 3d, flex 4, Spring Graph | Leave a comment »
These links concern general Flex components from various web site.
Fx Samples
Type Ahead
How to combine the power of a Flex Tree control within a ComboBox
effectCube
Advanced Components
FX:Script blog
Flex Componentor
Some great Flex UX components
Filed under: flex, general components | Tagged: Collapsible Accordian, Combo with Type Ahead, components, Effect Cube, flex, HSmoothBox, image, Mask Image, Min Max Panel, Preloading Image, rotate image, Tree Control, VSmoothBox, Whiteboard Component | Leave a comment »
I’m going to put my Flex Dashboard links in this location.
Flex Dashboard Builder
Dashboard
Dashboard – with tabs and windows
Spreadsheet / OLAP builder
Source Code – Spreadsheet / OLAP builder
Filed under: flex, Flex Chart, Flex Dashboard, Flex OLAP, Uncategorized | Tagged: flex, Flex Dashboard, Flex OLAP, Flex Spreadsheet | Leave a comment »
I’m going to put my Flex Data Visualization (chart) links in this location.
birdeye
degrafa Charts
3D Column Chart
Chart Range Selection
Some Flex Charts #1
iLOG Elixir
Chart DrillDown Animations
Some very cool Charts
Axiis – An Introduction and Tutorial
Different Data Visualization techniques
Date range selection for Flex charts
Filed under: flex, Flex Chart, Flex Dashboard | Tagged: charts, data visualization, date selection for chart, flex, flex chart | Leave a comment »
I’m going to list various Flex tools to make your application better.
Similar to Firebug (fxspy)
Six Tools for Flex and AS3 Development
Filed under: flex, Uncategorized | Tagged: flex, flex tools | Leave a comment »
I’m going to put my general flex links which might or might be put on a different post.
Flex 3 References
Adobe Flex resources
Flex 3 Developer Guide
Flex 3.3 Language Reference
Adobe Flex 3 Data Visualization Developer Guide
Programming ActionScript 3.0
Adobe Flex 3 Help
Everything Flex
Inside RIA
Adobe Flex Extensions
Tour de Flex
Flex org
General Flex tutorials ( FLEX{er} )
Adobe Flex Team Blogs
Top security threats to Flash/Flex applications and how to avoid them – Part 1
Buzzy and me blog
Flex Geek blog
Peter Ent’s blog
Orlando Adobe Group
Abobe India blogs
Filed under: flex | Tagged: adobe flex team blogs, blogs, flash, flex, magazines, orlando Adobe group, references, settop box, Top Security threats for Flex, tv | Leave a comment »
I will start to add some interesting Flex carousel links on this page. I will use a different entry to show some Flex thumbnail links and visual roamer links. I’m trying to find out why one design pattern is better in certain circumstances and worse in others.
Filed under: carousel, flex | Tagged: carousel, flex, flex carousel | Leave a comment »