SQLToolsプラグイン(その1・概要とインストール)

Movable Typeには多彩なテンプレートタグがありますが、かゆいところに手が届かないこともあります。
「SQLを書けば、欲しいデータを簡単に得られるのに...」と思う場面も少なくありません。
「PHP(+SQL)でデータベースに直接アクセスしてデータを得ている」といった話もよく聞きます。

そこで、SQLで各種のデータを読み込むプラグインを作りました。
これから数回に分けて、このプラグインの使い方を解説します。
今日は、プラグインの概要と、インストールの手順を取り上げます。

1.概要

このプラグインでは、SQLを使って、Movable Typeのデータベースから各種のデータを読み込むことができます。
以下の2つの方法で、データを出力することができます。

  • 各オブジェクト(記事等)のIDをSQLで読み込み、それを基にしてMovable Typeのオブジェクトとしてデータを読み込んで、Movable Typeの標準のテンプレートタグで出力
  • 一般のSQLを実行し、そのSQLの実行結果を出力

以前に、Brad Choate氏が開発した「SQL」というプラグインがありました。
そちらはテンプレートにSQLを直接に書く仕組みでした。
一方、当プラグインではセキュリティを考慮して、SQLはテンプレートとは別に管理します。
SQLの管理は、そのための権限を持ったユーザーのみ行うことができます。

SearchEntriesプラグインと近い使い方ができます。
SQLを知っている必要がありますが、その代わりにSearchEntriesプラグインよりもはるかに柔軟な使い方ができます。
また、SearchEntriesプラグインは記事だけが対象ですが、当プラグインでは記事以外のオブジェクトも扱うことができます。

2.動作環境

当プラグインは、Movable Type 6.0+MySQLの環境でテストしました。
他のデータベース(Oracle/SQL Server)でも動作すると思います。
また、Movable Type 5.1xや5.2xでも動作すると思います(Listing Frameworkを使っているので、5.0x以前は不可)。

3.インストール

プラグインは以下からダウンロードします。

SQLTools_1_00.zip

ダウンロードしたZipファイルを解凍すると、「plugins」のフォルダができます。
このフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。

アップロードした後、初めてMovable Typeにログインする際に、データベースのアップグレードのメッセージが表示されます。
画面の指示に従って、アップグレードの作業を行います。

4.ライセンス

当プラグインのライセンスは以下の通りとします。

インストール先の
Movable Typeのライセンス
当プラグインのライセンス
  • 商用ライセンスのサーバーインストール版
  • Movable Typeクラウド版
  • Movable Type for AWS(microインスタンス除く)
インストール先のMovable Type 1件につき、1ライセンス(1,000円)とさせていただきます。
ライセンスについてのお問い合わせは、メールフォームよりお願いいたします。
  • 個人無償ライセンス
  • microインスタンスのMovable Type for AWS
無償でご利用いただくことができます。

5.注意事項

当プラグインを使えば、データアクセスの自由度がかなり上がります。
その一方で、SQLを直接扱うため、SQLの書き方によっては、SQLインジェクションが起こるリスクもあります。
この点には十分注意する必要があります。