目次

PluginManagerとは何か

PluginManager(以下PM)はプラグインを管理を行なうプラグインで、Movable Type(以下MT)の管理画面からプラグインのインストールやアンインストール、またバージョンが更新された際のアップグレードを行なうことができます。

デフォルトでは、PMで管理しているリポジトリに登録されているプラグインをインストールすることができます(登録されているプラグインは2009年9月17日時点ではとても少ないです)。

またその他、複数のプラグインをまとめて1つのファイルにエクスポートする機能、エクスポートしたファイルから他のMT(PMはインストール済みの必要があります)へプラグインをインポートする機能、もあります。

※2009年9月17日時点でインストールやアンインストールなどの基本的な機能は実装されていますが、全体的に仕様を含めて検討中の段階です。
※MT5向けのプラグインです。MT4には対応していません。

主な機能

  • プラグインのインストール/アンインストール/アップレード
  • プラグインの配布形式(ファイル形式)への変換
  • 配布のためのリポジトリの作成
  • プラグインのエクスポートとインポート(この場合はリポジトリは経由しない)

特徴

PMの最大の特徴は、バージョンアップの確認とプラグインのアップグレードをMTの管理画面から簡単に行なうことができるという点です。これにより利用者はアップグレードが容易になり、また配布者側からもアップグレードを通知することが容易になります。

またもう一つの特徴が、中央のリポジトリに依存しない分散型の設計であるという点です。MTさえあればPMを使って誰でもリポジトリを作成し、公開することができます。

誰のためのプラグイン?

MTでブログを書いている人

  • いろいろなプラグインを試したいが探すのが面倒 => PMのリポジトリにたくさんのプラグインがある
  • いろいろなプラグインを試したいがインストールが面倒 => PMで簡単にインストールできる
  • 試したプラグインを削除するのが面倒 => PMでインストールしたプラグインは簡単に削除できる

MTをCMS構築の土台とする人

  • 毎回プラグインをインストールするのが面倒(ケース1) => PMのリポジトリからインストールするか、自分専用のリポジトリを作成しておいてそこからインストールできる
  • 毎回プラグインをインストールするのが面倒(ケース2) => 必要なプラグインをまとめてエクスポートしておくことができる
  • プラグインの更新をチェックするのが面倒 => プラグイン配布者や販売者が管理しているリポジトリからインストールすれば更新がMTの管理画面から確認できる

プラグインを配布している人

  • mt-static/pluginsやpluginsなどファイルが多い場合にインストールの説明が面倒 => 全てのファイルが指示通り展開される
  • .cgi に権限を与えてもらうための説明が面倒 => ファイルの権限も設定される
  • ファイルの展開の前や後に特殊な処理をしたい => ファイルの展開の前にスクリプトを走らせることができる
  • バージョンアップしたが更新してもらえない => リポジトリを更新すると管理画面で更新可能な旨が表示される

プラグインを販売している人

  • 販売後にバージョンアップをすることが難しい => 販売しているプラグイン専用のリポジトリを作成し、BASIC認証をかけて公開する
  • MTOSにインストールできないライセンスなのにインストールされて困る => GPL互換のライセンスでないとMTOSへはインストールできない

設計の方針

前節にあるように誰にとっても便利なプラグインであることを目指しており、プラグインの利用者にとっての利便性はもちろんですが、プラグインの配布者の利便性が向上することも重要なポイントとして考えています。

MTのプラグインは販売されている場合も多いので、そのような配布環境でも利用できるものにすることを目指しています。

またMTOSで使われる場合にはGPL互換のライセンスでないとインストールできないようにすることで、MTOSの健全な発展を阻害しないということもポイントとして考えています。

設計、または運用上の課題

  • プラグインの配布の目的が配布元ページのアクセス数アップである場合に、リポジトリで配布をしてしまうと配布元ページへアクセスしなくなるのではないか?

PMの(プラグイン機能の充実以外での)展開

  • PMのためのコミュニティサイトを作る (GitHubのような)
    • 自分のリポジトリを作成して公開できる
  • 人気プラグインコンテストを行なう (インストールされているプラグインを自動で集計)

プロジェクトへの参加

Movable Type Plugin Managerではプロジェクトの参加者と、PluginManagerのリポジトリでプラグインを配布していただける方を募集しています。ご意見ください。