The blog post is a bit long, so if there’s a feature that catches your interest, please click and take a look.
FileMaker includes a feature called DDR (Database Design Report), which outputs the structure of a database.
It is extremely important for checking design information in a FileMaker file, including tables, fields, relationships, scripts, and layouts.
However, because DDR contains so much information, it can be quite difficult to keep track of things like:
- “Where is this field used?”
- “What is this script calling?”
- “What changed from the previous DDR?”
So, when developing for FileMaker, I thought it would be nice to make DDR a little easier to see and investigate, and created a tool called DF-DDR inspector.
It started out as a completely personal tool, but now that it has come together to a certain extent, I’m organizing it so that other FileMaker developers can use it too.
Load and analyze a single DDR
DF-DDR inspector loads and analyzes DDR output from FileMaker.
With just one DDR, you can check the file structure and dependencies from a variety of angles.
Rather than simply listing the DDR, it lets you search and display it in graphs so you can follow the structure of a FileMaker file.
Export analysis results as HTML
The analysis results are output as an HTML file.
That means once you have analyzed it, you do not need DF-DDR inspector itself for later review.
Just open the HTML in a browser and you can check the results anytime.
Because it preserves the state at the time of analysis, you can also save it as design documentation for a FileMaker file.
Check table/TO relationships in a graph
FileMaker’s relationship graph is important for understanding the structure of a file.
On the other hand, as the number of TOs grows, it becomes difficult to find the one you need or check only the surrounding area.
In DF-DDR inspector, you can search for a TO and display only the items related to that TO in a graph.
This makes it possible to view only the part you want to check within a large relationship graph.
Check relationship conditions
Not only can you confirm that a relationship exists, but you can also check what conditions are set within it.
For example:
- which fields are related to each other
- which comparison operators are used
- whether sorting is configured
Information like this can be easier to trace from the analysis results, even when it is hard to notice by opening the relationship settings in FileMaker.
Visualize script dependencies
You can also check script call relationships in a graph.
Starting from a particular script,
“Which scripts are called from this script?”
you can trace the relationship.
As the number of scripts grows, it becomes difficult to grasp these dependencies only in your head.
This feature is for visually checking that structure.
Search script contents
You can search not only by script name, but also by the contents of a script.
For example, you can search for a specific field name, variable name, or layout name, and find
“Where are the scripts that use this string?”
It is a very useful feature when investigating an entire FileMaker file.
Copy scripts to FileMaker
Scripts shown in the analysis results can be copied in a format that can be pasted into FileMaker.
You can check a script in HTML and then return its contents to FileMaker as needed.
This is a feature added not just to keep things inside the analysis tool, but to connect them to actual FileMaker development.
Check the relationship between layouts and scripts
You can also trace related scripts for layouts.
Starting from a layout,
- “Where does this layout go?”
- “Which scripts are related?”
You can check these flows.
I think it can also help you understand the structure when taking over an existing FileMaker file.
Visualize conditional formatting
Conditional formatting is a useful feature, but when investigating a FileMaker file, it is also a setting that is surprisingly easy to overlook.
DF-DDR inspector makes it easier to identify layouts with conditional formatting configured.
It helps you visually notice first that
“this has a setting different from the usual one.”
Compare two DDRs
If you load two DDRs, you can compare their contents.
By loading the previous DDR and the current DDR, you can check
- added items
- deleted items
- changed items
This is intended for checking what actually changed after modifying a FileMaker file.
Check potential risks from changes
I also built a feature that highlights parts of the DDR changes that may be worth a closer look as potential risks.
For example, a case where a script was duplicated but the destination layout was left unchanged by mistake.
Of course, machine analysis alone cannot determine every problem.
So rather than a feature that definitively says “this is wrong,”
it is positioned as a feature for finding places that a person should probably check
I think there is still room for improvement in this area.
Trace the impact range from a field
Personally, this is one of the most distinctive features of DF-DDR inspector.
For example, when you select a field, you can trace relationships such as:
- which layouts it is used on
- which scripts use it
- what it connects to from there
When deleting or changing a field, you can use this to check
“If I change this, where will it have an impact?”
Trace the impact range from a TO
Likewise, you can check the impact range starting from a TO.
You can trace relationships from the TO to layouts, and from layouts to scripts.
Rather than viewing FileMaker’s structure as a simple list, it is built around the idea of starting from one element and examining what is around it.
Trace the impact range from a table
You can similarly track related elements for tables as well.
FileMaker’s DDR contains a huge amount of information, but in actual development, you do not want to know all of it at once.
There are many situations where you want to know only the area around what you are investigating right now,
so it is designed with that in mind.
Search across the entire report
You can also search the entire analysis result.
If you remember seeing a name somewhere but do not know which report it was in,
you can first search the whole set and then move to the detailed analysis results.
This is also useful when doing a quick survey of an entire FileMaker file.
Keep and compare DDRs by generation
Analyzed DDRs can be kept by generation.
That makes it possible to compare not only
“this time and last time”
but also
“the current version and the very first version.”
If you save DDRs regularly, they can also serve as material for looking back at how a FileMaker file has changed over time.
AI summaries using the OpenAI API
If you configure an OpenAI API key and the model to use, you can also use AI-powered support features.
For example, for a script,
it summarizes “what this script does” in a way that is easy for humans to read.
This is intended for use cases such as getting an overview before reading a long script.
Originally a tool I made for myself
DF-DDR inspector was not originally planned as a product to sell.
While developing for FileMaker myself, I gradually built the features I thought would be convenient, like
“It would be nice if I could view DDRs like this.”
As a result, it became possible to investigate FileMaker files from quite a few different angles.
Since I had already gone this far, I am now working on organizing it so that not only myself but also other developers who investigate FileMaker structures and read existing files can use it too.
A version available until the end of September has been prepared (Mac version only).
To let everyone actually try it, I have prepared a downloadable program.
You can download it below. (Mac version only)
Video explanation
What’s in the video
- 00:00 Introduction
- 00:13 DDR analysis, diff comparison, and AI settings
- 01:02 Exporting analysis results as an HTML report
- 01:35 Checking table/TO relationships
- 02:42 Checking script dependencies
- 03:19 AI summaries and copying scripts to FileMaker
- 04:19 Checking layout transitions and conditional formatting
- 05:19 Searching script text
- 06:03 Comparing change diffs between two DDRs
- 06:32 Risk checks for changes
- 07:25 Tracking impact ranges from fields, TOs, and more
- 09:54 DDR generation management and comparison with past versions
- 10:29 A tool for making your own judgment, not leaving it to AI
- 11:22 Cross-searching the entire report
投稿がお役に立ちましたら、いいねをしていただけると嬉しいです。
お困りごとをお聞かせください。
FileMakerについてのご相談、ご依頼など。お気軽にお問い合わせください。
頂いた内容については、3営業日以内の返信を心がけております。
既に稼働中のFileMakerの修正も、頻繁にご依頼頂いております。
小さなことから、お気になさらずお気軽にご相談ください。
投稿がお役に立ちましたら、いいねをしていただけると嬉しいです。
その他のFileMaker一覧
-
FileMaker
A tool for “looking at and thinking about” FileMaker’s DDR: DF-DDR inspector
The blog post is a bit long, so if there’s a feature that catches your interest, please click and take a look. FileMaker includes a feature called DDR (Database Design Report), which outputs the st...
続きを読む
-
FileMaker
FileMakerのDDRを「見て考える」ためのツール、DF-DDR inspectorを作りました
ブログが少し長いので、気になる機能があれば、クリックして見てください。 FileMakerには、データベースの構造を出力するDDR(Database Design Report)という機能があります。テーブル、フィールド、リレーショ...
続きを読む
-
AI・DX・業務改善
Appleヘルスケアの記録を振り返るアプリ「DF-HealthBalance」を公開しました
株式会社データファームは、iPhone・iPad向けアプリ「DF-HealthBalance」をApp Storeで公開しました。DF-HealthBalanceは、Appleヘルスケアに集まった食事・活動・睡眠・水分・体組成などの記録を、日ごとや期間...
続きを読む
-
AI・DX・業務改善
コピーしたものを、あとから取り戻す。Mac用アプリ「DF-ClipRoll」を公開しました
株式会社データファームでは、Mac用のクリップボード履歴アプリ「DF-ClipRoll」をMac App Storeで公開しました。DF-ClipRollは、コピーしたテキストやURLなどをこのMac内に保存し、必要になったときに検索して再...
続きを読む
-
技術
フレッツ光クロス移行後、固定IPと外部公開でハマった話
先日、事務所のインターネット回線をフレッツ光クロス環境へ移行しました。回線速度そのものは問題なく、インターネット接続も無事に復旧しました。ところが、そのあとにハマったことがありました。それが、固定I...
続きを読む
-
技術
最近Codexで行っていること
今週はちょっと毛色を変えて、最近Codexで行っていることをご紹介したいと思います。使ってます。Codex当社はChatGPTをProプランにして、あわせてCodexを利用しています。 複数のAIを使い分けていないわけではな...
続きを読む