Page 1 of 1

Changes in Pro Calendar 5.6

PostPosted: Sat Oct 09, 2010 3:28 pm
by John Sindelar
Overview

The Gantt Chart

Version 5.6 of the calendar introduces the gantt chart from SeedCode Complete to the Pro Calendar.

If you've already pasted the calendar into your file, you can't just add the gantt feature to this however: the code for the gantt chart touches too many script for you to be able to add this to an existing deployment.

If you want to have the gantt chart and you already license our Pro Calendar, get in touch, we'll send you a fresh download link, and you can re-integrate the 5.6 build into your solution, pasting it in just like you did last time. If you can include your order number when asking about this, that would help.

Other Fixes

However, there are a few changes in 5.6 you might want to make to your file even if you aren't interested in the gantt chart. These are small bug fixes and performance enhancements that you can make in your deployed copy by following the instructions below.

If you make these changes, be sure to increment the version number in your file to 5.6 so you can continue to be notified of new versions. (Do this by editing the definition for the field "BuildNumberCalc" in the CalendarInterface table.) You may also want to increment the version numbers of the individual scripts you change below (each script has a version number in the comments which shows the last version in which the script was changed).

The fixes..

Defaulting the grid view to a day scale.

We'd heard from a number of folks that they'd like to default the calendar's grid view to the day scale so the grid view shows a 2 week range. Here's how...

1. Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and add a new line to set a variable called "$$sc_DefaultTimeScaleGrid" (without the quotes) to the following:
Code: Select all
// "5 min"

// "10 min"

// "15 min"

// "20 min"

// "half hour"

// "hour"


"day"

// Uncomment one of the scales above to act as your default (uncomment means removing the leading // )


2. Edit the script "Go to Calendar Tab ( Tab Name )" and immediately after the first If statement, add the following steps:
Code: Select all
If [ PatternCount ( $sc_tab; "Horizontal" ) ]
Set Field [ CalendarINterface::TimeScalelob ; $$sc_DefaultTimeScaleGrid]
End If


Newly created events aren't abstracted to use your layout

If you're already creating new events successfully on a layout other than Event Details, you've liked worked around this your own way, but if not...

1. Edit the script "Create Edit Delete Event ( SourceN..." and find the comment "Go To Layout". Swap the order of that comment and it's perform script step with the "Load Source Settings" and its perform script step (so Load source settings comes before go to layout).

2. Disable or delete the go to layout statement a few lines further on.

Refresh Improvements Part 1

Edit the script "Go to Calendar Layout" and add the following line after the first IF statement:
Code: Select all
Set Variable [$$sc_ScriptTriggers_Off ; Value:1]


Then add this set variable before the last End If:
Code: Select all
Set Variable [$$sc_ScriptTriggers_Off ; Value:""]


Refresh Improvements Part 2

Steve Wright has posted a great video showing how to reduce screen flashing on Windows. You can make these changes by editing a couple of scripts shown in the video here: http://www.sws-solutions.co.uk/beta/see ... e_mod.html

Close Window Improvement

Turns out that the "continue" button on Event Details was looking for the file name, even though your window may be using a different name. We'd already tracked this elsewhere in the calendar and just need to make a small change to take advantage of it here.

Edit the script "Close Window & Refresh Calendar" and find the comment "Close Window". Replace Get ( FileName ) in the calc immediately following this comment with $$sc_SolutionWindowName. Do the same in the Select Window step a few lines further on.

Now edit the script "On Event Record Load" and find the Perform Script line near the end. Add these two lines immediately before it:
Code: Select all
Select Window [Name: $$sc_SolutionWindowName; Current file]
If [Get ( LayoutTableName ) = "CalendarInterface"]


And add these two lines immediately after it:
Code: Select all
End If
Perform Script ["Bring All Windows Forward { All }" ; Parameter: "All"]


Multi-Day Event Display

Finally, we've fixed a bug in counting how many more multi-day events may be visible on a day in the week or month view. If you don't have lots of multi-day events, don't worry about this. If you do, get in touch, and we'll send you a fresh download link so you can have a clean build with new versions of the scripts involved in this. If you can include your order number when asking for a fresh build, that would help.

Then, copy the script steps from each of the following three scripts and past these over the script steps in the scripts of the same name in your file.

Insert iCal File Into Calendar { UseExistingData }
Insert into Calendar { Column }
Insert into Calendar - Write Event { No Content }

This is easy if you have FileMaker Advanced. If you don't, feel free to send me your file and I'll paste them in for you (john at seedcode.com)

- end -