はじめに

  • PHPの稼働が可能なWebサーバーをご用意ください。データベースとしては、FileMaker ServerないしはPDOに対応したデータベース(MySQLなど)も稼働させてください。
  • ダウンロードしたファイルを展開したフォルダの中にある「INTER-Mediator_XXXX」フォルダをWebサーバーから参照できる場所にコピーしてください。以下、このフォルダを「INTER-Mediator」フォルダと参照します。このようにフォルダ名を変更してもかまいません。
  • PHPでは、mbstringが動作していることを確認してください。Windows版のPHPではデフォルトではmbstringのDLLがコメントされていて読み込まれていないことが一般的ですので、ご注意ください。

ダウンロードしたファイルの中身

  • ダウンロードしたフォルダ内ルートにあるファイルやフォルダが、INTER-Mediatorの本体です。その中にある「Samples」フォルダはサンプルです。
  • 「INTER-Mediator」フォルダは、PHPからから参照できる場所であれば、どこにあってもかまいません。このフォルダの中にJavaScriptファイルの「INTER-Mediator.js」があるのでWebで公開していないといけないかと思うかもしれませんが、このファイルは公開されている必要はありません。
  • しかしながら、「INTER-Mediator」フォルダごと、Webサーバーで公開する場所に配置するのがいちばん手軽な方法です。

FileMaker Serverでの準備

  • FileMaker Serverで利用する場合は、FX.php(This site is neither affiliated with nor endorsed by Chris Hansen)が必要ですが、INTER-Mediatorには含まれています。「INTER-Mediator/lib/FX」フォルダがそれです。一般に配布されるものをある程度改造したものを使っています。
  • FileMaker Serverで付属のサンプルを利用する場合、解凍したフォルダのルートにあるTestDB.fp7をFileMaker Serverにインストールしてください。このファイルの管理ユーザは「admin」でパスワードは「1234」です。
  • FileMaker ServerではXML共有を開始していることを確認してください(FXの動作条件です)。

MySQLでの準備

  • MySQLで付属のサンプルを利用する場合、「INTER-Mediator/dist_docs/sample_schema_mysql.txtをmysqlコマンド等でデータベースに読み込んで、テーブルなどを定義してください。このファイルの最初に、コマンド入力方法について簡単に記載してあります。
  • INTER-Mediator/params.phpの値、特に、$dbDSN 変数の値を適切なものに変更してください。

PostgreSQLでの準備

  • PostgreSQLで付属のサンプルを利用する場合、「INTER-Mediator/dist_docs/sample_schema_pgsql.txtをpgsqlコマンド等でデータベースに読み込んで、テーブルなどを定義してください。このファイルの最初に、コマンド入力方法について簡単に記載してあります。
  • INTER-Mediator/params.phpの値、特に、$dbDSN 変数の値を適切なものに変更してください。

SQLiteでの準備

  • SQLiteで付属のサンプルを利用する場合、「INTER-Mediator/dist_docs/sample_schema_sqlite.txtをsqliteコマンド等でデータベースに読み込んで、テーブルなどを定義してください。このファイルの最初に、コマンド入力方法について簡単に記載してあります。
  • データベースファイルの位置は特に問いませんので、適当な場所に作成します。INTER-Mediator/params.phpの値、特に、$dbDSN 変数の値を適切なものに変更してください。

サンプルファイルのチェックポイント

  • インストール等の準備が行われれば、Webブラウザからサーバーに公開した「INTER-Mediator/Samples」ディレクトリを参照してください。Webサーバーのルートに「INTER-Mediator」フォルダがある場合、http://ホスト名/INTER-Mediator/Samples/index.htmlで、各サンプルへのリンクを貼ったページが表示されます。
  • サンプルの一覧のページが表示されます。サンプルはデータベースごとに分類されています。
  • "Sample Portal Page"は、テーブル形式の画面が表示されています。テキストフィールドに何か表示されていれば、インストールは成功です。これらのデータはデータベースの中にあるものが見えています。データベースを開いてページの内容と一致していることを確認します。たとえばFileMaker Proを使って開いたFileMakerのデータベースと、Webブラウザに見えているデータベースの内容が同じであることを確認してください。
  • サンプルは、人間1人に対するコンタクト情報を記録するようなものです。意図的にあまり凝っては作っていません(INTER-Mediatorは「きれいな表」を作るツールではないからです)。まず、テキストフィールドに、フィールドの値がそのまま表示されていることを確認します。また、テキストフィールドのデータを変更してTabを押すなどすれば、そのタイミングでデータベース側ではそのフィールドだけが更新されています。つまり、テキストフィールドでは表示して編集し、編集結果をデータベースに書き戻す事ができます。
  • チェックボックスやラジオボタンもあります。これらも、値に応じて選択されていたり、いなかったりといった動作をします。また、選択肢を変更すると、その結果がデータベースに書き込まれています。
  • 1人の人間に対して、複数のコンタクト先があります。つまり、1対多の関係をWebページ上に展開できます。
  • コンタクトの情報では、WayとKindという2つのフィールドでポップアップメニューがあります。Wayの選択肢に応じてKindの選択肢が変わるようになっています。WayとKindの選択肢は多対多の関係にあるため、スキーマ的には中間テーブルを定義しています。
  • 「Delete」や「Insert」ボタンがあります。おそらく、期待通りに削除や挿入ができているのではないかと思います。1対多の関係にあるレコードについても、適切に外部キーの値を設定して、レコードの挿入を行います。
  • いずれも、「保存」や「更新」という処理をしなくても、データベースが更新されていることが分かります。
  • "Sample Search Page"は、郵便番号検索のサンプルです。検索条件にあらかじめ入れられているテキストで検索してみてください。また、その後、適当にいろいろと検索をしてみてください。複数のレコードを、決められた数のレコードごとに表示することができます。このサンプルの場合は、ボタンをクリックすればページを合成するという仕組みを利用して、「検索」の動きをさせています。