Claris FileMaker WebDirect 19 Guide
Introduction
Claris® FileMaker WebDirect® is a Claris FileMaker® client, used with Claris FileMaker Server® or Claris FileMaker Cloud®, that enables users to interact with your custom apps on the web. You create custom apps using Claris FileMaker Pro® and then host, manage, and configure your apps using FileMaker Server or FileMaker Cloud.
Security is important when you publish data on the web. Review the security guidelines in FileMaker Security Guide, FileMaker Pro Help, FileMaker Server Help, and FileMaker Cloud Help.
For information about the minimum hardware and software requirements, see the FileMaker Server system requirements.
About this guide
This guide provides information about designing custom apps for FileMaker WebDirect and hosting the custom apps by FileMaker Server or FileMaker Cloud.
Terms used in this guide:
- publishing on the web - custom apps that users can access on the internet or an intranet using a web browser
- web user - someone who is working with a FileMaker Pro custom app published on the web using FileMaker WebDirect
- custom app, database, file - what FileMaker Pro creates and what web users access through FileMaker WebDirect
- Admin Console - refers to Admin Console for FileMaker Server and FileMaker Cloud, unless describing a particular product.
For additional documentation, visit the Product Documentation Center.
About FileMaker WebDirect
Claris FileMaker WebDirect® combines aspects of a web application and a desktop application, bringing FileMaker Pro features to your custom apps on the web. With FileMaker WebDirect, you can:
-
easily and quickly deploy a custom app to anyone with a compatible web browser without using web authoring tools or other technologies
-
access data from most modern browsers
-
import or export records and container data
-
deploy a customized web application by hiding and locking the menu bar and status toolbar
Built on advances in web technologies, FileMaker WebDirect enables your custom apps to do much of what FileMaker Pro can do, within the constraints of modern web browsers.
FileMaker WebDirect works best when you are:
-
deploying FileMaker custom apps intended primarily for web browsers
-
extending existing custom apps to include remote users outside the team or organization
For particular groups of users, you can add or modify only the layouts they need. For example, if warehouse workers only need to fulfill orders in your order management custom app, then you may only need to add invoice layouts that work well in a browser.
If you plan to extend an existing custom app for web users, expect to make changes to your custom app for the best possible user experience. Though you may need to make some changes to your custom app using FileMaker Pro, you won’t need to write any PHP, HTML, CSS, or JavaScript code.
How FileMaker WebDirect works
FileMaker WebDirect runs in a web browser and uses these standard web technologies:
-
HTML5 to define the structure of the page
-
CSS3 to control the appearance of the page
-
JavaScript to enable interactions (for example, clicking buttons)
-
HTTP/HTTPS and WebSocket protocols to communicate between the web browser and the web server
HTML5 and CSS3 are implemented differently across web browsers. How your FileMaker WebDirect custom app works can vary according to how the web browser conforms to these standards, how the browser’s JavaScript engine performs, and how the browser parses and renders CSS.
FileMaker WebDirect architecture
The architecture of FileMaker WebDirect bridges two different environments: the web browser and a FileMaker custom app. In the web browser, FileMaker WebDirect runs as a client that interacts with a custom app hosted by FileMaker Server or FileMaker Cloud.
FileMaker Server and FileMaker Cloud include the following components:
- Database Server: Hosts the custom apps you share with all FileMaker clients (FileMaker Pro, Claris FileMaker Go®, and FileMaker WebDirect). It handles layouts, data, scripts, script triggers, user account authentication, record locking, and communication with all FileMaker clients.
- Web Publishing Engine: Translates the layouts, interactions, and data defined by your custom app into HTML5, CSS3, JavaScript, and data for the web browser; and processes user interaction. In real time, the Web Publishing Engine (WPE) creates the user interface from your layouts to work in the web browser; and processes scripts, script triggers, user clicks, and key presses. In FileMaker Server multiple-machine deployments, the WPE manages communications between the primary and secondary machines.
- Web server: Communicates with web browsers using HTTP/HTTPS and WebSocket protocols to serve your custom app as a web application.
General design principles for FileMaker WebDirect
-
Layouts should reflect standard best practices on the web.
Every object, style, image, and interaction on a layout means more data transferred from the Database Server to the web browser, so consider carefully what to include on a layout. Most web applications don’t have hundreds of interactive objects or large, high-resolution images because web browsers cannot render them quickly enough and can be slowed by poor network connections.
-
Limitations that are inherent to the web also apply to FileMaker WebDirect.
-
The FileMaker Server or FileMaker Cloud deployment does most of the work for the FileMaker WebDirect client. For example, key presses and mouse clicks that are handled by FileMaker Pro must be sent from FileMaker WebDirect to FileMaker Server or FileMaker Cloud. The custom app's host also sets record locks, activates script triggers, fetches data, and manages layout and data caches.
-
Objects in HTML5 observe a true parent-child hierarchy—that is, a child object is always contained within a single parent object. For example, an image that extends across the boundary between the header and body parts of a layout can be in only one part, so the image is cropped at the boundary between the parts it spans.
See Step 2: Understand the capabilities of FileMaker WebDirect and Design considerations.
Connecting through the internet or an intranet
FileMaker Cloud can host databases on the internet, and FileMaker Server can host databases on both the internet or an intranet.
In addition:
-
Publish your database on a computer with a full-time internet or intranet connection using TCP/IP.
-
The host computer should have a dedicated static (permanent) Internet Protocol (IP) address or a domain name.
-
While web users are connected to a FileMaker WebDirect custom app, they should use a single Ethernet, Wi-Fi, or mobile (4G or LTE) network connection with consistent connectivity and latency of 150 milliseconds or less. Loss of network connectivity—which can be caused by intermittent signal or by switching between networks—can cause FileMaker WebDirect clients to disconnect from the server.
-
Use Secure Sockets Layer (SSL) encryption to secure communication between FileMaker WebDirect and FileMaker Server or FileMaker Cloud.
-
To use FileMaker WebDirect, cookies and JavaScript must be enabled and pop-up windows must not be blocked.
Important:Once a web browser connects to a FileMaker Server deployment using HTTPS and HSTS, the browser refuses all HTTP requests from that deployment's hostname. To accept HTTP requests from that hostname, clear the web browser's history, cache, and HSTS cache.
Designing a FileMaker WebDirect custom app
Step 1: Plan your FileMaker WebDirect custom app
Number of web users
The number of connected web users directly affects the performance of all connected web browsers. You may need to evaluate the hardware configuration of your FileMaker Server or FileMaker Cloud deployment if it does not support the number of users you require.
For recommended hardware configurations for FileMaker Server, see the Knowledge Base.
Devices that access the custom app
Devices vary by hardware and network performance, screen size, and resolution. If you identify which devices will access your custom app, you can design layouts with each device’s capabilities in mind.
Devices with limited processing capabilities may render layouts and communicate with FileMaker Server and FileMaker Cloud more slowly than devices with more robust hardware configurations.
Plug-ins
When using third-party plug-ins with a FileMaker WebDirect custom app, only use plug-ins that have been enabled for the WPE. (In general, a plug-in designed for use only with FileMaker Pro will not be compatible with the WPE.) See FileMaker Server Help and FileMaker Cloud Help.
Step 2: Understand the capabilities of FileMaker WebDirect
Although FileMaker WebDirect is similar to FileMaker Pro, it does not have all the features of a FileMaker Pro client.
-
Web users can choose layouts and different layout views, but they cannot add, delete, or modify fields, layouts, scripts, relationships, value lists, or other database schema.
-
FileMaker WebDirect does not support Table View. Script steps or script step options that change the view to Table View are not supported. If a layout’s default view is Table View, the layout displays in a different view. If no other views are enabled, the layout displays in List View.
-
FileMaker WebDirect does not allow users to select objects that are located behind other layout objects, even if the frontmost objects are transparent or if users click empty space in an object group. Rather than stacking multiple objects:
-
use calculated values for tab labels
-
add icons to buttons instead of stacking images in front of buttons
-
group multiple objects and apply button settings to the group
-
-
FileMaker WebDirect offers limited text styles. Highlighting, paragraph text styles, and tab stops are not supported. FileMaker WebDirect only supports rich text that is supported by the web browser. Rich text is supported only when applied to buttons and layout text. For fields, only the rich text formatting applied as the object style is displayed in FileMaker WebDirect. Web users cannot enter data with rich text formatting. Editing a field in FileMaker WebDirect removes any existing rich text formatting.
-
FileMaker Pro custom menus are not supported for FileMaker WebDirect custom apps.
Step 3: Optimize performance
FileMaker WebDirect performance is affected by:
-
the processing capabilities of the web user’s device
-
the number of web users concurrently accessing the custom app
-
the quality of the web user’s network connection
-
the amount of data transferred between FileMaker Server or FileMaker Cloud and the web browser
-
the frequency with which the web browser communicates with FileMaker Server or FileMaker Cloud; communication occurs whenever:
-
a record is created, opened, committed, or deleted
-
the current record is changed
-
the layout is changed
-
a calculation is evaluated
-
a script is performed
-
a script trigger is activated
-
To improve the performance of your FileMaker WebDirect custom apps:
-
Minimize the use of the following items on layouts: portals, panel controls, calculation fields, summary fields, fields with validation options, fields with data formatting options, script triggers, list views, and tooltips.
-
Keep image sizes appropriate for web use.
-
Choose or create simple themes, such as themes that do not use gradients or image slices.
-
Create custom themes and custom styles rather than overriding existing themes and styles.
-
Reduce the use of object states on each layout object.
-
Minimize conditional formatting.
Step 4: Design layouts for mobile browsers
Web users access FileMaker WebDirect custom apps with mobile devices that have different screen sizes and resolutions. To provide an optimal experience for mobile browsers, identify the target devices for your custom app, and design your custom app to adapt to each device.
-
Design each layout for the smallest device in a range of devices, and configure the auto-resize options for layout objects to adjust according to the web browser’s height and width.
- In some mobile browsers, users may not be able to view objects near the bottom edge of a layout if the layout is larger than the mobile device’s viewable area.
- On iOS and iPadOS devices, if users zoom in to enlarge the image on screen, the status toolbar and some layout elements may not be accessible.
- On Android devices, layout elements are always fixed in size. Users can’t zoom in or out.
-
Use the OnLayoutSizeChange script trigger to change layouts if the browser dimensions change to be greater or smaller than a certain height or width, such as when a mobile browser changes orientation.
-
FileMaker WebDirect does not support saving snapshot links, importing records, exporting records, or exporting the contents of container fields from mobile browsers.
Step 5: Hide the menu bar and status toolbar
If you want to present your own interface for performing tasks, you can hide the menu bar and the status toolbar when the file opens.
To suppress FileMaker WebDirect controls, set the menu bar and status toolbar to hide by default in the FileMaker Pro File Options dialog box. See FileMaker Pro Help.
For multifile custom apps, you must suppress FileMaker WebDirect controls in each file.
Step 6: Set up tasks for web users
In addition to entering or modifying data, your custom app may require web users to perform other tasks.
Specifying the sort order
The Sort Records dialog box in FileMaker WebDirect displays only the fields on the current layout. You can also sort by fields that are not on the layout if they are specified in the Sort Records script step. To control which fields web users can sort by:
- hide the menu bar and the status toolbar, then create buttons that are scripted to sort the data
- use the Manage Security dialog box to restrict access to fields
Working with graphics, sounds, and movies
Container fields store and display pictures, sounds, movies, and files. Container data can be embedded inside the custom app itself or stored externally.
Note:FileMaker WebDirect does not support container data that is linked by reference. Referenced container data displays as a static icon and can’t be exported.
You can optimize container fields for static content or for interactive content:
-
By default, container fields are optimized for static content. Web users can’t open PDF files or play video or audio files. Web users see either a static graphic or a link to the container field object.
-
Container fields optimized for interactive content allow web users to play media files and to interact with PDF files. To optimize the container field as an interactive container, select the FileMaker Pro Inspector Interactive content option.
Note:In mobile browsers, users can’t insert data by dragging a file into a container field. Consider creating scripts that use the Insert Picture, Insert File, Insert Audio/Video, or Insert PDF script step.
Web browsers provide inconsistent support for media files, and browser versions may vary on different operating systems. Some browsers may not correctly insert, display, or play certain media files.
Working with virtual windows
Web users can navigate between multiple virtual windows in a single web-browser window to view a custom app in different layouts, views, and modes. Only one virtual window displays in the browser window at a time, but inactive virtual windows remain open when they are not visible.
Virtual windows are opened, closed, and manipulated using script steps. See FileMaker Pro Help.
-
Script steps that affect windows work differently in FileMaker WebDirect than in FileMaker Pro. Because web browsers employ a single document interface, if your FileMaker WebDirect custom app uses the New Window script step, the new window is stacked in front of the current window within the same browser window. In many cases, using popovers or slide controls can provide a better user experience than using multiple windows.
- FileMaker WebDirect supports the document and card window styles. For more information about window styles in FileMaker WebDirect, see FileMaker Pro Help.
- If you open a new virtual window with the New Window script step, provide scripted buttons to navigate and close the virtual windows.
-
Close unused virtual windows with the Close Window script step.
-
If you design a script to perform an external script from a FileMaker data source and you want to return to the original window, add a Select Window [Current Window] script step immediately after the Perform Script script step in the original script.
-
If you use the Exit Application script step or close the last virtual window with the Close Window script step, the script ends the user’s session and returns the user to FileMaker WebDirect Launch Center. If the custom app is hosted by FileMaker Cloud, the user is taken to the Claris Customer Console Home page in the same browser when the FileMaker WebDirect session ends.
Importing and exporting data
Web users may need to share data between the custom app and another application. In FileMaker WebDirect, web users can import and export the following file formats:
File format | Import | Export |
---|---|---|
FileMaker Pro (FMP12) | Yes | |
Tab-separated values | Yes | Yes |
Comma-separated values | Yes | Yes |
DBF | Yes | Yes |
Merge | Yes | Yes |
Excel | Yes | |
HTML table | Yes |
Notes
- Custom-separated values are supported in the Import Records script step.
- Exported or saved files are downloaded to the web browser’s default download location.
- To import from a FileMaker Pro file, web users must have access to an account in the file.
- Importing and exporting data is not supported in mobile browsers.
- The Specify Field Order for Export dialog box in FileMaker WebDirect displays only the fields on the current layout. You can also export data from fields that are not on the layout if they are specified in the Export Records script step.
- To import files in a text-based format, ensure that the files use UTF-8 character encoding. To import files in other character encodings, use the Import Records script step.
Printing records
Web users can print the current found set of records and scripted reports. The Print script step creates a PDF in a new web browser tab. Web users can then use the web browser's controls to print the PDF.
Notes
- To set print and page parameters, use the Print Setup script step.
- If fonts don't display correctly in a PDF, make sure that all required fonts are installed on the primary machine and the secondary machines in your FileMaker Server deployment. See FileMaker Server Help.
Step 7: Enable users to close the file
It is important that web users properly close their sessions by opening the menu bar and then clicking Close File.
-
If they close the browser window or quit the browser before closing the file, their sessions may still be open, which might:
-
prevent others from opening the custom app if the connections limit has been reached
-
prevent the custom app from running scripts assigned to script triggers
-
cause a script to continue running until the specified timeout occurs, which may lead to unexpected results
-
make data vulnerable to hackers until the specified timeout occurs
-
If they leave a FileMaker WebDirect session idle on an inactive browser tab in Safari, the session may become unresponsive before the session timeout.
-
If they lock or power off their devices before closing the file, the sessions may become unresponsive.
-
If they close the browser before closing the file, any uncommitted changes will be reverted.
To minimize these situations, set the session timeout to a short amount of time or create a scripted button to safely close the file. See Working with virtual windows.
Note: If you hide the menu bar, create a scripted button to close the file. See Hide the menu bar and status toolbar.
Step 8: Review the functions, scripts, and script triggers in your custom app
Some functions, scripts, and script triggers are not supported in FileMaker WebDirect, or they perform differently than in FileMaker Pro. Review all calculations and scripts in your custom app to make sure they perform correctly.
For information about individual functions, script steps, and script triggers, see FileMaker Pro Help.
Functions
-
To create conditional behaviors based on the type of client, use the Get(SystemPlatform) function. If the function returns 4, the current user is accessing your custom app with FileMaker WebDirect.
-
You can detect the operating system and web browser running your custom app by using the Get(SystemVersion) function. If you have difficulty identifying the device, use Get(WindowWidth) and Get(WindowHeight) to identify the appropriate layouts for the device.
Scripts, script steps, and script triggers
-
Verify that the scripts only contain script steps compatible with FileMaker WebDirect, and only provide access to scripts that should be used from a web browser.
-
If a script encounters an unsupported or unknown script step, the script step is skipped and the script continues to run.
-
In FileMaker WebDirect, scripts can't access the client's file system. Web users must select files to import or insert, and exported or saved files are downloaded to the web browser's default download location.
-
In FileMaker WebDirect, script steps can’t enter a field if access to the field is restricted by either the Browse Mode or Find Mode option in the FileMaker Pro Inspector.
-
If a web user closes a browser window or clicks the web browser's Refresh button, FileMaker WebDirect leaves the current session without signing out or activating the OnWindowClose and OnLastWindowClose script triggers. If the web user clicks the Refresh button, FileMaker WebDirect then creates a new connection to FileMaker Server or FileMaker Cloud, activating the OnFirstWindowOpen and OnWindowOpen script triggers.
Step 9: Set up external data sources
In addition to data entered by web users, FileMaker WebDirect custom apps can access external ODBC and FileMaker data sources.
Setting up ODBC data sources
To support authentication with an ODBC data source in FileMaker WebDirect, use FileMaker Pro to store the user name and password for the data source in the custom app. See FileMaker Pro Help.
If a custom app is configured to use ODBC data source single sign-on (SSO), users will be prompted to enter authentication information when attempting to access the ODBC data source.
For information about ODBC data sources, see FileMaker Server Help and FileMaker Cloud Help.
Setting up external FileMaker data sources
To access external FileMaker data sources in FileMaker WebDirect, all referenced database files must be hosted on the same FileMaker Server or FileMaker Cloud deployment as the FileMaker WebDirect custom app.
To support authentication with an external FileMaker data source in FileMaker WebDirect, the FileMaker WebDirect custom app and the external data source should have matching account names and passwords assigned to privilege sets with the FileMaker WebDirect extended privilege enabled.
If the web user's account name and password in the FileMaker WebDirect custom app do not match an account in the external data source, the user will be prompted to sign in to the external data source when the FileMaker WebDirect custom app attempts to access it.
For information about external FileMaker data sources, see FileMaker Pro Help.
Publishing a FileMaker WebDirect custom app
Sharing a FileMaker WebDirect custom app
To publish a FileMaker Pro custom app on the web as a FileMaker WebDirect custom app, use FileMaker Pro to determine which user accounts can have access to the custom app from a web browser, then upload the custom app to FileMaker Server or FileMaker Cloud.
Choosing which users have access to a custom app
For web users to open a FileMaker WebDirect custom app, each file must be configured to allow access to one or more privilege sets.
-
Open the custom app in FileMaker Pro.
-
Choose File menu > Sharing > Configure for FileMaker WebDirect.
-
Choose the file to publish on the web.
-
Choose which users can open the file with FileMaker WebDirect.
Assigning access to files in the FileMaker WebDirect Settings dialog box changes the extended privilege settings in the associated user’s privilege set. You can review and modify the extended privileges settings directly in the Manage Security dialog box. See FileMaker Pro Help.
Notes
- If you change the FileMaker WebDirect access to file setting while users are signed in, those users do not lose their connections and can continue using the custom app until they sign out or their sessions time out.
- For custom apps to appear on the Claris Customer Console Home page, they must have the fmwebdirect extended privilege enabled. See Opening custom apps in Claris Customer Console.
-
Repeat steps 3 and 4 for each custom app you want to publish.
Tip:Select Don’t display in host's file list if your custom app includes multiple files and you don’t want all the filenames displayed.
-
Click OK.
-
Close the custom app.
FileMaker WebDirect settings in Admin Console
To change the settings for FileMaker WebDirect, run Admin Console on a machine that has network access to the FileMaker Server or FileMaker Cloud deployment that is hosting your custom app. See FileMaker Server Help and FileMaker Cloud Help.
Opening a FileMaker WebDirect custom app
Web users access FileMaker WebDirect custom apps through FileMaker WebDirect Launch Center, Claris Customer Console, an HTML page, or a custom homepage.
Opening custom apps in FileMaker WebDirect Launch Center
FileMaker WebDirect Launch Center displays file icons and filenames for hosted FileMaker WebDirect custom apps.
To prevent a custom app from displaying in FileMaker WebDirect Launch Center, see Choosing which users have access to a custom app.
-
Open the web browser and enter:
http://<host>/fmi/webd
where
<host>
is the IP address or domain name of your FileMaker Server or FileMaker Cloud deployment. -
Click a custom app’s filename to open the custom app.
Notes
- In some cases, web users can type the domain name or subdomain name of the FileMaker Server host rather than the IP address, for example:
http://yourcompany.com/fmi/webd
orhttp://accounts.yourcompany.com/fmi/webd
. Contact your internet service provider or network administrator for information about mapping a domain name to an IP address. - If you import an SSL certificate, SSL is automatically enabled. See FileMaker Server Help.
- With SSL enabled,
<host>
must be a fully qualified domain name instead of an IP address. - To open a custom app over a connection with SSL encryption, use
https://
before the host’s fully qualified domain name. See FileMaker Server Help, and FileMaker Cloud Help. - When you try to open a custom app using the http protocol, the browser might display a warning about the website not being secure.
- For files hosted by FileMaker Cloud,
https://<host>/fmi/webd
redirects users to the Claris Customer Console Home page. - FileMaker WebDirect does not support signing in to custom apps using SSO.
Opening custom apps in Claris Customer Console
Claris Customer Console is a web-based application for managing Claris ID accounts, groups, hosts, settings, and subscriptions. Claris ID users can use Claris Customer Console to open FileMaker WebDirect custom apps that are hosted by FileMaker Cloud. The custom apps users see on their Home page is determined by:
- whether their account has been given access to the custom app (as determined by the access privileges defined in FileMaker Pro)
- whether Claris Customer Console has been set up to display the custom apps that have been assigned the fmwebdirect extended privilege
- whether custom apps have been set in FileMaker Pro not to display in the host's file list
See Claris Customer Console Help and FileMaker Pro Help.
To open a custom app:
- Open the Claris Customer Console Sign In page.
-
Sign in using your Claris ID account or your team's external identity provider.
You need to sign in only once for all the custom apps you will work with.
- On your Home page, click a custom app, then choose Open in FileMaker WebDirect.
Notes
- FileMaker WebDirect does not support signing in to custom apps using SSO.
Linking to a database from an HTML page
Rather than having web users type the IP address or domain name to access your custom app, you can provide a link to your custom app.
To view | Use this link |
---|---|
A particular database | http://<host>/fmi/webd/<database name> |
A particular database and run a script | http://<host>/fmi/webd/<database name>[?script=<script name>[¶m=<script parameter>][&<$variable name>=<value>]] |
-
To link to a database or FileMaker WebDirect Launch Center over a connection with SSL encryption, use
https://
before the host’s fully qualified domain name. See FileMaker Server Help and FileMaker Cloud Help. -
If you close your custom apps frequently, or if web users access a number of custom apps, consider linking to FileMaker WebDirect Launch Center, which dynamically creates links for all databases that are open and shared with FileMaker WebDirect.
-
If a database name, script name, script parameter, variable name, or variable value contains spaces or other special characters, replace the characters with the corresponding encoded values required for valid URLs. For example, replace a space character with %20.
-
To allow web users to run scripts from URLs, enable the fmurlscript extended privilege for the account's privilege set.
-
For FileMaker WebDirect content to display in
<iframe>
tags of separate webpages, those webpages must also be hosted by the same FileMaker Server web server. Webpages hosted by other web servers can't use the<iframe>
tag to embed FileMaker WebDirect content. -
If a file is hosted by FileMaker Cloud and users have already signed in with their Claris ID accounts, the file opens in FileMaker WebDirect. Otherwise, users are redirected to the Claris ID Sign In page.
Signing in with HTTP POST
Users can sign in to FileMaker WebDirect custom apps with an HTTP POST request rather than use FileMaker WebDirect Launch Center or a custom homepage.
To open a custom app with a specific account name and password, link to the database you want to open (see Linking to a database from an HTML page), and include two HTTP POST parameters: user
and pwd
. Set the value for user
to the desired account name, and set the value for pwd
to the account's password.
Important:Use SSL when signing in with an HTTP POST request. If you don't use SSL, the specified account name and password will not be encrypted and will be less secure.
Note:Signing in with HTTP POST is not supported for files hosted by FileMaker Cloud.
Using a custom homepage
You can host a custom homepage for your FileMaker WebDirect custom apps either on the same web server used for FileMaker WebDirect or on an external website.
To host a custom homepage on the same web server used for FileMaker WebDirect:
Place an HTML file in the web server’s root folder. You can create your own homepage, such as one that redirects web users to another page on your website, or you can use the fmwebd_home.html file that is on the disk image as a basis for your custom homepage. Make a copy of the original file before modifying it.
The following shows the default web server root folder locations. The folder is on the machine in your FileMaker Server deployment where the web server is running.
-
Windows: For IIS through HTTP or HTTPS:
[drive]:\Program Files\FileMaker\FileMaker Server\HTTPServer\conf
where
[drive]
is the drive on which the Web Publishing Engine component of your FileMaker Server deployment resides. -
macOS: For Apache through HTTP:
/Library/FileMaker Server/HTTPServer/htdocs
-
macOS: For Apache through HTTPS:
/Library/FileMaker Server/HTTPServer/htdocs/httpsRoot
-
Linux: For Apache through HTTP:
/opt/FileMaker/FileMaker\ Server/HTTPServer/htdocs
-
Linux: For Apache through HTTPS:
/opt/FileMaker/FileMaker\ Server/HTTPServer/htdocs/httpsRoot
Note:Hosting a custom homepage in the web server's root folder is not supported for FileMaker Cloud.
To access your custom homepage:
Use the following URL syntax:
<scheme>://<IP address or domain name>/<filename>
For example, if your custom homepage is xyz_home.html and your Web Publishing Engine’s domain name is example.com, direct users to the following URL:
https://example.com/xyz_home.html
To return web users to a custom homepage when they sign out, add the homeurl
parameter to each FileMaker WebDirect custom app's URL. For example:
https://example.com/fmi/webd/Contacts?homeurl=https://example.com/xyz_home.html
You can set homeurl
to the custom homepage's URL or any other URL.
Note:Starting with FileMaker Server 19.4.1, custom home page redirects are disabled by default. The redirect settings are configured in the jwpc_prefs.xml file located in [installation_folder]/Web Publishing/conf
with two new parameters: homeurlenabled
and customhomeurl
. The homeurlenabled
parameter can be set to yes
to enable the setting. The customhomeurl
parameter can be set to a comma-separated list of approved redirect IP addresses or domains. For example:
<parameter name="homeurlenabled">yes</parameter>
<parameter name="customhomeurl">https://primary.example.com,https://secondary.example.com</parameter>
Notes
- When editing the fwpc_prefs.xml file located in
[installation_folder]/Web Publishing/conf
, use a plain text editor. - When the server administrator imports a custom SSL certificate, database server connections will use SSL. Make sure that custom homepages and custom web content are hosted in the WPE HTTPS directory. See FileMaker Server Help.
- You must restart FileMaker Server for changes to custom home page redirects to take effect. See FileMaker Server Help.
Design considerations
Some aspects of FileMaker Pro custom apps behave differently on the web. Consider the following information as you design your custom app.
General
- FileMaker WebDirect does not support gestures or animations.
- Modifying a custom app while web users are connected could produce unexpected results. For example, if you save changes to a layout that web users are displaying in List View, each web user’s current record is changed to the first record in the found set.
- Use fonts that are installed on all target operating systems. If a font is not available, the web browser substitutes its default font for the unavailable font.
- Objects and grouped objects should not span multiple layout parts. If an object or group of objects spans multiple parts, it displays only in the layout part in which it is anchored.
- When a user enters a field in a portal, records in the portal are not updated until the user leaves the field.
- To identify the current record in List View, apply the Active object state style to the layout’s body part. The current record indicator is not supported in List View.
- The highlight, superscript, and subscript conditional formatting options are not supported. Underline, word underline, and double underline are all rendered as regular underline.
- Tooltips are not supported with the following layout objects: text, images, fields that do not allow entry, merge fields, merge variables, portals, charts, and web viewers that do not allow interaction.
- FileMaker WebDirect displays scroll bars according to system preferences. FileMaker WebDirect does not support the Portal Setup dialog box Show scroll bar option.
- If FileMaker WebDirect can’t detect or doesn't support the web browser’s language, FileMaker WebDirect displays its interface, tooltips, and dialog boxes in English.
Maximum number of connections
Each FileMaker Server and FileMaker Cloud deployment has a maximum number of connections. When the maximum number of connections is reached, additional web users see an error message in the web browser when they try to open the custom app.
-
If you think FileMaker Server or FileMaker Cloud has reached the maximum number of connections erroneously, it’s possible that a web user has not signed out of the custom app properly. You can wait for the sessions to time out, or close the file to disconnect all users from the custom app, or disconnect specific users using Admin Console. See FileMaker Server Help and FileMaker Cloud Help.
- Web users should avoid opening the same custom app from multiple browser windows or in multiple tabs of the same browser window. Each browser window or tab uses its own connection to FileMaker Server or FileMaker Cloud, which may cause it to reach the connections limit quickly. See Working with virtual windows.
Mobile browsers
-
Mobile browsers do not support the option to always show vertical scroll bars in portals.
- Mobile browsers do not support tooltips.
-
Mobile browsers display an onscreen keyboard only when the user clicks into a field.
- PDF files in container fields are not interactive. On iOS and iPadOS devices, container fields display only the first page of the PDF. On Android devices, click links in container fields to view PDFs in new web browser windows. To interact with PDFs in container fields, open the custom app in Windows or macOS.
- On iOS and iPadOS devices, the Request Desktop Website browser setting should be disabled.
Fields
-
If a field uses system formats to display data, FileMaker WebDirect uses the default system formats for the location in which the custom app was created. Default system formats affect date, time, and timestamp formatting in fields, merge fields, and validation messages.
-
The following features are not supported for fields: auto-complete (type-ahead), sideways text, input methods set by FileMaker Pro, and line spacing.
- FileMaker WebDirect can only access fields from files that are hosted on the same server.
-
Field borders and fills show on all records. The Layout Setup dialog box Delineate fields on current record only option is not supported.
-
Tell users to avoid adding leading or trailing spaces in a text field because the data may not appear in the text field when the custom app opens in FileMaker WebDirect. If extra spaces are necessary, make sure the text field is wide enough to accommodate the extra spaces, or add a scroll bar to the text field.
-
Concealed edit boxes always display the same number of concealed characters as actual characters in the field, and do not display carriage returns as concealed characters.
- Checkbox sets and radio button sets display as standard HTML controls; they do not support object styles. If they appear cropped, enlarge the fields on the FileMaker Pro layout.
- In pop-up menus and drop-down lists, web users can’t use an Edit item or an Other item to edit or add values to a value list.
-
Web users can insert a file of up to 300 MB into each container field. To insert files larger than 300 MB, use FileMaker Pro.
-
Web users can work with files of up to 300 MB in interactive container fields. If a file is larger than 300 MB, web users must export the contents of the container field to work with the file. To work with files larger than 300 MB in interactive container fields, use FileMaker Pro.
-
To allow web users to export data from container fields, set Available menu commands to All in the Edit Privilege Set dialog box.
Panel controls
- Minimize the number of custom styles applied to panel controls. If a custom style is applied to a panel control, the custom style may appear on other panel controls on the same layout, even if those controls have different styles.
- Objects placed on the tab label of a tab control are rendered in the panel area.
- When designing slide panels in your custom app, select Show navigation dots in the Slide Control Setup dialog box to allow web users to navigate between slide panels with the slide control’s dots. Slide controls do not support swiping through panels in the web browser. As an alternative, you can define scripts to control the navigation between slide panels.
Popovers
-
Popovers do not resize when the window resizes, so design popovers for the size of the web browser window. Resizing a browser window to be smaller than an open popover or opening a popover that is larger than the current window could produce unexpected results.
-
When a user scrolls in List View, popovers do not close until the user enters another record.
Button bars
-
In List View, button bars may have different active segments for each record in the found set.
-
When a button bar resizes, the button bar displays its default active segment.
Web viewers
FileMaker WebDirect uses iframes to display Web viewer pages. Therefore, all the restrictions and limitations for iframes apply to web viewer pages. The limitations can sometimes cause certain websites to be displayed blank inside a web viewer that is accessed in FileMaker WebDirect. To troubleshoot the two most common causes of this issue:
- Verify that the target URL uses the same protocol (such as http or https) as the parent page. For example, if your FileMaker WebDirect page is accessed using https, the URL for your web viewer page should also start with https, and vice versa.
- Make sure your web viewer is pointing to a website that allows its content to be embedded into other websites. For example, if the X-Frame-Options header for a website includes X-Frame-Options: SAMEORIGIN, the content from the site can only be used in an iframe from another website hosted on the same domain.
- Web users might be able to interact with web viewer content in a limited way, even if you clear the Allow interaction with web viewer checkbox in the Web Viewer Setup dialog box. Limited interaction can also occur even if a web viewer is defined as a button.
- If the URL calculated by a web viewer does not include a colon (:), then FileMaker WebDirect adds the scheme http:// to the beginning of the URL. To avoid errors, include the appropriate scheme in the web address when you set up a web viewer.
- The Back and Forward options of the Set Web Viewer script step are not supported in FileMaker WebDirect. To navigate backward and forward within a web viewer in FileMaker WebDirect, right-click (Windows) or Control-click (macOS) within the web viewer and choose Back or Forward. If the layout has more than one web viewer, the shortcut menu works only with the web viewer that has most recently changed from one page to another, not necessarily the one the pointer is over.
- FileMaker WebDirect does not support web viewers whose content is published by FileMaker WebDirect. No webpage displays in a web viewer if the web viewer URL contains
/fmi/webd
. - Content in a web viewer may have unintended effects on FileMaker WebDirect. For example, a URL (either a URL calculated from field data or a URL that the user sets by clicking a link in a web viewer) can specify a page that has the
target=top
attribute. This attribute causes the page to replace FileMaker WebDirect in the web browser window. - As operating system vendors continue to fix security problems, they may disable certain features, often along with modifying security settings within the user’s web browser. Such changes might disable or change the behavior of web viewers in FileMaker WebDirect. Tell users how to change security settings in their browsers to allow web viewers to function properly, or ensure that the URLs used by your web viewers are for trusted webpages only.
Borders and padding
-
Object borders with a thickness that is not a whole number are rounded down to the nearest whole number. Thicknesses greater than 0 points but less than 1 point are increased to 1 point.
-
If you apply a border to a layout part or a layout background, do not place objects on the border. Otherwise, parts of objects that overlap the border will not render in the web browser.
-
If you apply an image slice fill to a layout part or a layout background, do not place layout objects on or near the image segments that border the layout part or layout background. Otherwise, layout objects may not render as expected.
-
To display the object’s contents a set distance from the object’s border, change an object’s padding. FileMaker WebDirect does not support indentation.
Hidden conditions
-
To hide an object in an object group, apply a hidden condition to the entire object group. Users can’t click objects located behind hidden objects in object groups unless the entire object group is hidden.
-
If you apply button settings and a hidden condition to an object, apply the hidden condition last. Otherwise, users may not be able to click objects located behind the object with button settings when that object is hidden.
Tab order
- The tab order might vary from the tab order in FileMaker Pro. Different browsers might support the tab order in a different manner.
- The tab order in a web browser includes edit boxes, concealed edit boxes, drop-down lists, pop-up menus, drop-down calendars, checkbox sets, radio button sets, and container fields.
- In Find mode, the tab order doesn't include calculation fields.
- iPadOS: If you're using the Smart Keyboard with iPad Pro, the tab order may not work as expected. For example, you may be able to tab into fields that are not included in the layout's tab order.
Multifile custom apps
-
Create identical accounts and passwords in each file in a FileMaker WebDirect custom app. When users enter the account and password for the first file, the information is used to authenticate related files. The fmwebdirect extended privilege must also be enabled for all privilege sets in all custom app files.
-
Web browsers can't display fields from another file on a layout unless web users have access to that file as well. This limitation also applies to calculation fields that are based on field values from other files.
-
When a custom app contains references to a protected related file that it is not authorized to access, web users cannot authorize access to the protected file in FileMaker WebDirect. Consequently, when web users open the custom app, the file does not contain any data from the protected file. To prevent this situation, use FileMaker Pro to authorize all files that reference protected files. See FileMaker Pro Help.
Multiple-machine deployments
- When a FileMaker Server deployment redirects a FileMaker WebDirect connection between Web Publishing Engines, the hostname displayed in the URL bar changes to match the hostname of the destination WPE. Features that refer to specific WPE hostnames, such as web viewers, may return unexpected results.
- If the WPE is disabled on a machine in the deployment and a user uses that machine's URL to access FileMaker WebDirect, the user won't be redirected to an available WPE and won't be able to access FileMaker WebDirect.
- If the WPE is enabled on a secondary machine, FileMaker WebDirect custom apps are available through the secondary machine, even if FileMaker WebDirect is disabled on the primary machine.
- If you use a custom homepage or host custom web content for your custom app, make sure all custom content is hosted on all WPEs in the FileMaker Server deployment. Otherwise, some WPEs may not be able to access or display custom content.
- Displaying FileMaker WebDirect content in
<iframe>
tags of separate webpages may lead to unexpected results. - To use plug-ins with FileMaker WebDirect in a multiple-machine deployment, install the plug-ins on the primary machine and all secondary machines.