2014年01月08日
プラグインの新しい管理方法とインストール機能 (1)
PowerCMS 4 ではより便利なプラグイン管理機能 (PluginManager) を提供します。
追加される管理機能には Movble Type 標準のプラグイン管理機能にはない下記の特徴があります。
- プラグインの ZIP ファイルのダウンロード URL を指定し、管理画面にてプラグインをインストール・アップデートする機能
- プラグインの ZIP ファイルをアップロードし、管理画面にてプラグインをインストール・アップデートする機能
- プラグインの有効・無効を一括で設定する機能
- プラグインの有効・無効および、インストールを予約し、ツールによって任意のタイミングで一括実行する機能
管理画面よりプラグインをアップデートするためには、PluginManager の仕様に沿ったプラグインである必要があります。
今回は概要とプラグインに関連する機能について紹介します。
メニューの変更
PowerCMS 4 では「プラグイン」メニューを追加し、従来の設定画面はサブメニューの「設定」から遷移します。
「管理」ではプラグインの有効・無効の一括変更、インストールが行えます。
「アップデート」ではプラグインとコンポーネント (MT+PowerCMS) のアップデートとバックアップからのリストアが行えます。
PluginManager によるプラグインの有効・無効の切り替え
プラグインの有効・無効の切り替えはプラグイン毎にラジオボタンで選択して切り替えます。
プラグインマネージャによるプラグインの有効 / 無効は Movable Type のシステムレベルのプラグイン設定画面で行う有効 / 無効とは異なります。
プラグインマネージャではプラグインの読み込み後に機能を無効にするのではなく、プラグインディレクトリからプラグインの構成ファイル群を移動させることで無効化を実現しており、これにより不要なプラグインによるパフォーマンスの低下を回避することができます。
プラグインのインストール
PluginManager では管理画面よりプラグインのインストールが行えます。
インストールは下記2種類の方法があります。
- ZIP ファイルをアップロードしてインストールを行う
- ZIP ファイルのダウンロード URL を指定してインストールを行う
いずれの方法を行う場合も PluginManager の仕様に沿った構成のプラグインである必要がありますが、一般的に GitHub などで公開されているプラグインの形式であればインストールが可能です。
ただし各プラグインと PowerCMS との併用については製品サポートの対象外となります。
プラグインのアップデート
PluginManager では Movable Type のスケジュールタスクの実行時にプラグインとコンポートネントのアップデートがチェックできます。スケジュールタスクとは異なるタイミングでチェックを行う場合には run-workers-daemon か run-workers スクリプトを利用します。
見つかったアップデートは画面にリストアップされ、選択することによってアップデートが行えます。
コンポーネントのアップデートを実行する場合はバックアップが生成されます。
生成されたバックアップは同画面内にリストアップされ、任意のものを選択してリストアすることも可能です。
プラグインのアップデートに対応させる方法
プラグインマネージャに対応したプラグイン/コンポーネントの作成方法
個別のプラグインをプラグインマネージャのアップデート機能に対応させるためには、プラグインの「config.yaml」に「config_uri」と「archive_uri」を指定します。
「config_uri」には「config.yaml ファイルのインターネット上の URL」を、「archive_uri」には「ZIPアーカイブのインターネット上の URL」を指定します。
例:
id: JSON2MTML
key: json2mtml
name: JSON2MTML
description: <__trans phrase="JSON to MTML using Movable Type data api.">
author_name: Alfasado Inc.
author_link: http://alfasado.net/
config_uri: https://raw.github.com/alfasado/mt-plugin-json2mtml/master/plugins/JSON2MTML/config.yaml
archive_uri: https://github.com/alfasado/mt-plugin-json2mtml/archive/master.zip
version: 0.5
PluginManager はこれら URL に指定されたファイルの内容を元に、プラグインが更新されているか確認を行います。
今日現在、JSON2MTML プラグインが一足早くプラグインのアップデートに対応しております。
JSON2MTML in GitHub : https://github.com/alfasado/mt-plugin-json2mtml/
設定
PluginManager の機能を利用するには mt-config.cgi へ環境変数を指定することによって設定を行います。
DisablePluginsPath
無効化されたプラグイン、オプションプラグインを保存するディレクトリのパスを指定します。
指定がない場合は PowerCMSFilesDir 以下の plugins_disabled ディレクトリが使われます。
- 例:
- /path/to/powercms_files/plugins_disabled
RequiredPlugins
無効化できないプラグインをカンマ区切りで指定します。指定されたプラグインは「プラグイン管理」画面の一覧に表示されず、操作されることを防ぎます。
- 初期値:
- CustomObjectConfig,CustomGroupConfig,ContactFormConfig,ObjectGroupConfig
AllowPluginDirectInstall
プラグインマネージャはプラグインの有効・無効、アップデートなどは管理画面の操作で予約を行い、Movable Type のスケジュールタスクのタイミングで反映を行います。
管理画面を操作したタイミングで反映を行いたい場合は 1 を指定します。
- 初期値:
- なし
AllowPluginOnlineInstall
プラグインを ZIP ファイルのダウンロード URL の指定によってインストール可能にするかどうかを指定します。
1 を指定した場合、プラグインの ZIP ファイルのダウンロード URL を指定することによって、管理画面経由でプラグインのインストールが可能になります。
0 を指定した場合は ZIP アーカイブの URL を指定するインストール機能は無効化されます。
- 初期値:
- 1
AllowPluginUploadInstall
プラグインを ZIP ファイルのアップロードによってインストール可能にするかどうかを指定します。
1 を指定した場合、プラグインの ZIP ファイルをアップロードすることによって、管理画面経由でプラグインのインストールが可能になります。
0 を指定した場合は ZIP アーカイブをアップロードするインストール機能は無効化されます。
- 初期値:
- 1
PluginManagerRunChecker
PluginManagerRunChecker にはプラグインのリポジトリをチェックしてアップデートの予約を行うかを指定します。
1 を指定した場合はスケジュールタスク実行時にプラグインのリポジトリをチェックします。
※アップデート機能でチェックするためには各プラグインが対応している必要があります。
- 初期値:
- なし
PluginManager によるプラグインのアップデートへの対応について不明点などありましたらお気軽にお問い合わせください。
- カテゴリー
- PowerCMS 4
コメントを投稿する