全くIT系ではない製造業の社員がイントラ上でColdFusionと格闘。システム構築を外部委託するとき「できればColdFusionでお願いします」と頼むのだが・・・・
[1]
[2]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
coldfusion-style.jp というフォーラムサイトがオープンしました。
早速、有無を言わさず参加です。
コールドフュージョンをちょっと試してみたけど、ココんとこどうしていいかわからん! という方。
是非参加して質問してみては?
秋のColdFusion8発売と、Apolloがらみで今年は盛り上がってほしいですね。
ColdFusion8のパブリックβも開始です!
PR
セカンドライフにアカウントを作ってみました。
まだ全容が把握できてませんが、なんかすごいことになってるのはよくわかります。
とりあえずキャンピングで小銭稼ぎかな?
さて、
イントラのwebマスターで、普通にホームページは作れるけれど、データーベースと連携して検索したりメール飛ばしたりしたいなぁ・・・とやる気はあるけどやり方がわからない、そんなイントラweb担当
に送るColdFusion入門の5回目です。(4回目 3回目 2回目 1回目)
今回は、
1)mdbを作る
2)サーバーに置く
3)データーソースを設定する
4)cfmで、一覧表示するページを作る
5)データーベースの情報から、全員にメールを送ってみる
ってところから。
■まずは結果
一覧表示するページはこんな感じ(entry79_1.cfm)になります。(heteml申し込んでみた)
■つぎにソース
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>できればColdFusionでお願いします | Entry79 </title>
</head>
<cfquery name="sample" datasource="kaisha_add" >
select mailadd , name , empcd from addresstable
</cfquery>
<body>
<table border="1" cellpadding="3">
<tr><th>メールアドレス</th><th>氏名</th><th>コード</th></tr>
<cfoutput query="sample">
<tr><td>#mailadd#</td><td>#name#</td><td>#empcd#</td></tr>
</cfoutput>
</table>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>できればColdFusionでお願いします | Entry79 </title>
</head>
<cfquery name="sample" datasource="kaisha_add" >
select mailadd , name , empcd from addresstable
</cfquery>
<body>
<table border="1" cellpadding="3">
<tr><th>メールアドレス</th><th>氏名</th><th>コード</th></tr>
<cfoutput query="sample">
<tr><td>#mailadd#</td><td>#name#</td><td>#empcd#</td></tr>
</cfoutput>
</table>
</body>
</html>
■普通のhtmlと違うところは、
<cfquery> のタグと
<cfoutput> のタグの部分。
あと、# で囲まれた文字があります。
■<cfquery>
<cfquery>タグは、データーベースにアクセスするタグです。
<cfquery> </cfquery>
の間に、SQL文をそのまま書くことができます。
SQLを発行するとか、関数を呼ぶとか、まったく手続きなしに、書くとhtmlのようにそのまま実行されます。
SQLの結果は、
name="sample" などと名前をつけてレコードセットとして受け取り、後でその名前を指定して表示に使います。
datasouce = "kaisha_add" は、前回設定したデーターソースです。
■<cfoutput>
このタグで、変数を表示します。今回の場合は、メールアドレスと名前のリストです。
ColdFusionでは、変数や関数、レコードセットなどは基本的に
#hensudayo#
などと、#でくくって書き出します。
ただし、.cfm ファイルの中ならどこでも#でくくって使えるわけではなく、
<cfoutput> #hensudayo# </cfoutput>
と、cfoutputタグの内側でのみ、変数が有効になります。
単純な変数ではなく、<cfquery>で取り出したレコードセットの場合は、
<cfoutput query="sample">
#name# <br />
</cfoutput>
と書くだけで、レコードセットがループし、結果が5件あれば5件全てが表示されます。
今回のソースでは、
<tr><td>#mailadd#</td><td>#name#</td><td>#empcd#</td></tr>
の部分が、5件分ループして表示されるわけです。
■ほかの言語と一番違うところは、
こんな感じにhtmlの中に直感的に記述できる点だと思います。
そういった意味で、なんちゃってイントラwebマスターにちょうどいいと思うのです。
逆に言えば、MVCモデルでソースを分け、分業するような大規模開発はちょっと不得意なのかもしれません。
ちゃんとやれば、LINKCOM NEXT2 のように、fuseboxフレームワークを駆使してMVCモデルに沿った開発もできるわけですが、なんちゃってイントラwebマスターに大事なのは「手軽さ」ですよね。
次は、
5)データーベースの情報から、全員にメールを送ってみる
の予定です。
CodeZine
Adobeの次期ColdFusionは「Web2.0サービス統合ハブ」
という記事。
なるほど。ハブか。
と思った。
コールドフュージョンでwebページだけを作っているとあまり感じないけれど、Flexでページ(というかFlash)を作っていると、データーベースとの間をコールドフュージョンのwebServiceがつないでくれます。
コールドフュージョンでwebServiceといっても、特別の事をするわけではなく、普通にcfc(コールドフュージョンコンポーネント)を書いていれば、それがwebServiceとして使えてしまいます。
直接.cfmでページを提供するのではないので表には出ないわけですが、しっかり間を取り持ってくれるわけです。
次期ColdFusion(Scorpio)では、クライアント側にApolloやpdfフォーム、バックエンド側に.NETなんかが増えるので、ハブという表現がピッタリですね。
2007年秋リリース予定と発表されたようです。
記事には「今回始めて日本語版が用意される」とありますが、前から日本語版あるよね??
同時リリースってことかなぁ。
Adobeの次期ColdFusionは「Web2.0サービス統合ハブ」
という記事。
なるほど。ハブか。
と思った。
コールドフュージョンでwebページだけを作っているとあまり感じないけれど、Flexでページ(というかFlash)を作っていると、データーベースとの間をコールドフュージョンのwebServiceがつないでくれます。
コールドフュージョンでwebServiceといっても、特別の事をするわけではなく、普通にcfc(コールドフュージョンコンポーネント)を書いていれば、それがwebServiceとして使えてしまいます。
直接.cfmでページを提供するのではないので表には出ないわけですが、しっかり間を取り持ってくれるわけです。
次期ColdFusion(Scorpio)では、クライアント側にApolloやpdfフォーム、バックエンド側に.NETなんかが増えるので、ハブという表現がピッタリですね。
2007年秋リリース予定と発表されたようです。
記事には「今回始めて日本語版が用意される」とありますが、前から日本語版あるよね??
同時リリースってことかなぁ。
ガッテンカレー、2度目も失敗である。
さて、
イントラのwebマスターで、普通にホームページは作れるけれど、データーベースと連携して検索したりメール飛ばしたりしたいなぁ・・・とやる気はあるけどやり方がわからない、そんなイントラweb担当
に送るコールドフュージョン入門の4回目です。
前回は、簡単なメールを一通送ってみました。
今回はいきなりデーターベースに接続してみます。
データーベースに接続して、その内容を一覧表示させてみましょう。
次回以降、データーベースの中のメールアドレスを基にして、全員にメールを送ってみます。
手順としては、
1)mdbを作る
2)サーバーに置く
3)データーソースを設定する
4)cfmで、一覧表示するページを作る
といった感じです。
1)mdbを作る
なんちゃってイントラwebマスターにとって、一番身近なデーターベースといえば、.mdb
Microsoft accessですね。
ということで、accessで、下のようなテーブルのあるファイルを用意してください。
アクセスのファイル名を
toriaezu.mdb
テーブル名を
addresstable
としましょう。フィールド名は下記を参考に。
↑ちなみにこいつは、Flex2で作ったデータグリッドです。
flashplayer9がインストールされていないと、グレーの背景しか見えないと思います。
accessのバージョンは2000、2003なら大丈夫です。それ以外はやったことないのでナゾ。
mdbファイルを作ったら、
2)サーバーに置く
サーバーのどこでもいいです。
置いた場所を把握しておいてください。設定には絶対パス(D: とか C:とかで始まるやつ)を知っている必要があります。
.cfmの場所とは何の関係もありません。
Dドライブのdb というフォルダにtoriaezu.mdbを置いたとして話を進めます。
次は、
3)データーソースを設定する
データーソースの設定とは、coldfusion administrator で、データーベースの種類や場所を設定し、「名前」をつけることです。
データーソースを設定して「名前」をつけると、その「名前」を使って、.cfmでデーターベースにアクセスすることができるようになります。その「名前」のことを、データーソース名と言います。
coldfusion administrator を開いて、データーソースメニューから新規追加をしていきます。
データーソース名に kaisha_add と入力し、
ドライバを Microsoft Access with Unicode にして 「追加」ボタンを押します。
![](http://blog.cnobi.jp/v1/blog/user/2a92b5f0ad3209b427ec3b4f1e9ffc17/1173096972)
すると、データーベースファイルを指定画面になるので、
さっきサーバーに置いたtoriaezu.mdb をサーバーの絶対パスで指定します。
この場合は、D:\db\toriaezu.mdb です。
設定したら、「送信」ボタンを。
![](http://blog.cnobi.jp/v1/blog/user/2a92b5f0ad3209b427ec3b4f1e9ffc17/1173097000)
・データーソースの更新に成功しました と出ればOKです。
![](http://blog.cnobi.jp/v1/blog/user/2a92b5f0ad3209b427ec3b4f1e9ffc17/1173097009)
絶対パスの指定を間違えると、エラーが出るかもしれません。
深い場所にmdbを置いた場合は、「サーバーのブラウズ」ボタンから表示されるフォルダツリーを使って、ファイルを指定すると確実です。
(JREがインストールされていなければ、ツリーは出ません)
これで、
kaisha_add
というデーターソースの設定が完了しました。
4)cfmで一覧表示するページを作る
( ̄-  ̄ ) ンー・・・
次はここから。
さて、
イントラのwebマスターで、普通にホームページは作れるけれど、データーベースと連携して検索したりメール飛ばしたりしたいなぁ・・・とやる気はあるけどやり方がわからない、そんなイントラweb担当
に送るコールドフュージョン入門の4回目です。
前回は、簡単なメールを一通送ってみました。
今回はいきなりデーターベースに接続してみます。
データーベースに接続して、その内容を一覧表示させてみましょう。
次回以降、データーベースの中のメールアドレスを基にして、全員にメールを送ってみます。
手順としては、
1)mdbを作る
2)サーバーに置く
3)データーソースを設定する
4)cfmで、一覧表示するページを作る
といった感じです。
1)mdbを作る
なんちゃってイントラwebマスターにとって、一番身近なデーターベースといえば、.mdb
Microsoft accessですね。
ということで、accessで、下のようなテーブルのあるファイルを用意してください。
アクセスのファイル名を
toriaezu.mdb
テーブル名を
addresstable
としましょう。フィールド名は下記を参考に。
↑ちなみにこいつは、Flex2で作ったデータグリッドです。
flashplayer9がインストールされていないと、グレーの背景しか見えないと思います。
accessのバージョンは2000、2003なら大丈夫です。それ以外はやったことないのでナゾ。
mdbファイルを作ったら、
2)サーバーに置く
サーバーのどこでもいいです。
置いた場所を把握しておいてください。設定には絶対パス(D: とか C:とかで始まるやつ)を知っている必要があります。
.cfmの場所とは何の関係もありません。
Dドライブのdb というフォルダにtoriaezu.mdbを置いたとして話を進めます。
次は、
3)データーソースを設定する
データーソースの設定とは、coldfusion administrator で、データーベースの種類や場所を設定し、「名前」をつけることです。
データーソースを設定して「名前」をつけると、その「名前」を使って、.cfmでデーターベースにアクセスすることができるようになります。その「名前」のことを、データーソース名と言います。
coldfusion administrator を開いて、データーソースメニューから新規追加をしていきます。
データーソース名に kaisha_add と入力し、
ドライバを Microsoft Access with Unicode にして 「追加」ボタンを押します。
すると、データーベースファイルを指定画面になるので、
さっきサーバーに置いたtoriaezu.mdb をサーバーの絶対パスで指定します。
この場合は、D:\db\toriaezu.mdb です。
設定したら、「送信」ボタンを。
・データーソースの更新に成功しました と出ればOKです。
絶対パスの指定を間違えると、エラーが出るかもしれません。
深い場所にmdbを置いた場合は、「サーバーのブラウズ」ボタンから表示されるフォルダツリーを使って、ファイルを指定すると確実です。
(JREがインストールされていなければ、ツリーは出ません)
これで、
kaisha_add
というデーターソースの設定が完了しました。
4)cfmで一覧表示するページを作る
( ̄-  ̄ ) ンー・・・
次はここから。
その(2)でインストールが終わりました。
次は何だろう・・・・・
(。-`ω´-)ンー・・
"Hello! ColdFusion!" などと表示するのはベタだな。
( ̄-  ̄ ) ンー
あれだ。 ColdFusionでメールを送るのがいいんじゃないだろうか。
イントラのwebマスターで、普通にホームページは作れるけれど、データーベースと連携して検索したりメール飛ばしたりしたいなぁ・・・とやる気はあるけどやり方がわからない、そんなイントラweb担当あたりが信者候補
なので、ちょうどいいかな。
ところで、htmlを使ってメールを送るにはどうするかというと・・・・・
フォームを使って送る方法があるけど、あれはwebサーバーが送っているのではなく、ホームページを見ている人のメーラーから送られてるのが実際です。
なんちゃってwebマスターがやりたい事とはちょっと違うはず。
aspならどうやってメールを送るか。
aspの場合、BASP21っていうのが有名で、そいつをサーバーに組み込んで、aspから呼び出して送ります。 えーと、ワタシにやれ と言われても、いろいろ調べまくりでサンプル見つけてやっとできるかな?って感じです。
phpの場合は、mail関数をつかって送る・・・・? 使いやすいようにfunctionを定義して、エンコードをしてほにゃらら・・・・? やれ と言われても困ります。実際。
多分、aspよりハードル高いのでは。
さてColdFusionの場合。
こんな感じ。
ほとんど説明がいらないくらい簡単です。
<cfmail>というのが、ColdFusionのメールを送るタグです。
htmlのタグのように、</cfmail>で閉じます。
間の文章が、改行も含めてそのまんまメール本文になります。
宛先は、to= の部分に、送り主はfrom= の部分に書きます。
subject = が メールのタイトルです。
メモ帳とか、テキストエディタで書いて、testmail.cfm などという名前でサーバーに保存しましょう。
保存する場所は、普段htmlを置いている場所ならどこでもOK。
内蔵webサーバーの場合は、
インストールフォルダ/wwwroot/ の下になります。
で、おもむろにブラウザで呼ぶ。
http://127.0.0.1:8500/testmail.cfm
・・・・っと、
![CFMAIL 用に指定された SMTP サーバーがありません。](http://blog.cnobi.jp/v1/blog/user/2a92b5f0ad3209b427ec3b4f1e9ffc17/1172157616)
コールドフュージョンのエラーはこんな感じで出ます。
これはわかりやすいメッセージの例ですね。
わかんないときは、さっぱりなメッセージだったりしますが。 (´ー`)
さて、インストールして素のままならエラーが出ます。
書いてあるとおり、メールサーバーがどこにあるかわからん! ってことです。
メールの設定は、ColdFusion Administratorの画面で行います。
![](http://blog.cnobi.jp/v1/blog/user/2a92b5f0ad3209b427ec3b4f1e9ffc17/1172157617)
ここに、メールサーバーのアドレスを入れる必要があります。
それと、ついでに下の方にある、メール文字セットを ISO-2022-JP(Japanese) にしておきましょう。
![](http://blog.cnobi.jp/v1/blog/user/2a92b5f0ad3209b427ec3b4f1e9ffc17/1172157618)
これで「変更の送信」ボタンを押します。
さて、あらためて testmail.cfm をブラウザで開きます。
・・・・・・
何もエラーが出なければ、メールが送られているはずです。
ちなみに、同じページをリロードしたり、再度開けば、開くたびにメールが送られます。
データーベースにあるアドレスを元に、何百人とメールを送るときは注意が必要です。
不用意にリロードすると、同じメールが何百人に・・・・・
ということで、これがColdFusionのサワリです。
簡単でしょ?
次は何だろう・・・・・
(。-`ω´-)ンー・・
"Hello! ColdFusion!" などと表示するのはベタだな。
( ̄-  ̄ ) ンー
あれだ。 ColdFusionでメールを送るのがいいんじゃないだろうか。
イントラのwebマスターで、普通にホームページは作れるけれど、データーベースと連携して検索したりメール飛ばしたりしたいなぁ・・・とやる気はあるけどやり方がわからない、そんなイントラweb担当あたりが信者候補
なので、ちょうどいいかな。
ところで、htmlを使ってメールを送るにはどうするかというと・・・・・
フォームを使って送る方法があるけど、あれはwebサーバーが送っているのではなく、ホームページを見ている人のメーラーから送られてるのが実際です。
なんちゃってwebマスターがやりたい事とはちょっと違うはず。
aspならどうやってメールを送るか。
aspの場合、BASP21っていうのが有名で、そいつをサーバーに組み込んで、aspから呼び出して送ります。 えーと、ワタシにやれ と言われても、いろいろ調べまくりでサンプル見つけてやっとできるかな?って感じです。
phpの場合は、mail関数をつかって送る・・・・? 使いやすいようにfunctionを定義して、エンコードをしてほにゃらら・・・・? やれ と言われても困ります。実際。
多分、aspよりハードル高いのでは。
さてColdFusionの場合。
<html>
<cfmail to="jibun@hoge.com" from="cfif@cfplease.com" subject="メールのタイトルだよ">
はろー こーるどふゅーじょん
これはColdFusionサーバーから送ったメールだよ
ではまた。
</cfmail>
</html>
<cfmail to="jibun@hoge.com" from="cfif@cfplease.com" subject="メールのタイトルだよ">
はろー こーるどふゅーじょん
これはColdFusionサーバーから送ったメールだよ
ではまた。
</cfmail>
</html>
こんな感じ。
ほとんど説明がいらないくらい簡単です。
<cfmail>というのが、ColdFusionのメールを送るタグです。
htmlのタグのように、</cfmail>で閉じます。
間の文章が、改行も含めてそのまんまメール本文になります。
宛先は、to= の部分に、送り主はfrom= の部分に書きます。
subject = が メールのタイトルです。
メモ帳とか、テキストエディタで書いて、testmail.cfm などという名前でサーバーに保存しましょう。
保存する場所は、普段htmlを置いている場所ならどこでもOK。
内蔵webサーバーの場合は、
インストールフォルダ/wwwroot/ の下になります。
で、おもむろにブラウザで呼ぶ。
http://127.0.0.1:8500/testmail.cfm
・・・・っと、
コールドフュージョンのエラーはこんな感じで出ます。
これはわかりやすいメッセージの例ですね。
わかんないときは、さっぱりなメッセージだったりしますが。 (´ー`)
さて、インストールして素のままならエラーが出ます。
書いてあるとおり、メールサーバーがどこにあるかわからん! ってことです。
メールの設定は、ColdFusion Administratorの画面で行います。
ここに、メールサーバーのアドレスを入れる必要があります。
それと、ついでに下の方にある、メール文字セットを ISO-2022-JP(Japanese) にしておきましょう。
これで「変更の送信」ボタンを押します。
さて、あらためて testmail.cfm をブラウザで開きます。
・・・・・・
何もエラーが出なければ、メールが送られているはずです。
ちなみに、同じページをリロードしたり、再度開けば、開くたびにメールが送られます。
データーベースにあるアドレスを元に、何百人とメールを送るときは注意が必要です。
不用意にリロードすると、同じメールが何百人に・・・・・
ということで、これがColdFusionのサワリです。
簡単でしょ?
最新記事
(12/04)
(12/19)
(10/07)
(09/11)
(05/07)
(04/24)
(01/11)
(12/27)
(11/05)
(11/03)
ブログ内検索
カテゴリー
プロフィール
HN:
CFIF
性別:
男性
自己紹介:
もっと日本でもColdFusionが広まって欲しいです。
情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。
外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・
FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。
外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・
FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
最新コメント
(05/20)
(03/15)
(05/25)
(02/07)
(12/19)
最新トラックバック
カレンダー
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 |
ColdFusionリンク
アーカイブ
最古記事
(06/23)
(06/26)
(06/27)
(06/28)
(06/29)
(06/30)
(07/03)
(07/04)
(07/05)
(07/06)
なかのひと