2009-02-23

JS-Kit+bloggerでtrackback機能を無理やり作ってみる

※ 2009/02/23 明らかなミスや微妙な表現を少し改訂

[背景]
何やらhaloscanという会社がJS-kitに買収されて, 今までregisterさえすればbloggerでも簡単にtrackback機能を実装できたのに, registerが出来なくなって皆四苦八苦している模様。そこで, 1日費やして, 何とかjs-kitだけでtrackback機能を実装してみようと頑張ってみました。

正直javascriptなんて全く触れたことないけど, カンと気合で出来るところまでやってみました。以下, その結果発表。

※注意
環境チェックとかコードのチェックとかを行っていないので, この通りにやっても動かないかもしれません.

---------------------------------------
[結果]
trackbackのpingが送られたら, それを自動で確認するところまではできました。キャプチャ画像を使って説明すると,

trackbackが送られたら,



とりあえず自動で認識してくれる.



[大まかな開発方針]
JS-kitのコメント機能なんて入らないけど, trackback機能は欲しい. だから, JS-kitのtrackback機能が実装している部分をうまくコピペして繋ぎ合わせていけばできるんじゃないか? という信念に基づいてひたすらコードを解析&改造。


[事前準備]
1. JS-kitのYour sites画面においてtrackback関連のチェックボックスをすべてチェックしておきます.

2. 手頃なトラックバック練習場を使って, 手動トラックバック送信システムの使い方を自習します。(作者のNI-Lab.様に感謝)
http://www.nilab.info/lab/trackback.html

3. JS-Kit Admin Guide (document)をひたすら読みこみます.特に, "trackback"について記されている章(P.40)は精読します.
http://js-kit.com/support/js-kit-admin-guide.pdf

※ documentのtrackback/pingbackの章に書かれている色文字の部分について,
your.blog.com = yasu1987.blogspot.com
path = data:post.id
として置換することにします。


[具体的な実装方法]
1. bloggerのedit html画面において, 以下の部分を探す。

<?xml:namespace prefix = b /><b:include name="postQuickEdit" data="post"></b:include>
</span><p></p>
/*** ココ ***/
<p class="post-footer-line post-footer-line-2"><span class="post-labels">

2. 上述の「ココ」の部分に以下のコードをコピペ
(※ yasu1987.blogspot.comの部分には自分のドメインを入力)

<rdf:RDF xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:trackback='http://madskills.com/public/xml/rss/module/trackback/'>

<rdf:Description expr:dc:identifier='&quot;http://yasu1987.blogspot.com/&quot;+data:post.id' expr:dc:title='data:post.id' expr:rdf:about='&quot;http://yasu1987.blogspot.com/&quot;+data:post.id' expr:trackback:ping='&quot;http://js-kit.com/trackback/yasu1987.blogspot.com/&quot;+data:post.id'/>
</rdf:RDF>

<link expr:href='&quot;http://js-kit.com/rpcxml/yasu1987.blogspot.com/&quot;+data:post.id' rel='pingback'/>

<div expr:permalink='data:post.id'/>

<div>Trackback URL of this post is <a expr:href='&quot;http://js-kit.com/trackback/yasu1987.blogspot.com/&quot;+data:post.id'>HERE</a></div>


3. 無事にセーブできたら, 手動トラックバック送信システムを使って, "HERE"のリンク先URLに対してpingを送信してみます。
※ entry URLに存在しないURLを入力すると, NO URLというerrorが起こります。




4. JS-Kitのmoderation画面でpingが来たことを確認.

上図を見ると, pingが送信されたことを自動的に検知できたことがわかります。これで, 少なくともtrackbackしたい人がいるんだー, ということはわかるようになりました。ちなみに, 現在のこのブログは, このままの状態で放置しています。

[今回出来なかったこと&わかっていること]

・trackbackのpingが来たことは自動で検知できたけれど, それを表示する方法が分からない.
・同じentry URLからpingを送ると, 既に登録されているというerrorが起こる。つまり, どこかしらにちゃんとtrackbackのpingの履歴は保存されている. その保存先がわかればなんとかなるかも。


うー, 眠いので, 今日はここまでにします。個人的にはJS-Kitさんかgoogleさんのいずれかがtrackback機能をしっかり実装してくれることを切望。ではでは。もう寝ます。

2009-02-22

trackback test


Bloggerにはtrackbackが標準で付いていないみたいだから, HaloScanを使ってtemplateを一新してみた. trackbackつけられるかな.

HaloScan
http://www.haloscan.com/

[追記]
実装してみたけど, やっぱし元の状態に戻しました。理由は, 全てのCommentをまとめてfeedしてくれる"all comments"という機能のXML生成でエラーが起こったり, コメントしてくれる人に対しても色々な操作要求を(英語で)してきたりするからです。これでは, ただでさえコメントしてくれる人が少ないブログのに, さらに激減しそうな気がしてなりません。

とはいえ, 現状ではトラックバックが使えないので, これからもひそひそとやっていくブログになっていきそうです。トラックバックについての今後の方針としては, 「需要があったら実装する」という形にしようと思います。もし「トラックバックがどうしてもしたい!」という方がいましたら, 僕の方まで連絡してください。そういう要望が届き次第, その時にどうにかして実装しようかと思います。需要がないのに実装しても, あんまり意味ないしね。

それではでは。

2009-02-21

next summer internship



今夏のインターン先がおおよそ決まりました。順調にいけば, チェコのプラハにある(多分)System Integratorで働くことになるはずです。何やら従業員が10数人しかいないという超絶ベンチャー企業のようです。そこに採択された要因は, 恐らく僕のインターン履歴がSE+SE向けソフトウェアの研究者という, SE関連の仕事ばっかしていたからだと思います。本当は海外の大学での研究を望んでいたんだけど, OB/OGの研修レポート見ている感じだと研修生は雑用っぽいことしかできないようなので, SEとしてガリガリとプログラミングする方が自分の性には合っているかも。とはいっても, 僕自身の技術レベルが低いと判断されると, development teamではなくquality assuarance teamに入れられるようなので, ここは目いっぱいアピールしてdevelopment teamに入れてもらえるようにならなくては...

しかしながら偶然にも, RequirementsはWeb ApplicationやDesktop Applicationの開発経験なので, 今までYahoo! Japanでの発表用にwebappsを作っていた経験を存分にアピールすればなんとかなるかもしれない。正直, quality assuaranceと言われると, 何かこう…テストとかテストとかテストとかテストとかそういったイメージしか湧かないので, ここは是が非でもdevelopment teamに入れてもらえるよう頑張ります。

以上, 独り言でした。ではでは。

2009-02-20

ICPC 2007 problem 1




my answer to ICPC 2007 Problem 1

http://www.arukou.sakura.ne.jp/yasulab/icpc/

2009-02-19

デベロッパーネットワークAPI活用事例セミナー&発表会@Yahoo! Japan




http://techblog.yahoo.co.jp/cat206/api_2/
完全敗北orz
敗因は、Web Applicationの完成度が相対的に低かったということもあるけど、それ以上にTimingでの失敗が痛すぎる。Timingに関してはもっとシビアに考えていかないと。そのためにも、Demoをうまく使って、省けるところを省き、残り時間に基づいて柔軟に時間内に収めるようなプレゼンができるようにならねば。

世界レベルで活躍している人と接してみてやるべきことが増えた。とりあえず、目の前のプロジェクト研究からしっかりやっていく。

2009-02-17

tango! captures

現状をキャプチャーを使って簡易報告でも。









ほぼ完成(?)。残すはテストとプレゼン資料作りのみ。


2009-02-09

impl SQL Query and Save Function

お久です。数値計算の最終レポートも無事提出でき、tango!の方も順調に改造が進んでいます。今日はtango!の進み具合の報告とかをば。


幸運にも、開発陣が全員データベース設計を受講していたということもあって、すんなりと動的なSQL文作成プログラムができました。結果として、こんな感じで現在のApache Derbyを使った新DBでも条件検索ができるようになりました。





加えて、上述の図からわかるように単語の保存機能も追加。



クリックすると、



こんな感じで保存できるし、同様にして削除もできるようになりました。





お、退店の時間なので今日はここまで。

2009-02-03

tango! restart



久しぶりの日記です。若干の近況報告でも。

ようやく期末終わりました!唯一、数値計算のテストで特異値分解の問題を解き忘れたというミスが中々痛いけど、これから最終課題を解いて提出すればまぁ問題ないでしょう。

終わったことはさておいて、明日からは心機一転、Yahoo!発表に向けてtango!開発の再開です。諸事情により、開発陣営の旧メンバーと新メンバーがガラッと変わってしまったけど、これはこれで新鮮味があって面白い。メンバーが違うのだから、いっそ開発方針を変えて、一部のtango!機能だけを流用した新システム開発とかもいいかもな~。現メンバーは全員英語できるから、後学のためにもExt-GWTとかGWT-Extとか、Gadgetの実装とかチャレンジしてみてもいいかもな~。あと先月刊行された、海外で評判(?)の本「GWT applications」も買いたい!Starter向けではなくて、advance向けというコンテンツにワクテカ。嗚呼、妄想ワールドが全開過ぎるze。

ただ他にも、自作OSプロジェクト(こっちは単位取得可能)があるし、SoC設計春期コースもあるし、TOEFL iBTもあるわけで。。。そこらへんの優先順位ははっきりさせないまずい。本当はNTT communicationsのインターンもやりたかったけど、そこは流石に自主規制か。あ~でもインターンもしたかったな。実際、もっとプロジェクト研究進められていたら出来たはずだし、そこはもう自分のクソっぷりを恨むしかない。。。orz

とまぁ、こんなで感じで、明日からまたMiyama lifeが復活します。パソコン開いて何やら怪しい儀式をしていたらきっと僕です。ご用がある方は例の喫茶店まで。

ではでは。