Here are some tips for getting all the speed you can from the calendar...
- Delete or rename any "Source No X" layouts you're not using. So if you're only using 1 source, delete the layout Source No 2 or edit the name by replacing "No" with "Was" as in "Source WAS 2".
- Show only one source at a time. Anything that shows more records at the same time asks FMP to work harder.
- Understand how Perform Script on Server (PSOS) works and use it if it makes sense for you. More here: PSOS in DayBack.
- Mapping the event summary (DBk_EventSummaryCalc ) to a lot of related fields can slow things down a bit. Try using a regular text field (without carriage returns) for your summary instead. And the shorter the contents of this field, the better. The same applied to the fields mapped in the field DBk_WebViewerSource: using related fields here is cool, but it costs some speed.
- Make sure the fields you're mapping to on the "Source No X" layouts are indexed. Again, not always possible, but it helps.
- Speed up the launch by Editing the "Upon Opening" script and disabling the perform of the subscript "Splash". If you're not going to be moving the solution around to different machines / users, you can disable a few routines in the Upon Opening routine to speed things up a little. Disable the steps in Upon Opening that follow these comments:
*Check FileMaker Version
*Write test -- is file editable?
*Check System Formats (test disabling this script and quitting/reopening FileMaker. If everything looks good, then remove this from Upon Opening.)
- You may want to show only All Day events on the month view (since that view has the potential to show the most records, it is potentially the slowest as well). You can restrict the month view in this way pretty easily:
Edit the script "Event Find" and find the comment "Apply any user-specified filters to the found set".
Right *before* that comment add the following lines:
- That will leave only the all day events.
- If your server is not on the same physical network as your FileMaker client, there could be an undue amount of latency between them slowing things down. Ping your FileMaker Server to check this: the results really depend on what kinds of speed you can tolerate, but we think you'll likely be happy with pings under 50-70ms. Anything above that and you may want to start asking some of the FileMaker Server hosting providers for test pings to their servers to see if they'd be faster than what you have.
- The "List" views for Day and Week are somewhat faster.
- Finally, the calendar works harder when it has more work to do, so filtering or pre-filtering to show only the relevant records can speed things up a lot. More on filtering here.
I see "Summarizing" when loading the calendar
If you see "Summarizing Field "DBk_WebViewerEventData" that tells you a couple things you may want to change about your setup:
- If you're running from FileMaker Server and have PSOS turned on (it's on by default), seeing this dialog tells you that the payload of events coming back from the server was too large for PSOS to process and the find request is now being done locally. To speed this up you want to reduce the size of the payload by a) pre-filtering the calendar so you're showing fewer records and/or b) reducing the size of each record.
- FileMaker is very sensitive to record size (sometimes called record "width") and if you have more than a paragraph of text coming back for each record in the contents of the "DBk_WebViewerSource" field you may be slowing things down. Try reducing the amount of text turned here by removing fields from that calc or trimming the result using Left()
- If you're not running this from FileMaker Server you simply have a large payload and/or a slow client machine. You may want to reduce the payload size as suggested in the paragraph above or try hosting DayBack from FileMaker Server.