FileMaker Server

Using FileMaker Pro on an ordinary desktop computer to host your files is easy and decidedly inexpensive, but it has some pretty severe drawbacks. First, it can handle no more than five guests at once. If you have more, you have to find a better way. There are some less obvious problems as well, including the following:

The answer to all these problemsand moreis FileMaker Server. It's a special piece of software designed for one thing: turning a dedicated computer into a lean, mean, and stable database host. When FileMaker Server hosts your databases, you can have 250 guests connected at once. Since it runs on a dedicated server, it tends to be much more stable (and you can put it in the closet, where nobody will pull the plug or close the files accidentally). From a performance perspective, you can't launch FileMaker Server and use the database directly. In fact, it has no windows, menus, or dialog boxes at all (there is an administration tool through which you can monitor the server and make changes to it, though). Instead, it's a true server (sometimes called a service), designed specifically to share data over the network. Finally, it's loaded with special server-only features, including an automatic backup feature that can safely back up files while people are connected.

So what's the catch? Money. FileMaker Server costs $999, while another copy of FileMaker Pro is only $249. If you use Microsoft Windows, you've got a little more money to spend. FileMaker Server requires Windows 2000 Server or better. You can get Windows 2000 Server in several configurations, but they'll all set you back more than a copy of Windows XP. Don't be fooled, though. This cash is money well spent if your database is at all important to your business.


Tip: FileMaker Server comes in two flavors: FileMaker Server 8 and FileMaker Server 8 Advanced. Both do a fine job with FileMaker Network sharing, but only the Advanced version does those other kinds of sharingInstant Web Publishing, Custom Web Publishing, ODBC, and JDBC. If you're not sure you need Advanced just yet, don't sweat it. You can buy Server 7 today, and then trade it up to Advanced later if the need arises. This book doesn't cover the Advanced version. If you're interested in getting into big-time Web publishing, check out the resources in Appendix A.


18.3.1. File Compatibility

As you learned back near the beginning of this book, the file extension for database files created with version 7 and version 8 is "fp7." Therefore, you can do a fair amount of version mixing between FileMaker Server, FileMaker Developer and FileMaker Pro and still get good results. You could develop files on FileMaker Developer 7, but put them on a FileMaker Server 8 computer. People in your office with FileMaker Pro 7 or FileMaker Pro 8 (or FileMaker Developer 7 or FileMaker Pro Advanced 8) can each use the files.


Note: The files will open just fine across versions 7 and 8, however, some features, like Tab Controls and script variables won't work properly in version 7, so take care how you mix versions if you're using these 8-only features.


However, files prior to version 7 have to be converted before you can use them with any FileMaker product that's version 7 or above. But those good folks at FileMaker, Inc. have been careful to provide support for conversion. Both FileMaker 7 and 8 convert files from as far back as FileMaker 3. You can convert even older versions, but there's an intermediate step. Go to http://www.filemaker.com/support/updaters.html and download a trial version of FileMaker Pro version 5.0, then convert your old files to .fp5 format. Once the files have been updated, FileMaker Pro 8 can take over and get you up to .fp7-land.

If you have files to convert, be sure to check out two excellent documents on migration: "Migration foundations and methodologies" and "How to migrate existing solutions." Look for them in the Migration Topics section at http://www.filemaker.com/support/whitepapers.html.

18.3.2. Administering FileMaker Server

Once you install FileMaker Server, you can find its tools and other important files and folders on your hard drive. Normally this stuff is in C: Program Files images/U2192.jpg border=0> FileMaker images/U2192.jpg border=0> FileMaker Server 8 in Windows and Hard Drive images/U2192.jpg border=0> Library images/U2192.jpg border=0> FileMaker Server 8 in Mac OS X. For FileMaker Server to host databases, they need to be installed on the server computer. You can put them in the Data images/U2192.jpg border=0> Databases folder inside FileMaker Servers folder, and FileMaker Server finds and shares them automatically when it starts up.


Tip: If you don't want to keep your databases in this folder, you can configure FileMaker Server to look somewhere else. See Section 18.3.3.4 for details.


One of the nice things about FileMaker Server is that you can manage it from your own desktop, even though it runs on a different computer. Once you've installed FileMaker Server on the host computer, you can use the same CD to install the FileMaker Server Admin program on your computer. In fact, since FileMaker Server itself has no user interface, FileMaker (FM) Server Admin is the tool you use to configure and monitor it.

When you first install FileMaker Server, you can configure it only by running FM Server Admin on the same computer the server is installed on. This limitation prevents outsiders from configuring your server before you get a chance to. If you'd like to configure it from your desktop instead, you'll have to run FM Server Admin at least once on the host computer to turn on remove administration (you'll learn how in the next section). Once you've done that, you can run FM Server Admin on any computer and connect to the server. Sadly, unlike FileMaker Pro itself, FM Server Admin doesn't look the same across platforms. The next section shows how it looks in Windows. If you use Mac OS X instead, skip to Section 18.3.3.

POWER USERS' CLINIC

Global Fields and Multiple Users

When many people share a single database, you might be worried about global fields. If one user changes a global field, does it change for everybody? In a word, "no." FileMaker keeps global field information on the guest computer. If you change what's in the global field, it has no effect on what's in that global field for other people.

This characteristic is, in general, a very good thing. But it does have an annoying side effect. Since everyone has his or her own globals, you can't change them for other people even when you want to. If you open a shared database, change a global, and then close it, you lose your changes. The next time you open the database, the globals have the same values as the host computer.

If you're using peer-to-peer sharing, you can change the globals on the host directly to make them stick. Since FileMaker Server has no real interface, there's no way to directly modify the initial value for a global field. You have to close the files on the server, move them to another computer, open them with FileMaker Pro, make the change, and then copy them back to the server. In other words, it's a pain.

If you have globals you often need to change permanently in a multi-user system, it's often easier to simply set them from a script that runs when the database opens. Then you're sure they have the right value, and you can always modify the script if you want to change the starting value while the databases are still hosted.

 

18.3.2.1. FileMaker Server Admin in Windows

Your first job is to run FM Server Admin (it's in your Start menu after you install FileMaker Server). Right now you're not connected to a FileMaker server. To remedy that, click the link shown in Figure 18-8, or right-click FileMaker Server in the console list on the left, and choose Connect to FileMaker Server.

Figure 18-8. When you first launch FM Server Admin in Windows, you get this welcome screen. FM Server Admin is actually a snap-in for Microsoft Management Console, so this interface may be familiar to you. On the left, you see your console list, including a new entry for FileMaker Server. Oddly, the words "FileMaker Server in the right-hand section are a link. You click them to get started.

When you do, the Connect to FileMaker Server window appears. The View pop-up menu reads Local Servers, which is the most common choice; select your server from the list. On a large network, you may have to choose Favorite Servers or LDAP first, as discussed in the box on Section 18.2.1.1. Or, if you know the server's IP address, you can type it in the Address box at the bottom of the window. When you're done, click Connect.

If your desired server isn't running, FileMaker shows a message to that effect and offers to start it for you. Click Yes. (If the server's already running, you don't see this message). Once you've successfully connected, you see something like Figure 18-10.

To configure the server itself, select it from the console list on the left side of the window (it's automatically selected when you first connect). Server has six primary areas of configuration, each represented by a large icon, a label, and a description. When you click one of these, a wizard pops up and asks you a series of questions. You click your way through screen after screen trying to find the one setting you want. If you find that process too cumbersome, you can right-click the server name in the console list and choose Properties instead. When you do, you see the dialog box shown in Figure 18-9.

Figure 18-9. If you don't like the big-button approach to application design, right-click the server name and choose Properties. Here, you can quickly access all the server settings without all the fuss.

In addition to these properties, you see six items listed under the server in the console list. These items give you access to other server features. You'll learn about the items, and the configuration options, below. But first, it's time to bring the Mac OS X users up to speed.

18.3.2.2. FileMaker Server Admin in Mac OS X

You can find FM Server Admin in the FileMaker Server 7 folder in your Applications folder (it's also in your Dock if you told the installer to make an icon for it there). Launch it, and behold the Connect to FileMaker Server window. The View pop-up menu reads Local Servers, which is the most common choice; Select your server from the list. On a large network, you may have to choose Favorite Servers or LDAP first, as discussed in the box on Section 18.2.1.1. Or, if you know the server's IP address, you can type it in the Address box at the bottom of the window. When you're done, click Connect.

FM Server Admin attempts to connect to your server. (If the server isn't running, you see a message asking if you'd like to start it. Click Yes.) Once FM Server Admin has connected to the server, you see the FileMaker Server window shown in Figure 18-11.

18.3.3. Configuring FileMaker Server

Whether you're using Mac OS X or Windows, the general configuration options in FM Server Admin are the same. To configure the basic server features from Windows, right-click the server name in the console list and choose Properties. In Mac OS X, click the Configure toolbar button in the FileMaker Server window. In either case, you see a window full of tabs, similar to the one in Figure 18-12. This section explains how to fill them out.

Figure 18-10. When Server Advanced is connected to a server, its window changes a lot. The server itself is added to the console list on the left. Under it, you see several new options. In the main section of the window, you see six prominent icons with names and descriptions. These icons are buttons that lead to various configuration options.

 

18.3.3.1. Remote administration

The first thing you should do when you connect to your new server is set a password so other people can't modify the configuration. In the server configuration window, click the Administration tab. Then turn on "Require password" and, when prompted, enter a secret password. The next time you connect to this server with FileMaker Server Admin, you have to type this password before you can make any changes.

Figure 18-11. The FileMaker Server window starts off by showing you information about your server. The toolbar icons across the top of the window give you access to all the configuration options and features in FMSA. Click a button to see associated settings in the main window.

Once you've set a password, you probably want to turn on "Allow remote users to administer FileMaker Server." Once this option is on, you can run FileMaker Server Admin on any computer and connect to the FileMaker Server. This option saves you the trouble of walking over to the server to make changesjust run FileMaker Server Admin on the computer on your desk.

18.3.3.2. Clients tab

The next tab in the server configuration window is called Clients. In this tab, you can tell the server how many connections it should allow. You see two options: "FileMaker Pro and ODBC/JDBC connections" and "Web Publishing Engine sessions." But unless you have FileMaker Server Advanced, you can't make changes to the Web publishing option.


Warning: If you are installing and configuring FileMaker Server Advanced, be sure to refer to the installation manual that came with your software. This book doesn't cover configuration for the Web Publishing Engine. Configuration is easy if you follow those instructions, but painful if you decide you can go it alone.


The first option refers to how many people can connect to your server at the same time using an ordinary copy of FileMaker pro. You can also interact with FileMaker Server Advanced from other programs using ODBC or JDBC, and each of these connections also counts against the total number of connections. The second option controls how many people can connect to the server at the same time using a Web browser.

Figure 18-12. The main server configuration looks something like this. (You can see the Windows version of this dialog box in Figure 18-9.) After you've gone through each tab the first time, setting the options the way you want them, you usually only have to revisit them to make specific changes, like specifying a new backup folder or changing the number of files Server can host.

For Server Advanced, you also see a checkbox called "Allow ODBC and JDBC connections." If you intend to connect to the server from programs other than FileMaker Pro, you need to turn this checkbox on. At the bottom of the window is an option to "Set maximum idle time allowed for FileMaker Pro clients." Turn this option on, and enter a time, to automatically disconnect guests if they haven't used FileMaker for the specified period of time.

Finally, the "Allow FileMaker Pro clients to download updates automatically" option lets you deploy FileMaker plug-ins to connected guest computers when they connect to the server. Contact your plug-in provider or see Auto Update in the FileMaker Pro documentation for more information.

18.3.3.3. Databases tab

From the Databases tab, you can tell the server how many files it should be able to host. The maximum is 125, but you should use a number appropriate for your installation so FileMaker Server doesn't waste memory for files you aren't serving. The rule of thumb is to set the number about 10 percent higher than the actual maximum number of files you'll be serving.

FileMaker Server performs consistency checks on all files that are opened for the first time on FMS8, and for FM07-v8 files that were closed improperly the last time they were running. If Server detects damage, it won't open the file, but it will create an error message in the Log File. This message contains instructions for repairing the file. Advanced users (those who know how to detect and repair file damage) can turn off the "Open files without consistency check" option, but this isn't recommended for mere mortals.

You can use the Database Cache settings to improve performance. When you increase the size reserved for the database cache, FileMaker can keep more information in memory, saving it the trouble of using the disk as often. You should make the cache as large as possible if you have lots of users and/or lots of data. But you can't assign more cache than you have available on your computer. FileMaker suggests a maximum cache setting for you based on 70 percent of available RAM.

Finally, you can tell FileMaker how to distribute cache flush. In general, if the cache setting is large, there's more new information in memory, where it can be lost if the server crashes. When FileMaker Server flushes its cache, it writes the new information to the disk to protect it. To increase performance, increase the time in the "Distribute cache flush over" box. To increase data integrity, decrease this time.


Tip: For help figuring out how to configure FileMaker Server's cache, see "Statistics" on Section 18.3.4.5.


18.3.3.4. Runtime Solutions tab

As you'll learn in Chapter 19, FileMaker Developer lets you build runtime solutions. When you do, your databases have a unique file extension instead of the typical ".fp7," and FileMaker Server doesn't find and open them. To remedy this situation, you can add, edit, and remove runtime file extensions from the Runtime Solutions tab. Add a line for each extension you need FileMaker Server to open.

18.3.3.5. Default Folders tab

When FileMaker Server starts up, it automatically opens and shares every database in its "Default database folder." You can see the path to this folder in the Default Folders path. You can also add a second folder for FileMaker to search, if you want. Just turn on "Use additional database folder" and edit the associated path. Notice that the example file path ends with a "/" character. Don't forget that last slash or FM Server Admin tells you that you haven't created a valid path. Most people find the default folder works just fine, but you can change paths. If you installed FileMaker Server on your startup disk, for example, you may want to keep the databases on a different, faster disk.


Tip: Make sure the folder you're backing up to has permissions set properly! If they're not configured properly, your backups will fail and you won't get a warning dialog box. Set the owner to "fmserver" and the group to "fmsadmin." Both need read and write access.


When FileMaker Server backs up databases, it saves the backups in a different folder. You also get to specify the path to the backup folder from this tab. You can, for instance, have backups saved to a remote file server for added security, or you can make alternating backups in different folders so that you have more than one set of backups.

18.3.3.6. Administration tab

Use the Administration tab to control your server's name, and who can connect to it with FM Server Admin. You can give the server a custom name (normally it takes the host name of the computer itself). This name appears in the Open Remote File dialog box when users connect to the server.

If you want to keep people from changing the server configuration, turn on "Require password" and create a password for yourself. Finally, if you want to be able to connect to the server with FM Server Admin from any computer on the network, turn on "Allow remote users to administer FileMaker Server." (See the box on Section 18.3.4 for more detail.)

18.3.3.7. Logging tab

If you're trying to maximize your server performance, you can tell FileMaker to log usage statistics. You tell it how often to update its log, and how big the log file should be allowed to get. The usage statistics log contains information about server performance over time. You can use this information to help you understand how your server is being used and how to improve performance.

18.3.3.8. Directory Service tab

If you're managing several FileMaker Server computers, you can use an LDAP server to hold information about them and the files each one serves. This server makes it easier on your users, who use the list on the LDAP server to locate the FileMaker Server files they need. The main option on this tab tells this copy of FileMaker Server to register on your LDAP service. You have to specify the LDAP server's name and port. See your IT person or the LDAP manual to find out that server's name. The "Use Windows Authentication" option lets you access Windows Active Directory with an Account Name and Password set in this tab.

18.3.3.9. Security tab

In Chapter 16, you learned that you can separate your database accounts from the database itself using external authentication. If you plan on using external authentication, you need to tell the server. In the Security tab, turn on "FileMaker and External Server accounts." You also need to pick which accounts you want to use for authentication. Select "Use local user accounts and groups" if you intend to manage the accounts on the server computer itself. Turn on "Use domain user accounts and groups" if you want to manage accounts on your domain controller instead. Refer to Chapter 16 and your operating system documentation for more information.

From the Security tab, you can also tell FileMaker Server to show users only the files they have access to when they invoke the Open Remote File dialog box. When you turn on "Display only the databases each user is authorized to access," the server asks for a user name and password. Only databases that match this user name and password appear in the Available Files list.

POWER USERS' CLINIC

Local and Domain Accounts

If you have several FileMaker servers, or several people who all need to be able to configure the server, setting a single password for administration may be impractical. When an employee quits, you have to change the password on every server, and then let every administrator know about the change. And everybody has to share just one password for each server, which means they can't each set it to something they're familiar with (like the password they use to log into the computer in the morning). What's more, keeping track of the administrator passwords on several servers can be a real pain.

If you face this problem, you have some recourse. Instead of a single administrator password, you can essentially offload the task of managing administrators to your operating system or directory server. Just create a group called "fmsadmin" on the server computer or on your network. Then add each user who needs administrator access to FileMaker Server to this group.

Finally, turn on the "Use local user accounts and 'fmsadmin' group" or "Use domain user accounts and 'fmsadmin' group" checkbox in the Administration tab of the server configuration window. Now, whenever someone tries to configure the server, FileMaker asks them for a user name and password. These user names and passwords are the same ones they use to log into their computer. If they're in the fmsadmin group, they're allowed in. Otherwise, they aren't.

Which of these checkboxes you turn on depends on where you add the group and how your network is configured. If you use local accounts on the server computer, choose the "Use local user accounts…" option. If you use a directory server like Active Directory in Windows or Open Directory in Mac OS X, choose "Use domain user accounts…" instead. Refer to your operating system documentation for more information.

Finally, turn on "Secure connections to FileMaker Server" if you want FileMaker to encrypt data as it transmits it over the network. Encryption helps keep sensitive data more secure by making it more difficult for people to intercept. On the other hand, it slows things down slightly.

18.3.4. Other Server Options

In addition to the server configuration options just explained, FMSA has six additional screens full of information and features. In Mac OS X, you access them by clicking the icons in the toolbar along the top of the FileMaker Server window. In Windows, each section's shown in the console list as an item underneath the server name.

18.3.4.1. Summary

Click the Summary icon to see basic information about your server. You can see what version of FileMaker server you're running, information about the computer and operating system it's running on, and license information for the server. You can also upgrade your server license from this window. If you've purchased a server upgrade (to support more users, for instance, or to upgrade to Server Advanced), enter the license information at the bottom of the window, and then click Update License.

18.3.4.2. Databases

When you select the Databases icon, you see all the databases the server's currently sharing, listed by file name. If you have your databases organized by folder, the folders are listed as well. In Windows, double-click Folders to see your databases organized by folder, or double-click Files instead to see an alphabetical list of files. Mac OS X shows the databases organized by folder automatically; if you'd rather see just the files, choose Action images/U2192.jpg border=0> Databases images/U2192.jpg border=0> Hide Folders.

Under Number of Clients, you can see how many people currently have a particular file open. If the database is open and ready to share, the Status column says Normal. When FileMaker's in the process of opening a database, and preparing to share it, this column may say Opening for a short time.

FileMaker Server normally opens all the files it finds in its Database folder. But sometimes you need to close a file while others are still running. You might close a file so you can work on it on a local computer (say you need to add a script or make a lot of changes to the file). Close a file by selecting it in the list, and then choosing Action images/U2192.jpg border=0> Databases images/U2192.jpg border=0> Close Database. The Status column changes to read Closed.


Warning: It's possible to do an amazing amount of database design work while your users are working in the database. But file corruption has been reported when many users (30 or more) are accessing a file while you're doing design tasks like defining fields or creating layouts. When in doubt, it's always safest to design locally, and then put your edited files back on the server for all to enjoy.


18.3.4.3. Clients

Under the Clients item, you find a list of connected users. You can see who's connected, what computer they're connecting from, how long they've been connected, and how many files they have open. For administrators connected to the server with FM Server Admin (including yourself), you see a zero in the Number of Files column.

18.3.4.4. Schedules

FileMaker Server can perform certain tasks on a schedule you set. Tasks include backing up the database, running a script, or sending a message to everyone who's connected. Click the Schedules item to see a list of the existing schedules. You can see the name of each schedule, when it last ran, and when it'll run next. Even after you've created a schedule, you can prevent it from running (disable it) temporarily and keep it on the list in case you want to activate it again later. In Mac OS X, turn on or off the checkbox by the schedule's name. In Windows, right-click the schedule and choose Disable or Enable.

To add a new schedule, in Windows choose Action images/U2192.jpg border=0> Schedule images/U2192.jpg border=0> New Schedule. In Mac OS X, click the New button below the schedule list. The interface you use to define a schedule is different in Windows and Mac OS X, but the information you provide is the same. First, you have to choose what kind of schedule to create: Back Up Databases, Run Script File, or Send Message.

Whichever type you choose, your next job is to tell FileMaker Server when to run the task, and how often. First, you pick a schedule type: Once, Daily, or Weekly. You also choose whether you want to turn on the schedule right away. When you're satisfied with your settings, click Accept, and the new schedule appears in the list. Here are your options in more detail:

When you're trying to decide how often to backup, the main question you need to answer is "How much data am I willing to lose?" If your database does something criticallike track product orders for your business, or control your daily routine through tickler messagesyou should back up a few times a day, at least.

When you're doing major development work, you also want frequent backups of your files, just in case. Since Server's usual behavior is to make all backups into the same folder, it's helpful to make an alternate backup location so that the first backup goes into the main folder and the second backup goes into the alternate folder.

But you might have data that changes infrequently, like your products' beauty shots or personnel files. Those files can be backed up weekly. If you have a mix of these data typesconstantly changing data and relatively stable datathis might trigger a new design decision. Your stable data goes into one file and the dynamic data goes into another so that you don't have to slow your office down while large, stable files are backed up a few times each day.


Tip: Lots of designers work with their files mounted on Server even before there are multiple users working in them, since using Server to host the files creates a layer of protection in case of a crash. Think of it this way: If your computer crashes while you're designing a database, the file can become corrupted beyond repair. But if you're working in Server, the chances of corruption are much lower.


18.3.4.5. Plug-ins

If your database uses FileMaker plug-ins (Section 12.2), you may have to install them on the server as well as on each guest computer for them to work. Check the documentation for your plug-in or contact the vendor if you're not sure whether the plug-in you need works from the server or locally. If you install a plug-in on FileMaker Server, be sure to then configure the server to use it by turning on the "Allow FileMaker Server to use plug-ins" option on this tab.


Note: Not all plug-ins that work on individual computers work with FileMaker Server, so it's very important to do your research before purchase. Fortunately, most vendors offer trial versions of their products and technical support.


18.3.4.6. Statistics

To help you understand how to get the best performance, FileMaker can show historical information about the server at any time. Just click the Statistics icon. You see the following facts and figures:

Категории