Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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