ラベル FileMaker の投稿を表示しています。 すべての投稿を表示
ラベル FileMaker の投稿を表示しています。 すべての投稿を表示

2014年12月30日火曜日

2014年を振り返って

2014年の自分とFileMakerについて振り返ってみる。

1,最も不本意だった事はほぼFileMakerを引退し、仕事としてはオマケ程度でしか使わない予定だったのに、結局メインになってしまっていた事。

2,前職の時に比べ自由に情報収集やサンプルを試す、ドキュメントを読むなどの機会が増えて知識は今までよりもより広く、深くなったと思う。

3,大阪や東京で行われたFileMakerのカンファレンスに出展側として参加した。
出展側だと話がスピーカーセッション聞けないので不便でした。

4,認定試験に受かり、去年取った12と合わせ、11,12,13の認定デベロッパーとなりました。

今年なるほどと思ったこと
・URLから挿入とWebAPIを組み合わせるといろいろ楽できる
・カスタム関数の最大再帰回数は最大実行数とイコールではない(呼び出し数>実行数)
・Webビューアの内容ではなく、オブジェクトそのもののpaddingを工夫すると存在はするが見えない状態にできる
・レコードコミットトリガをキャンセル制御するとフォーム画面での入力編集は楽だが、コミットキャンセル制御状態なので別レイアウトでこっそり関連レコード作成とかはできない。

今後の方向性について

・FileMaker Serverを外から制御出来るようなAPIを提供してほしい
・Web公開エンジンを複数構成に出来るようにしてほしい
・WebSocketでのデータやりとりが出来るようにしてほしい
・ESSでいいかげんPostgreSQLサポートしてほしい
・ESSで既存カラムに索引が付加出来るようにしてほしい
・ODBCの3バイト以上のUnicode文字のサポート
・Web公開エンジンやodbcドライバがLinux上で扱えるようにしてほしい

上記の事が実現しない場合、自分にとって高いし面倒臭いだけのアプリになるので使わないでWebアプリを作成するほうが合理的だし個人的にもやる気が高い。

誰か教えて欲しい。現在の最新のWebアプリやWindowsアプリ開発環境やビジネスモデルに対するFileMakerで開発する場合の優位性を。

2014年9月12日金曜日

初めてのインスタントWeb


なにこれツラい。。。

何このFileMaker7みたいの。

JavaScript無しでPHPとHTMLだけで作られた昔のWebサイトみたいなの何コレ。

これで使用に耐えるモノを工夫して作るのと、小さいWebアプリを作る工数って
差がないんじゃないかな。。。

INTER-Mediator使ったら...おっと、誰かが来たようだ。

2014年8月3日日曜日

ここ数ヶ月で遭遇したこと

久しぶりに投稿してみる。

1,Windows8.1で日本語のMSアカウント名でアカウント作成して死

これにはやられました。しかもこの問題に遭遇する前にMSSQL等インストール済みだったのでもう後には引けない(汗
具体的にはホームフォルダが日本語名になるのが直接的な原因なのかFileMakerServer側の設定で「保護された接続」をオンにするとサーバーのファイルが見つからなくなる。
直接ファイルを開きに行こうとしても開けない。

2,FMS13のアップデート失敗して再インストールからやり直そうとしたら死

FMS13のアップデートが失敗した場合、一旦アンインストールしてやり直そうとしても、IISのARRモジュールが最新に変更されているためエラーになって再インストールできなくなる。
時系列を具体的にすると、
・WebDirect使ってた※キャッシュが溜まっていた?
・アップデート当てるも失敗※キャッシュのせい?
・アップデートを再実行しようとするも「既に実行済み」エラーで前に進めない
・再インストールを覚悟し、まずはアンインストール
・FMSインストールしようとしたらIISのARRモジュールのバージョンが既に新しいものが入っているエラーでインストール出来ず※アップデートの時にARRのバージョンがあがってしまっていた。
・ARRモジュールをアンインストール
・FMSにアンインストール時に残ってしまっていたフォルダ削除
・FMS再インストール
・FMSにアップデート
ちなみに環境はWindowsServer2012だったのでMacの場合は問題ないかも。※ARRがIISのモジュールなので

3,JRE8を入れるとFMSのWeb公開エンジンが死

JRE7は消されないのでJRE8を消して対応策が出るまで待ちましょう。展開のやり直し等行ってもエラーにはならず、Web公開エンジンが起動しなくなるだけ。ツライ!

4,FMSで公開ファイルが1つも無い状態の時、クライアント側からのファイルアップロードでサーバーが一覧に出てこなくなる?

これは自分の環境だけかもしれないですが......

5,FMS13アップデートのおかげか、若干Webdマシになった。

でもWebdではトリガ使ったらアカン。特にキーストロークやModify。
時間差があり気持ち悪い動きになる。

6,索引引き忘れてて死

MSSQLのデータをESSで表示して新規FMテーブルにインポートした時に、主キーフィールドなんかに索引の設定をし忘れてて、リレーションの定義を設定するもデータが見えない事態に。普段FMから新規フィールド追加した場合は索引無し設定でも必要時にオンにするオプションついているから気にしてなかったけど、インポートで作られたフィールドとかパターンによっては必要時にオンのオプションチェック入ってない場合があるから要注意。

あと、今年はじめて行われた大阪でのFileMakerカンファレンス行ってきました。
昨年東京で行われた内容の焼き直しみたいな印象+医療セッション多めって感じ。

2014年3月16日日曜日

FileMakerServer13のWebDirectがウ◯コ

WebDirectが絶望的に使えない
・重い処理のクライアントがあると、同じファイルを開いているブラウザでリロードが頻繁に起こる
・1台構成の場合、上記の問題が他のファイルを開いているブラウザでも起こる
・ポータルは表示分だけしか読まないのかスクロールするとその領域だけ再読み込みが走る
・複数タブパネルかつ入れ子とかすると重い
・ポータルはフィルタを使うなどしてトータル表示量を減らしたほうが良い
・幾つか再現できないレイアウトパーツもある
・長い処理を行っている最中に強制切断されるとサーバー側に残ったセッションがスクリプトを動かし続ける。途中でセッションタムアウトになると処理もそこで終了するので大変なことになる
・重いからとクリックしまくっているとサーバーエラーが発生して再接続が必要になる

こういう実用性の低い客寄せパンダ機能はやめてほしい。

CWPのロケーションがおかしい時がある

スクリプトからsmtp送信の時の話

・IWPは問題ないがCWP(XML)だとOSのどこの情報を参照して決めているのか不明だがEC2インスタンスのサーバーだとイギリス標準時の送信日時になってしまう。多分OSセットアップ時の設定が残っていてそれを参照してしまう。

FileMakerServer13でハマった

FileMakerServer13で2台構成でセットアップしようとしたらハマった事

・FMSv13で2台構成の場合、ネットワークセグメントが違う場所にいるとワーカーが正しくマスターと通信できない
 →パケットキャプチャ調べたら、ワーカーがマスターのプライベートIPで参照しようと
  していて、駄目じゃんそれ......

・FMSv13のワーカーを入れる場合はクリーンインストール(前のFieMakerServerフォルダが無い状態)じゃないと正しくワーカーとして設定されない。エラーは出ないがDBと通信できない。
 →最初別々に1台構成でテストしていて、後から2台構成に変えようとしたら、1台構成時の設定情報が削除されなかったのかワーカーとして正常に再インストールされなかった
ようです。

FMSのAdminConsoleで最近知った事

前からなのか知らないけど、FMSの有効なスケジュールにチェックを付けるチェックをしていないとスケジュールの実行などができない。※なんかこれ意味あるの?

FMS11のAdminConsoleについて

FMSv11はまだ32bitアプリなので、32bitのJRE6が有効かつ優先的に使われる環境になっていないと起動できない。

なので、32bitのJRE7を入れると死ぬ。※64bitのJRE7とは共存できる。

AdminConsoleと関係ないんだけど、WinServerでWeb公開しようとする場合、必然的に
IISを使うことになるのだけれど、IISのisapiが有効になっていないとWeb公開設定が正常に動作しない。
※例えIIS+FastCGI+PHPでisapiを使わないとしても

FMSのプロセスについて

FMSのプロセスについて
 ・隠しプロセスfmibが存在するインクリメンタルバックアップのプロセス
 ・バージョンによってfmcwpとfmwpeのどちらかしかない場合があって嫌だ
  →両方表示されるバージョンもある。
 ・サービスのFileMakerServerはfmshelperプロセスのようだ

fmsadminコマンド

fmsadminコマンドについて
 ・backupコマンドの世代BUの引数に0を指定すると任意のBUフォルダでBU取れる
 ・fmsadminでadmn_consoleのアカウントパスワード聞かれるコマンドがある、コマンドの引数として-u <user> -p <pass>と指定しておけば聞かれない
 ・fmsadminでコマンド実行を確認してくるタイプは引数に -y を入れておけば自動でyesになる
 ・FMSv13からファイル暗号化オプションが追加された。fmsadminのstatusで暗号化されているかどうか分かる
 ・fmsadmin のopenコマンドのレスポンスが12と13で少し違う。13の方が扱う人に
  優しくなった。

FMS12のスケジュールスクリプトのやり方

 FMSのサーバーサイドスケジュールのスクリプトシーケンスの方法
 ・エクスポートはFMSのDocumentsフォルダに
 ・バッチファイルはFMSのScriptsフォルダに
 ・シーケンスで動かすには最後0をリターンする必要がある
 ・Win環境でスクリプトファイル実行する場合はxx.batのファイルじゃないと駄目。
  →batファイルから目的のスクリプトファイルを起動する。

FileMakerServer→バッチファイル→FileMakerServerというスケジュール作れないのが
なんだかなぁ。

FileMakerServer12 のWPEプロセス異常終了

FileMakerServer12でインスタントウェブを使っている場合にWeb公開エンジンが
プロセス異常終了する場合がある。

WPEプロセスの異常終了とその対策
 ・IWPで高い負荷がかかったり、FMSv12のアップデートが当たっていないと、落ちるバグがある。
 ・基本的には最新にすれば良い(FMSv12.5)と思うんだけど、v4かv5でクリーンインストールのバージョンがあるからそれを使う。
 ・リンクが見つけられないんだけどv1くらいの時にWPEに関連するファイルを直接
  上書きするタイプの手動パッチがあってそれで解決する。上記のクリーンインストール版で解決すると思いたい。

ただ、どうしたってプロセス終了しちゃう時があるので、どう対応するか
・エラーログを監視して異常のログが出たら再起動
 →常にデータが増えているログファイルを別のプログラムから扱うリスクを避けたい
  それと毎回頭から目的のエラー文字列を検索するのは頭が悪い
 →という事でバッチプログラムでIWPのホーム画面アクセスしてレスポンスを見て
  プロセス起動してるかどうか判断するようにしました。

たまにIISが調子が悪くなる事があるので別途IIS再起動の処理も追加が必要と感じている。
※まだ、やってない

FileMakerの意味不明な機能

FileMakerのv12位からあるファイルアクセスの設定の使いどころが分からない。

・他ファイルからの参照を制限する。
・フルアクセスのアカウントを入力すると次回から参照できるようになる。
・初めてアクセスした時にフルアクセスアカウントの入力を求められるので、知っている 場合は制御できない。
・なので、参照を許可しないファイルからは存在しないように見せかける仕組みではない。

フルアクセスを知っている人も知らない人もいる環境でデバッグ目的で一時的に参照したいだけの時に参照したいファイルのフルアクセスのアカウントパスワード入力したら、
フルアクセス知らないし、参照させたくない人も見ることが出来るようになるし、誰のために存在する機能なのか、どういう使い方を想定している機能なのかが、全く不明。

2013年12月25日水曜日

メリー・クリスマス

今年もサンタさん来ませんでしたね。

という訳で、FileMaker13を少し間違った方向で使ってみました。
フルアクセスで中身を見たいと思うほどのものではありませんが
account: admin
pass: sakadonohito
です。
一応13じゃないと開かない縛りを入れてます。
13の機能で使ったものは、
・スライドコントロール
・ポップオーバー
・フィールドの非表示
以下にファイルをリンクしておきます(いつまでおいておくかわかりませんが)。

santa.fmp12

2013年8月25日日曜日

FileMakerServer12とWindows2013について

Windows2013ServerにFileMakerServer12のインストールしてみた時の事。
DBサーバーとしてはインストールできます。
Web公開エンジンがインストール出来ません。設定でコケるます。
回避策としては、Web公開エンジンを他のサーバーに入れて複数台構成で
動かす事。

fuelphp 使って FileMakerでwebアプリ作成中です

仕事でFileMakerでWebアプリ的な案件があり、外道な私はPHPそのままではなく、
フレームワークを使用して作成することにしたのですが、CakePHP&FMCakeMIX
ではなく、CodeIgniterの後継のような位置づけ?のfuelphpを採用しました。

もちろんFMCakeMIXのような便利なものはないので、自作です。というか自殺Death!

その際に作成したphpファイルをこっそりGithubにあげておきます。誰か洗練させてください。

https://github.com/sakadonohito/fuel-fms

2013年1月13日日曜日

FileMaker Server でのトラブル

先日起きたトラブルとその解決までの事について

環境:Windows2008Server(x86 32bit) FileMakerServer10

非保存計算フィールドに対する検索が効かなくなるという症状が発生
・未収金や過入金の明細を検索するため、未収過入金を表す計算フィールドに
 値が「0」のものを除外絞り込みが効かなくなる
 ※非保存計算フィールドに対する除外が効かない→除外されない。
・予約者集計フィールドに対する検索が効かなくなる
 ※非保存計算フィールドに対する検索が効かない→検索失敗で0件になる。
等が起こり、行なってみた対策は以下のとおり

1,サービスの再起動→効果なし
2,ファイルの最適化保存(索引を作り直す)→効果なし
3,計算原子となるテーブルの数字フィールドに対する直接検索
  →検索可能。計算原子側のテーブルが壊れているわけではない。
4,非保存計算フィールドを新規作成する→効果なし。
  ※新しく作成したフィールドが動くなら既存のフィールドがおかしくなっている
5,ファイルの修復→効果なし
6,動いてた時(数日前)のBUから空データファイルを作成し、最新のファイルから
  データ移行→効果なし

上記対策でファイル損傷でなく、索引損傷でもなく、レコード損傷でもなく、
フィールド損傷でもないという。どうすればいいんだ?という状態に陥りました。

結局、6のデータ移行作業を試しで一部のみ行なっていたため、たまたま
ローカルで全データ移行作業を行った後、動かしたら動いたため、成功と思い
サーバーにアップしたらサーバー環境だと動かないという状態になり、これは
サーバーのせいだろうという事になってサーバー自体の再起動をした所、
動くようになったという。。。

当てずっぽうな根拠のない私見ですが、サーバー再起動でクリアされる、
FileMakerServerが検索処理で扱うキャッシュファイルのような一時ファイルがあり、
それが損傷したか、アクセス出来ない(別のセッションがファイルロックしてしまっていた)状態になりうまく検索できなくなっていたのかなーと。
でもそれだと普通のフィールドに対する検索も正常に動作しなくなるはずなので、
レコードのキャッシュがおかしくなっていたのかな?

確かにおかしくなる前に重い処理に業を煮やし、何度か放置していてセッションが
切断されたり、クライアント側から強制終了や強制切断したりしていたので、
レコード操作のセッションがサーバー側でうまく開放されなかった事があっても
不思議ではないのかもしれない。

でも多分MacOSだと起きませんとかなんだろーなー。

2012年12月5日水曜日

FileMakerカンファレンス2日目行ってきた

FileMakerカンファレンス2日目(30日)に行って来ましたのでそのメモ的なもの

1,ExecuteSQLについて
  基本的な使い方や注意点などを丁寧に説明してくれていました。

  バインド変数といえば言いのか第1引数(query)内に「where fieldA=? or fieldB=?」とか
  に対する第4引数の個数がマッチしなくても無視するだけとか凄いなって思った。

  パフォーマンスに関してはやはりレコード総数の多いテーブルをjoinで使ったりしたり
  selectの結果の対象レコード数が多い場合は重いらしい。まぁそうでしょう。

  自分が使うとしたらGroupe by とか使いそう。あとは、例えば顧客管理に対する検索で
  関連テーブルAとBの内容に対する割と複雑なandやor検索をSQLで処理して顧客管理の
  idだけ取得して関連レコード移動使って従来の検索手段の代替にするとかかな。

2,バックアップストラテジー
  FileMakerServer冗長化についてのセッションでした
  メインサーバーの電源ぶっこぬいて待機系に移行するデモ失敗したのは残念でしたね。

3,命名規則についてのセッション
  これは、思っていたのとちょっと(かなり?)違くて、え?ってなりました。
  でも名前をドメイン(もしくはカテゴリ)_意味を表す名称_補足情報ていう名前にするのは
  賛成かな。

4,医療現場(在宅医療)でのFileMakerの活用
  このセッションではクライアント端末側はリモートデスクトップを利用したシンクラ
  イアントな使い方の事例紹介でした。確かにこの方法はFileMakerServerとリモート
  デスクトップサーバーとの間で処理してクライアント側には結果の差分更新分のみ
  送信されるので外からのアクセスにおいてパフォーマンスとセキュリティ等良いバランス
  がとれているように思えました。何より開発がFileMakerのみで済むのがいいですね。

5,医療現場(継続医療)でのFileMakerの活用
  このセッションではカスタムWeb公開の事例でした。
  パフォーマンスを維持するために検索結果等対象レコード数を極力必要最小限になるよう
  工夫したり、Ajaxで随時更新にしてトラフィックを小さくする努力をされているようです。
  

自分は長らく既存ソリューションの延長上の開発しかしてないので、レイアウトがやぼったく
今回のカンファレンスで沢山見かけたWebっぽいレイアウトに非常に危機感を覚えました。
ヤバイ、取り残されてる!って感じ。勉強しなきゃ......

2012年11月29日木曜日

FileMakerカンファレンス1日目行ってきた

FileMakerカンファレンス1日目(29日)に行って来ましたのでそのメモ的なもの

1,オープニング・セッション
  NDA事項が含まれるため記載できません。

2,FileMaker Ver12のオブジェクトフィールドについて
  FileMaker Ver12からオブジェクトフィールドがぱうわーうっぷしました。

  ・実体データを指定したPATHに保存や暗号化して保存などがオプションで
   選択できるようになって、FileMakerファイルの容量を軽く出来るようになった。
   ※従来の参照PATHのみ保存と似ているが違う。

  ・レイアウト上のオブジェクトフィールドの表示オプションでインタラクティブ~を
   チェックしておくと保存しているPDFや音楽、動画ファイルを直接再生できる。

  FileMaker社の方がスピーカーだったのですが、資料のページ送りが早くてメモ
  しきれない、話がカミカミで聞き取りづらいなどちょっと残念でした。

3,FileMakerGoとWeb連携的な
  iOS上で動くFileMakerランタイムアプリFileMakerGoでFileMakerソリューションを
  開発する際にUIの一部をWebViewerを使ってHTML5やJavaScriptを利用して少し
  インタラクティブにしましょう的な内容。

  WebViewer上で入力した内容をソースを取得する関数やfmpプロトコルを使って
  FileMakerにフィードバックすれば連携出来るよね!という内容。

4,FileMakerServerを活かすためのインフラ設定
  FileMakerServer Ver12から64bit対応なので64bitでマルチコアなサーバーを
  使うと良いですよという話。32bitOSだとキャッシュに割り当てられる上限が
  800MBだが64bitOSだと積んでいるメモリの50%まで割り当てられる。

  割り当てるメモリの容量はAdminConsoleの使用状況でキャッシュヒット率を
  見て調整しましょう。

折角それぞれのセッションでメモ取ってたのに今は手元にないのでざっくり記憶を
元にブログ書いてる残念な自分......

2012年1月8日日曜日

FileMakerとRubyのSinatra

Sinatraのチュートリアルを少し触って、これなら簡単にFileMakerと接続出来るんじゃない?
と思ったのでやってみました。

gihyo.jp:第9回 SinatraとSequel・Hamlで掲示板アプリを作る
http://gihyo.jp/dev/serial/01/ruby/0009

が自分がチュートリアル(以下、見本)としてやってみみたもので、これのmodel部分をFileMakerに
置換えました。
※FileMakerやRuby、Sinatraそのものの細かい説明は省きます。

最終的な階層は以下(見本のファイルも混在してます)
---
app/
    start.rb
    model/
           comment.rb
    view /
           layout.haml
           index.haml
           fmbbs.haml
           style.sass

---

FileMaker部分
・bbsテーブルの作成、カラムは見本のapp/model/comment.rb内で定義しているクラス
Commentsを真似て定義。但し、posted_dateはFileMaker側ではtimestamp型で作成時に自動で
現在のタイムスタンプが入るよう設定。

Ruby部分
・app/model/comment.rbにFileMakerとの接続クラス追加

---以下をcomment.rbに追加---

・hamlを編集(追加)
---app/view/fmbbs.haml

※HamlはPythonのようにインデントが文法になってるので注意!

・app/start.rbを編集
---app/start.rbを以下のように変更---

・rfm(lardawge-rfm)をインストールするの忘れずに!

$ sudo gem install lardawge-rfm

GitHub:https://github.com/lardawge/rfm

これでstart.rbのある位置をカレントにして
$ ruby -rubygems start.rb
これで
http://localhost:4567/fmbbs
で試せます。簡単ですね!
今回、自分がつまずいた所は、
1,rfm経由でFileMakerにレコード作成(多分編集も同じ)でtimestamp型のカラムに値を
設定するための方法が分からなかった。※DateTime型だとエラーになる、整形してもエラー
になる。なんでや!
→読み込みは出来るので、FileMaker側で作成時自動で値設定にした。

2,投稿済みデータの降順ソートがうまくいかない!
→lardawge-rfmでは降順の指定が"desc"ではなく、"descend"だった。

Railsでやるほどじゃないけどちょっと簡単にFileMakerとWebアプリつなぎたいとか、これで
どうでしょうか? 2012/10/24 編集:コード断片をGithubのGistからの読み込みに変えました。