About fmIDE Installation and Setup
[A FileMaker Integrated Development Environment]
fmIDE is a FileMaker module to make integration of your FileMaker database into your development processes and analysis tools easier and tighter!
fmIDE needs to be installed into each FileMaker file you want to magically access, but since it needs to be tweaked to your layout naming conventions it pays to first install it to one file of your solution and tweak it before copying it to all files of your solution.
- Check the System Requirements
- Download
- Download the latest version of fmIDE
- and open the fmIDE.fmp12 demo file in FileMaker
- Copy & Paste
- Open the Script Workspace
- Copy the
fmIDE Module
folder - Paste the folder into the Script Workspace of your chosen solution file.
That's enough to use 80% of fmIDE functionality! Try this from another file:
Perform Script [ from List “fmIDE“ from file ”YourFile” ; JSONSetElement( "" ; "script_name" ; "YourScript" ; JSONString)]
Perform Script [ “fmIDE“ from file ”YourFile” ; JSONSetElement( "" ; "layout_name" ; "YourScript" ; JSONString)]
-
Permit fmpurls
- fmIDE uses fmpurls to let your developer environment speak to your FileMaker files
- In the file's security grant permission to run scripts via fmp url to your
[FullAccess]
privelege set- Open
Security > Advanced > Extended Privileges
- choose the
fmurlscript
extended privilege - check the [FullAccess] privilige set
- Select [X] On for the [Full Access] Privilege Set
- Open
- Note: If you are not happy with activating fmp urls, that's ok. It is also possible to use fmIDE with simple script calls … just not so much fun!
-
Prime:
- If your database's P.T.O.-names, base-table-names and base-layout-names differ from each other
- You'll need to prime the database by customising the fmIDE Interface Callback Scripts
fmIDE uses an automater service (typically triggered by the F12 key) to retype the name of the entry you are looking for in a list dialog.
- Install the service:
- Double click the
fmIDE > Retype Keyboard Buffer.workflow
file. - Choose
Install
to install the Quick Action / Service.
- Double click the
- Setup the keyboard shortcut:
- Open System Settings from the Apple Menu.
- Choose
Keyboard
- Swap to the
Shortcuts
tab - Select
Services
- Scroll down until you find the
fmIDE > Retype Keyboard Buffer
service. - Click
Add Shortcut
and pressF12
(or whichever key you'd like to use)
fmIDE gets to the (base-)table you desire, by first going to the equivalent base-layout
. This assures that the Database Dialog opens in the correct table.
To make this work, you need to
- have/create one
base-layout
for eachbase-table
in the database file - if necessary, customise the fmIDE Callback API script(s) to match base layout to base table
- Note:
- Do this step, only if your base layouts are named differently to your PTOs (primary table occurrences)
- If there is an identically named layout for each table in your solution, you can skip this section entirely
- Copy & Paste the fmIDE Callback API script folder to your first file
- Edit the scripts, so they return the data for your DB
- Change the
fmIDE.GetBaseLayoutName
script to return the correctlayout_name
.- This is usually just a case of setting the
$layout_name_prefix
to match the prefix you use
- This is usually just a case of setting the
- Note:
- The
fmIDE.GetBaseLayoutName
script is currently not used- however, watch this space
- Copy & Paste the now customised fmIDE Callback API script folder to each file
Once you have the fmIDE file open in FileMaker, try opening these urls[^1]:
Run the Hello
script in the fmIDE demo file:
fmp://$/fmIDE?script=Hello
=> If that worked, your fmp-url permissions are ok!
Edit the Hello
script using the fmIDE 'name that thing' API
:
fmp://$/fmIDE?script=fmIDE&$script_name=Hello
=> and, if that worked, congratulations, you are at the start of a very exciting journey!
This section is under construction!
-
Operating System
- fmIDE has been made on a Mac
- It is planned to work on Windows (at least in part), but has not yet been tested (please help!)
-
FileMaker Version
- fmIDE has been made in fm19 and uses While
- Lower limit needs to be tested
-
Plugins
- fmIDE uses MBS Plugin profusely.
- Need to test (& document) if anything works at all with no MBS Plugin, and if yes, then what.
[^1]:Note: fmp-urls are sadly not supported in (freemium) GitHub.
To open the url…
-
If you have
fmAutoMate
and have installedfmAutoMate Services
- Select the url
- Right click
- Select
fmAutoMate > Open URL
-
otherwise copy+paste the urls to your browser's address line
-
Maybe later, we can upgrade, or get a project started to create a Chrome extension to add links to fmp urls?