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:
- If somebody's working on the host computer, chances are they're doing more than just FileMaker. The more you do on a computer, the more likely it is to crashespecially after you contract the next email virus. The host in a peer-to-peer setup can sometimes be unstable. You probably don't want your database server interrupting your office workflow. But more serious than that, databases that crash often are likely to get corrupted. And that's not safe for your data.
- FileMaker Pro is designed for using databases, not hosting them. It does an admirable hosting job, but it simply wasn't built for speed or large numbers of simultaneous users.
- As you remember from Chapter 1, you should close databases before you back them up. But if they're open on a host computer, you have to disconnect all the guests before closing the files. This necessity makes midday backups a little inconvenient.
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:
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.
|
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.
|
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.
|
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.
|
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.
|
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
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
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
- When you choose the Back Up Databases type, you next choose which databases to back up. You can opt to back up all databases, or just those in a particular folder. You also choose where to save the backups. FileMaker suggests you use the default backup folder set in the server configuration, but you're free to enter a different path if you want.
- The Run Script File option is available only after you've added a script to FileMaker's Scripts folder (C:
Program Files images/U2192.jpg border=0> FileMaker images/U2192.jpg border=0> FileMaker Server 7 images/U2192.jpg border=0> Data/Scripts in Windows, Hard Drive images/U2192.jpg border=0> Library images/U2192.jpg border=0> FileMaker Server 7 images/U2192.jpg border=0> Data/Scripts in Mac OS X). When you choose the Run Script File type, FM Server Admin lets you pick one of the files in this folder from a pop-up menu. The scripts can be batch files, shell scripts, runnable programs, or (in Mac OS X) AppleScripts. - Send Message, you get to enter the text of the message you want FileMaker to send at the scheduled time.
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:
- The simplest schedule type, Once, has only one optionthe date and time you want the task to run.
- If you choose Daily, you first pick a start date. Then you decide how often you want the schedule to run (every day, every other day, every third day, and so forth). You can specify an end date and time if you want the schedule to stop running at a predetermined time in the future. If you don't enter an end date, the schedule runs until you manually disable, change, or delete it. Finally, if you want the schedule to run periodically throughout the day, you can tell FileMaker Server to repeat the task. You get to decide how often by specifying a number of minutes or hours.
- The Weekly type has even more options. You still get a start date and time, an optional end date and time, and the option to repeat the task throughout the day. But you also get to decide which days of the week the task should run (so you can skip weekends, for instance).
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:
- Network KB/sec shows you how much data is being transferred over the host computer's network connection every second. By comparing these numbers to the speed of your network, you can decide if the speed of your network interface is limiting performance.
- FileMaker Pro Clients shows how many people have connected to the server. You can use these numbers to help you set the maximum number of users in the server configuration window.
- Files shows how many open databases you've had, which can help you set the server's maximum number of hosted files.
- Disk KB/sec tells you how much data FileMaker is writing to and reading from the disk each second. In conjunction with disk benchmarking tools, this information can help you decide if a faster disk system will improve performance.
- Cache Unsaved % indicates what percentage of the new data in the disk cache has not yet been flushed to disk. Ideally this number should be low (under 5 percent). If it's often higher, you might want to decrease the cache flush interval to reduce the likelihood of lost data if the system crashes.
- Cache Hit % tells you how often FileMaker can find what it needs in its cache. Every time it looks for data from the database, it checks the cache first. If it can't find what it's looking for, it reads data from the disk instead. Ideally, increase the cache size and/or add more memory to the server computer to keep this number above 90 percent.