Issues with FileMaker 7.0v3 Updater

Support, Questions and Suggestions for the FM7 Version of CC Calendar.
SeedCode Staff
SeedCode Staff
Posts: 2764
Joined: Thu Nov 20, 2003 11:01 am
PostPosted: Tue Oct 19, 2004 4:52 am
Overview

FileMaker's upgrade to version 7.0v3 introduced a number of behavior changes. These include changes to the way Get functions evaluate and changes to the GotoRelatedRecords script step. These changes can cause CC Calendar to behave unexpectedly and we've made revisions to the calendar to accommodate these changes.

Interestingly, the free version of CC Calendar is unaffected by these changes.

For the Full and Pro Versions, we have introduced a new version of the calendar (version 5.34) bringing the Full and Pro versions to the same version number. (Version 5.33 of the calendar was a Pro Version revision only.)

Instructions for making these changes in your copy of the calendar follow in additional posts below.
John Sindelar
SeedCode
SeedCode Staff
SeedCode Staff
Posts: 2764
Joined: Thu Nov 20, 2003 11:01 am
PostPosted: Tue Oct 19, 2004 5:33 am
Overview

CC calendar centers new windows by looking at the position of the current window and then centering the new window within that one. FileMaker's upgrade to version 7.0v3 changes the way Get functions look at the current window.

1.5.5. Get() functions now return information for the current window when evaluated in a related file.


This prevents our windows from being centered properly. To get around this we've centralized the window positioning commands in the modifications which follow. These changes actually reduce the amount of redundant code in the calendar, so that is a good thing.

The Fix

1. In CCcalendar.fp7 create a new script called "New MiniWindow - Get Position", we've placed our right above the existing "New MiniWindow" script. This script will set one field (CalendarDaily::GlobText1) to the following:

Code: Select all
Case (

// #########

PatternCount ( Get ( LayoutTableName ) ; "Daily" ) ;

"Height " & SettingsValuesDaily::SettingMiniWindowHeight + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesDaily::SettingMiniWindowWinOffsetHeight ; SettingsValuesDaily::SettingMiniWindowMacOffSetHeight ) & "¶"  &

"Width " & SettingsValuesDaily::SettingMiniWindowWidth + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesDaily::SettingMiniWindowWinOffsetWidth ; SettingsValuesDaily::SettingMiniWindowMacOffSetWidth )  & "¶" &

"DistanceTop " & Get ( WindowTop ) +  ( ( Get ( WindowHeight ) - ( SettingsValuesDaily::SettingMiniWindowHeight + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesDaily::SettingMiniWindowWinOffsetHeight ; SettingsValuesDaily::SettingMiniWindowMacOffSetHeight ) ) ) / 2 ) & "¶" &

"DistanceLeft " & Get ( WindowLeft ) + ( ( Get ( WindowWidth ) - ( SettingsValuesDaily::SettingMiniWindowWidth + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesDaily::SettingMiniWindowWinOffsetWidth ; SettingsValuesDaily::SettingMiniWindowMacOffSetWidth ) ) ) / 2 ) ;

// #########

PatternCount ( Get ( LayoutTableName ) ; "Year" ) ;

"Height " & SettingsValuesYear::SettingMiniWindowHeight + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesYear::SettingMiniWindowWinOffsetHeight ; SettingsValuesYear::SettingMiniWindowMacOffSetHeight ) & "¶"  &

"Width " & SettingsValuesYear::SettingMiniWindowWidth + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesYear::SettingMiniWindowWinOffsetWidth ; SettingsValuesYear::SettingMiniWindowMacOffSetWidth )  & "¶" &

"DistanceTop " & Get ( WindowTop ) +  ( ( Get ( WindowHeight ) - ( SettingsValuesYear::SettingMiniWindowHeight + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesYear::SettingMiniWindowWinOffsetHeight ; SettingsValuesYear::SettingMiniWindowMacOffSetHeight ) ) ) / 2 ) & "¶" &

"DistanceLeft " & Get ( WindowLeft ) + ( ( Get ( WindowWidth ) - ( SettingsValuesYear::SettingMiniWindowWidth + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesYear::SettingMiniWindowWinOffsetWidth ; SettingsValuesYear::SettingMiniWindowMacOffSetWidth ) ) ) / 2 ) ;

// #########

"Height " & SettingsValuesMonthWeek::SettingMiniWindowHeight + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesMonthWeek::SettingMiniWindowWinOffsetHeight ; SettingsValuesMonthWeek::SettingMiniWindowMacOffSetHeight ) & "¶"  &

"Width " & SettingsValuesMonthWeek::SettingMiniWindowWidth + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesMonthWeek::SettingMiniWindowWinOffsetWidth ; SettingsValuesMonthWeek::SettingMiniWindowMacOffSetWidth )  & "¶" &

"DistanceTop " & Get ( WindowTop ) +  ( ( Get ( WindowHeight ) - ( SettingsValuesMonthWeek::SettingMiniWindowHeight + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesMonthWeek::SettingMiniWindowWinOffsetHeight ; SettingsValuesMonthWeek::SettingMiniWindowMacOffSetHeight ) ) ) / 2 ) & "¶" &

"DistanceLeft " & Get ( WindowLeft ) + ( ( Get ( WindowWidth ) - ( SettingsValuesMonthWeek::SettingMiniWindowWidth + If ( Get ( SystemPlatform ) = -2 ; SettingsValuesMonthWeek::SettingMiniWindowWinOffsetWidth ; SettingsValuesMonthWeek::SettingMiniWindowMacOffSetWidth ) ) ) / 2 )

)


Note that in the Full Version of CC Calendar you can omit the section regarding:
Code: Select all
PatternCount ( Get ( LayoutTableName ) ; "Year" ) ;

...but you can also just leave it in as it doesn't really hurt anything.

2. You'll then edit the New MiniWindow script, simplifying it down to two steps. The first step will perform the "New MiniWindow - Get Position" we just created above. The second step will call the NewWindow script step. This step takes 5 parameters as shown in the screen shot below:

Image

3. We then have to edit the "Edit Appointment" script in CCcalendar.fp7 as this uses Go To Related Record to size and position the new window, instead of using the New MiniWindow script. Edit this "Edit Appointment" script as follows.

3.1 After the first EndIf statement, enter a new Perform Script step, calling the new script "New MiniWindow - Get Position".

3.2 You'll then see a number of Go to Related Record steps. The first of these is in an "If" statement, with 7 additional steps following the "Else" statement. All of these need to be changed. Note that you can't just duplicate these as they use different tables as the basis for their "Go to".

3.3 Double click on the first of these Go to Related Record steps. You'll see that "show in new window" is checked. Click the "Specify..." button to the right of that. This presents a New Window Options dialog just like the one in the screen shot above. Leaving the window name the alone (it should continue to read "edit appointment", you'll want to make the other 4 parameters the same as they are in the screen shot above.

3.4 You'll want to move on to do this with each of the remaining 7 Go to Related Record steps.

4. As a matter of good housekeeping you should now take a moment to make a schema change to each of the calendar files. This only has to be done once per file (in any table) and the easiest way to effect such a change is to simply create a new field in the file, leave the define database area, then come back in and delete the file.

We're suggesting this because a number of the changes made in FileMaker 7.0v3 require such a schema change in order to become effective. For instance, this one:

1.6.1. Corrected a problem that could cause an incomplete update of records displayed in a portal based on a relationship across multiple tables. Note: In order to get the correct behavior in files created in earlier versions of FileMaker Pro 7, make a change to the database schema, for example by changing a field definition, and click OK in the Define Database dialog box to commit the change.


There is an additional change the the behavior of Related Items A and B, if you're using that section of the calendar. If not, that's it!
Last edited by John Sindelar on Tue Oct 19, 2004 5:50 am, edited 2 times in total.
John Sindelar
SeedCode
SeedCode Staff
SeedCode Staff
Posts: 2764
Joined: Thu Nov 20, 2003 11:01 am
PostPosted: Tue Oct 19, 2004 5:49 am
Overview

FileMaker's upgrade to version 7.0v3 changed the way the Go To Related Records step manages its target windows:

1.4.1. In order to be consistent with other script steps and with previous versions of FileMaker Pro, the Go to Related Record script step no longer brings the related window to the front automatically, except when used from a button. In order to bring the related window to the front, you must add a Select Window step to the script.


(All quotes are taken from "FM Update Read Me (English).pdf" which came with the 7.0v3 updater.)

Because of this, clicking on a Related Item A or B record appears to do nothing without the following modification.

The Fix

Note: these changes need to be made to BOTH the "Go to Related Items A" and the "Go to Related Items B" scripts in CCcalendar.fp7. The instructions below take Related Items A as their example.

1. The main issue here is that we need to add a "Select Window" script step right before the last step in the script(s). That is, right before the "Perform Script 'Adjust Window'" step. When you add this step, click
Specify" and you'll be asked which window to select. We'll need to do this by Window Name, so type "Related Items A" into the window name.

2. Trouble is, we haven't yet named the window, so we have to edit each of the 8 Go to Related Records script steps to make sure they include a window name.

2.1 Double click on the first of the Go to Related Records script steps. You'll see that "show in new window" is not checked. You'll want to make sure this is checked. When you check this, the "New Window Options" dialog appears. You'll see that this does not have a window name in it: enter "Related Items A" into the window name.

2.2 Then tab down to each of the other 4 parameters and delete their contents. (That code was left over from when we used these steps differently and needs to be removed). Once you've done this, continue on to each of the other 7 Go to Related Records script steps.

3. Repeat this for the script "Go to Related Items B" and you're all set.
John Sindelar
SeedCode
SeedCode Staff
SeedCode Staff
Posts: 2764
Joined: Thu Nov 20, 2003 11:01 am
PostPosted: Wed Nov 24, 2004 5:17 am
Overview

The Pro Version of CC Calendar displays a visual indication of appointment times to the left of the Daily View (and on week views). Users can scroll this display of appointment times to see all 24 hours in a day; users can also set a default start time for this display and it is this default time which behaves differently in FileMaker 7.0v3.

The setting for "Show Appointment Times Starting At" can be found on the settings screen of the calendar's about tab. In previous version of FileMaker 7, this default could contain a time entered as "8am" or as "08:00:00". In FileMaker 7.0v3, only the latter format works. This can be annoying as the calendar uses this value to auto-scroll the appointment times on startup.

The Fix

Simply re-enter your default time in the format HH:MM:SS or click the reset button in the lower right of the calendar's month view. Resetting will set the default time to 08:00:00 leaving all your appointment data intact.
John Sindelar
SeedCode

Return to CC Calendar (FM7/8)

Who is online

Users browsing this forum: No registered users and 1 guest

(855) SEEDCODE
[email protected]
Follow us: