What Can I Do to Speed Up the Calendar?
Note than newer versions of our calendar are significantly faster.
While FileMaker 7/8 offers a lot of new capabilities, we have to remember that just because FileMaker can do something doesn’t necessarily mean that it will do it fast enough. The following notes point out features of the calendar which slow it down; if these features are not important to you, most may be easily removed. CC Calendar certainly works best on a fast machine (or on a network with a fast server). In general, the Free version of the calendar is the fastest, with the Full, Pro, and Scheduling Editions each adding features which can slow things down a bit.
The mini calendars and Year view in CC Calendar Full, Pro, and Scheduling Edition are a case in point. The blue dots on these views show the presence of appointments on a given day. These mini calendars are one of the slowest component of CC Calendar. You can increase the speed of the calendar dramatically by either removing or modifying these blue dot indicators.
Modifying the Indicators. You can get some increase in speed by changing the relationships behind these indicators so that they do not respect the calendar filters but simply show the presence of appointments for that day, regardless of what the filters are set to. To make this change on the Daily views you’ll modify the 7 relationships between “DaysFromPreviousMonth” and “AppointmentsMiniCalendarDay1” through “AppointmentsMiniCalendarDay7”. Each of these relationships is based on 6 criteria. You’ll delete the last 5 criteria so that only the date criteria remain. You’d edit the 7 relationships on the Year view in a similar fashion.
For slightly better performance you can change the date criteria to use “CalDateCalc1 = ApptStartDate” (for instance) instead of the calcs we use to build a range between start date and end date. The range is in place to support appointments that span midnight and the optional use of multi-day events. If you don’t need this support removing the less-than and greater-than operators results in slightly better performance. (This is almost the only speedup option for the Free version, save for eliminating sorting, mentioned below.)
Deleting the Indicators. To really increase the speed of the Calendar, simply delete the indicator fields from the mini calendars on the Daily views and from the Year view. These indicators are smaller fields than the days below them, so you can easily drag-select and delete them without accidentally removing other fields. Going further, you can delete all but one of the mini calendars on the daily view: leave the middle of the 3 mini calendars, deleting the top and bottom ones.
Other Indicators and Scripts. You can also delete the “Note Present” indicator on the Daily view. This is a blue dot just to the left of the appointment type. Deleting this field speeds the calendar up a little. The hours list (Pro Version only) on the Day and Week views is a large speed drain, and requires the “Commit and Refresh” scripts called at the end of most calendar operations. Should you choose to delete this list of hours, and if you do choose to delete all the indicators mentioned above, you can make a few script changes so that FileMaker simply redraws screens on its own, removing the “hard refresh” coded into a few scripts: you can remove the “Commit and Refresh” script from the “Edit Appointment - Continue” and “Edit Appointment - Delete” scripts.
_Be sure you have “Show Full Backgrounds” set to “no” on the Settings section of the Admin tab. This speeds up the creation of new items._
Global Changes The following changes will speed up all calendar screens, but they begin to remove what we consider basic calendar usefulness. There are red indicators in the top right corner of each day on the month views. These indicate if there are more appointments (or related items) than those visible without scrolling the portal. Removing these speeds things up a little. Each of the portals of appointments (those on the Day, Week, and Month views) are sorted so that appointments show up with the earliest appointments at the top. These sorts are done at the portal level (not at the relationship level) and removing these sorts will speed things up, especially on the month view.
Each of the resource portals in the Scheduling Edition is set to show conflicts, turning conflict notification OFF on the About / Settings screen speeds things up. The resource portals will also draw faster if there are fewer resources on screen, so if you know you’re looking for just a given type of resource, consider filtering for just that type to keep the screen free of extraneous information- all of which takes time to render. Note that the Horizontal Orientation is slower than the Vertical Orientations for the same reason: it displays twice as many resources at a given time. Among the vertical orientations, the one showing 5 hours (the default scale) is faster than the scale showing 11 hours.
Note that the vertical display of appointment times to the left of the Daily view (and to the left of each day’s appointments on the Week view) may be redundant in some situations where you’re replying on the Schedule tab more and more. In such cases, removing this display form the Daily and Week view layouts will definitely speed those up.
Radical Surgery If you really want to speed up the scheduling screens, take a look at the field used to display the appointment title and description. This is done with two repetitions of the ApptDisplayonScheduleTrimmedCalc. Remove the 2nd ApptDisplayonScheduleTrimmedCalc repetition (the long one) from each of the 5 resource columns. Then replace repetition 1 (the one line version of ApptDisplayonScheduleTrimmedCalc at the top of the columns) with the ApptTitle field. That will speed things up about as much as they can be. You'd need to click on the appt to see anything but the title. If you're using FileMaker 8, you could add the remainder of the description, or whatever else you'd like to see, to a tool tip that displays when you roll over the appointment. Since tool tips wrap on their own, you'd be skipping all the custom functions we use to hard wrap each appointment's description.
You can do this on both vertical scheduling layouts; there is no corresponding trick for the horizontal orientation layout.