Administrator API

ColdFusion Administrator のほとんどのタスクは、Administrator API を使用することでプログラムから実行できます。Administrator API は、Administrator タスクを実行するために呼び出すことが可能なメソッドを含んだ ColdFusion コンポーネント (CFC) のセットで構成されています。たとえば、"datasource.cfc" の setMSQL メソッドを使用すれば SQL Server のデータソースを追加できます。

Administrator API の CFC は "<ColdFusion の Web ルートディレクトリ>/CFIDE/adminapi" ディレクトリにあります。次の表に示すように、個々の CFC は ColdFusion Administrator の 1 つの領域に対応しています。

CFC

説明

accessmanager.cfc

個々のユーザーのユーザー名、パスワード、説明、アクセス権、サンドボックス、および許可されたロールを指定します。

administrator.cfc

Administrator の基本的な機能 (ログイン、ログアウト、移行ウィザード、およびセットアップウィザード) が含まれます。Administrator API の他のメソッドを呼び出すときは、先に login メソッドを呼び出す必要があります。

base.cfc

他の Administrator API CFC すべてに対する基本オブジェクトです。

datasource.cfc

ColdFusion データソースを追加、変更、および削除します。

debugging.cfc

デバッグの設定を管理します。

eventgateway.cfc

イベントゲートウェイを管理します。

extensions.cfc

カスタムタグ、マッピング、CFX、アプレット、CORBA、および Web サービスを管理します。

office.cfc

OpenOffice の設定を管理します。

mail.cfc

ColdFusion メール設定を管理します。

runtime.cfc

フォント、キャッシュ、チャート、設定、その他の設定項目に関するランタイムの設定を管理します。

security.cfc

パスワード、RDS、およびサンドボックスセキュリティを管理します。

serverinstance.cfc

Tomcat サーバーを起動、停止、および再起動します。この CFC は、デベロッパー版とエンタープライズ版に対してのみ動作します。

servermonitoring.cfc

プログラムによってサーバーモニタの多数のタスクを実行します。

"adminapi" ディレクトリには、"Application.cfm" ファイルと 2 つのサブディレクトリも含まれています。

注意: サンドボックスセキュリティを使用している場合、Administrator API を使用するには "<ColdFusion の Web ルートディレクトリ>/CFIDE/adminapi" ディレクトリへのアクセスを有効にします。

Administrator API に含まれるメソッドのスタイルは次のとおりです。

メソッド引数
複雑な値や変化する値を設定する場合、Administrator API ではメソッド引数を使用します。

単純な値の設定と取得
単純な値を設定する場合 (たとえば、true または false のデバッグ設定など)、Administrator API では get および set プロパティメソッドを使用します。

Administrator API CFC のメソッド、メソッド引数、およびマニュアルを参照するには、CFC Explorer を使用してください。たとえば、サーバー設定を使用している場合に datasource.cfc を参照するには、ブラウザを開いて http://localhost:8500/CFIDE/adminapi/datasource.cfc にアクセスします。

Administrator API の使用

  1. 次のようにして、administrator.cfc をインスタンス化します。

    <cfscript> 
        // Login is always required. 
        adminObj = createObject("component","cfide.adminapi.administrator");
    注意: 次のように、administrator.cfc のインスタンス化と loginメソッドの呼び出しを 1 行のコードで実行することもできます。
    createObject("component","cfide.adminapi.administrator").login("admin");
    注意: 正しい権限があれば、管理者以外のユーザーとして、次のようにログインできます。パスワードの後にユーザー名を指定します。
    createObject("component","cfide.adminapi.administrator").login("#password#","#username#")
  2. administrator.cfc の login メソッドを呼び出す際には、次のように ColdFusion Administrator パスワードまたは RDS パスワードを渡します。

    adminObj.login("admin");
  3. 使用する CFC をインスタンス化します。

    myObj = createObject("component","cfide.adminapi.debugging");
  4. 目的の CFC メソッドを呼び出します (この例では、デバッグを有効にしています)。

    myObj.setDebugProperty(propertyName="enableDebug", propertyValue="true");

次の例では、SQL Server データソースを追加します。

<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 = "xx.x.xxx.xx",  
        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", 
        disable_clob = true, 
        disable_blob = true, 
        disable = false, 
        storedProc = true, 
        alter = false, 
        grant = true, 
        select = true, 
        update = true, 
        create = true, 
        delete = true, 
        drop = false, 
        revoke = false ); 
</cfscript>

次の例でも同じ SQL Server データソースを追加しますが、argumentCollection 属性を使用し、すべてのメソッド引数を 1 つの構造体として渡しています。

<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 = "xx.x.xxx.xx"; 
    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> 
--->