Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities

Technolog y Br i e f
Upgrading to
FileMaker 8:
How to benefit from powerful
new Web Publishing capabilities
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
About This Technical Brief
It is the intent of this technical brief to help the experienced FileMaker developer better understand the new and
enhanced FileMaker 8 web publishing model. Reading this document will assist you in assessing the key features
and benefits of the new web publishing model and to plan, prepare for, and implement your strategy for migrating
to FileMaker Pro Server 8 Advanced. Authored originally by Cris Ippolite, FileMaker Solutions Alliance Partner and
President of iSolutions, Inc., this paper is part of a series of technical briefs written by developers for developers, to
assist them in migrating to the new FileMaker 8 product family.
For additional technical materials, please refer to printed and electronic manuals and online help that ship with
FileMaker Server 8 Advanced.
Please note: this Technical Brief is relevant to both FileMaker 8 and FileMaker 7 products.
Introduction
FileMaker, Inc. has recently released the FileMaker® 8 product line, the latest edition of the company’s database
development and deployment platform. The enhanced Web Publishing features of the FileMaker 8 product line are
available in the new FileMaker Server 8 Advanced product. Together these products comprise a scalable, modular
web serving platform for FileMaker Pro 8 databases.
The migration from FileMaker 6 web applications to FileMaker 8 web applications will allow users to take advantage
of significant changes in the database serving architecture and protocols. FileMaker Server 8 Advanced is a multithreaded, modular server environment. Each server component now plays a specific role in publishing FileMaker
data to the World Wide Web.
This paper will introduce the improved FileMaker Server web publishing architecture, and the concepts of Instant
Web Publishing (IWP), and Custom Web Publishing (CWP) as they relate to FileMaker 8. In addition, we will
explore options for securing your web solutions and using XSLT creation and conversion tools now available in
FileMaker Server 8 Advanced.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 1
Table of Contents
About This Technical Brief .................................................................................................................................1
Introduction ..........................................................................................................................................................1
Improvements to FileMaker Server Architecture .........................................................................................3
FileMaker Server 8 Advanced Hardware Configuration Options .............................................................5
One-Machine Configuration..............................................................................................................................6
Two-Machine Configuration A ..........................................................................................................................7
Two-Machine Configuration B ..........................................................................................................................8
Three-Machine Configuration ...........................................................................................................................9
How Web Publishing requests are processed .............................................................................................10
XML and Instant Web Publishing requests ...................................................................................................10
XSLT-Custom Web Publishing requests ........................................................................................................11
New URL Syntax ................................................................................................................................................12
XML Grammars used by FileMaker Server 8 Advanced ...........................................................................14
Query String Parameter Changes ..................................................................................................................14
Custom Web Publishing in FileMaker Server 8 Advanced ........................................................................15
What is XSLT? ....................................................................................................................................................17
Creating XSLT with Site Assistant ..................................................................................................................17
Who Should Use Site Assistant ......................................................................................................................18
Converting CDML to XSLT with FileMaker CDML Converter Tool .....................................................19
About the FileMaker CDML Converter .......................................................................................................19
Checking and fixing the generated stylesheets using the Conversion Log...........................................20
CDML from Home Page considerations ......................................................................................................21
Who Should Use the FileMaker CDML Converter Tool .........................................................................21
Instant Web Publishing in FileMaker Pro 8 ..................................................................................................21
Improvements to Instant Web Publishing ....................................................................................................22
Instant Web Publishing Modes .......................................................................................................................23
Browse mode ....................................................................................................................................................23
Find mode ...........................................................................................................................................................24
Edit mode ...........................................................................................................................................................25
Displaying a database with the Instant Web Publishing status area hidden .........................................26
Instant Web Publishing compared to FileMaker Pro 8 Desktop ............................................................27
Instant Web Publishing files from previous versions of FileMaker Pro .................................................28
Securing Your Web Published Solutions .......................................................................................................29
Extended Privileges ..........................................................................................................................................29
Defining accounts and privilege sets for files protected by the Web Security Database .................32
Web Server Security .........................................................................................................................................32
Conclusion...........................................................................................................................................................33
About the Author ..............................................................................................................................................33
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 2
Improvements to FileMaker Server Architecture
In the new FileMaker Server 8 Advanced web architecture, Web Companion has been replaced by a suite of web
publishing components that together allow for more powerful web publishing than ever before.
Components consist of the following:
FileMaker Pro 8 Client (or browser)
The way a user interacts with FileMaker data. Client is used
for network sharing, a browser is used for Web sharing.
FileMaker Server 8 Advanced
Stores and serves FileMaker data to clients
Web Publishing Engine
Responsible for processing FileMaker requests received from
web clients.
• Web Publishing Core
Data engine enabled component that specifies the IP of the
“Primary Server”. Evolution of the Web Companion that
speaks to Server and renders IWP and XML.
• XSLT – CWP Core
Uses the Tomcat Servlet container to handle server side XSLT
Custom Web Publishing.
• Web Server Module
Must have Web Server installed first. Tomcat code that allows
Tomcat and Web Publishing Engine to be connected to the
Web Server. (Not for load balancing)
Configuration Server
Server that generates and controls an interface used to
configure Web Server Module and the Web Publishing Engine.
Web Server
Server independent from the FileMaker Server 8 Advanced
installed components, which will handle the http requests.
Compatible Web Server platforms are; Apache and Internet
Information Server.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 3
FileMaker Server 8 Advanced manages databases for both web and network users. FileMaker Server 8 Advanced
also manages local calculations and the execution of web-compatible ScriptMaker™ scripts for all sessions initiated
from the web.
In order to share data on the web, a FileMaker Pro 8 database must first be created then shared on FileMaker
Server 8 Advanced. FileMaker Server 8 Advanced contains the same database engine as the FileMaker Pro 8 clients,
which allows these components to communicate and share data over a network. FileMaker Server 8 Advanced also
contains this same database engine found in the Web Publishing Engine, allowing database files on FileMaker Server
8 to also be shared with web users. The Web Publishing platform will require the use of a web server. The web
server handles HTTP requests and serves web pages and images up to the requesting web browsers. Web pages
are stored on the web server and processed when incoming HTTP requests call for specific pages. The web server
will recognize Custom Web Publishing URLs then hand these requests off to the WPE for communication with
FileMaker databases.
The compatible web servers are Apache on Mac OS X and Internet Information Server (IIS) for Windows. Neither
web server is part of the FileMaker Server 8 Advanced installation, but one is required in order to install the WPE.
The web server communicates with the WPE through a supporting component called the Web Server Module.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 4
The Web Server Module is also part of the WPE installation. This module is comprised of Tomcat code that allows
both Tomcat and the Web Publishing Core to be connected to Apache or IIS. This component is not intended for
load balancing, but rather to communicate with one web server and one WPE.
In order to configure the Web Publishing Core and the XSLT-CWP engine, an additional support component called,
the Configuration Server is installed as part of the FileMaker Server 8 Advanced. The Configuration Server utilizes
browser-based interface to configure the Web Server Module and WPE components of the web publishing platform.
All components will work together to receive and process HTTP requests. The web browser will communicate
with the web server, which interfaces with the WPE through the Web Server Module. The WPE will then speaks to
FileMaker Server 8 Advanced via the Web Publishing Core’s database engine.
FileMaker Server 8 Advanced Hardware Configuration Options
In addition to handling http requests differently, there are also numerous possible combinations for deploying web
publishing applications with FileMaker Server 8 Advanced.
In previous incarnations of FileMaker web publishing all transactions from the web relied on a client version of
FileMaker (Pro or Unlimited) in order to process requests from the web or web server. Since those applications
were ‘single threaded’ applications, only one request at a time could be processed. This meant that when just one
application was being used, only one web serving, database serving or CGI request could be handled at any
one time.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 5
Now, the new FileMaker Server 8 Advanced allows ALL web serving to be done directly through the ‘multithreaded’ server to give web published solutions the ability to process multiple, concurrent requests from the web
with help from an industrial class web server. This advancement is perhaps the most significant improvement in
FileMaker web publishing history.
In addition to the improved web publishing performance, the web server application and Web Publishing Engine
can now take advantage of the processors and memory on one, two or three server-grade machines in order to
optimize performance for web published solutions. Depending on the needs of the web published solution; different
configuration methods can be used to optimize the performance accordingly.
The following are recommended / supported configurations using one to three machines.
One-Machine Configuration
Using the new FileMaker Server 8 Advanced architecture, one machine can be used to run the FileMaker Server
8, the Web Publishing Engine, and the web server, while still allowing for a completely multi-threaded hosting
foundation.
In this configuration, all components are installed on the same machine:
This is the simplest configuration to deploy since all components are installed on the same machine.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 6
This configuration is also the most economical since it only requires one server machine to handle all network
hosting, web serving and CGI transactions. However, it will require a very powerful machine since only one (or
two) processors are responsible for the entire load for all these activities.
In addition, this configuration also presents a single point of failure. If the machine goes down, all network traffic
and web traffic will cease because there is no separation of the components.
Lower traffic sites and low traffic network sharing configurations are less susceptible to these issues, so any site or
network with high traffic from either source should consider using one of the two or three machine configurations
below.
Two-Machine Configuration A
There are two recommended ways to configure the web serving components on two machines. With this
configuration, all Internet serving components are installed on one machine with FileMaker Server 8 Advanced
installed on a separate machine allowing Internet components to be separated from the network-serving
component.
This configuration is an ideal configuration from a performance standpoint, since this configuration now allows
for separate management of components and for one processor (or two) to be dedicated to Internet serving and
another processor (or two) to be dedicated to network hosting. The WPE is still on the same machine as the web
server, so you can still use the “Easy” install for the WPE. It also eliminates the single point of failure and allows for
management of hardware separately.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 7
For web published solutions that may have higher traffic and for networks with considerable traffic, this
configuration can be more beneficial and stable than the one machine configuration. However, the web server and
the Web Publishing Engine are exposed outside of the potential firewall.
Two-Machine Configuration B
The second of the two recommended two-machine configurations has the web server machine separated from the
machine that contains the Web Publishing Engine and FileMaker Server 8 Advanced. The Configuration Server must
live on the same machine as the web server in order to be able to configure the Web Server Module as well as the
rest of the system components.
This configuration offers little performance benefit, but can adhere to IS restrictions regarding installing the WPE
on the same machine as the web server. This configuration adds the complexity of multiple machines without
gaining much of the performance benefit.
The importance of this configuration is that it allows the web server machine to be placed outside of the
firewall while the machine running all FileMaker Server 8 Advanced components live safely behind the firewall.
This configuration will provide additional security, but also consolidates FileMaker Web Publishing and FileMaker
network-hosting burdens onto one processor (or two) while still allowing for separate management.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 8
Three-Machine Configuration
This configuration is the most complex configuration of all four recommended configurations. The web server
and the Configuration Server are on the first machine, which serves as the request gateway. This machine can be
separated from the other two via a firewall for additional security.
The middle machine then runs the Web Publishing Engine behind the firewall along with the last machine that runs
FileMaker Server 8 Advanced.
Although this configuration may be the most expensive because it involves purchasing three server machines, it
is the best configuration for any web published solutions that will have substantial amount of static web content
(images, attachments, etc) and high traffic network activity, while still being able to independently process CGI
requests. It provides higher performance and security through independent processing and more failure protection
through independent management for reach task.
If you are trying to decide which configuration will best suit your needs, you should try out the different variations
with your solution and test each. The Process Viewer on Mac OS X and the Windows OS Task Manager and
Performance Monitor can be useful to monitor the load on the machine and help determine if the CPU or memory
is being overwhelmed.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 9
How Web Publishing requests are processed
The WPE processes http requests differently depending on the type of requesting Uniform Resource Locator
(URL) that is received. URLs will now be specific to the “Web application” (see New URL Syntax Improvements)
rather than a specific FileMaker product.
For instance, Instant Web Publishing will use its own “iwp” application URLs. These specified applications will tell
the WPE how to process the URLs in an http request and send them to the appropriate WPE component for
processing. There are two types of requests that WPE can process:
•
•
XML or IWP request
XSLT-CWP request
XML and Instant Web Publishing requests
The Web Publishing Core component of the WPE is responsible for processing requests from the web server that
call for Instant Web Publishing rendering or raw XML. The URLs that carry these requests will have the “iwp” or
“xml” application specified.
In these cases, first an http request is issued from within a page in a web browser. The user clicks on the form
parameter that triggers the composition and sending of a URL.
The Web Server then processes these requests and sends a response URL on to the Web Server Module. The Web
Server Module identifies the “xml” or “iwp” application within the URL and sends it to the Web Publishing Core.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 10
The Web Publishing Core passes the queries on to the databases indicated in the URL request via FileMaker
Server 8 Advanced. After FileMaker Server 8 Advanced processes the request, the results are returned back to
the Web Publishing Core as raw XML. If the requested application is an Instant Web Publishing request, then the
Web Publishing Core renders the raw XML data for display in the web browser. If the requested application is an
XML request, then raw XML is sent to the web browser for display. The result (usually transformed into HTML) is
returned to the web server, which displays the result back to the original web client.
Raw XML is processed by internal XML parsers within compatible web browsers. Raw XML can also be returned
back to another application for processing.
XSLT-Custom Web Publishing requests
The XSLT-CWP component of the WPE is responsible for processing requests from the web server that call for
XSLT Custom Web Publishing.
In these cases, a client will first make a request for an XSLT-CWP page through a specifically syntaxed URL. The
URLs that carry these requests will have the “xsl” application specified whether the processing is done on the
server or the client.
The web server then processes these requests and sends a response URL on to the Web Server Module. The
Web Server Module recognizes the specified “xsl” application and then routes the request directly to the XSLTCWP engine. The XSLT-CWP engine then makes an XML request via http to the Web Publishing Core. The Web
Publishing Core is the only component in the WPE that has the same database engine found in FileMaker Server 8
Advanced and therefore must handle any request for data.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 11
The Web Publishing Core then queries the databases indicated in the URL request via FileMaker Server 8 Advanced
and the appropriate results are returned back to the Web Publishing Core as raw XML. The Web Publishing Core
then sends the data back to the XSLT-CWP engine.
One of the things that sets an XSLT URL apart from an XML URL request, is that within the XSLT URL, a path and
document are specified. The document specified is a called a “stylesheet”.
In this example, an XSL stylesheet will be applied to the raw XML and will carry with it formatting instructions and
any other instructions on how to transform the XML. The path of the XSLT URL not only carries the stylesheet
name and extension (.xsl), but also the path to the physical location of the stylesheet. A stylesheet is usually stored
in a directory in the web root folder on the web server.
If a stylesheet is specified in the URL, then the XSLT-CWP engine will apply the stylesheet to the XML it received
from the Web Publishing Core and send the results back to the Web Server Module which in turn processes the
data and sends it back to the web browser for display. The results (usually transformed into HTML) are returned to
the web server, which displays the result back to the original web browser for viewing.
You can use the FileMaker Site Assistant tool to create one or more basic XSLT stylesheets as a starting point for
your site. See the section, “Creating XSLT with Site Assistant” below.
If you have existing CDML solutions, you can use the FileMaker CDML Converter to convert the CDML format
files to XSLT stylesheets. See “Converting CDML to XSLT with Conversion Assistant” below.
You can also use your own XSLT authoring or text editing tools to modify the XSLT stylesheets as necessary, or to
develop your stylesheets from scratch. Primarily, developers will use an XML editing application (visit FileMaker.com
and the “XML Central” for a current list of XSLT authoring tools) to author the stylesheet. A stylesheet is similar
to an HTML document, which is comprised of many lines of text code. The syntax of this code will need to adhere
to XSLT standards.
Once your stylesheet is created, copy or place the XSLT stylesheets in the “xslt-template-files” folder, which is
located inside the Web Publishing folder inside the FileMaker Server 8 Advanced folder on the host where the Web
Publishing Engine is installed.You can also place the stylesheets in an optional folder or folder hierarchy inside the
xslt-template-files folder.
Note: Custom Web Publishing with XSLT for FileMaker Server 8 Advanced is based on the W3C recommendation
for XSLT 1.0. For information on XSLT 1.0, see www.w3.org.
New URL Syntax
The FileMaker 8 product line continues to embrace industry standards. Along with many other improvements,
FileMaker has eliminated existing interfaces (CDML) and added new technologies (XSL).
Since changes were already being made to the primary syntax for dynamic FileMaker web publishing, it was a great
time to also re-evaluate the URL syntax. A new URL syntax for Custom Web Publishing was developed to increase
compatibility with other FileMaker products as well as conforming to generally accepted URL syntax.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 12
The new URL syntax is based on a series of rules or patterns that enhance consistency across all of the different
technologies utilizing URLs.
CDML is gone and XSL is in with URLs now specific to the web ‘application’ that handles them rather than the
product they are a part of.
FileMaker URLs will contain the following structure:
<scheme>://<host>[:<port>]/fmi/<applicationname>/[path/]document.extension[?<query string>]
The URL string breaks down as follows:
Scheme
In most cases http or can also be https protocol
Host:
Is the or IP address or Domain Name of the host where the web server is
installed
Port:
Is optional and specifies the port that the web server is using. If no port is specified,
then the default port for the protocol is used (80 for http and 443 for https)
Each different FileMaker “Web application” or “task” will be located in its own
subdirectory beneath the default context. Under this new syntax, current
FileMaker technologies would use the following tasks to serve content:
Application name:
iwp: generates Instant Web Publishing pages
xml: returns unformatted XML in specified grammar
xsl: serves XSL-CWP from server or client
cnt: serves data stored in container fields in FileMaker Pro 8
Path:
The additional path below the application name is optional and allows certain
applications to provide additional directory structure inside of the application
Document.extension:
All URLs will specify a document that is either being served or generated. The
extension specifies the document type.
Query String:
Always the final portion of the URL. Specifies name / value parameters to the
application.
Instant Web Publishing URLs are similar to XSL requests except that the document specified in the IWP URL is
replaced by a ‘pagetype.extension’. Most of the work is done in sub frames, so end user will not be able to read the
query unless they open frame in new window. These communications are less secure than XSL-CWP.
The URL syntax for using XSL is different from XML. The URLs are primarily the same in both cases, but in URLs
that are requesting just XML data, the ‘document.extension’ is replaced by the ‘grammar name’.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 13
XML Grammars used by FileMaker Server 8 Advanced
To access XML data via the Web Publishing Engine, you use a URL that specifies the name of the FileMaker
grammar to use, one FileMaker query command, and one or more FileMaker query parameters. The Web Publishing
Engine generates XML data from your database that is formatted by one of the following types of XML “grammars”:
FMRESULTSET: This is a new grammar developed for FileMaker Server 8 Advanced and it is a combination of
ideas from both the FMPXMLRESULT and the FMPDSORESULT grammars. This is the recommended grammar for
the Web Publishing Engine.
It is flexible and optimized for XSLT stylesheet authoring with easier field access by name and easier manipulation
of relatedset (portal) data. This grammar is also more directly linked to FileMaker terminology and features, such as
global storage options and identification of summary and calculation fields.You can use this grammar to access XML
data and to access XSLT stylesheets. To facilitate Web publishing, this grammar is designed to be more verbose than
the FMPXMLRESULT grammar.
FMPXMLRESULT and FMPXMLLAYOUT: You can also use the FMPXMLRESULT and FMPXMLLAYOUT
grammars with the Web Publishing Engine for accessing XML data and for XSLT stylesheets. To use one stylesheet
for both XML export and Custom Web Publishing, you must use the FMPXMLRESULT grammar.
FMPDSORESULT: The FMPDSORESULT grammar, which is supported in FileMaker Pro for exporting XML, is
deprecated for accessing XML data via the Web Publishing Engine. The FMPDSORESULT grammar is not supported
for XSLT stylesheets.
Depending on the grammar you specify in the URL request, the Web Publishing Engine will generate an XML document
using one of the grammars. Each XML document contains a default XML ‘namespace’ declaration for the grammar.
Query String Parameter Changes
To request XML data from a FileMaker Pro 8 database hosted via FileMaker Server 8 Advanced, you use the
FileMaker query commands and parameters in a query string. For example, you can use the –findall query
command in the following query string in a URL to request a list of all products in a FileMaker Pro 8 database
named “demo”:
http://127.0.0.1/fmi/xml/fmresultset.xml?-db=demo-lay=Web&-findall
A query string must contain only one query command, such as “–new” or “-findall”. Most query commands must
also contain various matching query parameters in the query string.
In addition to changing the URL syntax (which includes the query string), FileMaker has also changed some syntax
for query strings to reduce ambiguity and increase functionality. The changes include field names, CGI parameters,
find operators, and sort operators. For a complete list of new query strings, please see your FileMaker Server 8
Advanced documentation.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 14
Developers who plan to migrate web solutions from previous versions should note that pages within your web
site that reference (link to) Custom Web Published solutions need to be updated after file conversion, including
URLs that directly reference the published database. Links must be updated to use the new URL syntax and the
new request query parameters. Be sure to check scripts in other FileMaker Pro databases that launch a browser to
access a Custom Web Published database or that use XML Import via HTTP to bring data from a web-published
database into a local database.
Custom Web Publishing in FileMaker Server 8 Advanced
With FileMaker® Server 8 Advanced, you can publish FileMaker databases on the Internet or an intranet in these
ways:
•
•
•
Custom Web Publishing using Extensible Markup Language (XML)
Custom Web Publishing using Extensible Stylesheet Language Transformations (XSLT) stylesheets
Instant Web Publishing. See the following section, New Improvements to Instant Web Publishing.
FileMaker Server 8 Advanced supports Custom Web Publishing of FileMaker Pro 8 databases with server-based
XSLT style sheets, which filter and format XML data. XML can be transformed into HTML, which can then be
viewed using a web browser or transformed to different XML grammar for use by other programs and applications.
You can obtain and update FileMaker Pro 8 data in Extensible Markup Language (XML) format by using the Web
Publishing Engine. In the same way that HTML has become the standard display language for communication on
the World Wide Web, XML has become the standard language for structured data interchange. Many individuals,
organizations, and businesses use XML to transfer product information, transactions, inventory data, and other
business data.
Custom Web Publishing with XML and XSLT gives you choices and control over the design and functionality of
your web pages. FileMaker Server 8 Advanced, which hosts the published databases, does not require FileMaker Pro
8 to be installed or running for Custom Web Publishing to be available. To support Custom Web Publishing, the Web
Publishing Engine functions as an XSLT processor and provides output as HTML, XML, or text to the web server,
which then provides the output to the web browser. Web users access your Custom Web Published solution either
by clicking an HREF link or by entering a URL that specifies the web server address and a FileMaker query string
request. The URL can either access XML data or reference an XSLT stylesheet. The Web Publishing Engine returns
the XML data specified in the query string request, or the results of the referenced XSLT stylesheet.
The Web Publishing Engine provides Custom Web Publishing for FileMaker Server 8 Advanced using XML data
publishing and server-processed XSLT stylesheets. Custom Web Publishing provides several benefits:
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 15
Customization
You can determine how web users interact with FileMaker
data, and how the data displays in web browsers.
Data interchange
By using FileMaker XML, you can exchange FileMaker data
with other web sites and applications.
Data integration
By using FileMaker XSLT stylesheets, you can integrate a
subset of the FileMaker data into other web sites and with
other middleware and custom applications.You can make
the data look like it belongs to another web site instead of
displaying an entire FileMaker layout in the web browser.
Security
As the administrator for the Web Publishing Engine, you
can individually enable or disable Instant Web Publishing,
XML web publishing, or XSLT web publishing for all
databases hosted by the server. As the FileMaker database
owner, you can control user access to Instant Web
Publishing, XML web publishing, or XSLT web publishing
for each database.
Server-side stylesheets
Server-side XSLT stylesheet processing may prevent
unauthorized examination of confidential database
information that might otherwise be possible with clientside stylesheets.
Control and filtering of published data
By using XSLT stylesheets, you can control and filter the data
and the type of database information you want to publish,
which prevents unauthorized use of the database.You can
also hide metadata, such as database and field names.
Based on open standards
You have more access to tools, resources and skilled
personnel for Custom Web Publishing solutions. If
you know standard XML or XSLT, then you can start
developing solutions after learning a few unique details
about Custom Web Publishing with XML, such as the URL
syntax and query parameters to use.
If you know standard XML, then you can start using the Web Publishing Engine after learning a few unique details
about Custom Web Publishing with XML, such as the URL syntax and query parameters to use. By using HTTP
URL requests with FileMaker specific query commands and parameters, you can query a database hosted by
FileMaker Server and download the resulting data in XML format.You can also use the Web Publishing Engine
server-side XSLT stylesheets to filter the XML data, reformat the data into HTML or text, or transform the data
into other XML grammars such as Scalable Vector Graphics (SVG), PDF, RTF and many others.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 16
What is XSLT?
Extensible Markup Language (XML) is a subset of the Standard Generalized Markup Language (SGML). SGML
(Standard Generalized Markup Language) is the international standard meta language for markup. XML uses tags
similar to CDML. XML, however, is also extensible so it does not have a fixed set of tags. XML is used to design
markup tags. XML, however, uses tags only to delimit pieces of data. The interpretation of the data is actually left to
the application that reads it.
XML is a “W3C standard”, which means that is endorsed by software industry market leaders. This universal
acceptance is what has generated all the hype about XML as a technology of the future. This is significant today
because the amount of data on the web has become overwhelming and increasingly more difficult to organize
efficiently. XML has created a niche for itself due to a need for a tool, which can handle a variety of data-intensive
tasks. With XML, data becomes far more usable and closer to its native format than if it were first flattened into
HTML. XML is a language used for describing other languages, or a “metalanguage”.
Unlike the original idea behind HTML, XML-formatted data is not usually intended for display, but instead formatted
in such a way that it can be easily handled by application programs that can render XML data.
XML can also perform similarly to the way HTML does when users view XML data in their browsers using either
Cascading Style Sheets (CSS) or Extensible Style sheet Language (XSL) style sheets.
XSLT is designed for use as part of XSL, which is a stylesheet language for XML. In addition to XSLT, XSL includes
an XML vocabulary for specifying formatting. XSL specifies the styling of an XML document by using XSLT to
describe how the document is transformed into another XML document that uses the formatting vocabulary.
XSLT is also designed to operate independently of XSL. However, XSLT is not intended as a completely generalpurpose XML transformation language. Rather it is designed primarily for the kinds of transformations that are
needed when XSLT is used as part of XSL.
A transformation expressed in XSLT is called a “stylesheet”. In the case when XSLT is transforming into the XSL
formatting vocabulary, the transformation functions as the stylesheet.
You can use FileMaker XSLT stylesheets to transform, filter, or format XML data for use in a web browser or in
other programs and applications.
This section introduces FileMaker XSLT stylesheets and two tools to help you get started creating XSLT
stylesheets—the Site Assistant and the CDML Converter.
Creating XSLT with Site Assistant
The FileMaker Site Assistant is an application that can be used to create basic XSLT stylesheets as a starting point
for use with Custom Web Publishing with XSLT. The Site Assistant is a good way to learn how FileMaker XSLT
stylesheets are constructed.You can then use your own XSLT stylesheet authoring or text editing tools to modify
the stylesheets as necessary.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 17
You cannot use the Site Assistant to edit or update existing stylesheets, but you can use the Site Assistant to
generate the initial stylesheets for an entire site, or a single stylesheet to add basic functionality (such as deleting
records) to an existing site. Users leverage existing FileMaker Pro layouts, and except for the summary report,
users only have to specify which layout to use for a given XSLT file. Site Assistant then takes the field list and the
field formatting options set for those fields on the specified layout, and creates an XSLT appropriate to the page
function (i.e.: searching records, viewing a list of records, etc).
Users can use the Site Assistant to generate XSLT stylesheets for all of the types of pages that are useful for
working with FileMaker Pro 8 databases via Custom Web Publishing. Depending on the options you choose in the
Site Assistant, you can create a site that allows users to:
•
•
•
•
•
•
•
•
•
Browse a single record at a time
View a list of all the records in the database
Search the database and view the results in a list
Sort records
Add records
Edit and duplicate records
Delete records
View a summary report
You can also generate an optional home page that is linked to the other generated XSLT stylesheet pages.
The Web Publishing Engine uses each stylesheets to dynamically obtain data from a FileMaker Pro 8 database
whenever a web user sends an HTTP request and a URL that references one of your XSLT stylesheets. The Web
Publishing Engine uses a stylesheet to transform and format the XML data, and generates the resulting HTML page
that the web user can then work with in their browser.
For information on installing and using Site Assistant, see your user documentation.
Who Should Use Site Assistant
There are two target audiences for this tool:
•
“Beginner Level”: includes those new to Custom Web Publishing (CWP) with FileMaker.
•
“Intermediate Level”: includes FileMaker users who already know some XSLT, or who are already
comfortable hand coding CWP pages with CDML.
Both sets will have the same basic need, to easily create XSLT files for getting data out of FileMaker Pro 8 databases
and presenting it over the web in HTML format. Since Site Assistant leverages the field settings from existing
FileMaker Pro 8 layouts, these users will not have to learn new paradigms for setting up layouts in Site Assistant.
Thus, Site Assistant is used only to generate the XSLT code, which could be unfamiliar (at first) to these target groups.
The Site Assistant may not offer enough flexibility to meet the potentially higher demands of the intermediate user.
These users may want the flexibility to create everything from an entire site to just one page to integrate with
their existing web site.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 18
For more advanced XSLT generation, a third party XSLT editing tool may be used to apply additional formatting to
the XSLT pages. For an updated list of existing XSLT authoring tools, consult the FileMaker XML Central section of
the FileMaker Website (http://www.filemaker.com/xml/).
Converting CDML to XSLT with FileMaker CDML Converter Tool
In FileMaker 8, XSLT replaces CDML (a FileMaker proprietary markup language) as the Custom Web Publishing
language for FileMaker Pro 8 databases. FileMaker no longer supports CDML. Server –processed XSLT has been
chosen as the replacement for CDML as the Custom Web Publishing (CWP) technology, and developers need
these tools to assist them when migrating existing CDML pages to XSLT pages. Developers may also need example
XSLT pages to compare corresponding CDML pages to help them learn about XSLT authoring and this tool will be
very useful in that regard.
To migrate web sites from CDML format files to FileMaker XSLT stylesheets, use the FileMaker CDML Converter.
About the FileMaker CDML Converter
The FileMaker CDML Converter is an application that converts working CDML format files into XSLT stylesheets
that are compatible with Custom Web Publishing with XSLT. It is a useful tool for beginning the process of CDML
web site migration and for learning how FileMaker XSLT stylesheets are constructed.
Before using the CDML Converter, it is recommended that you copy the CDML format files from the production
environment to a temporary working directory. After using the CDML Converter, you will need to examine the
generated stylesheets and conversion log.
In some cases, the converted XSLT stylesheets are ready for use with FileMaker Server 8 Advanced without any
further modification. In other cases, the CDML Converter may be unable to convert all of the CDML tags to XSLT
stylesheets and you will need to do some manual editing of the converted XSLT stylesheets.
You can use your own XSLT stylesheet authoring or text editing tools to modify the stylesheets as necessary. Some
changes to the database may also be required if CDML format files are referenced in database records. This is
because the names of the converted XSLT stylesheets will use the .xsl filename extension.
You can only use the CDML Converter to convert working CDML format files into new stylesheets.You cannot
use it to edit converted XSLT stylesheets.
To use the CDML Converter and migrate the CDML web site to XSLT effectively, you should be an experienced
CDML developer and you should be familiar with Custom Web Publishing with XSLT.
The tool is supported on all platforms and languages supported by the Web Publishing Engine product. The
supported systems are: Mac OS X, Windows 2000 and Windows XP.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 19
Note: The generated XSLT stylesheets transform FileMaker Pro 8 data into HTML pages based on the
FMRESULTSET XML grammar and therefore can not be used with the FileMaker Pro XML import/export functions.
For more information on how to install and use the Conversion Tool, see your user documentation.
Checking and fixing the generated stylesheets using the Conversion Log
After using the CDML Converter, you can obtain error information about the conversion process by reviewing
the conversion log that is shown in the CDML Converter window, or by opening the conversion log file in the
destination folder.
The conversion log file is named cdml2xsl_<datetime>.log, where <datetime> is the date and time at the start of
the conversion.
Each line of the log contains a separate entry in the log, and is terminated with a new line character. The first log
entry contains the date and time of the start of the process, and the source and destination directory names for
conversion. All subsequent entries indicate whether a file was converted, copied or a conversion error or warning.
If a warning or error occurs during the conversion, the CDML Converter adds a message to the conversion log and
inserts an XSLT comment tag into the converted XSLT stylesheet with a description of the problem. The errors
and warnings will be indicated by one of the following in XSLT comment tags in the converted XSLT stylesheet:
<!-- CDML Converter ERROR: <description of error> -->
<!-- CDML Converter WARNING: <description of warning> -->
The CDML Converter uses a specified set of CDML to XSLT mapping rules to convert the CDML format files.
All conversion errors result from situations where the CDML Converter could not automatically determine the
correct CDML to XSLT conversion.
For all conversion errors, you must either manually fix the cause of the error in the CDML file and then convert the file
again, or use a text editor or XSLT stylesheet editor to manually fix the problems in the converted XSLT stylesheets.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 20
For a complete list of conversion errors see the FileMaker Server Advanced Custom Web Publishing Guide,
Appendix C (page 98).
Once your files have been modified to remove errors, you can upload the to your web server for testing in a web
browser.
CDML from Home Page considerations
CDML format files originally generated by the Claris Home Page ‘Site Assistant’ require special processing due
to the less than well formed HTML that could be generated. Most web browsers are able to render the HTML
generated by the Site Assistant in Home Page, however since this HTML is not valid XHTML, the converted code
will not be parsed correctly by the Web Publishing Engine.
To fix this problem, the Converter Tool will run special processing on Claris Home Page Site Assistant generated
files that it finds and make these files XHTML compliant.
The CDML Converter fixes several instances of malformed HTML that are generated by Claris Home Page,
assuming that the metatags are included in the beginning of the HTML page. If the metatags have been removed, the
CDML Converter will not fix the malformed HTML.
There may be other instances of malformed HTML in Claris Home Page or other HTML files that the CDML
Converter cannot fix and convert properly to XHTML, which is more strictly constructed than HTML. In cases where
malformed HTML was not converted correctly, you must manually fix the XHTML in the converted stylesheet.
Who Should Use the FileMaker CDML Converter Tool
The audience for this tool are experienced CDML developers. The Conversion Tool users need to understand the
HTML and CDML tags being converted, and the CDML to XSLT conversion process.
Additional education on XSL is advised, and many third party resources are available. For an updated list of third party
resources, consult the FileMaker XML Central section of the FileMaker Website (http://www.filemaker.com/xml/).
Instant Web Publishing in FileMaker Pro 8
The third method for publishing your FileMaker data to the web is called Instant Web Publishing. This section will
review new features in Instant Web Publishing and compare the user experience in FileMaker Pro 8 to the new web
browser experience in Instant Web Publishing.
Following a long line of improvements since FileMaker Pro 4, the new and improved Instant Web Publishing is
easier to set up and manage, and provides end-users with a richer experience in the browser that is closer to the
experience of using the FileMaker Pro desktop client than ever before.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 21
Unlike the Custom Web Publishing options, this method requires no authoring of web pages and no need to know
HTML. Instead, Instant Web Publishing users need just configure the database, the database security and configure
the application to share data leveraging its existing interface.
Instant Web Publishing architecture now provides web browser access with a standard, client-session model,
similar to the way network sharing is now handled. When web users connect, individual, multi-threaded sessions
are maintained—like web applications, their transactions are “remembered” across multiple screens. To the host
machine, there is no difference between a session started from a web client or a FileMaker Pro 8 client. This means
that tasks performed by web users, such as creating found sets and sorting and navigating records, no longer
affect the database on the host computer. FileMaker Pro 8 and FileMaker Pro 8 Advanced will support Instant
Web Publishing with a 5-session limit, which is available with the current release. Solutions requiring more than 5
sessions are supported by the Web Publishing Engine available in FileMaker Server 8 Advanced.
Without being an HTML expert, you can create a solution using FileMaker Pro 8 or FileMaker Pro 8 Advanced and
share it easily with web browsers. New, improved features in FileMaker Pro 8 Instant Web Publishing provide a rich
web experience at a low cost and without compromising function or security.
Improvements to Instant Web Publishing
Instant Web Publishing allows the sharing of a FileMaker Pro 8 database with users via web browsers without
requiring coding of HTML or any web page design. Instant Web Publishing has a brand new architecture, a unified
security model, is simpler to set up and publish, and is now closer to the FileMaker Pro experience.
Some of the improvements from previous versions include:
•
You can now publish any number of FileMaker Pro 8 layouts directly to the web.You are no longer
restricted by a limited number of predefined web styles (“Wheat”, etc) with implicit functional differences.
This streamlines database design because now developers can create one solution that works for all
clients, whether sharing over the network or the web.
•
Access to data, layouts, and fields is based on user accounts and passwords defined in the desktop
application. Accounts can be set up with or without Instant Web privileges. The same account can be used
for logging in via the network or a browser.
•
Web users can perform more complex, multi-step scripts. The ScriptMaker™ feature in FileMaker Pro 8
is useful for automating frequently performed tasks, or for combining several tasks. When used in Instant
Web Publishing, it can allow web users to perform more tasks, or to easily perform a series of tasks simply
by clicking a button. FileMaker Pro 8 now supports over 70 script steps with Instant Web Publishing and
Custom Web Publishing. Web users can perform a variety of automated tasks when you provide buttons
on your FileMaker Pro layouts or set scripts to run when a database is opened or logged out. To assist
the developer in determining which script steps are supported, dimmed script steps in the ScriptMaker
configuration window indicate scripts not supported on the web. Developers can now consider web
deployment functionality while developing the solution.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 22
•
FileMaker Pro 8 Instant Web Publishing provides end users a richer experience, more like the desktop
FileMaker Pro client than ever before. Design your solution with FileMaker Pro 8 or FileMaker Pro 8
Advanced and share it with users via their web browser. Manage layouts and views in the same way as
desktop users. Design the layout and decide if it is appropriate for use by each type of user (web or network
or both). To help developers bridge network and web functionality, Instant Web Published pages now use the
same functionality for end user functions (i.e. “Finding” records instead of “Searching” in pervious versions).
•
The Instant Web Publishing interface now supports Sort pop up menus, providing a sort dialog identical to
the dialog displayed to desktop users when executing a sort command.
•
Views are now associated with the current layout selected, not linked to a single, pre-defined layout as in
previous versions.Views now include List View in addition to the existing Form View and Table View.
•
Find mode allows more flexible and powerful searches—web users can now perform multiple find
requests, omit search criteria, and extend (broaden) or constrain (narrow) existing find requests. All find
options have now been made available in the improved status area while users are in Find Mode.
•
Access privileges are more tightly integrated with the database schema, so developers can now take
advantage of new security options.
Instant Web Publishing Modes
Instant Web Publishing provides web users with an interface experience similar to that of FileMaker Pro 8 desktop
client. Users can interact with specified databases in their browser by using one of three “modes”: Browse Mode,
Find Mode and Edit Mode.
Each mode has its own status area configuration and corresponding functionality.
Browse mode
After logging into the database in a web browser, users are first presented with the database functions in Browse mode.
In Browse mode, web users perform tasks by clicking on an icon in the status area. If their account name and
privileges provide access, they can:
•
•
•
•
•
•
•
•
Create records
Duplicate records
Delete records
Sort the found set (based on fields on the current layout)
Show all records
Omit the current record from the found set
Omit multiple, consecutive records from the found set
View the omitted records (and hide the existing found set)
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 23
The status area in browser mode has been enhanced and is more like the desktop experience than previous versions.
After entering or editing data in a record, web users must click the Submit button in the status area to save the
record to the host.
For help understanding the new buttons and their functions, users can hold the cursor over an icon to see its
description.
Procedures are also outlined in the Instant Web Publishing Help. To view the Help file, user need only click the
Question Mark (?) at the top area of the status area.
Find mode
While in Browse Mode, web users can also perform searches on the database they are accessing by clicking on the
magnifying glass icon.
Once in Find mode, web users now have the same searching capabilities as FileMaker Pro 8 desktop users. They can:
• Create additional find requests
• Duplicate find requests
• Delete find requests
• Show all records
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 24
•
•
•
•
Specify “Omit” criteria
Use the same logical operators available to desktop users for wild card substitutions, ranges, etc
Extend (broaden) or constrain (narrow) the found set
Perform complex AND / OR searches
The status area in Find Mode has been enhanced and is more like the desktop experience than previous versions.
After entering or editing search criteria in a find request, web users must click the Submit button in the status area
to send the request to the host.
Procedures are outlined in the Instant Web Publishing Help. To view the help file, click the Question Mark (?) in the
status area.
Edit mode
Web users can also edit records by accessing the Edit Mode. Users with appropriate privileges can enter edit mode
by simply double clicking on any field while in Browse Mode.
Once Edit Mode is achieved, users are presented with a different status area and all fields on a layout are then
available for editing of content.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 25
After edits to data are made, users will then need to click on the ‘Submit’ button to commit their changes, or they
can cancel out of the edit by pressing the ‘Cancel’ button.
Procedures are outlined in the Instant Web Publishing Help. To view the help file, users can click the Question Mark
(?) button in the status area.
Displaying a database with the Instant Web Publishing status area hidden
Although all functionality is presented to Instant Web Publishing users in the new status area, developers may want
to provide controlled access to functionality by leveraging the 70 Web-compatible script steps, and will therefore,
not need the status area. Instant Web Publishing allows developers to suppress the status area and control user
access to data through supported scripting.
Like the desktop version of FileMaker Pro 8, you can create a script that hides and locks the status area when the
database is opened in a web browser. This allows you to design a custom interface. If you choose this method, you
should keep these points in mind:
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 26
•
When you lock the status area, you must manually create scripts and buttons that offer users all the
necessary functionality. For example, you must create buttons so users can create new records, enter
edit mode to modify data, delete records, change layouts, and so on. It is very important to carefully test
your database files to make sure you have provided web users access to all critical features.
•
Properly secure your data, you must create a script that logs web users out of the database and closes
the session.
If you decide to control access by suppressing the status area, you should provide documentation to help users
interact with your data from your custom environment, as most of the instructions included in the Instant Web
Publishing Help file will not be appropriate.
Instant Web Publishing compared to FileMaker Pro 8 Desktop
Although the new Instant Web Publishing interface is more like the desktop version than ever before, developers
must be careful not to assume that the experience is identical. Since the database is really just being rendered for
use in the browser application, not the desktop version of FileMaker Pro, many functions are NOT available.
Developers intending to share their databases with Instant Web Publishing must first become familiar with the
functions that can be performed with FileMaker Pro, but not via Instant Web Publishing. Then, they can decide which
deployment option best suits their needs and the needs of those sharing their databases.
Certain Script Steps are not Supported
Supported script steps are visible during script authoring
by selecting the “show web compatible scripts” option in
ScriptMaker. Unsupported script steps will show as dimmed.
No Import / Export Support
Web users cannot directly interact with the hard drive, so
import/exporting data, drag and drop, and automation with
OLE, ActiveX, and Apple Events will not work.
Spell-Checking
Web users cannot spell check their data in the browser.
No Email or Desktop Application
Integration
FileMaker Pro 8 contains very powerful emailing and
application integration options that are not available in
supported browsers. The FileMaker Pro 8 application must
be present to facilitate these requests.
No direct Plug-In or Driver support
(JDBC) through IWP in browser
Since there is no direct connection with the application
through the web browser, there is no way for plug-ins and
drivers to be connected and configured. These may only be
used by the desktop application or may be handled server
side instead.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 27
Browser Provides a “Runtime Only”
interface
IWP users cannot develop or design databases in the web
browser. Files are simply rendered for display in a browser,
the session experience does not actually duplicate the
desktop application. There are no customization features
available on the web. Although web users can choose
layouts and different layout views, they cannot add, delete,
or modify fields, layouts, scripts, relationships, and so on.
Dynamic value list
The web user cannot edit or add value directly to the value
list as they can in desktop. Fields formatted as a checkbox
set or radio button set may wrap differently than they do in
FileMaker Pro 8. For best results, arrange these fields with
the value lists displayed horizontally.
Limitations on interacting with records
and fields
Whereas FileMaker Pro 8 is a client that stores data locally,
operates on it, then sends back to host. Example: Active
records moving to top of list clicking into “3rd” record in
list moves that record to the top of the list for editing. Web
users can only enter data in text, number, date, or time
fields; they cannot enter or modify container field objects
like images, sounds, and QuickTime files
Reporting
Web users cannot enter data with rich text formatting
(RTF). Web users cannot view and print complex, multipage reports.
Key Commands
FileMaker Pro 8 keyboard commands are not available for
use in the web.
Instant Web Publishing files from previous versions of FileMaker Pro
For those developers migrating their web published solutions from previous version of FileMaker Pro, there are
some things to consider before converting files that are presently shared with Instant Web Publishing:
•
You are no longer limited to picking a couple of layouts for web views—now, layouts are available to
web users, based on their user accounts. The web styles available with FileMaker Pro 6 and earlier are no
longer supported. After you convert your files, re-evaluate which layouts should be available on the web to
each user account.
•
The access privileges model has been improved. Consider re-assigning user names and passwords to take
advantage of the integrated security model.
•
Script support for the web has been enhanced.
-
Access privileges for web users can be set to allow execution of specific, individual scripts and
prevent execution of others.
-
ScriptMaker™ script steps are now clearly indicated as “web compatible”; special scripts can be
created for web users. After converting your files, open each script that web users might run
and enable indicate web compatibility to see if your scripts contain steps that might produce
unexpected results when executed from a web browser.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 28
•
Web users can now dynamically choose a layout view to work with data, toggling between Form View, List
View, and Table View.You can limit access to a view in the Views of the Layout Setup dialog box.
•
Dynamic custom home pages are no longer supported with Instant Web Publishing. However, you can link
to an open database shared with Instant Web Publishing.
•
Custom Web Publishing is not supported in FileMaker Pro 8. FileMaker Server 8 Advanced provides
support for Custom Web Publishing, including the delivery of XML data, and other technologies.
Securing Your Web Published Solutions
When publishing FileMaker Pro 8 data to the web, developers take on the responsibility of securing access to their
data. FileMaker Pro 8 now has one security model for both FileMaker Pro 8 and the Web Publishing Engine.
In the past, FileMaker products have provided different methods for securing web published data. Many of the
options depended on how you intended to share your data. Developers could extend the FileMaker built-in access
privileges when using Instant Web Publishing or Custom Web Publishing option. FileMaker also added the ability to
configure a ‘Web Security Database’ that would contain access configurations specific to web users only. However,
in both cases ‘turning on’ web access meant making the entire database available for all users to access. There has
previously been no way to control a user’s ability to connect to a solution via IWP versus connecting from CWP.
With FileMaker Pro 8, one of it’s more significant changes is the way that access is configured. The Unified Security
Model, now part of FileMaker Pro 8, allows developers to create individual accounts for user access and within
these accounts are instructions on specific levels of access. Not only has the access become more flexible, now
developers can specify which methods of web sharing are allowed for each.
Extended Privileges
In previous versions, setting up passwords and groups allowed developers to grant certain levels of access to users.
Users can now have accounts assigned that can control each individual user’s level of access to the files.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 29
Account names and passwords are assigned to each account and within those accounts there are additional
‘privilege sets’, which determine the level of access granted to that account once logged into a database. These
privilege options can control access to functions like printing, exporting, data entry. Sets can also be configured on a
record level with specific privileges set up for accessing specific layouts, value lists and even scripts.
The FileMaker Pro 8 accounts and Privileges model includes an extensible architecture for controlling web
technology access at the accounts/privileges level within each file.
These special ‘Extended Privileges’ have been added to determine the data sharing options that are permitted by a
file. Whether or not a file can be accessed via a web technology is controlled by the web technology privileges set
in the new Extended Privileges in the Accounts and Privilege Sets manager.
You can enable extended privileges to access files shared with a FileMaker Pro 8 network, FileMaker Mobile 7,
ODBC and JDBC, via Instant Web Publishing or Custom Web Publishing with XML or XSLT.
The Instant Web Publishing Extended Privilege is one of the default options for each FileMaker Pro 8 file. However,
the Custom Web Publishing or Extended Privilege need to be added to each file that is to be published to the
web using XML or XSLT, similar to the process for enabling the Web Companion in each file in pervious versions.
Developers should know this Extended Privilege is NOT included in the default Privilege sets. The Custom Web
Publishing Extended Privilege, for example, needs to be added to the file, and then Privilege Sets need to be enabled
for this privilege according to how users are allowed to access the file. For example, the Custom Web Publishing with
XSLT, supported by the WPE and FileMaker Server 8 Advanced, require a specified Extended Privilege of “xslt”. XML
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 30
queries will be supported by FileMaker Server 8 Advanced only via the Extended Privilege ‘fmxml. These Extended
Privileges must be added manually to a database that is intended for web publishing on FileMaker Server 8 Advanced
and the WPE.
Once Extended Privileges are set up, they can then be assigned to accounts. Inside the ‘Edit Privilege Set’ window is a
list of each defined Extended Privilege set for each file. Instant Web Publishing users can be assigned to the IWP set
and those who will need access via CWP can be assigned the CWP set. This account can also be assigned additional
sets such as access to the network or FileMaker Mobile 8.
User accounts can also be set up to exclusively share via specified web deployment options only. These Extended
Privileges are added to a file then assigned to the appropriate Privilege Sets, then assigned to accounts. Each set can
contain multiple Extended sets, but any one account has only one privilege set assigned.The Extended Sets cannot be
assigned to Privilege Sets from within FileMaker Server 8 Advanced and the WPE, only by using FileMaker Pro 8.
These login and password restrictions are controlled by the database engine. For web technologies, when a user
attempts to be authenticated to gain access to the database, the web technology queries the database to see if the
user has privileges to connect via that type of technology.
Remember that standard desktop access privileges assigned to the user’s account will be carried over to the web. If
a user is restricted from editing data on the desktop, they will also be restricted on the web. The Extended Privilege
only assigns the privilege of accessing a solution through a web technology and does not have effect on assigning
what the user can do once the user has accessed the database.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 31
There is still support for http authentication for FileMaker Pro 8 based web publishing. However, this authentication
does not provide encryption of the username and password information between the browser and the web server.
Users who require that security will need to provide their own encryption.
An account must be defined as “authenticated via FileMaker” in the database. FileMaker Pro 8 will not authenticate
accounts without this setting.
When developing solutions to be shared on the web, specific levels of access should be taken into consideration for
each method of sharing.
Defining accounts and privilege sets for files protected by the Web Security Database
If you previously relied on the Web Security Database for web-based security, you must now set up those accounts,
passwords, and privilege sets for users in your converted database files. User definitions and field restrictions formerly
stored in the Web Security Database must be set up in converted database files you plan to publish on the web.
Web Server Security
The web server application performs the critical task of processing and fulfilling requests for data when you publish
databases, images, and other content on the web. When users enter a web address into their browser, they are
requesting the web server software at that address to locate data or an image and download it to their computer,
where it can be displayed in their browser. To protect the integrity of this process, your web server has its own
security mechanism.
If you host databases with FileMaker Server 8 Advanced, you must use a third-party Web Server application;
Microsoft Internet Information Server (IIS) or Apache Web Server, to publish files on the web.You can take
advantage of additional security features, like SSL encryption, to transport data from the host to the web clients
more securely.
For web-shared solutions consider configurations with two (or more) computers separating the database from the
web publishing components, firewalls, SSL and other standard Internet technologies. This protects access to your
files and protects the communication between web users’ browser and the server.
Review settings for remote access, such as file sharing and FTP, to ensure that direct access to upload or download
files from the host computer are restricted in a manner that prevents inappropriate access to your files.
When you host a FileMaker Pro 8 database using TCP/IP, you might be allowing uninvited visitors access to your host
computer and internal network. A firewall is essential to separate your network and protect files “behind the firewall,”
which prevents users on the outside of the firewall from accessing any TCP/IP addresses that you have not exposed.
FileMaker 7 web publishing uses basic http authentication, however this does not provide encryption of the
username and password information between the browser and the web server. Users who require security over
the web will need to provide their own encryption. FileMaker 8 custom web publishing will continue to use basic
http authentication, however FileMaker 8 Instant Web Publishing now uses forms based authentication.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 32
Conclusion
Publishing FileMaker Pro 8 data to the web has never had more power and support. Learning about these new
technologies and the FileMaker Server 8 Advanced web serving architecture can help developers make the most of
the new line of web products.
XML represents the future of the way we interact with and share data. FileMaker Pro 8 and FileMaker Server 8
Advanced have the tools that you need to adapt to the future of data management.
The best thing you can do for your web solutions or your skill set is to take time out now to learn about XML and
XSLT stylesheets and about the new FileMaker web publishing model with FileMaker Server 8 Advanced.
For more information visit the FileMaker.com web site and the XML Central section for information on CWP and XSLT.
Also consult your product manuals that ship with FileMaker Server 8 Advanced, the “Custom Web Publishing
Guide”, the “Web Publishing Engine Install Guide”, and the “FileMaker Instant Web Publishing Guide.”
Custom Web Publishing with XSLT for FileMaker Server is based on the W3C recommendation for XSLT 1.0. For
information on XSLT 1.0, see www.w3.org
www.w3.org.
About the Author
Cris Ippolite [[email protected]
[email protected]] is President and Founder of iSolutions, a FileMaker consulting and
development firm in Los Angeles. Cris has written eleven articles on FileMaker and the Web for FileMaker Pro
Advisor Magazine as well as a white paper on using Flash and Lasso. Cris also speaks at MacWorld Expo, FlashForward Expo and is a featured speaker for the FileMaker Developer Conference speaking on topics ranging from
FileMaker and the Web and FileMaker Development Processes. He has been working with FileMaker for 12 years
and is also one of 25 FileMaker Partner level FSA members. iSolutions is a pioneer in Flash FileMaker development
and also leads the industry in development process methodology. For more on iSolutions’ services, visit
http://www.isolutions-inc.com/.
http://www.isolutions-inc.com/
©2005 FileMaker, Inc. All rights reserved. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other
countries, and the file folder logo and ScriptMaker are trademarks of FileMaker, Inc. All other trademarks are the
property of their respective owners. The example companies, organization, products, domain names, e-mail addresses,
logos, people, places and events depicted are purely fictitious, and any resemblance to existing persons and companies
is purely coincidental. Product specifications and availability subject to change without notice. (Doc v3)
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 33
THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, AND FILEMAKER DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR THE WARRANTY OF
NON-INFRINGEMENT. IN NO EVENT SHALL FILEMAKER OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES
WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS
PROFITS, PUNITIVE OR SPECIAL DAMAGES, EVEN IF FILEMAKER OR ITS SUPPLIERS HAVE BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION
OF LIABILITY. FILEMAKER MAY MAKE CHANGES TO THIS DOCUMENT AT ANY TIME WITHOUT NOTICE.
THIS DOCUMENT MAY BE OUT OF DATE AND FILEMAKER MAKES NO COMMITMENT TO UPDATE THIS
INFORMATION.
Upgrading to FileMaker 8: How to benefit from powerful new Web Publishing capabilities
page 34