Administrator API

You can perform most ColdFusion MX Administrator tasks programmatically using the Administrator API. The Administrator API consists of a set of ColdFusion components (CFCs) that contain methods you call to perform Administrator tasks. For example, you use the setMSQL method of datasource.cfc to add a SQL Server data source.

The CFCs for the Administrator API are located in the cf_web_root/CFIDE/adminapi directory, and each CFC corresponds to an area of the ColdFusion MX Administrator, as the following table shows:

CFC Description

administrator.cfc

Contains basic Administrator functionality, including login, logout, the Migration Wizard, and the Setup Wizard. You must call the login method before calling any other methods in the Administrator API.

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.

The adminapi directory also contains an Application.cfm file and two subdirectories.

Note: If you are using sandbox security, you must enable access to the cf_web_root/CFIDE/adminapi directory to use the Administrator API.

There are two styles of methods in the Administrator API:

To view the methods, method arguments, and documentation for the Administrator API CFCs, use the CFC Explorer. For example, to view datasource.cfc when running in the server configuration, open a browser to http://localhost:8500/CFIDE/adminapi/datasource.cfc.

To use the Administrator API:

  1. Instantiate administrator.cfc:
    <cfscript>
    	// Login is always required.
    	adminObj = createObject("component","cfide.adminapi.administrator");
    

    Tip: You can instantiate administrator.cfc and call the login method in a single line of code, as the following example shows:

    createObject("component","cfide.adminapi.administrator").login("admin");
    
  2. Call the administrator.cfc login method, passing the ColdFusion MX Administrator password or the RDS password:
    adminObj.login("admin");
    
  3. Instantiate the desired CFC:
    myObj = createObject("component","cfide.adminapi.debugging");
    
  4. Call the desired CFC method (this example enables debugging):
    myObj.setDebugProperty(propertyName="enableDebug", propertyValue="true");
    

Examples

The following example adds a SQL Server data source:

<cfscript>
   // Login is always required. This example uses two lines of code.
   adminObj = createObject("component","cfide.adminapi.administrator");
   adminObj.login("admin");

   // Instantiate the data source object.
   myObj = createObject("component","cfide.adminapi.datasource");

   // Create a DSN.
   myObj.setMSSQL(driver="MSSQLServer", 
      name="northwind_MSSQL", 
      host = "10.1.147.73", 
      port = "1433",
      database = "northwind",
      username = "sa",
      login_timeout = "29",
      timeout = "23",
      interval = 6,
      buffer = "64000",
      blob_buffer = "64000",
      setStringParameterAsUnicode = "false",
      description = "Northwind SQL Server",
      pooling = true,
      maxpooledstatements = 999,
      enableMaxConnections = "true",
      maxConnections = "299",
      enable_clob = true,
      enable_blob = true,
      disable = false,
      storedProc = true,
      alter = false,
      grant = true,
      select = true,
      update = true,
      create = true,
      delete = true,
      drop = false,
      revoke = false );
</cfscript>

The following example adds the same SQL Server data source, but uses the argumentCollection attribute to pass all method arguments in a structure:

<cfscript>
   // Login is always required. This example uses a single line of code.
   createObject("component","cfide.adminapi.administrator").login("admin");

   // Instantiate the data source object.
   myObj = createObject("component","cfide.adminapi.datasource");

   // Required arguments for a data source.
   stDSN = structNew();
   stDSN.driver = "MSSQLServer";
   stDSN.name="northwind_MSSQL";
   stDSN.host = "10.1.147.73";
   stDSN.port = "1433";
   stDSN.database = "northwind";
   stDSN.username = "sa";

   // Optional and advanced arguments.
   stDSN.login_timeout = "29";
   stDSN.timeout = "23";
   stDSN.interval = 6;
   stDSN.buffer = "64000";
   stDSN.blob_buffer = "64000";
   stDSN.setStringParameterAsUnicode = "false";
   stDSN.description = "Northwind SQL Server";
   stDSN.pooling = true;
   stDSN.maxpooledstatements = 999;
   stDSN.enableMaxConnections = "true";
   stDSN.maxConnections = "299";
   stDSN.enable_clob = true;
   stDSN.enable_blob = true;
   stDSN.disable = false;
   stDSN.storedProc = true;
   stDSN.alter = false;
   stDSN.grant = true;
   stDSN.select = true;
   stDSN.update = true;
   stDSN.create = true;
   stDSN.delete = true;
   stDSN.drop = false;
   stDSN.revoke = false;

   //Create a DSN.
   myObj.setMSSQL(argumentCollection=stDSN);
</cfscript>
<!--- Optionally dump the stDSN structure. --->
<!--- 
<cfoutput>
<cfdump var="#stDSN#">
</cfoutput>
--->


View comments in LiveDocs