忍者ブログ
全くIT系ではない製造業の社員がイントラ上でColdFusionと格闘。システム構築を外部委託するとき「できればColdFusionでお願いします」と頼むのだが・・・・
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

チャングムの主題歌は「オナラ」 ← ホント
古語をベースに創作されたコトバなので、韓国人にも意味不明らしい。
ハングルの現代語訳があるそうだ。
ウチの幼稚園児も「オナラオナラ~だって!」と喜々。

ちなみに オナラオナラ = 来て来て だそうな。

さて、

NEXTの話のつづき。(前回はこっち
支店別にバーチャルバージョンで運用数年。ここでColdFusionがかなり身に付いたと思います。
いろいろ要望を聞いてカスタマイズも出来るようになりました。
その甲斐あって、デファクトのグループウェアとして認識され、いよいよNEXT2にバージョンアップです。(2年前くらい)

バーチャルバージョン運用はやめて、ひとつのグループウェアとして4000人規模での運用となります。
当然人事データの連携を前提にカスタマイズ。
一番問題だったのは、部門(グループ)の数でした。4000人なのに兼務やらなにやら入れると部門が944も・・・・・

大企業病ですな。

グループ選択のプルダウンが1000もあったら、実際選べない。
なので、グループの表示に絡む部分をカスタマイズ。プルダウンを2段階(支店・部門)としました。

ちなみに、このときのカスタマイズは外注でした。

そんな感じで現在に至るわけです。

ユーザーからはパフォーマンスに対する不満が結構上がっています。アクセスが集中する月曜朝のレスポンスがかなり悪いです。日中は何ともないんですが。

あと、運用時のオリエンテーションが不足していると思いますが、グループウェアと言っても、使われている機能は「スケジューラ」と「施設予約」がほとんどです。
掲示板やファイルライブラリ、フォーラムなどはほとんど使われていません。
リンコムさんには耳が痛いと思いますが、インターフェースがよろしくない。
直感とずれてます。
この辺のKM的なツールとしてはリアルコム(名前が似てるな・・・)さんの製品が秀逸ですな。・・・・高いけど。

ちなみにリアルコムさんの製品KnowledgeMarketは、JRun4で動いてます。
こいつも旧マクロメディアの製品なので、親しみはあるのですが、要はJAVA。J2EEは素人が一人で太刀打ちできるシロモノじゃありません。文言変えたりするくらいしかいじってないです。

ってことで、次のFlexベースのNEXTに期待してます。

PR

先日ギックリ腰になった上司はやはり翌日お休みでした。

さて、

MovabeType用のpingサーバーの作り方、その4です。
[その1] [その2] [その3]

1)pingが来たら、
2)postされたcontentの内容を読んで
3)XMLとして取り込み
4)URLを取り出したら
5)RSSを読みに行って
6)新着記事を入手し
7)データーベースに書く

の5) 6)について。

pingを送ってきたブログのURL(RSS)を既に入手しています。 #blogurl# という変数に入ってます。

5)
<cfhttp url="#blogurl#" method="GET" resolveurl="Yes" />  

6)
<cfset xmlDoc = XmlParse(CFHTTP.FileContent)>

この2行でOK・・・・? だからColdFusionって好き。
解説します。

5)RSSを読みに行く
<cfhttp url="#blogurl#" method="GET" resolveurl="Yes"  />
#blogurl#には、"http://kenw05/blog/yasmemo/index.rdf" という文字列が入っています。
MovableTypeが自動生成するRSSのアドレスです。
ちなみにこのブログの場合こんな感じ。(MovableTypeじゃないけどRSS1.0だからフォーマットは一緒)

CFHTTP(→LiveDocs) を使うと、ColdFusionでhttpのリクエストを発行し、結果を受け取ることが出来ます。
RSSが流行る前は、お気に入りのページをColdFusionに巡回させて、htmlファイルから新着情報を抜き出して表示させたりしていましたね。(カナリメンドクサ)

いろいろ奥が深いタグですが、method="GET"の場合CFHTTPの結果は、cfhttp. という接頭詞の変数で返ってきます。この中の、cfhttp.fileContent が入手したhtmlです(今回はindex.rdf)

名前

説明

cfhttp.charSet

レスポンスの Content-Type ヘッダで指定されたレスポンス文字セット (文字エンコード) です。

cfhttp.errorDetail

HTTP サーバーへの接続が失敗した場合に、失敗の詳細を記録します (例 : "Unknown host: my.co.com")。それ以外の場合は、空の文字列になります。エラー状態について、他の変数を確認する前にこの変数を確認することをお勧めします。

cfhttp.fileContent

レスポンス本文です。たとえば、GET オペレーションによって取得された HTML ページのコンテンツなどです。レスポンスをファイルに保管した場合は空になります。

cfhttp.header

すべてのヘッダ情報を 1 つの文字列に格納した生のレスポンスヘッダです。cfhttp.responseHeader 変数と同じ情報を含みます。

cfhttp.mimeType

レスポンスの Content-Type ヘッダで指定されている MIME タイプです (例 : text/html)。

cfhttp.responseHeader

構造体の形式にされたレスポンスヘッダです。要素キーは、Content-Type や Status_Code などのヘッダ名です。あるヘッダタイプのインスタンスが複数ある場合は、そのタイプの値が配列に格納されます。

よく使用されるテクニックは、#cfhttp.resonseHeader[fieldVariable]# のように、cfhttp.responseHeader 構造体をダイナミック配列としてダイナミックにアクセスすることです。

cfhttp.statusCode

HTTP Explanation ヘッダ値の後に続く HTTP status_code ヘッダ値です (例 : "200 OK")。

cfhttp.text

ブール値。レスポンス本文のコンテンツタイプがテキストである場合は true になります。ColdFusion は、次の場合にレスポンス本文をテキストとして認識します。

  • ヘッダにコンテンツタイプが指定されていない場合
  • コンテンツタイプが "text" で始まっている場合
  • コンテンツタイプが "message" で始まっている場合
  • コンテンツタイプが "application/octet-stream" である場合

cfhttp.fileContent は、ただの文字列です。
<cfdump ver="#CFHTTP.FileContent#">すると、こんな感じ。
テキストファイル
もしこのページが普通のhtmlだとしたら、その中から必要な情報を探すには骨が折れます。文字列の中からパターンを見つけて正規表現で抽出・・・・という手順が必要になります。
RSSはXMLなので、その辺がとても扱いやすいわけです。

で、6)<cfset xmlDoc = XmlParse(CFHTTP.FileContent)>

とすると、Xmlを解析してとても扱いやすく変換してくれます。
<cfdump var="#xmlDoc#">すると
xmlDocの内容
こんな感じ。ColdFuionの構造体変数に変換され、階層が整理されて表示されます。

最新記事のタイトルは、
#xmlDoc["rdf:RDF"].item[1].title.XmlText#
更新日時は
#xmlDoc["rdf:RDF"].item[1]["dc:date"].XmlText#
という感じで参照できます。

構造体のキー名に”:”コロンが入っていると、そのままドットシンタックスで繋げないので注意が必要です。

あとはこれをDBにinsertするわけです。


同志ブログを見つけました。
とても似ている臭いがします。

初心者のColdFusion(http://coldfusion.seesaa.net)

よろしくね♪

上司が今朝病院立ち寄り。
内科系だったようですが、予定の時間になっても出勤してこない。
そのうち電話がかかってきた。

「病院で金払ったあと、処方箋を床に落として、それを拾おうとしたらギックリ腰になって、今整形外科に・・・・」

明日は出てこれるんだろうか・・・・・il||li _| ̄|○ il||liイタタ

さて、

ColdFusionで動くグループウェア、NEXTのつづき。
ELIASからNEXT1に順次支店を吸収していったわけですが、このころColdFusionのすばらしさに気がついたんだと思います。ColdFusionのバージョンは5でした。まだMacromediaに吸収されてなかったかな?

cf_book1.jpgなんとか社内デファクトのグループウェアに仕立てたくて、いろんな要望を実現しようとあれこれいじって試行錯誤をしていました。
そのころ唯一売られていた日本語の参考書は「ColdFusion入門」 一冊しかなかったはずです。この本でColdFusionの基本がわかったと思いますね。

NEXTのスケジューラを使う人はそんなに多くなかったですが、施設予約はどこの支店でも使われていました。
NEXTのソースコードライセンスを持っていたので、カスタマイズができたと共に、ColdFusionの勉強もできました。

こりゃ使えるな!と確信したので、社内のwebサーバーに次々ColdFusionを載せていったわけです。
簡単な一斉メール送信くらいから始めて、アンケートやら、ちょっとした申請フォームやら。
アクセスでしたが、DBを扱えるようになって、一気にいろいろ広がりました。

NEXTの方はというと、最初にコードを見たのがNEXT1で幸いでした。
FuseBox形式じゃなかったので、initもqueryもoutputも一つのテンプレートで見渡せたので、理解しやすかったです。

そんな感じで、しばらくはNEXT1を教科書に、ColdFusionを習得していきました。
でも、NEXTが社内に広まるにつれて、人事データとの連携や支店別にバーチャルバージョンが分かれてしまっているための不便さが言われるようになり、なんとかしなければ・・・・・

2002~3年頃の話でした。

最近周期的に肩こりが・・・・
そのとき同時に右手の合谷のツボが痛くなる。
肩こりじゃないのかも・・・・(((( ;゚Д゚)))ガクガクブルブル

チャングム 鍼打っとくれ。チャンドクでもいいが、ヨリはかんべんだ。

さて、

一番最初にColdFusionの環境を書きましたがひとつ忘れてました。
以前はワタシがお守りしてたんですが、2年くらい前から情報システム部に預けたColdFusionがありました。

ColdFusionで動く唯一(?)のグループウェア リンコムNEXTのサーバーです。

たぶん、NEXTに出会ってなければColdFusionに触れることはなかったと思います。
aspやphpでがんばっているか、挫折してたと思いますよ。はい。

NEXTで使っているColdFusionは6.1です。Windows2000Serverで、メモリは2G積んでますが、石はXeon2.4GHzが1コだけ。
DBサーバーは分けてますが、スペックは一緒で、Oracleを使ってます。

業界的に社員全員がバリバリ使うわけではありませんが、このスペックで4000人越のグループウェアが動くんだから、たいしたモノですよね。

( ̄-  ̄ ) ンー ちょっと昔を思い出してみます。
リンコムさんからコメントがついてることだし。(*´ー`)

NEXT(当時ELIAS)は20世紀最後の頃にカイシャに導入されたようですが、導入時は現場だったので経緯は全く知りません。環境が出来上がったころに引き継ぎました。そのときは「エクセル・ワードなら使えるぜ」ってレベルのワタシだったので、なんだか良く覚えてません。ELIASはColdFusionで動いてなかったと思います。
各支店にサーバーを置いて、アクセスのmdbに直接ゴリゴリやってたのがELIASだったなぁ と、うろ覚え。

結構ゲリラ的に導入された感じで、全社員が認識していたグループウェアではありませんでした。
ノーツやらiオフィスやらサイボウズやら、社内に乱立した時期もあります。サーバーが支店別に物理的に十数台分かれていたのでり、お守りもタイヘンだった記憶があります。(人事異動やら祝日の設定やら・・・)

そんなとき、NEXT1が登場したわけです。ColdFusionという、なにやらアヤシげなソフトで動くとの事でしたが、そんなことより、各支店を1台のサーバーに集めてバーチャルバージョンという環境で運用できることが魅力的でした。
で、順次各支店をELIASからNEXTのバーチャルバージョン環境に移行させて行ったのでした。2002年くらいの話かなぁ・・・・・

バーチャルバージョンってのは、イメージ的にいうと、ひとつのcoldfusionアプリケーションからデーターソースを切り替えて使うって感じ。
支店をバーチャルバージョンで区切っていたので、mdbでこじんまりと動いていました。ただ、支店間でスケジュールを共有できないという問題や、やっぱりユーザー管理がタイヘン(バーチャルバージョン間でユーザーを動かせるわけではない)という問題は残ったままでした。

その環境でしばらく使いながら、順調に社内ユーザーを増やし、だんだん社内デファクトのグループウェアとして認識されてきたわけです。

ただ、ユーザーや支店管理者の一番の不満は人事異動。
使っていない部門のユーザー情報は古いまま放置されていたりしたものでした。

続きはまた今度。

#そろそろ社名くらいはわかりましたよね?野村さん。
#ほとんどNEXTの宣伝になってるな・・・・こりゃ。

ブログ内検索
プロフィール
HN:
CFIF
性別:
男性
自己紹介:
もっと日本でもColdFusionが広まって欲しいです。

情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。

外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・

FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
最新トラックバック
カレンダー
03 2025/04 05
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 29 30
なかのひと
忍者ブログ [PR]