アクション
概要
モジュール化により、システムの複雑さが軽減されます。モジュール化は、正式には、任意のシステムを独立した機能ユニットに分割して、これらのユニットの交換や削除を可能にすることと定義できます。
すべてのバージョンの ColdFusion には、datasource、language、pdf、Solr などのすべてのコンポーネントがデフォルトでインストールされていました。必要なコンポーネントやパッケージを選択したり、パッケージを削除したりすることはできませんでした。その結果、アプリケーションに関係しない場合は、多数のパッケージが未使用のままになるので、システムリソースが不必要に消費されることになりました。
Adobe ColdFusion(2021 リリース)では、ColdFusion 機能を特定用途のパッケージとしてインストールできます。例えば、Oracle データベース操作を実行する場合は、oracle パッケージをインストールすることができます。将来的に必要ない場合は、パッケージをアンインストールすることもできます。つまり、ColdFusion の軽量ベースバージョンを出発点とし、用途に応じてパッケージを追加したり削除したりすることができます。変更を有効にするために ColdFusion を再起動する必要はありません。
利点
- ColdFusion コアサービスのインストーラーのサイズは、JRE を含めて、146 MB になりました。今後のリリースでは、サイズはさらに小さくなります。
- ディスク上のサイズは最大 300%削減され、(コアパッケージの)実行時メモリは最大 350%削減されました。他のパッケージをインストールしたら、ディスクサイズは増える可能性があります。
- 起動時間が最大 400%短縮されました。
概要
パッケージのインストール、削除、更新の方法は次の 3 とおりあります。
パッケージのインストール/アンインストールを行うための ColdFusion Administrator インターフェイス
ColdFusion Administrator で「パッケージマネージャー」をクリックすると、パッケージを管理するためのオプションが表示されます。
パッケージ
パッケージページには、次のセクションが含まれています。
コアサーバー
コアパッケージのアップデートがあるかどうかを確認します。「アップデートを確認」ボタンをクリックすると、使用可能なアップデートの一覧が表示されます。
インストール済みパッケージ
既にインストールされているすべてのパッケージの一覧が「インストール済みパッケージ」セクションに表示されます。パッケージを選択してアンインストールできます。また、インストールされているすべてのパッケージをアンインストールしたり、アップデートが必要なパッケージがあるかどうかを確認したりすることもできます。
使用可能なパッケージ
まだインストールされていないパッケージが「使用可能なパッケージ」セクションに一覧表示されます。「すべてインストール」をクリックすると、すべてのパッケージが同時にインストールされます。
設定
設定ページには、アップデートを通知するかどうかやアップデートを自動的に確認するかどうかなど、アップデートの環境設定を指定するオプションが用意されています。
ローカルアップデートサイトを設定した場合は、そのサイトの URL を指定してアップデートを取得することもできます。
自動確認
「自動確認」をクリックすると、インストール可能なパッケージアップデートがあるかどうかを確認できます。新しいアップデートがダウンロード可能になったときに、通知が表示されます。
通知
アップデートの通知やアップデートの自動確認など、アップデートの環境設定を指定するオプションが用意されています。
アップデートサイト
ローカルアップデートサイトを設定してある場合は、そのサイトの URL を指定してアップデートを取得します。
パッケージサイト
パッケージ用のローカルサイトを設定してある場合は、アップデートを受信するための URL を指定します。
プロキシ設定
プロキシサーバーの内側にあるサーバーにパッケージをホストする場合は、次の詳細情報を入力します。
- プロキシホスト
- プロキシポート
- プロキシユーザー名
- プロキシパスワード
ColdFusion パッケージマネージャーのインタラクティブモード
ColdFusion パッケージマネージャー(cfpm)を使用すると、すべてのパッケージのインストール、現在インストールされているすべてのパッケージのアンインストールと一覧表示、使用可能な ColdFusion パッケージのリスト取得など、様々な操作を行えます。
CFHOME/cfusion/bin に移動し、cfpm.bat と入力します。
cfpm プロンプトが表示されるようになります。
コマンド
コマンド |
説明 |
install PACKAGENAME[:VERSION] |
新しいパッケージをインストールします。VERSION が指定されていない場合は、パッケージの最新バージョンがインストールされます。また、コンマ区切りでパッケージを指定して、複数のパッケージをインストールすることもできます。 |
install ALL |
リポジトリで入手可能なすべてのパッケージをインストールします。 |
update ALL | サーバーのホットフィックスとすべてのインストール済みパッケージを最新バージョンに更新します。 |
update packages |
インストールされているすべてのパッケージを最新バージョンに更新します。 |
uninstall ALL |
インストールされているすべてのパッケージをアンインストールします。 |
uninstall PACKAGENAME |
システムからパッケージをアンインストールします。コンマ区切りでパッケージを指定して、複数のパッケージをアンインストールできます。 |
list |
インストールされているすべてのパッケージを一覧表示します。 |
listall |
リポジトリで入手可能なすべてのパッケージを一覧表示します。 |
info PACKAGENAME |
パッケージに関連する情報をコンソールに出力します。 |
help |
すべてのコマンドの使用方法をコンソールに出力します。 |
scan CODEBASEPATH |
指定されたパスでコードをスキャンして、インストールする必要のあるすべてのパッケージを検索します。 |
scanandinstall CODEBASEPATH |
指定されたパスでコードをスキャンして、必要なすべてのパッケージをインストールします。 |
downloadrepo DOWNLOAD_PATH |
パッケージのリポジトリを指定のパスにクローンします。 |
q または quit |
CFPM コンソールを終了します。 |
cls または clear |
CFPM コンソールをクリアします。 |
purgecache | Felix キャッシュを破棄します。Felix では、インストール済みのすべてのバンドルをバンドルキャッシュディレクトリに保存します。デフォルトでは、現在の作業用ディレクトリに、felix-cache というキャッシュディレクトリが作成されます。詳しくは、Apache Felix フレームワークを参照してください。 このコマンドを実行すると、バンドルキャッシュがクリアされます。ColdFusion サーバーを停止し、purgecache を実行した後、ColdFusion を再起動する必要があります。 |
export EXPORT_FILEPATH | インストールされているすべてのパッケージをファイルに書き出します。 |
import IMPORT_FILEPATH | ファイルで指定されたすべてのパッケージをサーバーに読み込みます。 |
ヘルプ
プロンプトで、help と入力し、Enter キーを押します。次のオプションが表示されます。
パッケージ情報
パッケージに関する情報を表示するには、次のコマンドを入力します。
info <moulename>
例えば、pdf パッケージとその依存関係についての情報を表示するには、次のように入力します。
info pdf
パッケージがインストールされていない場合は、その情報が黄色で表示されます。この例では、cfmongodb はインストールされていないので、情報が黄色で表示されます。
インストールされているすべてのパッケージの一覧表示
インストールされているすべてのパッケージの一覧を表示するには、プロンプトで list と入力ます。
パッケージの一覧が次のように表示されます。
利用可能なすべてのパッケージの一覧表示
パッケージリポジトリで入手可能なパッケージの一覧を表示するには、プロンプトで listall と入力します。
インストールされているパッケージは緑で表示されます。
パッケージのインストール
パッケージをインストールするには、次のように、install の後にパッケージの名前を入力します。
install <package_name>
例えば、Azure BLOB をインストールするには、次のコマンドを入力します。
install azureblob
次のように、install の後にパッケージのコンマ区切りリストを指定することもできます。
install <package1>,<package2>,<package3>,...
インストールするパッケージが他のパッケージに依存している場合は、その依存パッケージも自動的にインストールされます。
パッケージのインストール時にパッケージのバージョンを指定することもできます。
cfpm>install package:version
パッケージのバージョン | コアサーバーの最小バージョン | コマンド | アクション | 動作が既存/新規 |
バージョン 6 | バージョン 5 |
install <package name> |
確認メッセージなしでパッケージのバージョン 6 がインストールされます。 | 既存 |
バージョン 6 |
バージョン 6 |
install <package name> |
現在のコアサーバーバージョンと互換性のある最新パッケージがインストールされます。 |
既存 |
バージョン 6 |
バージョン 5 |
install <package name> |
コアサーバーが更新されずにパッケージのバージョン 6 がインストールされます。 |
既存 |
バージョン 6 |
バージョン 6 |
install <package name>: <version> |
コアサーバーとパッケージのどちらもバージョン 6 をインストールするかどうかを確認するメッセージが表示されます。 | 新規 |
すべてのパッケージのインストール
考えられるシナリオは次のとおりです。
パッケージのバージョン | コアサーバーの最小バージョン | コマンド | アクション | 動作が既存/新規 |
バージョン 6 | バージョン 6 |
install all |
コアサーバーとパッケージのどちらもバージョン 6 をインストールするかどうかを確認するメッセージが表示されます。 | 新規 |
パッケージのダウングレード
考えられるシナリオは次のとおりです。
パッケージのバージョン | コアサーバーの最小バージョン | コマンド | アクション | 動作が既存/新規 |
バージョン 5 | バージョン 5 |
install <package name>: <version> | コアサーバーとパッケージの両方をそれぞれのベースバージョンにダウングレードするかどうかを確認するメッセージが表示されます。 |
新規 |
パッケージのアップグレード
考えられるシナリオは次のとおりです。
パッケージのバージョン | コアサーバーの最小バージョン | コマンド | アクション | 動作が既存/新規 |
バージョン 6 | バージョン 5 |
update all | コアサーバーとパッケージのどちらもバージョン 6 がインストールされます。 |
既存 |
バージョン 6 | バージョン 6 | update all | コアサーバーとパッケージのどちらもバージョン 6 をインストールするかどうかを確認するメッセージが表示されます。 | 新規 |
パッケージのアンインストール
パッケージをアンインストールするには、次のように、uninstall の後にパッケージの名前を入力します。
uninstall <package_name>
パッケージを削除しても、そのパッケージの依存パッケージはアンインストールされません。依存パッケージは手動でアンインストールする必要があります。
依存パッケージの順にパッケージをアンインストールすることができます。
例えば、Azure BLOB をアンインストールするには、次のコマンドを入力します。
uninstall azureblob
コードスキャナー
ColdFusion はモジュール化されており、デフォルトでは、コア部分のみを含んでいます。アプリケーションを正常に動作させるためにインストールする必要があるパッケージのリストを特定することが難しい場合があります。
そのような場合には、コードスキャナーが役に立ちます。コードスキャナーは、指定されたコードベースを自動的にスキャンして、インストールする必要があるパッケージのリストを返します。
次のコマンドを入力します。
scan <path_to_your_code_base>
また、コードベースをスキャンして、推奨パッケージを一度にインストールすることもできます。次のコマンドを入力します。
scanandinstall <path_to_your_code_base>
例えば、scanandinstall <code_base/wwwroot/cfm>
と入力します。
ローカルリポジトリの設定
ファイアウォールが設定されているか、アクティブなインターネット接続がないのでパッケージがインストールされない場合があります。
このリリースでは、downloadrepo コマンドが導入されました。これを使用すると、リポジトリ全体(すべてのパッケージ)を指定の場所にダウンロードして、任意の web サーバーにローカルにホストすることができます。
次のコマンドを入力します。
downloadrepo <path_to_repo>
例えば、downloadrepo C:\packagerepo などと入力します。
リポジトリがダウンロードされたら、web サーバーにホストします。このローカルリポジトリは ColdFusion サーバーで使用され、オンラインリポジトリとして機能することができます。データベースの場所は、ColdFusion 管理ツールを使用して切り替えることができます。
ローカルリポジトリを使用するには、次の手順に従います。
- 上記のとおり、リポジトリをダウンロードして web サーバー上でホストします。
- ColdFusion Administrator にログインします。
- パッケージマネージャー/設定に移動します。
- パッケージサイトを http://<LOCAL_WEB_SERVER>/packagerepo/bundlesdependency.json に更新します。
- 変更の送信
- ColdFusion サーバーを再起動します。
パッケージの書き出し
サーバーの現在の状態を書き出すことができます。書き出した内容は、別の ColdFusion インスタンスまたはサーバーの別のインスタンスに読み込むことができます。
例えば、次のように入力します。
cfpm>export C:\packages.txt
ファイルの内容は次のとおりです。
# #Thu Sep 17 13:41:19 GMT+05:30 2020 server_hotfix_updatelevel=0 packages=awssqs\:2021.0.0.322293,awssns\:2021.0.0.322293,azureservicebus\:2021.0.0.322293,awsdynamodb\:2021.0.0.322293,pdf\:2021.0.0.322293,felixclassloader\:2021.0.0.322293,report\:2021.0.0.322293,awss3\:2021.0.0.322293,document\:2021.0.0.322293,image\:2021.0.0.322293,chart\:2021.0.0.322293,spreadsheet\:2021.0.0.322293,presentation\:2021.0.0.322293,adminapi\:2021.0.0.322293,administrator\:2021.0.0.322293
パッケージの読み込み
ファイルからサーバーの状態を読み込み、読み込み中のファイルで参照されているすべてのパッケージをインストールします。
例えば、次のように入力します。
cfpm>import C:\packages-to-import.txt
パッケージの更新
この節では、パッケージ更新のワークフローについて説明しています。これらのワークフローでは、コアバージョンまたはパッケージをアップグレードまたはダウングレードします。パッケージを更新またはダウングレードする状況としては、例えば次のような場合があります。
- インストール済みの ColdFusion コアパッケージを更新またはダウングレードする場合。
- ColdFusion コアパッケージと 2 番目のパッケージ(例:chart など)を既にインストールしてある状況で、chart の新しいバージョンが使用可能になり、既にインストールされているコアパッケージと互換性がある場合。chart パッケージを更新することになります。
- ColdFusion コアパッケージと 2 番目のパッケージ(例:chart など)を既にインストールしてある状況で、 既にインストールされているコアパッケージと互換性がないので、chart 用の新しいバージョンが提供されるようになりました。
そのためには、コアパッケージを chart パッケージと共に更新することをお勧めし ます。 - chart パッケージを以前のバージョンにダウングレードする場合(先に、コアパッケージをダウングレードする必要があります)。
ワークフローの例
次に例を示します。
- ColdFusion コアパッケージと 10 個の異なるパッケージを既にインストールしてあります。5 個のパッケージには使用可能なアップデートがあり、そのうち 3 個のパッケージがインストール済みのコアパッケージと互換性がある場合は、その 5 個のパッケージすべてと共にコアパッケージも更新する必要があります。
- ColdFusion コアパッケージと 10 個の異なるパッケージを既にインストールしてあります。コアパッケージと互換性がないパッケージがある場合は、そのパッケージを最新バージョンに更新する必要があります。
注意:GUI インストーラーを使用して ColdFusion をインストールする場合、初期設定では、すべてのパッケージがインストールされます。これらは最新バージョンの ColdFusion に更新されます。
サポートされているコマンド
|
ColdFusion パッケージマネージャー |
ColdFusion Administrator |
---|---|---|
1 つのパッケージの更新 |
|
「インストール済みパッケージ」セクションでパッケージを選択し、使用可能なバージョンドロップダウンで更新先のバージョンを選択します。 |
複数のパッケージの更新 |
|
サポートされていません |
すべてのパッケージの更新 |
|
サポートされていません |
例
コアサーバーまたはパッケージを更新またはダウングレードするには、次のコマンドを使用します。
install <package name>:<lower package version>
例えば、chart v2021.0.0.323100 パッケージをインストールしてあるとします。これは、最新のコアパッケージをベースにしています。このパッケージを v2021.0.0.323099 にダウングレードすることになりました。こちらは、以前のバージョンのコアパッケージをベースにしています。
この場合は、コマンド install chart:2021.0.0.323099
を使用します。
このコマンドは以下を実行します。
- コアアップデートをアンインストールする。
- 最新バージョンの chart パッケージをアンインストールする。
- 最新バージョンの chart パッケージをインストールする。
ColdFusion パッケージマネージャーの非インタラクティブモード
CFPM の非インタラクティブモードを使用すると、パッケージのインストールやアンインストールのプロセスを自動化しやすくなります。
コマンドプロンプトを開き、coldFusion/cfusion/bin フォルダーに移動して、次のように入力します。
cfpm COMMAND ARGUMENTS
例:C:\ColdFusion\cfusion\bin>cfpm install <package_name>
Docker
Docker イメージでは、次の 2 つの環境変数を使用できます。
- installModules=<CF パッケージマネージャーでインストールするパッケージのコンマ区切りリスト。使用可能なすべてのパッケージをインストールする場合は「all」と指定可能>
- importModules=<読み込むパッケージを記載したテキストファイル。Web ルート /app に存在する必要があります>