WordPressを使い始めて半年以上経って「使えるツール」だと実感しているので、データを集約したいと思っている(まだ構想レベル)。手持ちの日記データは2種類ある。
- 2003年〜2004年に使っていたCOREblogのデータ
- それ以前の手書きHTML。フォーマットも適宜変わっている。
このうち2番目の不定型HTMLはあまりに面倒なので先送りしたい。とりあえずCOREblogのデータを取り込めれば満足。
と思って検証し始めたのだが、かなり厳しい。編集画面を見る限りは大差ないのだが、データ構造から見ると別ジャンル。
- WordPressを含むメジャーなブログツール: Perl/PHP + オープンソースDBMS(LAMP, LAPP)
- COREblog: Zope(の中はPython + ZODB)
ZODBからデータを取り出してMySQLなどに移行する作業が必要になる。一番の山はZODBからデータを取り出す、というところ。ZODBがRDBではなく独自のオブジェクトDBなのが難点。
あまり考えたくなかったので、まずはO2DBというツールを使ってみた。が、数時間粘ってダメだった。どうやら現在のO2DB-0-5-8というバージョンはMySQL-python-1.0.0 & MySQL3.xを前提としているらしい。Fedora Core 4だとMySQL-python-1.2.0 & MySQL-4.xなのでうまく動かなかった。
直接の原因はMySQL-python-1.2系でCompatMysqldb.pyが無くなっていること。「じゃあMySQL-python-1.0を手動でインストールするか」と思うと今度はMySQL-4.xとの組合せだとコンパイルが通らない。タイミングの悪い話だ。今後O2DBがMySQL-4.x系に対応してくれれば使えるかもしれないが今回はあきらめる。
次点として手動でデータを取り出すことを考えた。具体的には、COREblogのフォルダでcsv風の出力を行うDTMLを書く。以下、ソースから調べたdtml-varのメモ。
- title: 記事の題名
- subtitle: 記事のサブタイトル
- author: 投稿者名
- id: 記事ID
- date_created: 投稿日(fmtオプションで書式指定可能)
- body: 記事本文(fmtオプションでstructured textなどをparse可能)
現時点では、ここまでで力尽きた。WordPress側のデータ構造とMySQLへのimport方法を調べないと進めない。
しかも最大の問題は「ここまでして移行する価値があるのか?」というそもそも論。「一回やっときゃ、ずっと使える」という点と「自分で書いたものが資産だ」という点を信じないと価値を見出せない。というわけで、さしあたり優先度を下げることに。
今回、最大の教訓は「Zopeを一回使い始めるとなかなか抜けられない」ということか。