投稿によれば、FMStudio は Adobe DreamWeaver MX/8 に統合された形で動作し、FX.php または FileMaker API for PHP を利用したウェブサイトを作るためのツールです。
投稿で紹介された2本のデモムービーによると、データベースからスキーマ(テーブル構成やフィールド一覧などの情報)を読み込んできて、読み込んできたスキーマからフィールド名を DreamWeaver の HTML 編集画面に埋め込んだりできます。もちろん、データベースに接続しての動作テストもできます。
もう何年も前に WebObjects をかじったときに、EOModelerでデータベースからスキーマを読み込み、フィールドを HTML にグラフィカルエディタで割り付けすると、データベースアクセスのコードが生成されるのが便利だな〜と思いましたが、FMStudio はそれを彷彿とさせる開発環境です。
[2006-10-22 追記]
先ほど正式にリリースされました。価格は$149.99、10/23までは$119.99とのこと。
http://www.fmwebschool.com/fmstudio.php
デモムービーはこちら。
簡単な機能紹介。
http://www.fmwebschool.com/movies/fmstudio/fmnew/fmnew.html
ログイン機能の実装例。
http://www.fmwebschool.com/movies/fmstudio/login/login.html
[2006-10-23 追記]
ポータルのデータを表示するデモムービーが追加されました。
http://www.fmwebschool.com/movies/fmstudio/portal/portal.html
一緒にやったWebプログラマーが一人、FileMakerにはまりました。コンテストに出すって息巻いてます。
実物を見ていないので推測になりますが、find/edit/delete 程度のフレームワークは持っているように見えます。Form validation はどうかな? 私の見たムービーには出てきませんでした。
当方でも私の担当したシステム以外は SQL で動いていますが、プロジェクト管理のように頻繁にプロセスやデータ項目が変化するものについては、FileMaker の方が柔軟に対応可能であると、社内でも認識されつつあります。
それでもどうにも馴染めそうにないのは、Dreamweaverをフロントエンドに使ってるからでしょうか。ああ、Eclipseなら良かったのに。コードの生成がValidate Form、ネストループなテンプレート辺りまで対応してたら、間違いなく買うんだけどなあ。
私の周辺のFileMakerユーザーに一致してる意見は、「とりあえず動きゃいいんだよ、毎日改良するんだから」ってなシステムには最適だという事。そして、本当に重要な数字の計算は止めとけって事。
だから、ふとかかった病院で医者が自家製FileMakerDBで管理をしてたりすると、嬉しい半面、ちょっとどきどきします。
なるほど、評価版が公開されていないので試すことが出来ませんが、気になるポイントですね。
想像に過ぎませんが、データベースのテーブル名やフィールド名に日本語を使っていなければ、まず問題ないでしょう。
当方、PHPが始めてでxsltも理解に苦しいです。
Dreamweaver8でファイルメーカーとの接続を行いたいのですが、さまざまなサイトを検索を行っても自分のほしい情報はないのが現状です。
FX.phpについて詳しく説明してもらっているような情報が欲しいです。
そこで、FMstudioはこれはっていうソフトでした。
いろいろ書き込みすいません。
FMStudio を使うにしても、FX.php ないし FileMaker PHP API を理解することは避けて通れません。
FX.php はダウンロードされましたか? パッケージの中にサンプルデータベースとアプリケーションが含まれています。これが理解に一番役立つのではないでしょうか。まず動かしてみる。そして同じくパッケージに含まれているドキュメントを見ながら、基本機能を一つずつ確認してみることをお勧めします。
ドキュメントの英語も難しい表現はありません。サンプルアプリケーションのコードにもコメントが詳しく入っています。ぜひチャレンジしてみてください。
FX.php に比べて FileMaker の PHP API は、やや高度な PHP の知識と経験が必要になると思います。
何から手を付けてよいか分からなかったので、FX.phpもダウンロードしてソース見ましたがなかなか理解できなくて、もう一度再チャレンジします。
ありがとうございます。
PHP以外でのプログラミングの経験はありませんか?そうだとしても PHP は判りやすい言語なので、あきらめずに取り組めばすぐにわかるようになりますよ。
難しいことには答えられませんが、FX.php & PHP初心者の通る道は私も通ってきましたので、判らないところがあればいつでもどうぞ!
PHP以外でのプログラミングは今だやったことありません。FX.php&PHPができるようになれば様々なことができる様になると自分は考えているので頑張ります
お勧めの参考になるようなサイトはありますか??
とりあえず何からはじめたらいいかもわからない感じで・・・
PHPは入門書が多数出版されています。といっても最初からいっぺんにゴールまで連れて行ってくれるような本はありません。まずは「PHPに親しむ」「プログラミングに触れる」ことを目標にして、とっつき易そうな本を1冊、手を動かしながら読んでみてください。遠回りに思えるかもしれませんが、やった分だけ必ず身につきます。その後で FX.php のサンプルスクリプトを見ると、きっと今とは違って見えますよ。
始める前は、ゴールへ至る「正しい」道筋もわからないし、どこから始めるのが「正しい」のかわからない感じがするかもしれませんが、自転車に乗れるようになったときのことを思い出してみてください。私は何度も転びました。もっと良い練習方法があったかもしれませんが、五十歩百歩。「今は転びながら練習する段階」と腹をくくって、手を動かしてみることをお勧めします。
まとまった日本語のリソースが無いのと、新規のパートナーに説明するのに疲れてきてるので、そんな場があると素敵です。
もちろん OK です。FX.php についての実践的なノウハウを共有できる場は、本当に貴重だと思います。
しかし、せっかくなら 21さん自身で wiki を開設されてはいかがですか? 私もできる限り協力させていただきたいと思います。
FileMakerのオフ会では何度かお世話になってます。
FMStudioちょっと楽しみです。
FX.phpに関する情報は本当少ないので、私のほうでも少しずつブログに書き留めています。まだ途中ですがどんどんエントリしていきたいと思ってます。これから始めるって人にはそれなりに参考になるかもしれません。
間違ってるところもたくさんあるかもしれませんのでアドバイスお願いいたします。
よろしくお願いいたします。
コメントどうもありがとうございます。ブログ拝見しました。今までどうして自分のアンテナに引っかかって来なかったんだろう? FX.php入門者必見のブログですね。今後も楽しみにしています。
Wiki、それもそうですねえ。
こちらもlivedoorでFX.php & FileMaker PHP API Wikiでも作っておきましょうか。ちょっと漁ってみます。
naoさん、
実は、毎度毎度毎度の案件で、naoさんのブログに必ず目を通してもらってから、FileMakerの概念など本格的な説明に入ってます。だので、はじめましてながら、めちゃくちゃお世話になっております。
naoさんのブログは基本をカバーしているので、もうちょっとTipsやらを日本語でWikiに集めたいですねえ。
どうしても、うまくいかず悩んでます。
認証管理とは、ユーザーログインのことでしょうか。それともFileMakerデータベースの認証?
現在、テーブルを2つ作りグループIDでアクセス権限を設定しています。
構成としては、ログイン画面→検索・登録画面に移動というような構成にしたいです。ソースを書き、うまくいってると思ってるのですがどうしても認証できません。FX.phpを使ったサンプルなどもネット上に出回ってないのでとても苦労してます。助けてください
naoさんのサイト「FX.phpとファイルメーカーを使ったWeb公開」の記事「044_認証管理の仕組みを作ろう_その1」からの一連の解説は参考になりませんか?
http://blogs.yahoo.co.jp/nao_r1/44388040.html?p=1&pm=c
FM側のテーブル作成、リレーションの部分はうまくいってるのですが、認証できませんと返ってきます。
アカウント・パスワードは間違ってないです。
何が、理由と考えられますか?
なるほど、そういうことならデバッグのテクニックということになりますね。デバッグの基本は問題の切り分けですから、どこで問題が発生しているかの絞り込みから始めましょう。FX.phpでのデータベースアクセスが怪しいとしたら、FX.phpをデバッグモードにして、FileMaker Server Advanced にどのようなURLを投げているのか調べてみましょう。URLが正しいようなら、得られたURLをブラウザなどで呼んでみて、どのような値が戻っているかを確認します。
FX.phpをデバッグモードにするには、コードのはじめの方に、
define("DEBUG", TRUE);
を追加します。
URLや戻り値が正しいのなら、FX.php以外のPHPコードのバグと考えられます。
FMPXMLRESULT.xml?-db=test&-lay=User&-max
=1&User_ID.op=bw&User_ID=%3D%3Dtarou&-find
となっていました。XMLを表示させたらリレーションを組んでいるのですが、そのテーブル情報(User)しかなく、User_ID、PassWord、User_Name、Group_IDしかなくアクセス権限に関する情報はまったくありませんでした。リレーションの問題ですか?FM上では表示されます。
//送信したユーザーIDが存在した場合の処理。
if(empty($RecordSet['errorCode'])){
//取得したレコードのキーを取得。
$key = key($RecordSet['data']);
//取得したレコードのパスワード情報と、ユーザーが送信したパスワードを照合。
if($RecordSet['data'][$key]['PassWord']==$_POST['PassWord']){
//一致した場合エラー変数をリセット。
$error=0;
//セッション関数にログイン済みのフラグを設定
$_SESSION['login']=1;
//取得したレコードの情報をセッション関数に設定
$_SESSION['create']=$RecordSet['data'][$key]['Group::Auth_Create'];
$_SESSION['read']=$RecordSet['data'][$key]['Group::Auth_Read'];
$_SESSION['update']=$RecordSet['data'][$key]['Group::Auth_Update'];
$_SESSION['delete']=$RecordSet['data'][$key]['Group::Auth_Delete'];
このあたりがまずいのでしょうか?
FMPXMLRESULT
ERRORCODE>0</ERRORCODE
PRODUCT BUILD="06/14/2006" NAME="FileMaker Web Publishing Engine" VERSION="8.0.4.128"/>
DATABASE DATEFORMAT="MM/dd/yyyy" LAYOUT="User" NAME="test" RECORDS="2" TIMEFORMAT="HH:mm:ss"/>
<METADATA>
FIELD EMPTYOK="NO" MAXREPEAT="1" NAME="User_ID" TYPE="TEXT"/
FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="PassWord" TYPE="TEXT"/
FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="User_Name" TYPE="TEXT"/
FIELD EMPTYOK="NO" MAXREPEAT="1" NAME="Group_ID" TYPE="TEXT"/
/METADATA
RESULTSET FOUND="1"
ROW MODID="5" RECORDID="2"
COL
DATA>admin</DATA
/COL
<COL>
<DATA>admin</DATA>
</COL>
<COL>
DATA>管理者</DATA
/COL
<COL>
DATA>001</DATA
/COL
/ROW
/RESULTSET
/FMPXMLRESULT
でした。
このコメント欄ではXMLのタグはエスケープされないのでうまく表示できませんね。でもなんとなく読めます。
まず、FX.phpによるデータベースアクセスはエラーにならずに成功しているようですね。検索条件がUser_ID==tarouなのに戻っている値はadminなのが不思議です。ここはもう少し詳しく確認してみてください。
次に、データベースのレイアウト"User" には関連フィールド Group::Auth_Create 他が含まれているが、XMLには含まれていない、という理解でよろしいですか?
そういうことなら、関連フィールド Group::Auth_Create他を含むテーブルにXML公開のアクセス権が設定されていないことが考えられます。ご確認ください。
すいません、この部分は投稿するさいに変えてしまいました。この部分はOKです。
データベースのレイアウト"User" には関連フィールド Group::Auth_Create 他が含まれているが、XMLには含まれていない、という理解でよろしいですか?
その通りです。XMLには含まれてません。
関連フィールド Group::Auth_Create他を含むテーブルにXML公開のアクセス権の設定は、ファイル→定義→アカウント・アクセス権で設定するのですよね??ここは、とりあえずテストなのですべてアクセス可能に設定はしています。
リレーションの設定が間違っているのでしょうか?
FM側の設定は目で見てわかるので間違えてないと思います。そうすると、phpの方のコードに間違いがあるのでしょうか?
関連フィールド Group::Auth_Create他が定義されている大元のテーブル(おそらく "Group" という名前?)は、"test"とは別ファイルにしていませんか?
もしそうなら、その "Group" を含むファイルのアクセス権が、"test"同様、XML公開を許可しているかをご確認ください。
関連フィールド Group::Auth_Create他が定義されている大元のテーブル(おそらく "Group" という名前?)は、"test"とは別ファイルにしていませんか?
ファイル名 testの中にテーブルGroupが存在します。
一度ファイルを見てもらえるとうれしいのですが
無理ですよね。
お手数ですが、このコメントにメールアドレスをつけておきますので、データベースファイルと、先ほどのURLで戻ってきたXMLとをお送りください。