occ-install-or-update (プロシージャ)
public {occ-install-or-update
timeout:Time = 0s,
install-filename:#String = null,
install-name:#String = null,
install-version:#String = null,
install-directory:#String = null,
install-description:#String = null,
install-icons:#{Array-of Url} = null,
installer:{proc-type {new-root-url:Url, old-root-url:Url}:bool }
}:(permission?:bool, network?:bool, allowed?:bool, updated?:bool)
パッケージ: CURL.ENGINE.APPLET

随時接続コンピューティング (OCC)をサポートするアプレットのローカルコピーをインストールまたは更新するためにinstallerを呼出してください。

timeout: allowed?falseを返して終了するまでに他のocc-install-or-updateの呼出しの終了を待機する時間。デフォルトでは待機しません。
install-filename: nullでなければ、ホストオペレーティングシステムのアプリケーションのランチャーを作成する際のファイル名。install-filenameはホストのファイルシステム内の命名規則に則っていなければなりません。nullの場合、Curlはホストオペレーティングシステムのアプレットを登録しません。
導入: バージョン 7.0
install-name: nullでなければ、ダイアログ内で使われるアプレットの名称。nullの場合、Curlのアプレットインストーラはユーザダイアログ内にアプレットを表示するためにinstall-filenameを使用します。
導入: バージョン 7.0
install-version: nullでなければアプレットのバージョン。nullの場合、Curlのアプレットインストーラはバージョンについて言及しません。
導入: バージョン 7.0
install-directory: nullでなければ、ホストのオペレーティングシステムのランチャーネームスペース内の新規または既存のディレクトリやフォルダ。これは同じパブリッシャーによる複数の起動アイコンをグループ化するために頻繁に利用されます。nullの場合、起動アイコンにはインストールファイル名のみが使用されます。
導入: バージョン 7.0
install-description: nullでなければ、Curlのインストレーションダイアログ内にアプレットの説明が表示されます。nullでない場合、インストレーションダイアログ内には説明は含まれません。
導入: バージョン 7.0
install-icons: If not null, an array of image file URLs suitable for applet icons. If not empty?, Curl will use install-icons[0] for the applet in its installation dialog. If install-icons contains a host-specific icon file, such as an .ico file on Windows or an .icns file on MacOS X, Curl will register that file as the application's icon with the host operating system. You can use the following image formats for icon URLs. Some platforms may only support icons of certain shapes like square, and be certain sizes (e.g. 128x128).
導入: バージョン 7.0
installer:
このプロシージャは、アプレットサーバからアプレットのローカルコピーをインストール、または更新します。occ-root-installerを直接指定したり、occ-module-installerの呼出し結果を使用してIDEのディプロイメントツールにより作成されるアーカイブ用のinstallerを作成したりする事ができます。
Curlはinstallerに二つの引数を渡します。
new-root-url
インストーラが呼出し中のアプレットの新たなローカルコピーを構築することが出来るローカルの一時ディレクトリ。new-root-urlinstallerが実行されている間のみ有効です。
old-root-url
アプレットのローカルのルートディレクトリ。installertrueを返した場合、Curlはnew-root-urlのコンテンツをold-root-urlに移動させます。それ以外の場合は、Curlはold-root-urlにある元のアプレットのコピーを変更せずに残します。
installerの戻り値は、Curlがアプレットの古いローカルコピーをinstallerにより構築された新しいローカルコピーに入れ替えたかどうかを示します。
new-root-urlのインストールまたは更新が成功している場合、installertrueを返します。その結果、Curlはold-root-urlの旧コンテンツをnew-root-urlの新しいコンテンツに入れ替える事ができます。
installerはCurlがインストールまたは更新が失敗した事を通知するためにfalseを返し、Curlはold-root-urlの元のアプレットのコピーを変更せずに残します。

戻り値

permission?
ユーザがインストールを許可した場合、trueで、そうでない場合はfalseです。request-local-data-permissionを参照してください。
network?
アプレットがネットワークから起動した場合、trueです。ローカルコピーが起動した場合はfalseです。インストールされたOCCアプレットはローカルコピーから起動されるため、network?はほぼ全ての場合にfalseです。
allowed?
Curlがネットワークコピーからローカルコピーを更新しようとした場合はtrueです。アプレットが更新が試みられなかった場合、falseです。
updated?
アプレットのローカルコピーが更新された場合にtrueです。ローカルコピーが変更されないままの場合はfalseです。

説明

呼出し元のローカルディレクトリが存在しない場合、Curlはダイアログを立ち上げてユーザにアプレットのローカルコピーをインストールして良いか確認します。
install-filenameがnullの場合、Curlはrequest-local-data-permissionを呼出し、確認のダイアログを立ち上げます。 install-filenamenullでない場合、Curlはデフォルトパラメータから指定される情報を使用し、より詳細なインストールの確認ダイアログを立ち上げます。
ユーザがインストールを許可しない場合、occ-install-or-updateは全ての結果フラグをflaseに設定して返します。ユーザがインストールを許可する場合、Curlは呼出し中のアプレットをサーバからユーザのローカルファイルシステムにコピーするためにinstallerを呼出します。
アプレットのインストール開始した時にinstallerfalseを返した場合、Curlはエラーを提示します。
installertrueを返した場合、occ-install-or-updateは呼出し中のアプレットを終了し、新たに作成されたローカルコピーからアプレットを再起動します。
インストールされたアプレットがocc-install-or-updateを呼出す時、occ-install-or-updateinstallerを呼出してアプレットがサーバで更新されていたかどうか確認します。起動中のアプレットがサーバで更新されていた場合、installerはサーバ上の新しいアプレットコードからローカルコピーをアップデートし、trueを返します。
installerがtrueを返す場合、occ-install-or-updateは呼出し中のアプレットを終了し、更新されたコピーから再起動してupdated? trueを返します。installerがfalseを返すか、または例外をスローした場合、occ-install-or-updateupdated? falseだけ返します。

注意事項

インストールされたアプレットの実行中のインスタンスは、いずれもローカルにインストールされている同じコードを共有しているため、アプレットの別インスタンスが実行されている間、occ-install-or-updateはインストールされたアプレットのローカルコピー更新のためにinstallerを呼出す事ができません。アプレットの別インスタンスが実行されていると、occ-install-or-updateallowed? falseを返します。
サーバ上での更新の検出頻度を改善させるために、occ-install-or-updateは、FileCachingStyle.resynchronizeに指定されたwith-file-caching-styleブロック内でinstallerを呼出します。
installerが例外をスローせずtrueを返すと、occ-install-or-updateはアプレットルートを定義するnew-root-urlcurl-root.txtファイルを作成します。process-get-effective-rootを参照してください。