初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 Re: 初心者のFileMaker pro Q&A » アカウント名の一覧取得 » 2014-05-20 12:37:54

遅ればせながら、解決しましたのでタグをつけさせていただきました。
参考になるかどうかわかりませんが、最終的に以下のような形に落ち着きました。

---------------------------
・本体とは別に、アカウント情報を定義するテーブルAを用意(フィールドは「アカウント名」のみ)
・テーブルAに本体に設定したアカウント設定と同じ情報を定義
・ログイン後、スクリプトトリガでテーブルAの該当レコードに移動させ、ログイン日時を刻む
・ログイン日時を刻んだ後そのままフィールドに入りっぱなしにする(ロック状態を作り出す)
・テーブルAを隠し、いじられないような工夫をする
・他の端末からログインしてきた場合にもスクリプトトリガが働いてログイン日時を刻もうとするが跳ね返される
・そのまま終了させる
---------------------------

本体に対するアカウント設定と同じ情報をテーブルAにも設定してやるという手間はありますが、
テーブルAの該当するレコードをロックするというシンプルかつ原始的な方法なので、
Get( 持続ID )などでの端末情報取得もせずに済みました。
かつ、途中で強制終了があったとしてもロック状態は即解放されるので
(ネットワークの不調が原因になったとしてもPCを再起動すれば解放されるはず)
袋小路にはまることもないと思います。

皆様ありがとうございました。

#2 Re: 初心者のFileMaker pro Q&A » アカウント名の一覧取得 » 2014-05-13 20:25:49

クイック検索、レイアウト設定でレイアウトごとに無効にできるんですね。
使ったことなかったので知りませんでした。
マッチポンプですみません…。

#3 Re: 初心者のFileMaker pro Q&A » アカウント名の一覧取得 » 2014-05-13 20:19:17

Shinさんのおっしゃるように、終了処理がきちんと行えるかどうかがキモなのです。
例えるなら、シャワールームから出てきた人が「使用中」の札を「空室」に戻さなかったがゆえに
あとの人がいつまでもシャワーに入れない感じです。
今回の仕組みは社内で使うものではなく、一度納品したら完全にお客様先で独立して運用されるものなので、
使用中を空室に自由に変えられるとまずい(課金の仕組みそのものが崩壊する)のです。

最終的に解決したら改めてご報告しますが、紆余曲折を経たいま、ウインドウコントロール周りで壁に行き当たっています。

Shinさんの書き込みにある「アカウント管理へアクセスするための専用ウィンドウ」を隠した状態で
永遠にバックグラウンドにしまっておければよかったのですが、どうやらそれは無理みたいなので、
裏に隠してあるウインドウが引っ張り出されたとしても、どこをクリックしても再びウインドウを隠すスクリプトが
動くようにしました。

ウインドウに施した処置としては、

・検索での絞り込み(該当アカウントの1レコードのみ)
・最小限のメニューセットへの切り替え
・クローズボタン不可
・ツールバーの非表示

などですが、ウインドウ最下部の倍率表示の右横にあるツールバーの表示/非表示ボタンは無効にできないようで、
ツールバーが復活させられてしまった上にクイック検索のところをクリックされるとレコード確定状態になってしまう、
というのが今突き当たっている壁です。

ここさえ乗り越えられればおそらく完成なのですが、お知恵拝借できませんでしょうか。

#4 Re: 初心者のFileMaker pro Q&A » アカウント名の一覧取得 » 2014-05-13 11:15:51

みなさま、ご回答ありがとうございました。
状況としては、パートナー企業様にお渡しするソリューションに、発行アカウント(同時アクセス制限)による
従量制の料金体系を組み込みたいという背景があります。
なので、渡すファイルには管理者権限は持たせられないのです。

Get( 持続 ID ) は、お恥ずかしい話ですが存在を知りませんでした。
Get( デスクトップパス ) でもデスクトップの名称が複数端末で同一の場合どうしようと思っていたのですが、これで解決ですね。

利用者には「もし途中でクラッシュした場合は同じ端末からしかログインできません」としておいて、
同端末からのアクセスであれば、ログイン情報が残っていても例外的にアクセスを許す、というのを考えていたのですが、
最悪の場合クラッシュからそのまま二度と起動しなくなったり、クラッシュした後にそのまま端末が
廃棄されてしまった場合のことを考えると、Shinさんのアイデアがシンプルかつ安全だと思いました。
これから作ってみようと思います。

#5 Re: 初心者のFileMaker pro Q&A » アカウント名の一覧取得 » 2014-05-12 20:05:13

Travellerさん、ご回答ありがとうございました。
しかし、Travellerさんのおっしゃるように、管理者権限を持つ人の神の手が
必要になってしまうんです。

ただ、Get(システム IP アドレス)ではなくGet(デスクトップパス)で端末を判定するのは
参考になりました。これだとDHCPを導入しているところでも使えるかもしれません。

#6 初心者のFileMaker pro Q&A » アカウント名の一覧取得 » 2014-05-12 11:00:33

daisuket
Replies: 18

Get(システム IP アドレス)とGet(アカウント名)を合わせて取得することで「同じアカウントでログインできるのは1端末のみ」
という仕組みを作りたくて、ログイン・ログアウト時に別テーブルにアカウント名を書き込んだり消去したりという
香盤表のようなもので管理すればいいと思いつきました。

通常の形でアカウント認証を行った後にスクリプトトリガを動かして、一致するアカウント情報が
あった場合にはメッセージを出したうえでファイルを閉じる、というイメージです。
終了時には記録されたアカウント情報を消去してやり、次回ログインに備えるという形です。

が、クラッシュなど異常な終わり方をしてスクリプトトリガが働かなかった場合にログイン情報が残り、
永遠にログインできない、という問題をどう回避しようかと思っています。

上記のような問題を回避する方法があればご教示いただきたいのと、そもそもの話として
FileMaker Pro環境においてアクセス中のアカウント名一覧を取得することはできないのでしょうか。
「WindowNames」で現在開いているウインドウ名の一覧を取得できますが、あのようなイメージです。

Admin Consoleではアクセス中のアカウント名一覧を確認できますが、今回の件では
パートナー企業様に配布するような形で考えているため、FileMaker Pro環境で実現できないかと
思っています。FileMaker Proのバージョンは12もしくは13です。

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 8 queries executed - Memory usage: 611.97 KiB (Peak: 616.88 KiB) ]