Building a CF Administrator Interface in Flex Theo Rushin, Jr. rushint@yahoo.com Senior Web Application Developer World Singles and DoubleBlack Technologies 11/19/2018
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) 11/19/2018
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 11/19/2018
What is the ColdFusion Administrator API? 11/19/2018
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. 11/19/2018
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) 11/19/2018
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. 11/19/2018
CF Admin API CFCs (cont.) Description administrator.cfc Contains basic Administrator functionality, including login, logout, the Migration Wizard, and the Setup Wizard. base.cfc Base object for all other Administrator API CFCs. datasource.cfc Add, modify, and delete ColdFusion data sources. debugging.cfc Manage debug settings. eventgateway.cfc Manage event gateways. extensions.cfc Manage custom tags, mappings, CFXs, applets, CORBA, and web services. mail.cfc Manage ColdFusion mail settings. runtime.cfc Manage runtime settings for fonts, cache, charts, configuration, and other settings. security.cfc Manage passwords, RDS, and sandbox security. serverinstance.cfc Start, stop, and restart JRun servers. This CFC only works when running the multiserver configuration. 11/19/2018
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. 11/19/2018
CF Admin API Methods (cont.) CFC Description administrator.cfc getAdminProperty, login, logout, setAdminProperty, etc. base.cfc isAdminUser, etc. datasource.cfc deleteDatasource, getDatasources, setMSAccess, setMSSQL, verifyDsn, etc. debugging.cfc addDebugEvent, deleteIP, getDebugProperty, getIPList, setIP, getLogProperty, etc. eventgateway.cfc deleteGatewayInstance, deleteGatewayType, getGatewayInstances, etc. extensions.cfc deleteCFX, deleteCustomTagPath, getCFX, getCustomTagPaths, getMappings, etc. mail.cfc getMailProperty, getMailServers, setMailServer, setMailProperty, etc. runtime.cfc clearTrustedCache, getCacheProperty, getRuntimeProperty, getScopeProperty, etc. security.cfc setUseRDSPassword, setUseAdminPassword, setEnableRDS, etc. serverinstance.cfc restartInstance, 11/19/2018
Using the CF Admin API 11/19/2018
Accessing a Component Accessing an object … … using CFML <cfset adminObj = createObject("component","cfide.adminapi.administrator")> … using CFSCRIPT adminObj = createObject("component","cfide.adminapi.administrator"); 11/19/2018
Calling a Method Calling a method … … using CFML … using CFSCRIPT <cfset adminObj .login(“mycfadminpassword”)> … using CFSCRIPT adminObj.login(“mycfadminpassword”); 11/19/2018
Demo – ColdFusion Show a simple ColdFusion page that allows you to set your IP address for debugging. 11/19/2018
Building the Flex 2 Interface 11/19/2018
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. 11/19/2018
Calling your ColdFusion Component (cont.) RemoteObject service example; <mx:RemoteObject id="srv" source="samples.data.EmployeeService"> <mx:method name="addEmployee"/> </mx:RemoteObject> 11/19/2018
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. 11/19/2018
Demo – Flex Show a simple Flex 2 application that allows you to maintain various datasources. 11/19/2018
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!!! 11/19/2018
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 11/19/2018
Q & A Email: Blog: Presentation materials: rushint@yahoo.com http://therush.wordpress.com/ Presentation materials: http://therush.wordpress.com/my-presentations/ 11/19/2018