35
Technology Brief Upgrading to FileMaker 7: How to benefit from powerful new Web Publishing capabilities

Upgrading to FileMaker 7 - Database Software | FileMaker

  • Upload
    others

  • View
    24

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

Technology Brief

Upgrading to FileMaker 7:How to benefit from powerful

new Web Publishing capabilities

Page 2: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t 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 7 web publishing model. Reading this document will assist you in assessing the key features and benefi ts of the new web publishing model and to plan, prepare for, and implement your strategy for migrating to FileMaker Pro Server 7 Advanced. Authored 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 7 product family.

For additional technical materials, please refer to printed and electronic manuals and online help that ship with FileMaker Server 7 Advanced.

Introduction

FileMaker, Inc. has recently released the FileMaker® 7 product line, the latest edition of the company’s database development and deployment platform. The enhanced Web Publishing features of the FileMaker 7 product line are available in the new FileMaker Server 7 Advanced product. Together these products comprise a scalable, modular web serving platform for FileMaker Pro 7 databases.

The migration from FileMaker 6 web applications to FileMaker 7 web applications will allow users to take advantage of signifi cant changes in the database serving architecture and protocols. FileMaker Server 7 Advanced is a multi-threaded, modular server environment. Each server component now plays a specifi c 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 7. In addition, we will explore options for securing your web solutions and using XSLT creation and conversion tools now available in FileMaker Server 7 Advanced.

page 1

Page 3: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

Table of Contents

About This Technical Brief .................................................................................................................................1Introduction ..........................................................................................................................................................1Improvements to FileMaker Server Architecture .........................................................................................3FileMaker Server 7 Advanced Hardware Confi guration Options.............................................................5One-Machine Confi guration..............................................................................................................................6Two-Machine Confi guration A ..........................................................................................................................7Two-Machine Confi guration B ..........................................................................................................................8Three-Machine Confi guration...........................................................................................................................9How Web Publishing requests are processed ............................................................................................ 10XML and Instant Web Publishing requests .................................................................................................. 10XSLT-Custom Web Publishing requests ....................................................................................................... 11New URL Syntax............................................................................................................................................... 12XML Grammars used by FileMaker Server 7 Advanced .......................................................................... 14Query String Parameter Changes ................................................................................................................. 14Custom Web Publishing in FileMaker Server 7 Advanced ....................................................................... 15What is XSLT? ................................................................................................................................................... 17Creating XSLT with Site Assistant................................................................................................................. 17Who Should Use Site Assistant ..................................................................................................................... 18Converting CDML to XSLT with FileMaker CDML Converter Tool .................................................... 19About the FileMaker CDML Converter ...................................................................................................... 19Checking and fi xing the generated stylesheets using the Conversion Log.......................................... 20CDML from Home Page considerations ..................................................................................................... 21Who Should Use the FileMaker CDML Converter Tool ........................................................................ 21Instant Web Publishing in FileMaker Pro 7 ................................................................................................. 21Improvements to Instant Web Publishing ................................................................................................... 22Instant Web Publishing Modes ...................................................................................................................... 23Browse mode ................................................................................................................................................... 23Find mode .......................................................................................................................................................... 24Edit mode .......................................................................................................................................................... 25Displaying a database with the Instant Web Publishing status area hidden ........................................ 26Instant Web Publishing compared to FileMaker Pro 7 Desktop ........................................................... 27Instant Web Publishing fi les from previous versions of FileMaker Pro ................................................ 28Securing Your Web Published Solutions ...................................................................................................... 29Extended Privileges ......................................................................................................................................... 29Defi ning accounts and privilege sets for fi les protected by the Web Security Database ................ 32Web Server Security ........................................................................................................................................ 32Conclusion.......................................................................................................................................................... 33

About the Author ............................................................................................................................................. 33

page 2

Page 4: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities page 3

Improvements to FileMaker Server Architecture

In the new FileMaker Server 7 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 7 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 7 Advanced Stores and serves FileMaker data to clients

Web Publishing EngineResponsible for processing FileMaker requests received from web clients.

• Web Publishing CoreData engine enabled component that specifi es the IP of the “Primary Server”. Evolution of the Web Companion that speaks to Server and renders IWP and XML.

• XSLT – CWP CoreUses the Tomcat Servlet container to handle server side XSLT Custom Web Publishing.

• Web Server ModuleMust have Web Server installed fi rst. Tomcat code that allows Tomcat and Web Publishing Engine to be connected to the Web Server. (Not for load balancing)

Confi guration ServerServer that generates and controls an interface used to confi gure Web Server Module and the Web Publishing Engine.

Web Server

Server independent from the FileMaker Server 7 Advanced installed components, which will handle the http requests. Compatible Web Server platforms are; Apache and Internet Information Server.

Page 5: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities page 4

FileMaker Server 7 Advanced manages databases for both web and network users. FileMaker Server 7 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 7 database must fi rst be created then shared on FileMaker Server 7 Advanced. FileMaker Server 7 Advanced contains the same database engine as the FileMaker Pro 7 clients, which allows these components to communicate and share data over a network. FileMaker Server 7 Advanced also contains this same database engine found in the Web Publishing Engine, allowing database fi les on FileMaker Server 7 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 specifi c 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 7 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.

Page 6: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 confi gure the Web Publishing Core and the XSLT-CWP engine, an additional support component called, the Confi guration Server is installed as part of the FileMaker Server 7 Advanced. The Confi guration Server utilizes browser-based interface to confi gure 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 7 Advanced via the Web Publishing Core’s database engine.

FileMaker Server 7 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 7 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.

page 5

Page 7: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

Now, the new FileMaker Server 7 Advanced allows ALL web serving to be done directly through the ‘multi-threaded’ 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 signifi cant 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 confi guration methods can be used to optimize the performance accordingly.

The following are recommended / supported confi gurations using one to three machines.

One-Machine Configuration

Using the new FileMaker Server 7 Advanced architecture, one machine can be used to run the FileMaker Server 7, the Web Publishing Engine, and the web server, while still allowing for a completely multi-threaded hosting foundation.

In this confi guration, all components are installed on the same machine:

This is the simplest confi guration to deploy since all components are installed on the same machine.

page 6

Page 8: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

This confi guration 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 confi guration also presents a single point of failure. If the machine goes down, all network traffi c and web traffi c will cease because there is no separation of the components.

Lower traffi c sites and low traffi c network sharing confi gurations are less susceptible to these issues, so any site or network with high traffi c from either source should consider using one of the two or three machine confi gurations below.

Two-Machine Configuration A

There are two recommended ways to confi gure the web serving components on two machines. With this confi guration, all Internet serving components are installed on one machine with FileMaker Server 7 Advanced installed on a separate machine allowing Internet components to be separated from the network-serving component.

This confi guration is an ideal confi guration from a performance standpoint, since this confi guration 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.

page 7

Page 9: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

For web published solutions that may have higher traffi c and for networks with considerable traffi c, this confi guration can be more benefi cial and stable than the one machine confi guration. However, the web server and the Web Publishing Engine are exposed outside of the potential fi rewall.

Two-Machine Configuration B

The second of the two recommended two-machine confi gurations has the web server machine separated from the machine that contains the Web Publishing Engine and FileMaker Server 7 Advanced. The Confi guration Server must live on the same machine as the web server in order to be able to confi gure the Web Server Module as well as the rest of the system components.

This confi guration offers little performance benefi t, but can adhere to IS restrictions regarding installing the WPE on the same machine as the web server. This confi guration adds the complexity of multiple machines without gaining much of the performance benefi t.

The importance of this confi guration is that it allows the web server machine to be placed outside of the fi rewall while the machine running all FileMaker Server 7 Advanced components live safely behind the fi rewall. This confi guration 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.

page 8

Page 10: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

Three-Machine Configuration

This confi guration is the most complex confi guration of all four recommended confi gurations. The web server and the Confi guration Server are on the fi rst machine, which serves as the request gateway. This machine can be separated from the other two via a fi rewall for additional security.

The middle machine then runs the Web Publishing Engine behind the fi rewall along with the last machine that runs FileMaker Server 7 Advanced.

Although this confi guration may be the most expensive because it involves purchasing three server machines, it is the best confi guration for any web published solutions that will have substantial amount of static web content (images, attachments, etc) and high traffi c 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 confi guration 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.

page 9

Page 11: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 specifi c to the “Web application” (see New URL Syntax Improvements) rather than a specifi c FileMaker product.

For instance, Instant Web Publishing will use its own “iwp” application URLs. These specifi ed 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 specifi ed.

In these cases, fi rst 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 identifi es the “xml” or “iwp” application within the URL and sends it to the Web Publishing Core.

page 10

Page 12: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

The Web Publishing Core passes the queries on to the databases indicated in the URL request via FileMaker Server 7 Advanced. After FileMaker Server 7 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 fi rst make a request for an XSLT-CWP page through a specifi cally syntaxed URL. The URLs that carry these requests will have the “xsl” application specifi ed 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 specifi ed “xsl” application and then routes the request directly to the XSLT-CWP 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 7 Advanced and therefore must handle any request for data.

page 11

Page 13: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

The Web Publishing Core then queries the databases indicated in the URL request via FileMaker Server 7 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 specifi ed. The document specifi ed 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 specifi ed 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 fi les 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-fi les” folder, which is located inside the Web Publishing folder inside the FileMaker Server 7 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-fi les folder.

Note: Custom Web Publishing with XSLT for FileMaker Server 7 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 7 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.

page 12

Page 14: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 specifi c 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 specifi es the port that the web server is using. If no port is specifi ed, then the default port for the protocol is used (80 for http and 443 for https)

Application name:

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:

iwp: generates Instant Web Publishing pagesxml: returns unformatted XML in specifi ed grammarxsl: serves XSL-CWP from server or clientcnt: serves data stored in container fi elds in FileMaker Pro 7

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 specifi es the document type.

Query String:Always the fi nal portion of the URL. Specifi es name / value parameters to the application.

Instant Web Publishing URLs are similar to XSL requests except that the document specifi ed 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’.

page 13

Page 15: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

XML Grammars used by FileMaker Server 7 Advanced

To access XML data via the Web Publishing Engine, you use a URL that specifi es 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 7 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 fl exible and optimized for XSLT stylesheet authoring with easier fi eld 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 identifi cation of summary and calculation fi elds. 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 7 database hosted via FileMaker Server 7 Advanced, you use the FileMaker query commands and parameters in a query string. For example, you can use the –fi ndall query command in the following query string in a URL to request a list of all products in a FileMaker Pro 7 database named “demo”:

http://127.0.0.1/fmi/xml/fmresultset.xml?-db=demo-lay=Web&-fi ndall

A query string must contain only one query command, such as “–new” or “-fi ndall”. 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 fi eld names, CGI parameters, fi nd operators, and sort operators. For a complete list of new query strings, please see your FileMaker Server 7 Advanced documentation.

page 14

Page 16: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 fi le 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 7 Advanced

With FileMaker® Server 7 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 7 Advanced supports Custom Web Publishing of FileMaker Pro 7 databases with server-based XSLT style sheets, which fi lter 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 7 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 7 Advanced, which hosts the published databases, does not require FileMaker Pro 7 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 specifi es 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 specifi ed in the query string request, or the results of the referenced XSLT stylesheet.

The Web Publishing Engine provides Custom Web Publishing for FileMaker Server 7 Advanced using XML data publishing and server-processed XSLT stylesheets. Custom Web Publishing provides several benefi ts:

page 15

Page 17: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

CustomizationYou can determine how web users interact with FileMaker data, and how the data displays in web browsers.

Data interchangeBy 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 confi dential database information that might otherwise be possible with client-side stylesheets.

Control and fi ltering of published data

By using XSLT stylesheets, you can control and fi lter 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 fi eld 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 specifi c 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 fi lter 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.

page 16

Page 18: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 fi xed 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 signifi cant today because the amount of data on the web has become overwhelming and increasingly more diffi cult to organize effi ciently. 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 fi rst fl attened 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 specifi es 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 general-purpose 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, fi lter, 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.

page 17

Page 19: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 fi le. Site Assistant then takes the fi eld list and the fi eld formatting options set for those fi elds on the specifi ed 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 7 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 7 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 fi les for getting data out of FileMaker Pro 7 databases and presenting it over the web in HTML format. Since Site Assistant leverages the fi eld settings from existing FileMaker Pro 7 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 fi rst) to these target groups.

The Site Assistant may not offer enough fl exibility to meet the potentially higher demands of the intermediate user. These users may want the fl exibility to create everything from an entire site to just one page to integrate with their existing web site.

page 18

Page 20: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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.fi lemaker.com/xml/).

Converting CDML to XSLT with FileMaker CDML Converter Tool

In FileMaker 7, XSLT replaces CDML (a FileMaker proprietary markup language) as the Custom Web Publishing language for FileMaker Pro 7 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 fi les 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 fi les 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 fi les 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 7 Advanced without any further modifi cation. 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 fi les are referenced in database records. This is because the names of the converted XSLT stylesheets will use the .xsl fi lename extension.

You can only use the CDML Converter to convert working CDML format fi les 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.

page 19

Page 21: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

Note: The generated XSLT stylesheets transform FileMaker Pro 7 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 fi le in the destination folder.

The conversion log fi le 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 fi rst 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 fi le 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 specifi ed set of CDML to XSLT mapping rules to convert the CDML format fi les. 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 fi x the cause of the error in the CDML fi le and then convert the fi le again, or use a text editor or XSLT stylesheet editor to manually fi x the problems in the converted XSLT stylesheets.

page 20

Page 22: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

For a complete list of conversion errors see the FileMaker Server Advanced Custom Web Publishing Guide, Appendix C (page 98).

Once your fi les have been modifi ed to remove errors, you can upload the to your web server for testing in a web browser.

CDML from Home Page considerations

CDML format fi les 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 fi x this problem, the Converter Tool will run special processing on Claris Home Page Site Assistant generated fi les that it fi nds and make these fi les XHTML compliant.

The CDML Converter fi xes 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 fi x the malformed HTML.

There may be other instances of malformed HTML in Claris Home Page or other HTML fi les that the CDML Converter cannot fi x and convert properly to XHTML, which is more strictly constructed than HTML. In cases where malformed HTML was not converted correctly, you must manually fi x 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.fi lemaker.com/xml/).

Instant Web Publishing in FileMaker Pro 7

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 7 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.

page 21

Page 23: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 confi gure the database, the database security and confi gure 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 7 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 7 and FileMaker Developer 7 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 7 Advanced.

Without being an HTML expert, you can create a solution using FileMaker Pro 7 or FileMaker Developer 7 and share it easily with web browsers. New, improved features in FileMaker Pro 7 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 7 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 unifi ed 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 7 layouts directly to the web. You are no longer restricted by a limited number of predefi ned 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 fi elds is based on user accounts and passwords defi ned 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 7 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 7 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 confi guration window indicate scripts not supported on the web. Developers can now consider web deployment functionality while developing the solution.

page 22

Page 24: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

• FileMaker Pro 7 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 7 or FileMaker Developer 7 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-defi ned layout as in previous versions. Views now include List View in addition to the existing Form View and Table View.

• Find mode allows more fl exible and powerful searches—web users can now perform multiple fi nd requests, omit search criteria, and extend (broaden) or constrain (narrow) existing fi nd requests. All fi nd 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 7 desktop client. Users can interact with specifi ed databases in their browser by using one of three “modes”: Browse Mode, Find Mode and Edit Mode.

Each mode has its own status area confi guration and corresponding functionality.

Browse mode After logging into the database in a web browser, users are fi rst 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 fi elds 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)

page 23

Page 25: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 fi le, user need only click the Question Mark (?) at the top area of the status area.

Find modeWhile 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 7 desktop users. They can: • Create additional fi nd requests • Duplicate fi nd requests • Delete fi nd requests • Show all records

page 24

Page 26: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

• 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 fi nd 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 fi le, click the Question Mark (?) in the status area.

Edit modeWeb users can also edit records by accessing the Edit Mode. Users with appropriate privileges can enter edit mode by simply double clicking on any fi eld while in Browse Mode.

Once Edit Mode is achieved, users are presented with a different status area and all fi elds on a layout are then available for editing of content.

page 25

Page 27: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 fi le, 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 7, 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:

page 26

Page 28: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

• 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 fi les 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 fi le will not be appropriate.

Instant Web Publishing compared to FileMaker Pro 7 DesktopAlthough 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 fi rst 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 SupportedSupported 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 SupportWeb 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 7 contains very powerful emailing and application integration options that are not available in supported browsers. The FileMaker Pro 7 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 confi gured. These may only be used by the desktop application or may be handled server side instead.

page 27

Page 29: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 fi elds, 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 7. For best results, arrange these fi elds with the value lists displayed horizontally.

Limitations on interacting with records and fi elds

Whereas FileMaker Pro 7 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 fi elds; they cannot enter or modify container fi eld objects like images, sounds, and QuickTime fi les

ReportingWeb users cannot enter data with rich text formatting (RTF). Web users cannot view and print complex, multi-page reports.

Key CommandsFileMaker Pro 7 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 fi les 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 fi les, 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 specifi c, 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 fi les, 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.

page 28

Page 30: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

• 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 7. FileMaker Server 7 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 7 data to the web, developers take on the responsibility of securing access to their data. FileMaker Pro 7 now has one security model for both FileMaker Pro 7 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 confi gure a ‘Web Security Database’ that would contain access confi gurations specifi c 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 7, one of it’s more signifi cant changes is the way that access is confi gured. The Unifi ed Security Model, now part of FileMaker Pro 7, allows developers to create individual accounts for user access and within these accounts are instructions on specifi c levels of access. Not only has the access become more fl exible, 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 fi les.

page 29

Page 31: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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 confi gured on a record level with specifi c privileges set up for accessing specifi c layouts, value lists and even scripts.

The FileMaker Pro 7 accounts and Privileges model includes an extensible architecture for controlling web technology access at the accounts/privileges level within each fi le.

These special ‘Extended Privileges’ have been added to determine the data sharing options that are permitted by a fi le. Whether or not a fi le 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 fi les shared with a FileMaker Pro 7 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 7 fi le. However, the Custom Web Publishing or Extended Privilege need to be added to each fi le that is to be published to the web using XML or XSLT, similar to the process for enabling the Web Companion in each fi le 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 fi le, and then Privilege Sets need to be enabled for this privilege according to how users are allowed to access the fi le. For example, the Custom Web Publishing with XSLT, supported by the WPE and FileMaker Server 7 Advanced, require a specifi ed Extended Privilege of “xslt”. XML

page 30

Page 32: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

queries will be supported by FileMaker Server 7 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 7 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 defi ned Extended Privilege set for each fi le. 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 7.

User accounts can also be set up to exclusively share via specifi ed web deployment options only. These Extended Privileges are added to a fi le 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 7 Advanced and the WPE, only by using FileMaker Pro 7.

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.

page 31

Page 33: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

There is still support for http authentication for FileMaker Pro 7 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 defi ned as “authenticated via FileMaker” in the database. FileMaker Pro 7 will not authenticate accounts without this setting.

When developing solutions to be shared on the web, specifi c 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 fi les. User defi nitions and fi eld restrictions formerly stored in the Web Security Database must be set up in converted database fi les you plan to publish on the web.

Web Server Security

The web server application performs the critical task of processing and fulfi lling 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 7 Advanced, you must use a third-party Web Server application; Microsoft Internet Information Server (IIS) or Apache Web Server, to publish fi les 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 confi gurations with two (or more) computers separating the database from the web publishing components, fi rewalls, SSL and other standard Internet technologies. This protects access to your fi les and protects the communication between web users’ browser and the server.

Review settings for remote access, such as fi le sharing and FTP, to ensure that direct access to upload or download fi les from the host computer are restricted in a manner that prevents inappropriate access to your fi les.

When you host a FileMaker Pro 7 database using TCP/IP, you might be allowing uninvited visitors access to your host computer and internal network. A fi rewall is essential to separate your network and protect fi les “behind the fi rewall,” which prevents users on the outside of the fi rewall from accessing any TCP/IP addresses that you have not exposed.

FileMaker web publishing will continue to use 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.

page 32

Page 34: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

Conclusion

Publishing FileMaker Pro 7 data to the web has never had more power and support. Learning about these new technologies and the FileMaker Serve 7 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 7 and FileMaker Server 7 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 7 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 7 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.

About the AuthorCris Ippolite [[email protected]] is President and Founder of iSolutions, a FileMaker consulting and development fi rm 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, Flash-Forward 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/.

©2004 FileMaker, Inc. All rights reserved. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries, and the fi le 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 fi ctitious, and any resemblance to existing persons and companies is purely coincidental. Product specifi cations and availability subject to change without notice. (Doc v2)

page 33

Page 35: Upgrading to FileMaker 7 - Database Software | FileMaker

Upgrading to FileMaker 7: How to benefi t from powerful new Web Publishing capabilities

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.

page 34