220 likes | 340 Views
Building a CF Administrator Interface in Flex. Theo Rushin, Jr. rushint@yahoo.com Senior Web Application Developer World Singles and DoubleBlack Technologies. About Me. Application Developer and Trainer Since ‘85 ColdFusion Developer Since ‘99 Flash Developer Since ’99
E N D
Building a CF Administrator Interface in Flex Theo Rushin, Jr. rushint@yahoo.com Senior Web Application Developer World Singles and DoubleBlack Technologies
About Me • Application Developer and Trainer Since ‘85 • ColdFusion Developer Since ‘99 • Flash Developer Since ’99 • Flex Developer Since ‘05 • Also work with SQL, JavaScript, HTML, and CSS • Currently working for WorldSingles - a subsidiary of NicheClick Media (http://nicheclick.com/index.html)
What We Will Cover Today • What is the ColdFusion Administrator API? • Using the CF Admin API • Building the Flex 2 Interface • Summary • Learn More • Q & A
What is it? • It allows you to perform most ColdFusion MX administrator tasks programmatically. • In ColdFusion MX 6.x you could use the “undocumented” ServiceFactory to programmatically access ColdFusion’s administrator tasks. • In ColdFusion 7.x you can use the Administrator API, a set of CFCs that offer a formal and secure way of accessing that functionality.
Why use it? • You could give developers the ability to perform certain administrator tasks without having to give out the single CF Administrator password featured in ColdFusion 6.x – 7.x. • Refresh Trusted Cache • Maintain Datasources • Refresh WebServices • Shared Hosting • ColdFusion 8 is still in Beta (as of 7/10/2007)
Where to find the CF Admin CFCs? The ColdFusion Administrator API exists as a set of CFCs located in the [coldfusion_webroot]/CFIDE/adminapi/ directory.
What are the CF Admin Methods? You may introspect the ColdFusion Administrator API cfc’s by entering http://[webserver]/CFIDE/adminapi/[apicfc].cfc in you browser’s address bar.
Accessing a Component • Accessing an object … • … using CFML <cfsetadminObj = createObject("component","cfide.adminapi.administrator")> • … using CFSCRIPT adminObj = createObject("component","cfide.adminapi.administrator");
Calling a Method • Calling a method … • … using CFML <cfset adminObj .login(“mycfadminpassword”)> • … using CFSCRIPT adminObj.login(“mycfadminpassword”);
Demo – ColdFusion Show a simple ColdFusion page that allows you to set your IP address for debugging.
Calling your ColdFusion Component • Use the RemoteObject service to invoke your ColdFusion cfc methods • The RemoteObject uses AMF (Action Message Format), a binary encoding format, over HTTP. • AMF is faster and leaner than using a standard HTTP or WebService call.
Calling your ColdFusion Component (cont.) • RemoteObject service example; • <mx:RemoteObject id="srv" source="samples.data.EmployeeService"> <mx:method name="addEmployee"/> </mx:RemoteObject>
Working with the result data • Most methods return simple data types. • Some methods return more complex data types such as arrays. • Your ColdFusion code should return more complex data types such as structures and arrays that can contain result data or error messages.
Demo – Flex Show a simple Flex 2 application that allows you to maintain various datasources.
Summary • Pros: Developers have access to most of the ColdFusion Administrator features through code. • Cons: Developers have access to most of the ColdFusion Administrator features through code. • Encapsulate your code using CFCs • Use ColdFusion Try/Catch blocks to capture any possible errors. • Use Flex RemoteObject calls to access your components. • It’s easy!!!
Learn More • Adobe Administrator API LiveDocs • http://livedocs.adobe.com/coldfusion/7/htmldocs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=ColdFusion_Documentation&file=00001734.htm • Adobe Flex 2 RemoteObject LiveDocs • http://livedocs.adobe.com/flex/2/langref/mx/rpc/remoting/RemoteObject.html • Moving data from ColdFusion CFCs to Flex 2 applications • http://www.adobe.com/devnet/flex/articles/helloworld.html
Q & A • Email: rushint@yahoo.com • Blog: http://therush.wordpress.com/ • Presentation materials: http://therush.wordpress.com/my-presentations/