Top > Movable Type > カスタマイズ > 管理画面 [全て開く]
2008年1月15日

他人の Movable Type 4 へのコメント投稿で Movable Type 認証を利用する方法

January 15,2008 2:30 AM
Tag:[, ]
Permalink

Movable Type 4 のコメント投稿では複数の認証方式が用意されています。その中のひとつに「Movable Type 認証」という方式があります(下)。

Movable Type 認証

これは、その Movable Type にユーザーとして登録されている人が利用するための認証で、他の、全く別にインストールした Movable Type のアカウントで認証できるものではありません。したがって、Movable Type 認証には「認証しようとするユーザーが、その Movable Type にユーザー登録されている」という制限があります。

ただし、厳密には MT の設定方法によって、外部の人間に対し「コメント投稿者」という権限を与えることができるため、「Movable Type」の認証によるコメント投稿が可能になります。以前、「Movable Type の認証では(他の方のブログの)コメント投稿はできません」と、誤解を招く発言をしたことがあるかもしれませんが、その点についてはお詫び申し上げます。

以下、その設定方法および、Movable Type の認証によるコメント投稿方法を紹介します。

1.(コメント投稿対象ブログの)管理画面の設定

システムメニューの「設定」→「全般」画面で、「システムのメールアドレス」を設定し「変更を保存」をクリック。このフィールドを設定しないと、後に説明する「メール通知」が行われません。

「全般」画面

システムメニューの「設定」→「ユーザー」画面で、「コメント投稿者がMovable Typeに登録することを許可する」にチェックをして「変更を保存」をクリック。

「ユーザー」画面

ブログ別管理画面の「設定」→「ブログの設定」→「登録/認証」で「ユーザー登録」をチェック。

「登録/認証」画面

2.コメント投稿側の設定

コメント投稿の認証画面より「Movable Type」を選択して「サインアップ」をクリック。ブログ管理者の設定によっては「Movable Type」が選択できない場合もあります。

認証画面

必要事項を記入して「登録する」をクリック。

アカウント作成画面

「ご登録ありがとうございます。」という画面が表示され、表示されている(コメント投稿者の)メールアドレスにアカウント登録の確認メールが送信されます。

アカウント登録完了画面

下のようなメールが届いていたら、表示されている URL にアクセスします。もしメールが届いてないようであればメールアドレス誤りか、MT の設定(本エントリーの一番最初の手順)が完全に行われていない可能性があります。

確認メール

メールに表示されたURL にアクセスし、次の画面が表示されれば、他人の MT にコメント投稿者として登録されます。

アカウント作成完了

3.Movable Type 管理画面でのコメント投稿者の扱い

登録した「hoge」さんの MT での権限は「コメント登録者」として表示されます。

アカウント作成完了

「コメント登録者として権限を与えると、ブログ管理画面にログインされてしまうのでは?」と思われるかもしれませんが、登録したアカウントで他人の MT にログインしても、次のようなアカウント変更画面しか表示されません。

アカウント作成画面

また、登録が完了していないユーザは、下のように「保留」状態になります。このフィールドは、ブログ管理画面からのユーザー登録では「有効・無効」しか選択できませんので、外部から登録する際の特殊なケースです。

保留状態

Comments [0] | Trackbacks [0]
2008年1月10日

ブログ記事の入力フィールドに初期値を設定するプラグイン

Movable Type 4.1/MTOS で、ブログ記事の入力フィールドに初期値を設定するプラグインです。このプラグインを利用すれば、ブログ記事の新規作成時に、

  • タイトル
  • 本文
  • 追記
  • タグ
  • 概要
  • キーワード

の各フィールドに任意の文字列を初期値として表示することができます。

これは「『タグ』や『キーワード』等にいつも同じ内容を設定するのですが、特定の文字列を予め設定しておくことはできないでしょうか」という質問を頂いたのが作成の発端です。

1.プラグインのダウンロード

下記のリンクをクリックしてプラグインをダウンロードしてください。

DefaultValueSetter.zip

2.プラグインのアップロード

ダウンロードしたプラグインを解凍し、中にある、DefaultValueSetter フォルダを plugins ディレクトリに丸ごとアップロードしてください。

ブログ管理メニューの「設定」→「プラグイン」で DefaultValueSetter が表示されればインストール完了です。

設定画面

3.使用方法

ブログ別にブログ記事用の初期値を設定します。ブログ管理画面の「設定」→「プラグイン」で「DefaultValueSetter 0.01」をクリックし、さらに「設定」をクリックすると次のような設定画面が表示されます。

設定画面

このような感じで設定し、一番下の「変更を保存」をクリック。

設定画面

ブログの新規作成画面に設定した内容が反映されます。

設定画面

4.ライセンス

デュアルライセンスです(The blog of H.Fujimoto の藤本さんのライセンス内容を勝手ながらそのまま適用させて頂いてます)。なお、プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。

利用方法

上記の「Make a Donation」のリンクをクリックすると Paypal によるお支払いページにジャンプします。

4.1 MT4.1個人ライセンス/MT4.1商用ライセンスと組み合わせる場合

  • 無料で利用できます。
  • 改変・再配布は自由ですが、改変して再配布する場合、原作者のクレジットを必ず残してください。

4.2 MTOSと組み合わせる場合

  • 無料で利用できます。
  • GPLv2に従います。
Comments [0] | Trackbacks [1]
2007年12月25日

CORESERVER にcron ジョブ(Movable Type 4 の run-periodic-tasks)を設定する

CORESERVER では crontab コマンドでは cron を設定できない(一瞬できますが削除されます)ので、管理画面より設定します。

ここではMovable Type 4 の run-periodic-tasks を例に手順を紹介します。

1.シェルスクリプトの作成

「シェルスクリプト」とは、Linux上のコマンドを制御するプログラミング言語が記述されたファイルを指します。
まず、以下のような内容のシェルスクリプトを任意のテキストエディタで作成します。

#!/bin/sh
cd /virtual/***/public_html/mt
/usr/bin/perl ./tools/run-periodic-tasks
exit

2行目の赤色の部分、*** はユーザによって異なります。また、「mt」は Movable Type のアプリケーションディレクトリ(mt.cgi があるところ)を指定してください。
1行目と3行目、4行目の記述内容は固定です。

この内容を cron.sh というファイル名で保存します。ファイルの名前は任意ですが、拡張子は必ず .sh にしてください。
なお改行コードは必ずLFで保存してください。Windows のメモ帳では改行コードは CR+LF になってしまうので、他のフリーのエディタを使いましょう。

2.ファイルのアップロード

FTPツールで cron.sh をアップロードします。ここではユーザディレクトリ(public_html のひとつ上の階層)にアップロードします。
アップロード後、cron.sh のパーミッションを 705 に変更してください。

3.cron ジョブの設定

CORESERVERの管理画面ログイン

ログイン画面

「CORESERVERアカウントの登録・管理・購入」をクリック

ユーザーコントロールパネル

「サーバー設定」をクリック。

CORESERVERアカウントの登録・管理・購入画面

「入室」をクリック(ブラウザによっては自動で画面遷移します)

入室画面

サイドメニューの「CRONジョブ」をクリック

CORESERVERアカウントの登録・管理・購入画面

アップロードしたファイルをCRON ジョブに登録します(画面から切れてますが、曜日の部分も * を設定)

CRON ジョブに登録

これは毎時0分に cron.sh を実行する設定です。数字は時間、* は全ての期間に対応する意味です。「時」に * をつけると「毎時実行する」という意味になります。

設定後、「保存」をクリックしてください。

4.エラーメールを送信しない

cron ジョブにエラーがあると、登録しているメールアドレスにエラーメールが送信されます。このエラーメールの送信を行いたくない場合は、シェルファイル名の後に「 >/dev/null 2>&1」を付けます。

CRON ジョブに登録

最初はこの設定を行わず、エラーメールが送信されないことを確認してからの方がいいでしょう。

5.その他

CORESERVER での cron ジョブ実行については以下の条件があります。

  • ジョブの最大実行時間は3分です。それを超えるものは強制停止されます
  • CORESERVER でのジョブの実行間隔は最短で1時間に1回です
  • 削除する場合は、「/virtual/***/~」を空にし保存して下さい
  • ジョブの負荷はCGI負荷として加算されます
Comments [0] | Trackbacks [0]
2007年11月 2日

Movable Type 4 の管理画面で詳細メッセージのないエラーが発生する不具合について

Movable Type 4 のブログ管理画面操作中、下のような、詳細メッセージのないエラー画面に時々遭遇することがあります。

感覚的には、管理画面にグインした後、長時間(といっても数十分程度)何も操作しない状態の直後の操作で発生するようです。

根本的な解消策はみつかってませんが、この画面が表示された場合は、ブラウザの「戻る」をクリックしてリロードすれば元の操作に戻ることができます。

ちなみに、セッションタイムアウト(UserSessionTimeout)は、デフォルトで4 時間 (14400秒)に設定されていますが、それより短い時間で遭遇するので、セッションのタイムアウトではないようです。
また、この設定にひっかかった場合は、エラー画面ではなくログイン画面に遷移します。

Comments [0] | Trackbacks [0]
2007年10月20日

ブログ記事の画像挿入時に表示位置を指定しないプラグイン

October 20,2007 12:32 AM
Tag:[, , ]
Permalink

ブログ記事の投稿で、記事内に画像ファイル等を挿入する場合、ファイルの表示位置を指定しないオプションがありません(下)。

オプションなし

このプラグインでは表示位置を指定しないラジオボタンを追加します。

オプションあり

このプラグインは、crema さんの記事を元に作成したものです。

が、やや先に Junnama さんがよりリッチなプラグインを投稿されていました。

私の作成したプラグインは簡素なので、style 属性が設定されなくなるだけです。class 属性の設定は残ります。

1.プラグインのダウンロード

下記のリンクより、プラグイン InsertAssetWithoutStyle をダウンロードしてください。

InsertAssetWithoutStyle.zip

2.プラグインのアップロード

アーカイブを解凍し、解凍した内容を plugins ディレクトリおよびスタティックディレクトリに、それぞれ下記のように配置してください。

mt-static/
  plugins/
    InsertAssetWithoutStyle/
      images/
        align_none.gif
      styles/
        app.css
plugins/
  InsertAssetWithoutStyle.pl

システムメニュー→プラグインで「InsertAssetWithoutStyle 0.0x」が表示されていればOKです。

プラグイン一覧画面

3.利用方法

画像の表示位置を指定したくない場合、冒頭のスクリーンショットのように、位置欄より「なし」を選択します。「設定を記憶」をチェックすれば選択状態を保存することができます。

Comments [2] | Trackbacks [0]
2007年8月21日

Movable Type のスケジュール・タスク実行(Windows 編)

August 21,2007 1:50 AM
Tag:[, , ]
Permalink

Windows のタスク・スケジューラを利用した、Movable Type のスケジュール・タスク実行方法を紹介します。スケジュールタスクを実行することで、MT4 であれば指定日投稿・迷惑コメント(トラックバック)削除・公開キュー等のスケジュール処理が可能になります。
MT3 も同じ設定方法です(公開キューはMT4のみ)。

この設定は自宅サーバで Windows XP 等を利用している場合の設定方法です。レンタルサーバの場合は Linux 上で同様の設定を行います。

以下、設定手順です。

「スタート」→「設定」→「コントロール パネル」→「タスク」→「スケジュールされたタスクの追加」を選択。

スケジュールされたタスクの追加

タスク ウィザードで「次へ」をクリック。

タスク ウィザード1

「参照」をクリック。

タスク ウィザード2

perl プログラム(ここでは C:¥usr¥bin¥perl.exe)を選択して「開く」をクリック。拡張子を表示しない設定の場合は「perl」を選択。

perl選択

日単位を選択して「次へ」をクリック。

タスク ウィザード3

開始時刻を設定し、このタスクの実行から「毎日」を選択して「次へ」をクリック。

タスク ウィザード4

表示されたユーザーのパスワードを設定して「次へ」をクリック。

タスク ウィザード5

「[完了]をクリックしたときに詳細プロパティを開く」をチェックして、「完了」をクリック。

詳細プロパティ

ここからの設定が重要です。開いたプロパティ画面で

  • 実行するファイル名:C:¥usr¥bin¥perl tools¥run-periodic-tasks
  • 開始:アプリケーション・ディレクトリのパス(例はC:¥web¥mt)に書き換える

を設定し、「OK」をクリック。実行するファイル名の tools¥run-periodic-tasks の前には半角空白を入れてください。「開始」のアプリケーション・ディレクトリとは、mt.cgi があるディレクトリです。

とりあえずこれで「OK」をクリックすれば設定完了です。
ただしこのままでは日に1回しか実行されないので、実行周期を短くする場合は「スケジュール」タブの詳細設定をクリック。

オプションの詳細設定で「タスクを繰り返し実行」で間隔を設定します。継続時間は間隔より長く設定してください。
スケジュールを変更するとパスワードの設定が求められる場合があります。

オプションの詳細設定

作成したタスクは最初の「スタート」→「設定」→「コントロール パネル」→「タスク」→「XX」で起動することができます。

オプションの詳細設定

Comments [0] | Trackbacks [0]
2007年7月 4日

管理画面のページ遷移を簡単にする Bookmarks プラグイン

July 4,2007 2:15 AM
Tag:[, , ]
Permalink

MT4 専用の最初のプラグインがリリースされたというアナウンスがありましたので、便乗して紹介します。

First Movable Type 4 Plugin released

This weekend, Kevin Shay, the developer behind several of Movable Type's most popular plugins, release the first Movable Type 4 plugin.

Bookmarks プラグインは、管理ページの任意のページ(例えばテンプレートのインデックスページ編集画面)をブックマークすることで、ページにダイレクトに遷移できるようにするためのものです。

以下設定と操作方法です。

1.プラグインのダウンロード

下記のサイトよりプラグインをダウンロード(スクリーンショット下の「here」をクリック)。

New Plugin for MT 4: Bookmarks

2.プラグインのアップロード

解凍した中にある Bookmarks フォルダを丸ごと plugins ディレクトリにアップロードします。下のような構成になっていればOKです(1.0b2 現在。プラグインのバージョンアップで構成が変わる可能性があります)。

/Bookmarks
 /lib
  /Bookmarks
   App.pm
   Util.pm
  /MT
   Bookmark.pm
 /tmpl
  /dialog
   edit_label.tmpl
   list_bookmark.tmpl
 Bookmarks.pl

3.インストール

管理ページにアクセスするとアップグレード開始画面になりますので、「アップグレード開始」をクリック。

アップグレード開始画面

サインインします。

サインイン画面

アップグレードが開始され、データベースに Bookmark プラグインに必要な情報が生成されます。完了したら「MOvable Type に戻る」をクリック。

アップグレード実行画面

管理画面に「Bookmarks」というメニューが追加されました。

アップグレード実行画面

4.利用方法

例として、インデックスページのテンプレート編集画面をブックマークします。
インデックスページのテンプレート編集画面に遷移したところで Bookmarks のメニューより「Bookmark "My First Blog: Edit Template 3"」を選択。この名称はブログ名+画面名です。

Bookmarkメニュー

ブックマーク画面が表示されるので「Done」をクリック。

アップグレード実行画面

これで Bookmarks メニューの一番下に「My First Blog: Edit Template 3」が追加されました。このメニューを選択すると、どのページにいても、インデックステンプレート編集画面に直接ジャンプすることができます。

Bookmarkメニュー

メニューの「Manage Bookmarks」を選択するとブックマーク管理画面に遷移します。

Bookmarkメニュー

タイトルをクリックするとタイトル名を変更することが出来ます。

Bookmarkメニュー

日本語も利用することができるので、ここでは「インデックスページ編集」に変更し、右下の「Save Changes」をクリック。

Bookmarkメニュー

ブックマークメニューが日本語になりました。

Bookmarkメニュー

カスタマイズされる方は下のように各テンプレート編集画面をブックマークしておくと便利でしょう。

Bookmarkメニュー

お分かりと思いますが、追加したブックマークに「My Firlst Blog」というブログ名を残しているのは、このブックマークがシステムでひとつだからです。
言い換えると、あるブログから他のブログの特定の画面に直接ジャンプすることもできます。

Comments [0] | Trackbacks [0]
2007年5月 8日

「このテンプレートにリンクするファイル」の使い方 for Movable Type

May 8,2007 1:50 AM
Tag:[, , ]
Permalink

Movable Type のテンプレート編集画面を開くと、下に示すスクリーンショット赤枠の「このテンプレートにリンクするファイル」がありますが、このフィールドについての利用方法をご存知ない方が少なくないのではないでしょうか。

「このテンプレートにリンクするファイル」

このフィールドはオーサリング・ツールを利用する方、あるいはテンプレートをカスタマイズする方にとってはかなり役に立つ機能を有しています。
ということで、本エントリーではこの「このテンプレートにリンクするファイル」の使い方を紹介します。

1.外部ファイルを Movable Type と同期させる

このフィールドの本来的な使い方は、Dreamweaver、GoLive等のオーサリング・ツールで作成したテンプレートを Movable Type の再構築あるいはテンプレート編集と同期させることです。オーサリング・ツールで作成したテンプレートは編集画面のテキストエリアにペーストするのではなく、このフィールドに外部ファイル名として指定するだけで自動的に読み込ませることができます。
以下、「このテンプレートにリンクするファイル」を設定されたファイルを、便宜上「リンクファイル」と記します。

例えば、作成したテンプレートを下記のようにリンクファイルとして指定します。指定する時にファイルの実体はなくても構いませんが、後で「リンクファイル」となるファイルは指定したパスにアップロードします。

ファイルを同期させる

この状態で、Movable Type の管理画面から(いきなり)再構築を実行すると、リンクファイルの内容をHTMLページやCSSに反映することができます。

またテンプレート編集画面を開くと、リンクファイルの内容がテキストエリアに反映された状態で表示されます。もちろんデータベースにも反映されます(編集画面を表示した時にデータベースに設定されるようです)。

上記をまとめると、次のような振る舞いになります。

リンクファイル操作時に優先されるデータ
再構築編集画面
ありリンクファイルリンクファイル
あり(空)*1データベースデータベース
なしデータベースデータベース

*1:リンクファイルの実体があり、その内容が空(0 バイト)のファイル

つまり、データベースの内容とリンクファイルに差分がある場合は、リンクファイルの内容が空でない限り、リンクファイルが優先されます。

改めて図で示します。
リンクファイルがない場合のテンプレート編集や再構築時の動作は次の通りです。

リンクファイルがない場合

上図のように、テンプレート編集や再構築を実行すると、Movable Type のテンプレート情報は基本的にデータベースから取得し、そのデータを元に HTML や CSS ファイルを出力します。

これと異なり、リンクファイルが存在する場合は、リンクファイルの情報を先に取得してページを生成し、同時にリンクファイルの内容をデータベースに反映する、という訳です(下図)。

リンクファイルがある場合

リンクファイルは、インデックス/アーカイブ/システム/モジュール、すべてのテンプレートに設定することができます。またこのフィールドにはファイル名だけでなく、パスを設定することができます。Movable Type 配布元の Six Apart は、絶対パス("/"から開始)による指定を推奨しています。

この仕組みを理解しておけば、テンプレート編集画面を利用せずに、テンプレートの内容を効率的にHTMLやCSSの内容に反映させることができます。
オーサリング・ツールとの具体的な連携方法例については下記のサイトが参考になるでしょう。

2.テンプレートをバックアップする

本来の利用方法ではありませんが、このフィールドを利用してテンプレートをバックアップする方法がかなり有名です。他のサイトでこのフィールドをそのように利用する方法が多く紹介されてますし、私自身、当初はそういう使い方をするフィールドと思い込んでました。

設定方法は1項と同様、「このテンプレートにリンクするファイル」に任意のパスを設定するだけです。ファイル名はテンプレートと対応がとれるよう、分かりやすい名称にしておくと良いでしょう。まバックアップ用のパス(tmpl 等)を作っておき、そこに出力するようにしておくとサーバ上にファイルが煩雑にならずにすみます。

テンプレートをバックアップする

この設定をしておくことで、テンプレート編集画面上での修正内容がデータベース以外に、リンクファイル、つまり物理的なファイルをサーバ上に保存しておくことができます。
リンクファイルはテンプレート編集画面の「保存」または「保存および再構築」をクリックした時に更新されます。MTタグも変換されず、そのまま出力されます。

万が一、データベースが壊れて、Movable Type にアクセスできなくなってしまっても、テンプレートはファイルに残ってますので、Movable Type を改めてインストールした時に、リンクファイルの内容をテキストエリアにペーストするか、「このテンプレートにリンクするファイル」に保存されているリンクファイルのパスとして設定すれば、簡単に復活させることができます。

Comments [2] | Trackbacks [0]
2006年7月31日

インデックステンプレートにパスを設定する

July 31,2006 1:51 AM
Tag:[, ]
Permalink

意外に知られていない技で、Movable Type のインデックステンプレートにはパスを設定することができます。

アーカイブファイルは管理画面の「設定」→(3.3では詳細モードに切り替え)「公開」→「アーカイブマッピング」でパスが表示されているので、直感的にパスを設定することがイメージできますが、インデックステンプレートは「出力ファイル名」欄にファイル名しか記述されていないことと、そもそも「出力ファイル名」と書かれているので、パスの設定ができないように感じてしまいます。

以下、パスの設定方法です。

デフォルト状態テンプレート編集ページで「メインページ」のデフォルト状態は左のようになっています。
デフォルト状態メインページを hogehoge というディレクトリの下に作成したい場合は、左のように「出力ファイル名」欄の index.html の前に「hogehoge/」を追加します。記述したディレクトリは自動的に作成されます。
例は「相対パス」で記述していますが、「絶対パス」で記述することも可能です。
デフォルト状態ひとつ上のディレクトリに出力する場合は、「../」をファイル名の前に付与します。
Comments [0] | Trackbacks [0]
2006年6月24日

画像のポップアップウィンドウをカスタマイズする

June 24,2006 1:53 AM
Tag:[, , ]
Permalink

カスタマイズ前Movable Type の管理画面から画像をアップロードした後、次の画面のラジオボタンで「HTMLを表示」を選択し、「ポップアップ」をクリックすると、アップロードした画像をポップアップウィンドウで表示するためのHTMLコードが表示されます(スクリーンショット)。あとはこのコードをエントリーに貼り付ければOKです。

このHTMLコードによるポップアップウィンドウ、アップロードした画像のサイズにあわせてポップアップするのですが、ウィンドウのリサイズやスクロールが無効な状態で表示されるため、画像サイズがディスプレイサイズを超えている場合、(ポップアップウィンドウはディスプレイサイズより大きくならないため)画像を全て参照することができません。

このエントリーでは、ディスプレイより大きなサイズの画像を全部閲覧できるようにするためのカスタマイズを2つ紹介します。いずれかお好きな方をお選びください。これらは通常のポップアップのカスタマイズとしても利用することができます。

1.ポップアップウィンドウのスクロールやリサイズを有効にする方法

CMS.pm を任意のエディタで開き、「window.open」で検索すると下記の行がみつかります。
ちなみに、3.2 では3600行目あたり、3.3b2 では4700行目辺りです。

<a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a>

この中の window.open? のカッコの部分がポップアップウィンドウの詳細設定になります。
赤色の部分を下記のように yes に修正します。

<a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a>
scrollbars=yes

は、画面サイズにスクロールバーが表示する設定です。

resizable=yes

は、表示されたポップアップウィンドウのリサイズを可能にします。

なお、スクロールバーを表示する設定にした場合、スクロールバーが画像にやや被ってしまうので、下記のリストのように先程修正した行の少し上に青色の行を追加してください。

           :
        }
$width += 17;
        my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" alt="" />) : q{<MT_TRANS phrase="View image">};
        return $app->translate_templatized(<<"HTML");
<a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a>
           :

これでポップアップウィンドウの横幅がやや広くなります。17 という数値は場合は自分で試した結果ですので、修正してもらっても構いません。
高さをひろげたい場合は

$height += xx;

を同じように追加してください(xx には任意の値を設定します)。

カスタマイズ後修正したら元のディレクトリにアップロードしてください。これで画像の表示方法で「ポップアップウィンドウ」を指定した時にスクロールやリサイズが可能になったHTMLコードが表示されます。

2.ポップアップウィンドウに画像を縮小して表示する方法

画像サイズを自動的に縮小するカスタマイズが下記のサイトで紹介されています。

お気楽極楽ブログ画像のポップアップ表示でサイズ制限する

以上です。「見れればいい(というのは語弊がありますが)」という場合は2項、原寸で閲覧させたい場合は1項をお勧めします。

Comments [2] | Trackbacks [3]
2006年4月12日

MovableType のテンプレートを簡単にバックアップする Template Backup and Refresh プラグインの使い方

April 12,2006 1:30 AM
Tag:[, , ]
Permalink

Movable Type のデフォルトプラグインである Template Backup and Refresh の説明です。機能は名称の通り、テンプレートのバックアップおよびリフレッシュを行ってくれます。

1.操作方法

このプラグインで行う操作は下記の通りです。

設定1管理メニューより「テンプレート」をクリックしてテンプレート一覧画面に移動し、バックアップしたいテンプレートの左端にあるチェックボックスにチェックをして(1)、右上にあるプルダウンメニューから「テンプレートを初期化する(3.2 は「テンプレートを更新する」)」を選択して「Go」をクリックします(2)。
スクリーンショットはインデックステンプレートの「メインページ」を例にしています。

設定2「Go」をクリックすると次ページで実行対象となったテンプレートが表示されます。「戻る」をクリックすればバックアップされたテンプレート(下記のように日付と時間が追加されたテンプレート名)が一覧に追加されています。

メインページ (Backup from 2006-04-12 00:25:00)

2.プラグインの動作

上記の操作を行うことで、プラグインは下記の動作を実行します。
  1. チェックしたテンプレートをリフレッシュ、つまり原本であるデフォルトテンプレートで上書きされる(Refresh)
  2. 現在使っているテンプレートは別の名前のテンプレートで保存される(Backup)

要するに、プラグインを実行することで現在使用中のテンプレートが別の名前で保存され、使用中のテンプレートがデフォルトテンプレートで上書きされる、という仕組みになっています。

バックアップ機能だけであれば、カスタマイズをしている途中のテンプレートを別名で残しておき、使用中のテンプレートに対して次のカスタマイズ作業に進めるのですが、リフレッシュも同時に行われるため、使用中だったテンプレートを再度使用するためには元のテンプレート(の「テンプレートの内容」)に貼り付け直す必要があります。

3.原本について

リフレッシュの原本となるテンプレート(デフォルトテンプレート)は、default-templates ディレクトリ配下の下記の名称で配置されています。
atom_index.tmpl
category_archive.tmpl
comment_error_template.tmpl
comment_listing_template.tmpl
comment_pending_template.tmpl
comment_preview_template.tmpl
datebased_archive.tmpl
dynamic_pages_error_template.tmpl
dynamic_site_bootstrapper.tmpl
individual_entry_archive.tmpl
main_index.tmpl
master_archive_index.tmpl
rsd.tmpl
rss_20_index.tmpl
site_javascript.tmpl
stylesheet.tmpl
trackback_listing_template.tmpl
uploaded_image_popup_template.tmpl

4.利用方法

前述の通り、テンプレートを編集前の状態に戻す機能があるので、テンプレートの編集に失敗した時などに利用することができます。また、現在編集中のテンプレートをバックアップとして保存するために使うこともできます。ただし同じテンプレートを引き続き使う場合、テンプレートを貼り付け直す必要があります。

もうひとつ、新しいテンプレートを default_template に直接アップロードし、Template Backup and Refresh プラグインを利用してテンプレートを入れ替えるという利用方法があります。
ただしこの使い方ついては日本語の問題があり、登録されたテンプレートで使用する日本語は全て ja.pm に登録し直す必要があります。例えば、当サイトで配布しているテンプレートを default_template にアップロードしてプラグインを実行すると、テンプレートはきれいに差し替えられますが、テンプレートに記述された全ての日本語が文字化けします。
ということで、このような利用をする場合は注意が必要です。

5.その他・注意事項等

  • 「システム」テンプレートのバックアップは「モジュール」に作成されます
  • デフォルトテンプレートの「テンプレート名」を変更するとプラグインの実行対象となりません
  • インデックステンプレートの場合、出力ファイル名を変更しても問題なく動作します
  • 新たに作ったテンプレートはプラグインの対象になりません(テンプレート名をデフォルトテンプレート名と同一にすれば実行対象となります)
  • プラグインの操作を繰り返すとバックアップのテンプレートがどんどん増えていきます。つまりバックアップテンプレートが上書きされることはありません
  • デフォルトテンプレートを誤って削除した場合、同じテンプレート名を付与すればプラグイン実行対象となります

ということで、このプラグインをうっかり実行してしまってもテンプレートが消失することはありませんので、ご安心ください。

6.間違ってプラグインを実行してしまったら

Template Backup and Refresh プラグインにはアンドゥ(元に戻す)機能はありません。したがって間違ってプラグインを実行してしまった場合、初期化されたテンプレートに対し、バックアップされたテンプレートの内容を手作業でコピー&ペーストします。

例えば「メインページ」の場合、ブラウザを2つ開き、片方はテンプレート一覧画面で「メインページ」のテンプレート編集画面(A)、もう一方は、「メインページ(Backup from ?と書かれたもの)」のテンプレート編集画面(B)を表示させます。そしてBの「テンプレートの内容」をAの「テンプレートの内容」にコピーします。そのあと保存・再構築してください。
コピーする方向を間違えると取り返しのつかないことになりますので、自信のない方はそれぞれの「テンプレートの内容」を他のテキストエディタ等に貼り付ける等して保存しておきましょう。

「テンプレートの名前」は、元の名前と全く同じものを設定してください(上記の作業で余計なことをしなければ大丈夫です)。メインページは「メインページ」、エントリーアーカイブは「エントリー・アーカイブ」とします。

2006.06.19 追記
6項を追加しました。

2006.09.07 追記
3.3 用の記述を追加しました。

2007.04.26 追記
タイトルを変更しました。またシステムテンプレートのバックアップについて記述を追加しました。

Comments [0] | Trackbacks [1]
2006年3月 8日

TinyMCE Plugin for Movable Type Ja でエントリーを編集する

March 8,2006 1:50 AM
Tag:[, , ]
Permalink

TinyMCE Plugin for Movable Type Ja 世界中の1%の人々へTinyMCE Plugin for Movable Type Ja Beta4 で提供されているプラグインのご紹介です。

このプラグインはAjaxify/EnhancedEntryEditingに機能追加をして配布されていたAjaxify/EnhancedEntryEditing日本語版の後継システムで、エントリー編集画面をスクリーンショットのようなWYSIWYGエディターに変換します。
ちなみにTinyMCEとはJavaScriptによるHTML WYSIWYGエディター(オープンソースプラットフォーム)で、CMSと非常に親和性があります(というようなことが配布元サイトに書かれています)。

TinyMCE Plugin for Movable Type Ja の特徴は下記の通りです。

  • エントリー編集画面の「エントリーの内容」「追記」「概要」画面がWYSIWYGエディタになります。
  • WYSIWIGのON・OFFを切り替えられるので Movabl Type デフォルトの編集画面も使用可能です。
  • 編集画面の縦幅をドラッグ(または伸縮用アイコン)変更することができます。

ということで以下利用方法です。詳細については配布元に書かれておりますのでそちらを参照ください。

1.ダウンロード

TinyMCE Plugin for Movable Type Ja Beta4の「インストールについて」の説明文のリンクをクリック。ジャンプしたページのやや下にある「TinyMCE Plugin for Movable Type Ja」のリンクをクリックするとアーカイブをダウンロードできます。

2.インストール

ダウンロードしたアーカイブを解凍して、中にある ReadmeJa.txt 以外のディレクトリをそのまま mt.cgi のディレクトリにアップロードします。アップロード後、「メイン・メニュー」→「システム・メニュー」→「プラグイン」を順にクリックして、TinyMCEforMT バージョン Beta4 Ja が表示されていればOKです。

3.利用方法

管理画面の「新規エントリー」または「エントリー」→任意のエントリーをクリックして編集画面に進みます。タグ挿入ボタンの右側に新しいボタンが増えていますが、それをクリックする前に下方にある「改行設定」を「なし」に変更してください。
次に「WYSIWYG」をクリックするとスクリーンショットのようなWYSIWYG画面に切り替わります。そのボタンの左側にあるアイコンは編集画面の高さを変更するものです。またWYSIWYG画面でも編集画面右下をドラッグすると画面の高さを調節することができます。

4.InvalidateLinkOfInsertTag.pl をご利用の場合の修正

当サイトで公開している InvalidateLinkOfInsertTag.pl プラグイン(エントリー編集画面のHTMLタグ挿入ボタンクリックでバックスクロールする不具合を解消)をご利用の場合、TinyMCE Plugin for Movable Type Ja が正常に動作しませんので、InvalidateLinkOfInsertTag プラグインを無効にするか、ファイル自体を削除し、

plugins/TinyMCEforMT/TinyMCEforMT.pl

を任意のエディタで開き、青色部分を追加してください。

HTML
    chop ($old); $old = quotemeta ($old);
    chop ($add1);
    chop ($add2);
    $$template =~ s/($old)/$add1$1$add2/;
    $$template =~ s/href="#"/href="javascript:void(0);"/g;
}
 
1;
__END__

修正後、同じディレクトリにアップロードしてください。

大丈夫と思いますが TinyMCE Plugin for Movable Type Ja の動作を完全に保証するものではありませんので予めご了承ください。

Comments [16] | Trackbacks [6]
2006年3月 3日

エントリー編集画面に文字列選択なしでHTMLタグを挿入できるようにする

非選択状態でタグを挿入エントリー編集画面でテキストエリアの右上にある 太字イタリックアンダーライン引用については、マウス等で文字列を選択状態にしておかないとタグが挿入できない仕様(というほどではありませんが)になっています。

先日「HTMLタグが挿入できません」というご質問を頂き、文字列を選択してくださいという回答を致しましたが、よく考えてみると選択状態でなくてもタグを挿入したい場合(タグを入力してからコンテンツを後で書き込む等)もあるのではないかと思います。

ということで、スクリーンショットのように非選択状態でもこれらのタグを挿入できるようにするカスタマイズです(例は blockquote タグを挿入)。

1.mt_ja.js の変更

HTMLタグの挿入は JavaScript で行っていますので、該当のスクリプトが書かれているファイル(mt_ja.js)の一部を修正します。
mt_ja.js はアップロードしている Movable Type のディレクトリ mt-static (index.html と同じパスにあると思います)の配下にありますので、それをダウンロード(ローカルに同じファイルがあればそれを利用)し、下記のパッチをあててください。

--- mt-static/mt_ja.js.bak Thu Mar 02 23:50:16 2006
+++ mt-static/mt_ja.js     Thu Mar 02 23:51:11 2006
@@ -236,7 +236,6 @@
 function formatStr (e, v) {
     if (!canFormat) return;
     var str = getSelected(e);
-    if (!str) return;
     setSelection(e, '<' + v + '>' + str + '</' + v + '>');
     return false;
 }

パッチがよくわからない、または面倒という方は、mt_ja.js を任意のエディタで開き、240 行目辺りを探して

function formatStr (e, v) {
    if (!canFormat) return;
    var str = getSelected(e);
//    if (!str) return;
    setSelection(e, '<' + v + '>' + str + '</' + v + '>');
    return false;
}

と赤色のコメント用の文字を追加するか、その行を丸ごと削除して

function formatStr (e, v) {
    if (!canFormat) return;
    var str = getSelected(e);
    setSelection(e, '<' + v + '>' + str + '</' + v + '>');
    return false;
}

としてください。
どちらの方法も、修正が終わったら元のディレクトリにアップロードしてください。

2.ページのスクロールバックを防止する

3.2-ja-2 ではタグ挿入ボタンをクリックした後、ページの先頭に戻ってしまう(スクロールバック)という問題があります。それを避けるためにはエントリー編集画面のHTMLタグ挿入ボタンの不具合を解消するプラグインを併用ください。

以上です。

Comments [7] | Trackbacks [1]
2006年2月13日

アップロード方法を指定するプラグイン

Movable Type のファイルのアップロード先等の指定は手入力で行っていたのですが、Better File Uploader というプラグインを導入しました。BigPAPI を利用したプラグインですので、バージョンアップによる修正は(多分)不要です。

以下設定方法です。

1.プラグインのダウンロード

Plugin: Better File Uploader のサイトより Installation の1項にある BetterFileUploader.zip のリンクをクリックして、アーカイブをダウンロードします(2/12付で Photo Gallery 関連のバグが改修されています)。

2.プラグインのアップロード

アーカイブを解凍して、中にある BetterFileUploader というフォルダを丸ごと plugins ディレクトリ配下にアップロードします。

plugins/BetterFileUploader/BetterFileUploader.cgi
plugins/BetterFileUploader/BetterFileUploader.pl
plugins/BetterFileUploader/BetterFileUploader.pm

となればOKです。BigPAPI.pl が plugins ディレクトリにない場合、つまり BigPAPI を使ったことがない場合は、このファイルを plugins ディレクトリにアップロードします。

plugins/BigPAPI.pl

また、BetterFileUploader.cgi のファイル属性を 755 等に変更します。

3.設定

アップロード先を指定するプラグイン管理画面の「メイン・メニュー」→「プラグイン」(またはブログ別の「設定」→「プラグイン」)をクリックして、次ページのBetter File Uploader の右側にある「設定を表示」をクリックするとスクリーンショットの画面が表示されます。
  • Override weblog-specific settings with the settings below:チェックすることでここでの設定がデフォルトの設定に上書きします。
  • Default upload directory:アップロード先のディレクトリを指定します(アップロード画面の「アップロード先」に対応)。
  • Append:チェックボックスにチェックすると、現在の年月のディレクトリが追加されます。
  • By default, upload to:でアップロード先をアーカイブ・パス/サイト・パスのいずれかを選択します(アップロード画面の「アップロード先を指定」に対応します)。
  • By default, publish as:のCreate a new entry using this uploaded file.がアップロード後画面の「エントリーを投稿」、Show me the HTML.が「HTMLを表示」に対応します。
  • After uploading an image, a thumbnail can be built. How should the thumbnail size be calculated? はアップロード画像のサムネイルサイズを指定します(アップロード後画面の「サムネイル」部分に対応します)。The longest side should be pixels long:はピクセル指定した値が画像の長い方に適用されます。The thumbnail should be a fixed size:は画像の高さ・幅いずれかのサイズを指定します。
  • Photo Gallery Creation Options:については同サイトで公開されている Basic Photo Gallery Templates との連携のための設定です。利用する場合は Enable easier photo gallery creation mode. にチェックします。Place the photo path in the Entry Body field. はエントリーフィールドに画像パスを設定、Place the photo path in the Extended Entry field. は追記フィールドに画像パスを設定します。

全て設定したら「変更を保存」をクリックします。ファイルのアップロード画面で設定が反映されていればOKです。

このプラグインや Photo Gallery Templates についての詳細は Movable Type 4989Photo Gallery Templates で詳しく解説されていますのでそちらを参照されると良いでしょう。

Comments [9] | Trackbacks [2]
2006年1月29日

管理画面のエントリーリストにパーマリンクを表示する

管理画面のエントリーリストにパーマリンクを表示する管理画面でエントリーリストを表示した時にそのエントリーのパーマリンク(エントリーアーカイブページのURL)も同時に表示するカスタマイズです。
これを作った理由は、管理画面のエントリー一覧からあるエントリーのURLを取得するためには、そのエントリー編集画面の右上にある「エントリーを確認」のリンクからしか取得できず、エントリー一覧から直接取得(あるいは表示)できるようにしたいと思ったからです。

完成画面はスクリーンショットでお分かりのように、リンク画像をエントリータイトルの後方に表示するようにしています。これをクリックすることで該当のエントリーを表示することができます(URLを取得するだけであれば、IEの場合、リンクを右クリックして「ショートカットのコピー」を選択することでコピーできます)。
またツールチップにURLを表示するようにしてします。

以下、カスタマイズ方法です。

1.CMS.pm の修正

エントリー一覧ではパーマリンク情報を取得していないため、これを取得できるよう、lib/MT/App/CMS.pm をダウンロードし、下記のパッチをあてます。パッチのあて方についてはパッチをあてる(その1:適用方法)をご覧ください。パッチがよく分からない&面倒という方はパッチをあてる(その1:適用方法)の4項をご覧ください。

--- CMS.pm.bak  Thu Jan 29 23:24:40 2006
+++ CMS.pm      Thu Jan 29 23:26:58 2006
@@ -5038,6 +5038,7 @@
         $row->{author_name} = $author ? $author->name : $app->translate('(author deleted)');
         $row->{category_name} = $obj->category ? $obj->category->label : '';
         $row->{title_short} = $obj->title;
+        $row->{entry_permalink} = $obj->permalink;
         if (!defined($row->{title_short}) || $row->{title_short} eq '') {
             my $title = remove_html($obj->text);
             $row->{title_short} = MT::I18N::substr_text($title||"", 0, MT::I18N::const('DISPLAY_LENGTH_EDIT_ENTRY_TITLE')) . '...';

パッチをあてた後はアップロードして元の CMS.pm に上書きしてください。

2.エントリーリスト表示用テンプレートを修正する

BigPAPI用プラグインを利用する方法と、テンプレートを直接修正する方法の2通りを紹介します。2.1項または2.2項のいずれかお好きな方を選んでカスタマイズしてください。

2.1 BigPAPI用プラグインを利用する

2.1.1 BigPAPI プラグインのダウンロー