秋に思い立ってつくり、テスト(放置)していたが、公開しておこうと思う。

仕様検討が完了していないのだが、とりあえず忙しいことと、クリスマスシーズンなのにひとさまに何も贈るものがないというのが理由だ。

rn_xmlrpc-1.0.0.0.zip

ちなみに、これは何をするものかと言えば:

ブログへの記事の書き込みに、XML-RPC 投稿 API に対応した投稿クライアントが使えるようになる。
BlogPet が記事を投稿してくれるようになる。
といったものだ。(ちなみに自分自身の原初の制作動機としては後者だったのだが、使っているうちにそちらはわりとどうでもよくなり、日々の記事の投稿をクライアントソフトから行うことの便利さの方が重要になってしまった。(^-^;)

これの制作過程では Rinn さんにいろいろご助言、仕様案などいただいた。ありがたく。m(__)m

ということで、全国の BlogPet を rNote につけたい皆様と、ブログ投稿クライアントを愛する皆様に。


念のため…サーバー側に設置します。 php で書いてあります。 PEAR の XML-RPC パッケージが必要です。必要なファイルの配置例は INSTALL.TXT に簡単に書いてありますのでそれを参考に。

ID の扱いについて。XML-RPC 投稿API では記事を、記事ごとに一意な ID で管理します。いろいろ考えたのですが、 rNote では xml ファイルとして記事を書くので、ファイル名を ID にしています。形式は以下のとおり。

記事ファイル… YYYYMMDD_hhmmss.xml 。'YYYYMMDD_hhmmss' の部分(主ファイル名)がID。
カテゴリー指定用の一時ファイル…YYYYMMDD_hhmmss.category 。'YYYYMMDD_hhmmss' の部分(主ファイル名)がID。
要は、年月日時分秒を文字列にしたものをIDに使っています。このあたりの経緯はここの過去記事を参照してくださるとだいたいわかるかと思います。

xml 手書きでも投稿するよ、という場合、「この形式にならない」ように、また、「手書きの記事同士もまったく同名のファイル名を複数投稿しない」ようにすれば、問題は起きないはずです。

バグなど見つけたら(なおしたら)、あるいは仕様を改良されたら、ぜひ教えて下さい。助かります。(笑)

…と、いってるしりからファイル不備がみつかったので 1.0.0.1 1.0.0.2 (笑)にさしかえました。

(12/27追記)

作成されるファイル/ディレクトリ の所有者を FTP ユーザーと同じにすることのできる 1.1.0.0 に差し替えました。 (方法ありがとうございます。>楓さん。)

FTP アカウント情報を rnote_config.php に追加しますので、セキュリティ対策をよく考えてください。不安な場合、これまでと同じ apache 所有になる形でも使えます。デフォルトはこれまでの apache 所有の方です。 FTP アカウントでの作成方式に変更する方法は INSTALL.TXT をみてください。

動作確認用に WriteLog() を何箇所か入れてあります。うまく動作しない場合ログファイルを開いて確認してみてください。(=デバッグしてみてください。(^-^;)

(12/30追記)

FTP アカウント所有権に対応させた場合に、画像付きの投稿で画像のサイズが 0 バイトになっていたのを修正した 1.1.1.0 にさしかえました。

(2006/1/1追記)

moblog.uva.ne.jp を使った投稿に出来る範囲で対応した 1.1.2.0 にさしかえた。対応内容は別途記事を書いておく。

(2006/1/2追記)

1.1.2.1 で moblog.uva.ne.jp に完全に対応させた。改行処理の問題にも対応した。詳しくは別途記事にて。

(2006/1/4追記)

1.1.2.3 にさしかえた。改行処理のバグ修正1件と、機能追加が2件。

rn_xmlrpc-1.1.2.3.zip
[コメントの受付は終了しています ]
1: 霧島 夕 (12/25 11:38)
こんにちは。お久しぶりです:-)

設定している最中に気づいたんですが、
// 汎用httpアクセス関数
の後のコメントアウトが抜けていたのでエラー出ました(笑)

一応報告です。
2: 通りすがり (12/25 02:48) (01/01 09:00)
うわぁ…ホントですね。OTZ
ありがとうございます。
あとは…よその環境で動くのかが気になるところです。ファイルの所有権とかとくに設定してないので記事や画像などの投稿が無事にいけるかどうか興味津々。(^o^;
3: 冬星 (12/25 11:48)
通りすがりになって書いてしまった…。orz
4: 霧島 夕 (12/25 11:56)
ファイル名はともかく、私の場合Diary/2005というディレクトリで
書いてるもので現在rnote_configを修正中です(^_^;
あと、画像のアップロードですね。
rootからimage/カテゴリ/2005/***.jpgを使ってるので、このあたりも
どうなるか検証します~。
5: 霧島 夕 (12/26 04:12)
お仕事お疲れ様です。
本サーバではまだ行ってませんが、自宅のIIS+phpで投稿および画像アップロード確認しました。
IISで動いたのであれば、よほどのことが無い限りUNIX側で動作しないとは思えないかと:-)

あと、問題の画像アップロード先ですが、これは一カ所のみですね(^_^;
まぁ、投稿ツール側の問題ですが(笑)
とりあえず私の環境では動作に問題ないと考えます:-)

便利なAPIを作って頂きありがとうございましたm(_ _)m
6: 冬星 (12/26 09:38)
いやー、こちらこそチェックありがとうございます。動作してよかったです。
投稿クライアント使うとけっこう便利さを感じちゃいますよ。一番多く対応されているのは WYSIWYG エディタ方式ですが、タグ打ちこみ派にも対応しているものもあるようです。
7: 霧島 夕 (12/26 10:18)
本サーバで動作OKでした:-)
たまにPOSTエラーを起こしたりすることはありますが、きっとこれは契約している
サーバのレスポンス問題と考えてます(笑)

投稿クライアントは通常エンターを押すと<p>になってしまうのは、慣れが必要ですね(^_^;
8: のり (12/28 02:22)
とりあえず、ローカルで試してみました。汎用の書き込みツールが使えるようになるというのは、かなり面白いですね。
ところで、現状では rn_xmlrpc.php に xml の雛形が埋めてありますが、これは外部に出して頂けるとうれしいですね。
まぁ、直接いじればいいんでしょうが。
次期バージョンがあるようであれば、御検討のほどよろしくお願いします。
9: 冬星 (12/28 05:58)
createPost() で記事を作っているところでしょうか。
まぁあんまりかっこうよくはないかも知れませんね~。外部に出すと、記事の内容を作成するために読み込んできて置き換えて…という処理をどうするかで手がかかるので直書きしてます。
うまい方法があれば試してみてください。
10: Kaz@sleeper (01/03 01:34)
明けましておめでとうございました
え~無事にMoblogできました!
嬉しいお年玉ですねぇ
#1.1.2.0のrn_xmlrpc.phpのFOPEN_USE_FTPがfalseじゃなかったからってのはナイショですw
11: 冬星 (01/03 10:43)
使えてよかったですね。
使って何か気づいた点がでてきたら、レポートいただけると幸いです。