Delivering FileMaker apps in the cloud: housekeeping and enhancement suggestions

Jesse Kim
Kimmaker

--

FileMaker-WordPress integration

[This is a follow-up article to: FileMaker delivery as a service (FMDaaS): a mobile consultancy in the cloud and AWS? Azure? Moving FileMaker delivery up into the cloud.] Here’s some practical information FileMaker consultants may find useful when delivering FileMaker apps using their own or client’s Windows virtual machine created in the cloud.

Topics:

  • Enable port forwarding for universal access
  • Use a host name that does marketing for you
  • Reach out to the world with WordPress integration
  • Install and use iOS-friendly fonts

Enable port forwarding for universal access

FileMaker products, including FileMaker Go on iPhone/iPad, use port 5003 to communicate across networks. Enabling port 5003 end to end would almost certainly be an issue when the assumption is that you and your testers are able to access your FileMaker apps from anywhere in the world. That is because you don’t have control over firewall configurations at the hotel, client office, airport, classroom, or conference venue you want to test or demo your remote FileMaker apps from.

One solution to this common predicament is to use a standard port that is normally allowed everywhere, unlike FileMaker’s traditional 5003. The most universal choice, it seems, is port 80 designated to HTTP traffic. By instructing FileMaker Go to use 80 instead of 5003 and configuring your FileMaker-delivery-as-a-service (FMDaaS) machine to forward traffic on port 80 to 5003, access is ensured through any mesh of public and corporate networks that allow the World Wide Web. If you do this, however, your FMDaaS machine will not be able to function as a web server using port 80; but considering the machine’s purpose, this limitation is not a downside.

To configure port forwarding on the FMDaaS machine, run this in a command prompt (in a single line):

netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=5003 connectaddress=xxx.xxx.xxx.xxx

(where xxx.xxx.xxx.xxx is the machine’s private IP address)

To verify how port forwarding is configured, run this in a command prompt:

netsh interface portproxy show all

Finally, on your testers’ FileMaker Go devices, add :80 to the address of the host (FMDaaS machine).

If you ever need to remove port forwarding, run this in a command prompt:

netsh interface portproxy delete v4tov4 listenport=80 listenaddress=0.0.0.0

Use a host name that does marketing for you

In the case of AWS EC2, the host address of your FMDaaS machine has “ec2”, an IP address, “compute”, the name of the AWS region, and “amazonaws.com” in it. It is a long difficult address, one that reveals technical details no one else needs to see. More importantly, it doesn’t do any marketing for you. Why not turn it into a subdomain under the domain name you want to promote instead? For example, test2.kimmaker.com is a lot more to the point than ec2–10–101–123–45.xy-central-2.compute.amazonaws.com. Simply create a CNAME record in your — or your client’s — domain name’s DNS zone file and get it to point to the EC2 address. This friendly name (CNAME) then works beautifully for both remote desktop sessions and FileMaker Go connections. The benefits of a well-chosen CNAME record apply to Azure as well.

This is not only useful but also essential when your FMDaaS machine becomes business-critical beyond just a playground for your organisation or client.

Reach out to the world with WordPress integration

While FileMaker Pro allows up to five FileMaker Go user connections, it is possible to share parts of your FileMaker app data with a wider audience or even the public — just not through FileMaker Go. Common use-cases of this include:

  • Public dissemination of statistics (read access)
  • Responding to a survey (write access)
  • Querying available time slots and submitting a booking form (read and write access)

The key mechanism here is to give your FileMaker app the ability to tap into external data through external data source(s) configured in FileMaker Pro. The FileMaker app will then consist of table occurrences from both internal and external data sources. This means data in the external part is available to both FileMaker and any external technology platform that houses it or has access to it.

So what technology platform makes content readily available on the Web and has a built-in database that can be made visible to FileMaker? WordPress, which powers a significant portion of the World Wide Web, comes across as a popular, mainstream choice; chances are, you already have a WordPress-powered website up and running that you would love to do more with. In order to develop a public-facing interface to FileMaker app data, the functionality of your WordPress site needs to be extended, often in a single-page application (SPA) development model, using PHP, HTML, JavaScript, and CSS.

At the end of the day, what this enables is three types of users that interact with your FileMaker app:

  • A small number of business “insiders” on FileMaker Go;
  • Any number of existing and potential customers via a public-facing interface with ring-fenced visibility to FileMaker app data;
  • You or the organisation’s designated FileMaker subject-matter expert on FileMaker Pro via a remote desktop session to the FMDaaS machine for ongoing administration and development.

For FileMaker 14 and above, external data sources are configured in the 64-bit ODBC Administrator tool of your FMDaaS machine. Create system data source names (DSNs) that connect to databases of your public-facing WordPress sites. You may also need to download the current MySQL ODBC driver in the process. Once the system DSNs have been created, jump to FileMaker Pro and register external data sources that correspond to those DSNs. You are then able to operate on tables in any of the connected WordPress databases.

Install and use iOS-friendly fonts

To make a FileMaker app available on FileMaker Go devices, it is essential to use fonts that are available on iOS. Some of these fonts, however, do not come pre-installed on a Windows machine running FileMaker Pro, which hosts the app. It is far better to keep the user experience consistent across FileMaker Go and FileMaker Pro than to put up with font substitutions and typographical discrepancies. Install TrueType versions of common iOS fonts such as Helvetica Neue and Gills Sans on the FMDaaS machine. In the FileMaker app itself, stick to just one or two very commonly used fonts.

Kimmaker™ is a publication by Jesse Kim, a FileMaker Certified Developer specialising in intellectual property consulting for small teams and innovation outposts. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries.

--

--