MovableTypeのメンテナンス

Pocket

 こちらのエントリで報じたトラブルを解決すべく作業しました。
 あれこれ試行錯誤したんですが、結局文字コード変換は断念。書き出し->変換->読み込みというステップだと、おそらく個別エントリのURLがかわってしまうので。 
 で、こちらの情報とスクリプトを利用させてもらって、一旦BerkeleyDBに書き出してMySQLに取り込むという方法をとりました。漢字コードを変換しなければバッチリ。
 再構築後、トップのカテゴリ一覧の並び順だけ変わってしまったみたい。おそらくPostgreSQLとMySQLとのデフォルトのソート順の違いでしょう。
 その他、特にユーザ側でかわったところはないと思いますが、何か問題があったら知らせて下さい。>利用者の人

MT3.1アップグレードでトラブル

Pocket

 ついでにこのブログの文字色が薄いのが、Safaliだと顕著なので、少し濃い目にしようと思ったら、エラーが出てテンプレートを保存できない。マズい。こないだ適当なアップグレードこいた影響かも。
 すみません。風邪なおったらなんとかします。>利用者の人

追記

 うーん、動的生成も使いたいし、PostgewSQL、EUC-JPな環境から、MySQL、UTF-8な環境に新規インストールしなおすか、って気になってきました。MT開発陣的にも主軸はそっちっぽいし、検証がしっかりしてそう。今後も新機能は早く使えるようになるでしょうし。週末の夜中にでも作業してみます。
 UTF-8にした時の問題点ってなんだっけ?Safaliでちゃんと表示されない?それって今でもそうなんかしら?

Coppermine Photo Gallery

Pocket

Coppermine Photo Gallery
 ふと三澤さんに「オンラインでデジカメ写真を管理したい」と言われていたのを思い出し、先日FEED on FEEDSを見つけるのにもお世話になったオープンソース・プロジェクト検索サイトfreshmeatで物色。あるわあるわ。30くらいのWebアルバム管理システムを見比べて、CoppermineというPHP+MySQLベースのシステムに行き着く。
 これはスゴい。プリント・サービスがないことを除けば、カメラ・メーカーなんかがやってるオンラインアルバム・サービスに近いことまでできてしまう。主な特徴は、
・柔軟なユーザ管理(フォームから登録可)
・パブリックなアルバムとプライベートなアルバムを別に管理できる
・他人のアルバムや写真にコメントやレイティングが可能
・パブリックアルバムや他人のアルバムにゲストが写真を投稿可(オーナーによる掲載承認制)
・サーバー上で回転や切り抜きなど編集が可能
・当然メタデータで検索可能
・招待用のeカードを送付可能
・ZIP圧縮で一括ダウンロード可能
・ZIP圧縮で一括アップロード可能
・日本語を含む多言語対応
・カテゴリの階層化対応
・トップページにランダムや新着の写真を表示可
・etc.
 公式サイトのデモはこちら
 色々ある中で、このシステムを選んだ決めては、WindowsXP標準の「このファイルをWebに公開する」リンク(Web発行ウィザード)を使って一括アップロードができる点。デジカメやメモリカードをマウントして、写真を選択して直接流し込めるワケですよ。これは簡単&便利でしょう。画面デザインもスッキリしていてかつ手抜き感が漂わない程度にはデザインされてると思います(テーマもいくつか選べる)。
 これでどうよ?>三澤さん
 後でアカウント教えるから、とりあえず使ってみ。

○インストールTips

 出力漢字コードをEUC-JPにしていると、Web発行ウィザードに登録するためのレジストリ・ファイルもEUP-JPで出力され、プロバイダ一覧画面で文字化けしてしまう。xp_publish.phpの581行目を以下のように書き換えて、レジストリ・ファイルはShiftJISで書き出すようにしたら直りました。
修正前:print join(“\r\n”, $lines);
修正後:print mb_convert_encoding(join(“\r\n”, $lines), ‘SJIS’);

MovableType 3.1 日本語版

Pocket

Movable Type 3.1 日本語版が公開。ソフトバンクBBによる法人展開も
 ようやく出ました。>MovableType 3.1日本語版
 ページの動的生成(ダイナミック・パブリッシング)に対応して、再構築地獄から抜け出せそうなので、早速導入。
 ところがアップグレード・スクリプトのmt-upgrade31.cgiでエラー出まくり。ひとつは追加しようとするテーブルの列がすでにあるよ、というもの。これはスクリプトから該当行を削除して回避。次もテーブルの再編絡みでSQL文のNOT NULL制約がエラーに。調べてみると、PostgreSQL7.2系では非対応の制約らしい。しょうがないのでこれも該当処理を削除。これで一応スクリプトは完走。こんなんでいいのかw?
 あとは管理画面でMovableTypeニュースが文字化け。
 うーむ、早まったかなぁ。
 とりあえず毎度修正が上書きされて戻ってしまう、カレンダーを月曜始まりにするための書き換えを再度実行。こんなもんだったかなぁ。他に不具合があれば報告して下さい。>利用者の人
 さて、ダイナミック・パブリッシングはどう使うんだ?とマニュアルを読む。

ダイナミック・パブリッシングには、リレーショナル・データベースの処理速度と即応性を必要とします。 したがって、Berkeley DBはサポートされません。 (PostgreSQLおよびSQLiteのサポートを予定していますが、3.1ではまだ未対応です。)

 なんだよ、PostgreSQL環境じゃ使えないじゃん…orz。

P.S.
 最近、ネタ体質だなぁ。墓穴掘りまくり。鬱だ…。マヨイガ逝ってきます。

FEED on FEEDS

Pocket

 というワケでFEED on FEEDSですよ。
 RSSは便利なんですが、σ(^^)のように複数のPCを使い分ける人間にとって、メールやブックマーク同様、RSSアグリゲーターのデータ共有は問題です。RSSのURL(いわばブックマーク)自体はOMPLと呼ばれる標準フォーマットで読み書きできるソフトが多く、それを使ってウォッチ対象サイトの設定自体は複製できますが、個々の未読管理まではやってくれない。例えばモバイルで読んでしまった記事が、自宅マシンでは新着として再度表示されたりするワケです。
 で、サーバー・サイドなRSSアグリゲーターを探していました。つまりホームページ型のRSSリーダーです。そのページにアクセスすると、登録しておいたサイトのRSS更新チェックが一度にできてしまう。あるマシンから「すべて既読」にしておけば、別のマシンでもそれが反映されるって仕組みです。サービスとして提供しているところはいくつか知ってたんですが、無料とはいえ広告がウザそうだし、やはり自分のサーバーで運用したいなと。で、Linuxで動くものを物色していたところ、冒頭のFEED on FEEDにたどり着いたワケです。
 PHPで動いていて、最新版ではiconvや国際化関数を使ってEUC-JPなRSSもUTF-8に変換して表示可能、ということでしたがどうもエラーが出て登録できません。ウチのPHPの問題でしょうけど、PHPの再コンパイルは骨なのと、ウォッチしてるところでEUC-JPなのは自サーバー絡みのとこばっか(笑)。前記事に書いた通り、そっちをUTF-8にしてしまうことで解決しました。まぁ、EUC-JPなところでどうしても登録したいサイトを見つけたらまた考えることにしよっと。
 機能的にもまだまだ不満はあります。リンクを辿って記事を読んだだけじゃ既読フラグが立たないので、一通り読んだら「Mark All Read」を手動でしたりしないといけないし、表示順なんかもカスタマイズできない。PHPなんで、そのうち自分で少しいじるかも知れません。とりあえずケータイには対応させたいですね。AGENTがケータイのものだった場合、URLもMT4i対応のものに置換するとか。
 そういうことならコイツでできるぜ、とか他のサーバーサイド処理型のアグリゲーターをご存じの方、是非教えて下さい。