mt2geeklog

はじめに

mt2geeklog は Movable Type ® からエクスポートされる記事ログを Geeklog に取り込むためのカスタム関数です。Movable Type そのものでなくても,同様のフォーマットのログをエクスポートできるブログなら使用できます。ログのフォーマットについては,こちらをご覧ください

警告: なお,mt2geeklog はまだアルファリリースの段階なので,バグがあることが予想されます。万一の場合に備えて,mt2geeklog を使用する前にデータベースのバックアップを取っておいてください(管理者メニューの「DBのバックアップ」でバックアップできます)。

警告: 日本語しか処理したことがないので,他の言語では不具合が生じるかもしれません。

ライセンス

Geeklog 本体と同様,GPL(GNU Genral Public License)です。

インストール方法

  1. ダウンロードした mt2geeklog-x.y.tar.gz(x, yはバージョン番号)を適当なソフトウェアで解凍します。
  2. 生成された phpblock_mt2geeklog.php と mt2geeklog_usage_japanese.html (今,お読みになっているファイル)を Geeklog の非公開ディレクトリ /system/custom にコピーします。
  3. このディレクトリ内にある lib-custom.php をエディタで開き,適当な箇所に次の 1行を追加します。function phpblock_showrights() の直前くらいがよいでしょう。

    require_once( 'custom/phpblock_mt2geeklog.php' );



  4. 管理者としてログインし,管理者メニューの「ブロック」を選択し,「新規作成」をクリックします。
  5. 「タイトル」に「MTから記事をインポート」,「ブロック名」に mt2geeklog と入力し,「タイプ」は「PHPブロック」を選択します。その下の「PHPブロックのオプション」で phpblock_mt2geeklog と入力してから,「保存」をクリックしてください。
  6. これでインストール終了です。管理者としてログインすると,「MTから記事をインポート」が表示されるでしょう。

使用法

  1. 管理者として Geeklog にログインします。
  2. 「MTから記事をインポート」が表示されていなければ,「管理者メニュー」→「ブロック」から有効にしてください。
  3. 「インポートするファイル名」を入力します。「参照...」をクリックすれば簡単です。
    (注意)ファイルの拡張子は .log でなければなりません。
  4. 「入力エンコーディング」を選択します。自動判別に失敗する場合は,eucJP-win, UTF-8, SIJI-win のあたりを試してみてください。
  5. 「記事のオーナー」を選択します。インポートする記事を誰の所有物とするかを指定します。いずれの場合も,元の記事に投稿者が設定されていない場合は,Admin の所有物になります。

    <「記事のオーナー」で設定できるオプション>
    オプション 説明
    すべて元の投稿者 インポートするファイルに指定されている投稿者(AUTHOR)をそのまま所有者にします。所有者が Geeklog の登録ユーザーになっていない場合は,自動的に登録されます。
    (注意)新しく作成されたアカウントはユーザーがログインできない状態になっているので,管理者が手動でEメールとパスワードを設定する必要があります。
    できるだけ元の投稿者 インポートするファイルに指定されている投稿者をそのまま所有者にします。所有者が Geeklog の登録ユーザーになっていない場合は,Admin が所有者になります。
    Admin インポートするファイルに指定されている投稿者は無視され,Admin がすべての記事の所有者になります。

  6. 必要なら,「デフォルトの話題」を入力します。「デフォルトの話題」は,インポートする記事にカテゴリ(Geeklog では「話題」)が設定されていない場合に,所属することになる話題です。
  7. 「投稿状態」を選択します。
  8. 「コメント」を選択します。「インポートする」を選択した場合は,次の「コメント許可」も併せて選択します。

    <「コメント許可」で設定できるオプション>
    オプション 説明
    元のデータ通り インポートするファイルに指定されているコメント許可フラグ(ALLOW COMMENTS)をそのまま使用します。
    自動判別 原則として,インポートするファイルに指定されているコメント許可フラグをそのまま使用しますが,既にコメントがついている記事に関してはコメントを許可します。
    すべて許可する インポートするファイルに指定されているコメント許可フラグは無視され,すべての記事に対してコメントが許可されます。
    すべて禁止する インポートするファイルに指定されているコメント許可フラグは無視され,すべての記事に対してコメントが禁止されます。

  9. 「トラックバック」を選択します。「インポートする」を選択した場合は,次の「トラックバック許可」も併せて選択します。

    <「トラックバック許可」で設定できるオプション>
    オプション 説明
    元のデータ通り インポートするファイルに指定されているトラックバック許可フラグ(ALLOW PINGS)をそのまま使用します。
    自動判別 原則として,インポートするファイルに指定されているトラックバック許可フラグをそのまま使用しますが,既にトラックバックがついている記事に関してはトラックバックを許可します。
    すべて許可する インポートするファイルに指定されているトラックバック許可フラグは無視され,すべての記事に対してトラックバックが許可されます。
    すべて禁止する インポートするファイルに指定されているトラックバック許可フラグは無視され,すべての記事に対してトラックバックが禁止されます。

  10. "Start title HTML", "End title HTML" を指定する必要があるのは,Blogger など記事にタイトルがないブログからデータをインポートする場合です。たとえば,すべての記事のフォーマットが次のようになっているとします。

    <div class="article">
      <div class="article_title">記事のタイトル</div>
      <div class="article_body">記事本体</div>
    </div>

    このような場合,<div class="article_title"></div> で挟まれた部分を取り出せば,タイトルとして利用できます。Start title HTML にタイトルの直前の部分のパターンを,End title HTML にタイトルの直後の部分のパターンを指定すれば,mt2geeklog は自動的にタイトルを取得しようと試みます。取得できた場合は自動的にタイトルに設定され,取得できなかった場合は "NO TITLE" がタイトルとなります。なお,Start title HTML, End title HTML は PHP の eregi() 関数に正規表現として渡されますが,mt2geeklog では正規表現の正当性はチェックしていないため,不適切なパターンを指定すると全くマッチしなかったり,非常に時間がかかる場合があります。
  11. 「投稿モード」を選択します。
  12. 最後に「インポート」をクリックすれば,インポートが始まります。エラーが発生した場合は,エラーログ(/logs/error.log)をご覧ください。

ページの先頭へ戻る▲

改訂履歴

ver 0.1.2 2006/04/25 Geeklog 1.4.0 より前のバージョンにはトラックバック機能がないので,データベースに保存しないように変更。
ver 0.1.1 2006/04/21 mbstring(マルチバイト文字)関数が使えない場合に対処(エンコーディング変換を行わず,メニューにも表示しない)。
ver 0.1 2006/04/19 初期バージョン

ページの先頭へ戻る▲