PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] システムログに「タスクを実行するために必要なロックを獲得できませんでした」というログが残っている を追加しました。
[よくあるご質問] 特定のシステムログに絞って確認できますか? を追加しました。

PowerCMS ブログ

ホーム > PowerCMS ブログ > PowerCMS 4 > プラグインの新しい管理方法とインストール機能 (1)

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

Recent Entries