2025-11-10

ファイルキャッシュ削除により 共有ファイルを開く速度を改善する(FileMaker Pro 19)

 Windows 11 にインストールされている FileMaker Pro 19 (19.6.3) により共有ファイルを開く際、ファイルが完全に開く迄に約20秒かかることがありました。

 もともとこのFileMaker 19 はWindows 10 上で使用していたのですが、Windows 11 にアップグレードしてからこの遅延が顕著になりました。

 

解決:キャッシュされたファイルを削除する(FileMaker Pro 19.6 以降)

 苦闘の末、下図のようにキャッシュされたテンポラリファイルを削除すると、共有ファイルが一瞬で開くようになりました。

 

FileMaker Pro 19 の環境設定でファイルキャッシュを削除

 尚、上記の"削除"をクリックすると C:\Users\Administrator\AppData\Local\Temp\FileMaker\DBCache\...\ 内のキャッシュファイル(下図)が削除されます。


考えられる原因:

  クリーンインストールしたWindows 11 や、Windows 10 では共有ファイルは一瞬で開きます。よって、今回のように  FileMaker Pro 19 を運用するWindows 10 を Windows 11 アップグレードした場合に、Windows 10のキャッシュをそのまま継承してしまい不整合を起こすことがあるのでは?と推測しています。

 ちなみに、FileMaker 5/6 でアプリケーションの起動が異様に遅いことが過去にあり、その際は Windows のフォントキャッシュ(FNTCACHE.DAT)を削除することで解決したことがありましたが、今回はフォントキャッシュ削除しても解決しませんでした。 

 

参考リンク:

windows11での起動時間が遅く感じる (初心者のFileMaker pro Q&A (旧掲示板))

2025-06-19

64 ビット版 Microsoft Text Driver をインストールする際の注意点

 FileMaker Pro から ODBC 経由でテキストファイルにアクセスする際、Microsoft Text Driver があると便利なのですが、デフォルトでは Windows 10/11 には 32 ビット版のテキストドライバしかインストールされていません。


 64 ビット版の FileMaker Pro ではこの 32ビット版の Microsoft Text Driver は認識されません。


解決方法

 64ビット版の Microsoft Text Driver を入手し、インストールします。このテキストドライバは「Microsoft Access データベース エンジン 2016 再頒布可能コンポーネント」で提供されるドライバのひとつとなります。

以下のリンクからダウンロード可能です。

Microsoft Access データベース エンジン 2016 再頒布可能コンポーネント
https://www.microsoft.com/ja-jp/download/details.aspx?id=54920

 ダウンロードの際は、X64 の方を選択してください。

 


  インストールに成功すると、Microsoft Text Driver が 64 ビット版の ODBC データソースアドミニストレーターに表示されるようになります。


インストール時の問題点と対応

  Microsoft Acess データベースエンジンをインストールする際、以下のようなエラーメッセージが表示され、インストールに失敗することがあります。

 原因:32ビット版のデータベースエンジンと64ビット版のデータベースエンジンを共存させることができないために発生するエラーです。

 32 ビット版の Microsoft Officeがインストールされている場合は、Office をアンインストール後、64ビット版をインストールした後に Microsoft Access データベースエンジンをインストールする必要があります。

弊社で検証したインストール可否の状況は以下のとおりです。

64ビット版 Windows 10/11 を対象とした、Microsoft アクセスデータベースエンジンインストール可否表

項番 前提条件 可否 対応
1 MS Office がインストールされていない 64ビット版 Microsoft Access データベースエンジンをインストール
2 32ビット版 MS Office がインストールされている ×
  1. MS Office をアンインストール
  2. 64ビット版 MS Office をインストール 
  3. 64ビット版 Microsoft Access データベースエンジンをインストール
3 64ビット版 MS Office がインストールされている 64ビット版 Microsoft Access データベースエンジンをインストール

 

 ※MS Office インストーラが X86/64 のハイブリッド版の場合、明示的に 64 ビット用インストーラを使って MS Office をインストールをしないと 32ビット版の MS Office がインストールされてしまうため、注意が必要です。


(亀)

 

2025-06-06

FileMaker Pro 19.0 で作成する表形式レイアウトに要注意!!!

 FileMaker Pro 19.0 表形式レイアウトを作成すると(下図参照)、そのファイル自体に障害が発生します。

上記のように表形式のレイアウトを作成するとファイルに障害が発生する
上記のように表形式のレイアウトを作成するとファイルに障害が発生する


レイアウト作成後にファイル修復コマンドを実行すると、以下のようなエラーが発生します。 

※FileMaker Pro 19.0 を使用して、同様の現象が発生するか、確認してみてください。

 このメッセージが表示されたら、文字通り、このファイルを使用し続けることは避けるべきです。
なお、Recover.log には以下のようなエラーコードが記録されます。

2025-06-03 14:36:03.136 +0900 19v2テストだよ.fmp12 8487 表形式をリセット
2025-06-03 14:36:03.157 +0900 19v2テストだよ.fmp12 8476 この項目は変更されました
2025-06-03 14:36:03.727 +0900 19v2テストだよ.fmp12 0 修復中: テーマカタログ
2025-06-03 14:36:03.743 +0900 19v2テストだよ.fmp12 0 テーマカタログ 順リストを再構築中: 名前
2025-06-03 14:36:03.743 +0900 19v2テストだよ.fmp12 0 修復中: テーマ 'com.filemaker.theme.enlightened' (1)
2025-06-03 14:36:03.774 +0900 19v2テストだよ.fmp12 8476 この項目は変更されました

 

エラーが発生した場合の復旧方法

 上述のエラーが発生した場合、以下の要領でファイルを回復させます。

  1. エラーが発生している表形式レイアウトを削除する。
  2. 削除したレイアウトを手動で復旧。この時、一旦フォーム形式で作成した後、表形式に変更する。 
  3. ファイルを閉じてファイル修復コマンドを実行。下図のように「新しいデータベースの使用は安全ですが...」と表示されていれば障害は解消しています。修復したファイルを使用して開発または運用を再開してください。
修復成功時のメッセージ例

 

 長期間運用しているシステムでも要注意 

 本現象は盲点です。長期間運用されているシステムであっても、このエラーが潜伏している可能性があります。 システム管理者の方は、現在運用中のシステムのバックアップを使用して修復コマンドを実行し、上記のエラーが発生していないことを確認しましょう。

注:

  1. FileMaker Pro 19に限らず、後継バージョンの2023/2024 の修復コマンドを使用しても、障害の原因となっているレイアウトを削除しない限り、この障害は解消しません。
  2. 類似のエラーは fp7(FileMaker Pro 7~11のファイルフォーマット)でも発生することがあります。当社では FileMaker Pro 11で類似のエラーを経験しています。
  3. レイアウトを削除して上記のように対処しても、エラーが解消されないことがあります。最悪の場合、当社も遭遇しましたが、一から再開発となります。
  4. 当方の検証では、FileMaker Pro 19.3 以降で新規に表形式のレイアウトを作成してもこの現象は発生しませんでした。Claris社は明言していませんが、このバグをFileMaker Pro 19.3 で解消した可能性があります。


 ファイル障害への対策

  Claris 社は頻繁に FileMaker のアップグレードを行っており、今までは問題なく使えていた機能が突然不具合を起こす可能性もあります。そのため、FileMaker ソリューション開発の際には不測の事態に備え、以下のような対策を行うことをお勧めします。

  • FileMaker Pro 19 環境でデータベースを保守・運用中なら、最低でも FileMaker Pro 19.3 以降にアップグレードしておく 
  • 1週間以上のバックアップ(データを含む)を残す
  • クローンのみ(データ無)のバックアップをできるだけ長期間(例:10週~)、追記的(上書せずに)に保管する
    • クローンにするのはディスク容量を節約するため
    • 上記の方法で復旧できない場合は、クローンを利用して復旧する
    • 当社では週1回クローンバックアップを行い、50週分(約1年分)のクローンを保持
  • そのシステムの重要度に応じて、毎日あるいは週に1回、ファイル修復コマンドを実行し、ファイルにエラーが無いことを確認する


 参考

  FileMaker Pro 19.0 で発生する上記エラー について、Grok に調査させた結果を参考情報として以下に載せておきます。

提供された情報と検索結果(特にWeb ID: 0, 10, 19)に基づき、FileMaker 19.0.2以降で「エラー8487 Reset table view」が解消されたかどうかについて調査しました。以下は結果と分析です。

調査結果

  • エラー8487の詳細: エラー8487は、FileMakerのGet(LastError)関数やスクリプトデバッガで検出されるエラーで、テーブルビューのリセットに関連する問題を示します。具体的には、レイアウトのテーマや構造が破損し、レイアウトが正しく表示されない場合に発生します。このエラーは、FileMaker 19でのレイアウト作成や編集時に頻発し、リカバリログで「Reset table view」として報告されます。
  • FileMaker 19.3.1の既知の問題: Web ID: 10(pkinformation.com)によると、FileMaker 19.3.1ではレイアウトのテーマが意図せずクリアされるバグがあり、レイアウトが破損したように見える問題が報告されています。このバグはエラー8487と関連している可能性がありますが、直接的に「エラー8487」と記載されていないため、推測の域を出ません。
  • FileMaker 19.3.2での修正: 同じ情報源(Web ID: 10)で、FileMaker 19.3.2のリリースノートにおいて、19.3.1で発生した一部のバグが修正されたと記載されています。ただし、エラー8487が具体的に修正されたとは明記されていません。リリースノートを確認する必要があるとされていますが、公開情報からはエラー8487の修正が明確に確認できません。
  • FileMaker 19.6および2023以降: Web ID: 19によると、FileMaker 19.6のサポートは2024年12月19日に終了し、最新バージョン(FileMaker 2023や2024)へのアップグレードが推奨されています。FileMaker 2023以降では、レイアウトやテーマ管理に関する改善(例:新しいスクリプトステップやAPI統合)が導入されていますが、エラー8487の解消に関する直接的な言及はありません(Web ID: 17)。
  • コミュニティ情報: Claris Community(Web ID: 7, 13, 14, 15, 16, 18, 20, 22, 23, 24)へのアクセスが「Loading · Sorry to interrupt · Refresh」エラーで制限されており、具体的なスレッドやユーザー報告を確認できませんでした。そのため、コミュニティ内でエラー8487が19.0.2以降に解消されたという議論があったかどうかは不明です。
  • 他の情報源: Web ID: 0(Claris FileMaker Server Release Notes)やWeb ID: 11(FileMaker Proエラーコード)には、エラー8487に関する具体的な言及がなく、19.0.2以降の修正状況についての情報も見つかりませんでした。Reddit(Web ID: 21)でもエラー8487に関する最近の議論は確認できませんでした。

結論

現時点で、FileMaker 19.0以降(特に19.3.2やそれ以降)でエラー8487が解消されたという明確な情報は、提供された検索結果や公開情報からは確認できません。FileMaker 19.3.1でレイアウトのテーマ破損バグが報告されており、19.3.2で一部修正された可能性はありますが、エラー8487が完全に解消されたかどうかは不明です。

 
Claris Community で見つけた参考記事:

FileMaker 19 Development creating Layout issues. Recovery Reports Error 8487 Reset Table View?

  

 (亀)



2024-04-03

旧FileMaker で開発した受注・送状発行システムを運送会社のEDIに対応させる


 本稿でご紹介の『簡太郎君R3.0は、2024年10月1日にリリースしました。

2025年現在、本システムは月間約8,000件の出荷(ピーク時)を処理しています。「各クライアント→集約サーバ→運送会社EDIサーバ」間のデータ送受信に関する技術的トラブルは、1年超の運用で発生していません。(2025/12/04追記)



物流の2024年問題と宅配EDIへの対応

 当社では2009年にFileMaker 11を使用し、受注・請求・宅配送状発行のシステム(簡太郎君)を開発しました。本システムのお客様は運送会社であり、お客様の取引先である数十の農園や農家に配布され稼働しています。ユーザはフルーツ等の農産物の顧客・受注管理、請求書発行、宅配送状の印刷を簡太郎君を使用して行っています。


EDI対応する新簡太郎君のメニュー画面(ブリッヂ社製)― 2024年10月1日リリース済

 さて、運送業界では2024年4月からトラックドライバーに時間外労働の960時間上限規制が適用され、国内の輸送能力が今後不足する可能性が指摘されています。いわゆる物流の2024年問題(全日本トラック協会サイト)です。同サイトによると、労働時間が削減される一方でトラックドライバは不足しており、「営業用トラックの輸送能力が2024年には14.2%さらに2030年には34.1%不足する可能性がある」と記載されています。

 こうした状況で運送業界では、IT技術を使用した業務の効率化(DX)が強く求められており、今回、簡太郎君もEDI対応による業務の効率化を行うこととなりました。

運送EDIシステムの構成

  下図がEDI対応バージョンの新簡太郎君のシステム構成図となります。
 簡太郎君の各ユーザ(農園等)は顧客からの注文を受注画面で入力し、送状を作成・印刷します。ユーザはその日の出荷作業が終わったら、集約サーバに送信します。集約サーバでは多数の顧客から送信されてくる送状データを蓄積・集約しておき、予め設定した時刻になると送状データをまとめて各運送会社に自動送信します。

 集約サーバで一旦データを集約する理由は運送会社の要請によるもので、個々のエンドユーザと契約を締結するのが煩雑で時間がかかるということのほか、エンドユーザのサポートの負担を回避したいということがあると思われます。

簡太郎君の送状データフロー図


簡太郎君のEDI対応

 2009年にリリースされた簡太郎君はFileMaker 11で開発及びランタイム化されているため、FileMakerのライセンスは必要とせず、Windows 10/11でも稼働します。
 農園等のユーザは顧客から注文を受けると、受注画面で依頼主、送り先、商品などの情報を入力した後、送状を作成します。このとき12桁の送状番号が自動生成されされます。荷物が複数の個口に分かれる場合は、送状を個口分作成します。

受注画面の送状タブ

 “送状印刷”または“印”をクリックすると送状が印刷されます。

ヤマト:レーザープリンター用A4マルチ伝票(品番322)

 その日一日の発送が終わった時点で、下図の"EDI送信"ボタンを実行して送状データを集約サーバに送信します。


集約サーバ

 集約サーバは FileMaker Server 2023 により構成されており、Amazon AWS EC2 上に存在します。 このサーバは多数の顧客から送信されてくるデータを常時受信し、蓄積します。
 本サーバにはスケジュールが設定されており、設定された時刻になると送状データをまとめて運送会社に送信します。

 運送会社によりAPIは異なります。本システムではヤマトについてはcURL、JP(日本郵便)についてはSFTPを使用してサーバから各社のEDIサーバにデータを送信します。

 集約サーバで一旦データを集約する理由は運送会社の要請によるものですが、個々のエンドユーザと契約を締結するのが煩雑で時間がかかるということのほか、エンドユーザのサポートが負担になるということがあると思われます。

お問い合わせ

 本システムのお問い合わせは以下のフォームをご利用ください。ブリッヂまたは当社よりご連絡差し上げます。


以上
(NuckyT)

2023-09-21

Quuppa用IPSアプリケーション ― QuickIPS for Quuppa

[English version]


 『QuickIPS for Quuppa』はQuuppa Positioning Engine が提供する位置情報を受信し、PC等の端末上にその位置をリアルタイムで表示する FileMaker で開発されたアプリケーションです。

 本稿では当製品に関して説明します。

Quuppaとは?

 Quuppaは屋内の人やモノの位置情報を提供するためのシステムであり、フィンランドQuuppa Oy社の製品です。同製品は Realtime Location System (RTLS) または Indoor Positioning System (IPS) と呼ばれます。 このシステムでは人・モノにタグ(ビーコン)と呼ばれる発信機を取り付けて、タグが発する信号をもとに人・モノの位置を算出します。GPSと似ていますが、衛星電波の届きにくい屋内での使用に特化し、GPSよりも測位精度が高いのが特長です。また、タグはBLEを使用しているため低電力で長期間の運用が可能です。



Quuppaは主としてタグ、ロケーター、測位エンジン(ソフトウェア)で構成されます。

タグ  

QT1-1 tag
人・モノに取り付け、信号を発信する。ビーコンと呼ばれることもある。
ロケーター

Q35 Locator
タグからの信号を受信して位置測位エンジンに送信。
位置測位エンジン(ソフトウェア)

Quuppa Positioning Engine
ロケーター経由で送られてくるタグ情報を受信、各タグの位置情報を算出してアプリケーションに渡す。要サーバ。


QuickIPS for Quuppa

 Quuppaの位置測位エンジンはタグの位置情報をUDP PushやRESTを介してCSV及びJSONの形式で提供しますが、人・モノの位置をマップ上に表示する等のユーザアプリケーションは導入企業が独自に開発することになります。しかし、このアプリケーションの開発には多くの時間と費用が発生します。この開発作業の工数を削減しするのが当社の QuickIPS for Quuppa です。

主な特長

1. IPS アプリケーションを短時間で導入が可能

 QuickIPS for Quuppa(以下、「QuickIPS」)はタグの所在地をマップ上に表示する「フロアマップ」機能を提供します。 導入は簡単で、フロア画像を取り込み座標を合わせる等の初期設定を行えば、すぐにフロアマップ上にタグの所在地を表示できます。

 QuickIPS により、IPSのシステム導入担当者は、プロジェクトの初期段階でエンドユーザが利用するアプリケーションをイメージすることができます。

2. FileMaker によるカスタマイズ

 QuickIPS は FileMaker で作成されており、開発版も提供される予定です。 FileMaker はローコード開発ツールとして定評があり、開発者は FileMaker により QuickIPS をカスタマイズすることにより短期間で高品質のIPSアプリケーションを開発することが可能です。

3. 多様なフロアマップ開発のツール

 QuickIPSは5種類のフロアマップを提供します。開発版を使用してのカスタマイズに際しては、FileMakerの標準機能に加え、JavaScriptライブラリの plotly(無料) や FileMaker PluginであるxmCHART(有償、サードパーティ製) を使用できます。

3-1. Scatterフロアマップ

 FileMakerの散布図グラフを使用して開発されており、機能は限定的ですが、開発は容易です。

3-2. Object フロアマップ

  FileMakerの機能(主にマージフィールドとスクリプト)を使用して開発されており、Scatterフロアマップに比べて高度な開発が可能です。尚、本フロアマップは他のフロアマップとは異なり、導入時のカスタマイズが必須であるため、開発版の購入が必要となります。

3-3. xmCHARTフロアマップ

 FileMakerプラグインのxmCHART(有償)により開発されており、同製品が提供するFileMake用外部関数使用によるフロアマップの開発が可能です。この外部関数の習得には一定の学習が必要となりますが、チャート作成の柔軟性及び拡張性に優れ、様々なチャートの作成にも利用できます。

3-4. Plotlyフロアマップ

 JavaScriptとJavaScriptライブラリのPlotlyを使用して開発されています。開発者はPlotlyのスキルを必要とされますが、チャート作成の柔軟性及び拡張性に優れ、様々なチャートの作成にも利用できます。

3-5. QuickIPSページ(FileMakerクライアントライセンス非依存)

 上述のフロアマップと異なり、FileMakerクライアントライセンスと必要とせず、ブラウザ上にフロアマップを表示します。同ライセンスが不要のため、多数のユーザがいる環境ではコスト的に有利です。

 但し、運用に際してはFileMaker Serverのライセンスが1つ、設定管理用にFileMaker Proのライセンスが1つが必要です。
 また、python、plotly、Flask、waitress などによるWebサーバの構築も必要となります。


3-6. 開発ツール比較表

 フロアマップは以下の5種類のツールを使用して開発されています。

マップ種類
(開発ツール)

導入時開発

開発難度

拡張性  開発に関する補足
1.Scatter

  • FM標準の散布図グラフを利用
  • Objectに比し簡単

2.Object 必須

  • FM標準のマージフィールドとスクリプトを使用しての開発
  • cm単位の座標はmに丸めている
  • FileMakerによる開発経験要
  • 開発には開発版が必要

3.xmCHART

  • xmCHART(別途購入要)を使用
  • xmCHARTの独自言語
  • FMの外部関数による開発
  • ヒートマップ、トラッキング(動線追跡)等の開発が可能

4.plotly

  • plotly(フリーウェア)とJavaScriptとplotlyを使用
  • ヒートマップ、トラッキング(動線追跡)等の開発が可能

5.QuickIPS pages
  • ブラウザ上で実行
  • 他のマップと異なり、端末毎にFileMakerクライアントライセンスを必要としない
  • JavaScriptとplotlyにより開発
  • 他のマップと比較し低機能
  • 開発難度は一番高い(非ローコード)
  • Webサーバ要

3-7. Picker によるタグ選択

 Pickerにより目的のタグを複数選択し、それらだけをフロアマップに表示することができます。
複数のタグを選択可

 尚、QuickIPSページでは本機能を利用できません。

4. オート、マニュアル、ヒストリの3つのモードに対応

 上記3-1~3-4のフロアマップは以下のモードに対応しています。

オート(AUTO):タグの位置をリアルタイムに自動的に表示
マニュアル(MANUAL):ユーザが更新ボタンをクリックすると、その時点のタグの位置情報を表示
ヒストリ(HISTORY):ユーザの指定により、データベースに保存された過去の位置情報を表示

5. 誤差グラフと誤差集計機能

 静止しているタグの座標を予めタグマスタに登録しておくことにより、実際の座標とQuuppaが算出する座標の誤差をグラフ化または集計表示します。算出座標の精度をチェックしながらロケータの配置を決定する時にご利用ください。


6. 多様なプラットフォーム上で利用可能

 QuickIPSの諸機能は各種プラットフォーム上で動作します。

No 機能 FM Pro FM Go WebDirect Browser 備考
1 環境設定(Conf)  
2 フロアマップ調整  
3 AUTO モード  
4 HISTORYモード  
5 MANUALモード  
6 Scatterフロアマップ  
7 Objectフロアマップ  
8 xmCHARTフロアマップ  
9 Plotlyフロアマップ  
10 QuickIPS page  
11 測位誤差集計  
12 測位誤差グラフ  
13 Picker (タグ選択)  

注:

  • 初期設定及びメンテナンスには、FileMaker Proが必要です。
  • WebDirectはFileMakerで作成した機能をWebブラウザ上で利用できるようにする FileMaker Server の機能です。WebDirectを使用するには、FileMaker Server に加え、ユーザ毎にFileMakerのクライアントライセンスが必要となります。


NuckyT

2023-07-06

FileMaker Server をアップデートするとやっぱ WebDirect が使用不能になった

 みなさんは運用中のサーバソフトウェアをどのタイミングでアップグレードしていますか? 当社では運用中のサーバに関するアップグレードがリリースされた場合、リリースノートを読み、重要なバグフィクスやセキュリティパッチが含まれるかどうかを確認し、これらに該当しない場合は直ぐにはアップグレードを行いません。 例えば、FileMaker Server で機能的なアップグレード(新しい機能追加や既存機能の改善のみ)があった場合は、リリースから数ヶ月経過するかマイナーバージョンが上がるまではそのアップグレードは行いません。これは、新しいアップグレードが含むかも知れない新たなバグを回避するためです(人柱が現れるのを待つ、とも言う)。

 さて今回、当社で運用中の FileMaker Server 19のアップグレードを行ったのですが、悪い経験は繰り返す則(マーフィーの法則)に従い、WebDirect が使用不能になりました。 そこで本稿ではこの経緯と対応方法をまとめました。 


対象読者


FileMaker Server(FMS) 19.x 環境で WebDirect を使用していたが、FMS をアップグレードしたら WebDirect が動作しなくなった方
 

WebDirect が動作しなくなった経緯

先日、FileMaker Server 19.0.1 を 19.6.3 にアップグレードしたところ、今まで動作していた WebDirect ページが開けなくなりました。以下のような HTTP エラー502.3 が出ます。

FileMaker Server Admin コンソールも、プライマリマシンがいつの間にか無効化された状態となっています。このまま有効化してもすぐに無効に戻ってしまいます。

 

アップグレードした途端に WebDirect が動かなくなるなら Java との互換性を疑え、ということで Claris 公式サイトを検索したところ、FileMaker Server 19.2~19.6 は Java 11 が推奨されているという表記をみつけました。

macOS および Windows 上で Web 公開を使用する場合の、JAVA_HOME 環境変数の活用について [Claris 公式サイト]


もともと使用していた Java が OpenJDK 8.0_252 だったため、上記ページを参考に OpenJDK 11 に入れ替えたところ WebDirect が復活しました。

作業内容

以下では Windows Server を使用した復旧方法を記します。
作業につきましては自己責任でお願いいたします。

  1. Windows サービスより FileMaker Server を停止させます。
  2. OpenJDK をダウンロードします。
    https://adoptium.net/temurin/releases/?version=11
    当方の場合は、msi インストーラーを選択しました。
     
     
  3. OpenJDK 11 をインストールします。いくつかオプション指定がありますが、デフォルトのままでOKです。
  4. OpenJDK 11 のインストールが終わったら、環境変数を手動で変更します。
    Windows Server のコントロールパネルを開き、システムとセキュリティ→システム→システムの詳細設定の順に選択します。
    システムのプロパティより、“環境変数”ボタンをクリックします。

     
  5. 環境変数の一覧から、JAVA_HOME 環境変数を特定し、設定値を新しい OpenJDK のインストールパスに変更します。
    たとえば以下のようになります。

    (変更前)



    (変更後)


  6. FileMaker Server 20.1 以降は Java ガベージコレクション用の PATH 指定が必要になるとのことで、併せて設定を行います。
    既存の Path システム環境変数に、%JAVA_HOME%\bin を追加します。たとえば以下のようになります。



  7.  つぎに、古い Javaのインストールフォルダを削除します。Program Files\FileMaker\FileMaker Server\Web Publishing\java あたりを探してみてください。
  8. Windows サービスより、FileMaker Server を起動します。起動後、FileMaker Server Admin コンソールの「コネクタ」タブより、プライマリマシンを有効にします。
  9. 以下のように、プライマリマシンが実行中になれば作業は終了です。

その他の WebDirect 情報については、以下のリンクをご参照ください。

FileMaker Server 18.0.2 以降での Java の変更
FileMaker Server と Java - 概要
Claris FileMaker WebDirect ガイド


(亀)


追記:
WebDirect、予想以上に情報少ないですね。導入しているところ、あるんでしょうか...


2022-05-24

位置情報をUDPで送信 ― TPC_IPS/QuickIPSの拡張

 当社の屋内位置測位システム『TPC_IPS』 はビーコン信号をサーバ上の位置測位エンジン(TCOT)により解析し、算出された各ビーコンの位置情報をデータベースに保存します。ユーザは適時クライアント機からデータベースにアクセスして位置情報を引き出し、フロアマップ等のフロントエンドアプリケーションで利用します。この方式はクライアントがサーバに情報を要求するPull式となっています。

 Pull式は余分なクエリが発生したり、クライアント数が増えるとサーバの負荷が増す点が難点です。

 一方、サーバ側からクライアントにデータを送り付けるPush式のシステムも存在します。今回、『TPC_IPS』の位置測位エンジン(TCOT)で算出した位置情報をUDPでネットワークにブロードキャストし、クライアントのフロアマップを自動更新する処理を実装してみました。


 サーバとクライアント間のモジュール構成を図示したのが以下です。

 サーバには tcot_sender.py というプログラムが常駐していて、これがTCOTを呼び出して位置情報を取得、これを python socket によりUDPでブロードキャストします。

 一方、クライアント上ではtcot_receiver.pyが上記のUDPを待ち受けしていて、UDP データを受信するとデータ加工などの必要な処理を行います。

 フロントエンドアプリケーションの『QuickIPS』はフロアマップ上にビーコンの最新の位置を表示しますが、QuickIPS は FileMakerで開発されており、FileMaker自身にはソケット通信の機能がないため、tcot_receiver.py から直接データを取得することはできません。

 そこで tcot_receiver.py と QuickIPS 間でソケット通信を可能にするため tcot_listener.html というファイルを用意し、フロアマップのレイアウトにWebビューア*を配置してこのhtmlファイルを埋め込みます。tcot_listener.html は WebSocket を作成すると共に addEventListener を使用してtcot_receiver.pyからの受信を待ち受けます。 受信を感知すると PerformScript()によりFileMakerのスクリプトを実行して QuickIPS のフロアマップを更新します。

*WebビューワはFileMaker Pro のレイアウトに Web ページを直接表示する機能。

 この仕組みは FileMaker だけではなく、一般的なWebアプリケーションでも利用可能です。

 以下、今回実装した UDP Push式の長短をまとめてみました。 

UDP Push方式のメリット

  • TCP 通信に比べ、データ転送速度が速い
  • サーバ負荷の低減 特にユーザ数が多い場合
  • システム構成の柔軟性
  • リアルタイム性(オーバーヘッドが少ないため、クライアントアプリの実行速度の向上)

UDP Push 方式のデメリット

  • TCP 通信に比べると送信データが保証されないため、データの欠損(パケットロス)が生じることがある。
  • UDP通信の接続確認およびデータ受信確認の処理が面倒

注:
TPC_IPS ver1.0は UDP Push に対応していません。今後のリリースでの対応を予定していますが、仕様は予告なく変更されることがあります。

(亀)

 

IPS関連のBlog記事

土屋企画のIPS製品について/IPS product of TPC

 

2022-01-24

正月休み明け、仮想マシン上の FileMaker Server 5.5 バックアップが失敗していた

 正月休み明け、Windows 2012 Hyper-V上のWindows 2008 で FileMaker Server 5.5(FMS) を運用している取引先から、「バックアップが失敗している」との連絡がありました。
仮想マシンの構成は以下の通りです。

■Windows 2008仮想マシン(VM)構成
[C:内臓VHD]
[E:内臓VHD]←FMSを実行
[F:外付VHD]←FMSのバックアップ先

 上記Fドライブの特定ディレクトリはReadできるのに、他のディレクトリはReadできず、Writeは全くできないという状況で、図の「I/Oデバイスエラーが発生したため、要求を実行できませんでした。」が出ます。


 そこでFドライブ(外付ディスク)にハード的問題があると思い、このドライブを取り外して別のPCに取り付けてチェックすると、普通にマウントできて、Read/Writeできました。


 気を取り直して、Hyper-V機に同じ外付けドライブを戻してもらい、Hyper-Vマネージャーで問題のVHDを一度取り外して、再度アタッチ。 これによりRead/Writeも、FMSバックアップも実行できるようになりました。

“削除”ボタンで問題のVHDを取り外し、“参照”ボタンで同VHDを再度アタッチ


 休みの前後、取引先でHyper-V機を落とすとき、外付けHDDの電源On/Offの順番を間違ったのが原因かもしれません。

 マシンを落とすときは外付けHDDを最後にOFF、起動するときは外付HDDを最初にON。


(NuckyT)

2021-11-18

人・モノの動きをマップ上で可視化するオブジェクトトラッキング

 IPS の一般的な機能の一つに、人・モノの動きを追跡し、可視化する機能(以下、オブジェクトトラッキング)があります。下図は当社製品『TPC_IPS』及び『QuickIPS』で同機能を実行した際のもので、XとY軸に二次元マップを、Z軸には時間を表示しています。青と橙(オレンジ)の線がオブジェクトの時間ごとの位置を示しています。例えば、橙(bcn0-5)は、13:37:58 には、座標(0, 6)にいたことが判ります。
 この3DグラフはPC画面上で回転させることができるため、赤と青が接触あるいは近接したかどうかを視覚的に判断することも可能です。

注:
  • オブジェクトトラッキング機能は2022年4月現在開発中です。『TPC_IPS』及び『QuickIPS』の将来のバージョンに搭載予定です。
  • 仕様は予告なく変更されることがあります。

オブジェクトの移動を時系列と共に3D表示
  

用途

 オブジェクトトラッキングは、人・モノの動きをマップ上に時系列と共に表示する機能で、2Dと3D表示が可能です。 感染症罹患者、店舗利用者、運搬機、従業員等の行動・運動を正確に把握する際に有用です。 

人・モノの移動を2Dマップ上に時刻と共に表示

オブジェクトトラッキングで使用するツール等

 『QuickIPS』で使用するツール、アプリケーションは以下の通りです。

使用ツール用途
Python, matpotlib, 他 2D/3D描画を行う。
pyodbc, ODBC, 他 PythonからSQLクエリをデータベースに対して発行。座標、時間、UUIDなどのオブジェクト属性をデータベースから取得し、matplotlib に渡す。
FileMaker Pro
注:QuickIPS で必要
オブジェクトトラッキングはコマンドラインから実行可。『QuickIPS』では、GUIから Python のコマンドを実行。

仕様

  1. オブジェクトの位地を時系列と共に2D、3D表示
    3Dの場合、Z軸には時刻を取る

  2. 『QuickIPS』のGUI上で以下のパラメータの指定
    パラメータ  用途
    時間指定 トラック(追跡)する期間を12桁のコードで指定
    2D/3D トラック図を2Dにするか3Dするか選択
    プロット場所 トラック図を表示する場所を QuickIPS の Webビューア内か、独立した Python-matplotlib ウインドウ内にするかを選択
    ビーコン ピッカーインタフェイスから複数のビーコンを選択可

    操作方法
    1. QuickIPS ウインドウズの[Time] にオブジェクトトラッキングを行う時間帯を12桁のコード(YYYYMMDDHHMMSS、オブジェクト座標を計測した日時)で指定します。


    2. [Plot in...]では、オブジェクトトラッキングの図を表示するアプリケーションを指定します。「QuickIPS」を指定すると QuickIPSの「Webビューア」に、「Separate window」を指定すると Python-matplotlib のウインドウ内にトラッキング図を表示します。ここでは、「QuickIPS」を選択します。
    3. ピッカーアイコンを使って追跡したいビーコンを選択します。上図では、「bcn2-8」 と 「bcn0-5」 の 2種類のビーコンを選択しています。
    4. トラッキング図を2Dで描画するにはラジオボタンで「2D」を選択し、トラッキングボタンをクリックします。QuickIPSウインドウの「Webビューア」に指定した2つのビーコンの移動経路と時刻を示す図が表示されます。




      上記ステップ2の[Plot in...]で「Separate window」を選択していた場合、下図のように Python-matplotlib のウインドウ内にトラッキング図を表示されます。

      人・モノの移動を2Dマップ上に時刻と共に表示

      このウインドウでは、フロアマップを拡大・縮小することにより、詳細を確認できます。


      3Dオブジェクトトラッキング

      3D でオブジェクトトラッキングを実行するするには、上記ステップ4のラジオボタンで「3D」を選択し、トラッキングボタンをクリックします。この時、[Plot in...]で「QuickIPS」が選択されていると、同ウインドウの 「Webビューア」内にトラッキング図が表示されます。

      Webビューア内の画像はマウス操作不可

      [Plot in...]で「Separate window」が選択されてた状態でトラッキングボタンをクリックすると、 Python-matplotlib のウインドウ内に3Dトラッキング図が表示されます。

       この図はマウス操作あるいはウインドウ内のボタン等を利用し、回転させたり、縮小拡大させることができます。以下の動画ではその様子をご覧いただけます。

※『QuickIPS』及びオブジェクトトラッキング の仕様は今後変更されることがあります。


(亀)


IPS関連のBlog記事

土屋企画のIPS製品について/IPS product of TPC

2021-10-22

Windows Server 2012 の Hyper-V に Windows 11 をインストールする方法

 Windows 11 を Hyper-V 環境にインストールするには、Windows Server 2016、Windows Server 2019、Windows 10 Pro が必要となります。
 通常、Windows Server 2012 には Windows 11 をインストールできません。

 それでも 「Win 2012 のハイパー で Win 11 を操作したいんだお!」とワガママを言う人、いませんか? うちにもそういう困った人がいて、しょうがないので今回 Windows Server 2012 Hyper-V 上に Windows  11 インストールし、動作させてみました。

参考にさせて頂いたページ:非サポートPCにWindows11をクリーンインストールする方法
https://www.nichepcgamer.com/archives/how-to-install-windows11-on-an-unsupported-pc.html

注意事項

 本稿記載のインストール方法は、マイクロソフト社が推奨するインストール方法ではありません。アプリケーションが起動しなかったり、クラッシュしたり、Windows Update が機能しないなど、予期せぬ動作を起こす可能性があります。実施は自己責任でお願いいたします。

本稿が対象とする読者

 Hyper-V の基本的な使い方を理解している方


前提条件

 今回のインストールでは、最低限以下の設定が必要となります。
  1. Hyper-V が稼働している Windows Server 2012
  2. 4GB 以上の 未使用RAM(仮想マシン用)
  3. 2コア以上のプロセッサ(仮想マシン用)
  4. 180GB 以上のサイズの仮想ハードディスク (VHDX形式)

 

Hyper-V 2012 への Windows 11 インストール方法

  以下の手順で Windows 11 のインストールを行います。
 Windows 11 インストーラ iso ファイルは事前に準備しておいてください。

  参考リンク:Windows 11 をダウンロードする
 https://www.microsoft.com/ja-jp/software-download/windows11

 

  1. 仮想ハードディスクの作成
    最低 128GB 必要とのことなので、128GB 固定ディスクとして VHDX 仮想ディスクを作成しておきます。

  2. 仮想マシンの作成

    以下のように、メモリ 4096MB(=4GB)以上、2プロセッサ以上になるにように設定し、SCSI コントローラに上記 1. で作成したハードドライブと DVD ドライブを接続します。


  3. ブート順の設定

     仮想マシンの設定画面を閉じる前に、ブート順を DVD ドライブ優先にしておきます。また、Windows 11 はセキュアブートが必須ですので、[セキュアブートを有効にする]にもチェックを入れておきます。


    ここまで設定できたら “OK”をクリックし、仮想マシンを起動します。

  4. Windows 11 インストーラの読み込み

    上記の手順2. で Windows 11 インストーラ iso を指定してある場合は、起動直後に何らかのキーボードのキーを押すことによって Windows 11 インストーラが起動します。

    もし、手動でディスクを挿入する必要がある場合は、仮想マシンが停止している状態で以下のようにディスクを挿入してから仮想マシンを起動してください。


  5. レジストリ修正

    インストーラの最初の画面が表示されたらすぐに Shift キーと F10 を同時に押し、コマンドプロンプト画面を表示させます。



    ここに regedit と入力し、レジストリエディタを起動させます。
     レジストリエディタに以下の項目を追加していきます。

    • HKEY_LOCAL_MACHINE\SYSTEM\Setup キー配下に LabConfig キーを追加
    • LabConfig キーに以下の5つの値を追加

      • BypassTPMCheck  DWORD 0x0000001
      • BypassSecureBootCheck  DWORD 0x0000001
      • BypassRAMCheck  DWORD 0x0000001
      • BypassStorageCheck  DWORD 0x0000001
      • BypassCPUCheck  DWORD 0x0000001

    設定後の値の状態は以下のようになります。


    ここまでできたら、レジストリエディタとコマンドプロンプトを閉じます。

  6. インストール

    あとは画面の指示に従って Windows 11 をインストールします。
 
 とっても強引ですが、これで Windows 2012 の Hyper-V な環境でもWindows 11が利用できます。





(亀)