[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
アンパンマンの世界は食糧が全て。
喜びも、悲しみも、怒りも、欲望も、全て食い物が発端。
さて、
MovableTypeのpingサーバーの作り方。
1)pingが来たら、
2)postされたcontentの内容を読んで
3)XMLとして取り込み
4)URLを取り出したら
5)RSSを読みに行って
6)新着記事を入手し
7)データーベースに書く
の2)からです。
<cfset ping =XMLParse(x.content)>・・・・2) 3)
<cfset blogurl = "#ping.methodCall.params.param[2].value.xmltext#index.rdf">・・・・4)
解説すると、まず変数 x (構造体になってる)はHTTPのPOSTリクエストとして入手済。
x.content がxmlのテキストとしてポストされています。
なので、XMLParse関数(→LiveDocs)を使ってx.content を pingという変数に取り込みます。2)3)
取り込んだものを視覚的に見るとこんな感じ。<cfcump var="#ping#">
ここから、最後にある「http://kenw05/blog/yasmemo/」という文字列を取り出します。
そのためには、ColdFusionの構造体のドットシンタックスを理解している必要がありますが、試行錯誤すれば結構もやっとした知識でたどり着けます。コツはやっぱり<cfdump>して、まずは見ることですね。
基本的に上からドットで階層をたどっていけばたどり着けます。ドットを「の中の」と読み替えると、感覚的に理解できるかもしれません。
ping . methodCall . params . param[2] . value . xmltext
ping の中の methodCall の中の params の中の ・・・・上の図を見ると、次は同じ名前のparam が2つ並んでいます。こういうときは、カギ括弧で上から何番目かを指定します。 param[2] の中の value の中の xmltext でブログのURLにたどり着きました。
<cfset blogurl = "#ping.methodCall.params.param[2].value.xmltext#index.rdf">・・・・4)
こうすると、blogurl という変数に、http://kenw05/blog/yasmemo/index.rdf という文字列がセットされます。
最後につけているindex.rdfはMovableTypeが生成している、そのブログのRSSです。
次はこのRSSを読んで、更新内容を入手することになります。
情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。
外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・
FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
01 | 2025/02 | 03 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |