FMP Protocol (fmp://)

Hi everyone, I just signed up and I'm new to this community. I've been using FileMaker for a while, but I'm not an expert. I hope I posted my question in the right section of the forum.

I ask if anyone has a solution for a problem that I can't solve related to the fmp:// protocol. I'm using FileMaker Pro Advanced 16 and I would like to open a LOCAL Filemaker file (fmp.12) from a link on a web page using the "fmp://" protocol - I specify that the application will always remain locally.

By setting for example fmp://~/Activity.fmp12 ("~" points to the "Documents" folder by default) the connection works: the file (placed on "Documents") opens immediately without problems. But I need to define a different path that points to a position different from "Documents", e.g. "Desktop" (in particular the file would be on an external HDD, on macOS).

Maybe it might sound strange to open to FileMaker files via the browser locally, but there are two different applications already developed in two different ways. Eventually I ask if it is possible to use AppleScript or other solution. I hope someone can help me understand more.

I hope I have correctly asked my question and thanks in advance to all those who want to help me.

1 Like

Hello @wonderer.

Welcome!

Have you tried this idea?:

  • Create an "launcher" file, for example: Launch.fmp12

  • Give Launch.fmp12 a script which is capable of opening the target files that live locally on the machine.

  • Leave Launch.fmp12 in the Documents directory.

  • From the web page, use the FMP protocol to open Launch.fmp12

  • When opening Launch.fmp12 via URL, specifically tell it to run the script you added, and also supply a parameter which specifies the target file that you would like to have open.

  • The script in Launch.fmp12 then reads the supplied parameter, and opens appropriate file.

  • Launch.fmp12 could then close itself, so that only the target file remains open.

Additional Comments:

  • I can not remember if v.16 was the version that introduced dynamic FMP data source paths. If so, then the Launcher file does not even necessarily need to have any path information hard-coded into it. It might be able to receive the target path as a script parameter, and use a dynamic data source path to open the proper file.

  • I have not tried what I am proposing as an idea here, but I believe that it should work. If you try it and run into problems, please post back so that we can figure out what went wrong.

  • You mentioned AppleScript. In the past I once used AppleScript to successfully trigger FMP files from a link in a web page, but I would much prefer a strictly FMP-only approach, as I feel that it would be more robust, and less prone to security issues.

  • I am also keen to see if anyone else has other (simpler) options for this task.

Kind regards & hope this helps.

-steve

5 Likes

Hi @steve_ssh,

thank you for your welcome and for your very clear answer.

I tried your idea and I can confirm that IT WORKS PERFECTLY. I had not even considered this approach and I thank you because I learned something new.

It's a workaround, but I think it has all the features to be considered acceptable. It performs its task so quickly that it is not even visible: it is a "ghost file”.

I too am waiting to know if anyone knows a way to go beyond this, but I like this solution. I would also be curious to understand why (if so) there is this limit.

Thank you again Steve for the precious contribution, you brought me out of a blind alley!

3 Likes

Great, @wonderer! Thank you for letting us know that this worked,

Kind regards,

-steve

1 Like

Not sure if this is simpler or not, but we've been using url file as FM launchers.

We used FM files as you described for years, but ran into a problem with them when used the first time as the user must approve connecting to a new server. The issue is that FileMaker files suppress that dialog resulting in the file not opening. Once the new server is approved FileMaker files work just fine. :slight_smile:

The url files are just text files with 'url' as the extension with the following content:

[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,0
[InternetShortcut]
IDList=
URL=fmp://DOMAIN/DMNAME.fmp12

Those allow the connect to new server dialogs to appear. Recently one of our clients updated to FM 18 and the 'fmp' prefix stopped working and had to change to a 'fmp18' prefix.

I hope this helps someone. They work well for us.

6 Likes

That is weird that the fmp:// url stopped working. We have recently installed 18 on our user's machines, and they all work fine with both the fmp:// url and fmp18://.

Is this on Windows or Mac? Did a version of FM get uninstalled after you installed 18?

Have you tried using an FMP URL run using the Open URL script step...wrapped in a FM FIle (XPLAT and easy to deploy)?

We have used that technique to minimize 661 errors. Not yet tested with FM 18.

1 Like

That could be the case. It could be that installing 18 registered the fmp18 url and then uninstalling 17 unregistered the fmp url

I'll ask tomorrow. Thanks for the idea.

1 Like

I like that idea a lot as it's the best of both world. :slight_smile:

We have problems on our streaming servers that have different versions of FileMaker and every time we either run an update or install a new version of FMP(A).

I don't believe you've confirmed whether this is Mac or Windows, but on our Windows server we always have to remember to reset HKEY_CLASSES_ROOT\FMP\shell\open\command in RegEdit - I was going to add the links here, but having checked both are victims of the new community forum, so here's a copy/paste from my own notes:

On all systems, FMP URL links can be opened by only one program. If you've installed multiple instances of FileMaker, URL links will open, by default, in the last version of FileMaker installed. If you'd like to change the default FileMaker version that is used for FMP URL links in Windows, you can modify a registry key, rather than uninstall/re-install that version of FileMaker.

First, while this change should not affect your system in a devastating way, if you don't implement it correctly or modify/delete the wrong keys, you make render your system unusable. Therefore, a warning from Microsoft: "Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to re-install Windows to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk."

There is only one registry key value that must be modified for this solution. If you can't find this key in your registry, it would probably be best to just uninstall/re-install the version of FileMaker you'd like to open FMP URL links by default.

  1. Open Regedit and Backup your registry. (Instructions Here)

  2. Find the following key:

HKEY_CLASSES_ROOT\FMP\shell\open\command

  1. Modify the "(Default)" value with the path to the version of FileMaker you'd like to use by default with the following added at the end: %1. for example:

C:\Program Files\FileMaker\FileMaker Pro 15 Advanced\FileMaker Pro Advanced.exe %1

You may need to restart FileMaker to see the changes take effect. This change should update your system to open FMP URL links with the version of FileMaker you specified in the registry.

I'd like to extend a thank you to Rick Lindberg of InterLink Network Services, Inc. for helping with this solution!

--
for FMP16:

=============================================================

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\FMP\shell\open\command]

@="C:\Program Files (x86)\FileMaker\FileMaker Pro 13\FileMaker Pro.exe %1"

=============================================================

for FMP13:

=============================================================

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\FMP\shell\open\command]

@="C:\Program Files\FileMaker\FileMaker Pro 16\FileMaker Pro.exe %1"

=============================================================

change the path to the exe to your installation (backslashes have to be escaped "\")

4 Likes