DayBackForFileMaker

Multiple Sources

DayBackForFileMaker.MultipleSources History

Hide minor edits - Show changes to output

July 22, 2019, at 09:23 PM by 192.88.134.15 -
Changed line 56 from:
-> '''5.''' Duplicate the layout "Action - View Event" and use that to make a new layout based on your new source's table occurrence. You'll reference this layout in the next step. Switch the layout's table and fields to all come from your new source's table occurence.
to:
-> '''5.''' If you don't already have form view and list view layouts for your new source, duplicate the layout "Action - View Event" and use that to make a new layout based on your new source's table occurrence.  Switch the layout's table and fields to all come from your new source's table occurrence. You can come back later and duplicate the Event-List layout as well to make a list view for this source. You'll reference this source's form view layout in one of the script variables in the next step.
July 22, 2019, at 09:11 PM by 192.88.134.15 -
Changed line 56 from:
-> '''5.''' Duplicate the layout "Action - View Event" and use that to make a new layout based on your new source's table occurrence. You'll reference this layout in the next step.
to:
-> '''5.''' Duplicate the layout "Action - View Event" and use that to make a new layout based on your new source's table occurrence. You'll reference this layout in the next step. Switch the layout's table and fields to all come from your new source's table occurence.
July 22, 2019, at 09:10 PM by 192.88.134.15 -
Changed lines 56-58 from:
-> '''5.''' Now edit the script "Load Source Settings at Startup --- Describe Your Sources Here ---" where you'll see a block of a dozen lines for each source. Duplicate this block for your new source by copying and pasting an existing block back into the script: begin your block by testing for the source's layout name as we do, testing for "Source No 3". Then edit each of the lines in the block, taking the script comments as instructions.
to:
-> '''5.''' Duplicate the layout "Action - View Event" and use that to make a new layout based on your new source's table occurrence. You'll reference this layout in the next step.

-> '''6
.''' Now edit the script "Load Source Settings at Startup --- Describe Your Sources Here ---" where you'll see a block of a dozen lines for each source. Duplicate this block for your new source by copying and pasting an existing block back into the script: begin your block by testing for the source's layout name as we do, testing for "Source No 3". Then edit each of the lines in the block, taking the script comments as instructions.
Changed line 71 from:
Since you've already set up the first source, DBk_WebviewerSource1 does not need any modification. Now, map the appropriate date and time fields in the DBk_WebviewerSource3 calc. Make sure that the sc_sourceNumber variable matches your new source number. Next, replace the entire contents of the original DBk_WebviewerSource calculated field with the following case statement:
to:
Since you've already set up the first source, DBk_WebviewerSource1 does not need any modification. Now, map the appropriate date and time fields in the DBk_WebviewerSource3 calc. Make sure that the sc_sourceNumber variable matches your new source number. Next, replace the entire contents of the original/existing DBk_WebviewerSource calculated field with the following case statement:
May 24, 2019, at 01:13 AM by 192.88.134.15 -
May 24, 2019, at 01:13 AM by 192.88.134.15 -
Changed line 71 from:
Since you've already set up the first source, DBk_WebviewerSource1 does not need any modification. Now, map the appropriate date and time fields in the DBk_WebviewerSource3 calc. Make sure that the sc_sourceNumber variable matches your new source number. Next, modify the original DBk_WebviewerSource field as a Case statement, like so:
to:
Since you've already set up the first source, DBk_WebviewerSource1 does not need any modification. Now, map the appropriate date and time fields in the DBk_WebviewerSource3 calc. Make sure that the sc_sourceNumber variable matches your new source number. Next, replace the entire contents of the original DBk_WebviewerSource calculated field with the following case statement:
May 23, 2019, at 10:56 PM by 192.88.134.15 -
Changed line 85 from:
Lastly, update the Settings scripts as described in steps 4 and 5 above, and run the Upon Opening script. Your records from this table will be available on the calendar twice!
to:
Lastly, update the Settings scripts as [[MultipleSources#New |described in steps 4 and 5 above]], and run the Upon Opening script. Your records from this table will be available on the calendar twice!
June 27, 2018, at 04:45 PM by KC Embrey - Added #New
Added line 27:
[[#New]]
March 02, 2018, at 09:38 PM by 192.88.134.15 -
Changed lines 80-82 from:
With the fields set up, completing the addition of the second source is much like adding a source from another table (although a bit easier). Duplicate the Source No 1 layout and rename it Source No 3. Map the date and time fields that correspond with this source. Since the same base table occurrence is used for this source, no other fields need to be remapped, unless you have Status or Resource (or other) fields uniquely corresponding to these dates.
to:
We also need a set of DBk_TimestampStartCalcNum and DBk_TimestampEndCalcNum fields for each source. Rename the fields by appending "1" to each field name (these will continue to be used for source 1). Then duplicate them, naming the duplicates DBk_TimestampStartCalcNum3 and DBk_TimestampEndCalcNum3. In these calc fields for source 3, map the date and time fields that correspond with this source.

With the fields set up, completing the addition of the second source is much like adding a source from another table (although a bit easier). Duplicate the Source No 1 layout and rename it Source No 3. Map the date, time, and DBk_TImestamp
fields that correspond with this source. Since the same base table occurrence is used for this source, no other fields need to be remapped, unless you have Status or Resource (or other) fields uniquely corresponding to these dates.
December 28, 2017, at 07:36 PM by 192.88.134.15 -
Changed lines 68-70 from:
If you haven't already, follow the [[Integration]] instructions to add a source using your first set of Date/Time fields. With the one source working, duplicate the �DBk_WebViewerSource� field twice (one for each source). With the To-Do List set as Source Number 2, let�s call these fields �DBk_WebviewerSource1" and "DBk_WebviewerSource3".

Since you�ve
already set up the first source, DBk_WebviewerSource1 does not need any modification. Now, map the appropriate date and time fields in the DBk_WebviewerSource3 calc. Make sure that the sc_sourceNumber variable matches your new source number. Next, modify the original DBk_WebviewerSource field as a Case statement, like so:
to:
If you haven't already, follow the [[Integration]] instructions to add a source using your first set of Date/Time fields. With the one source working, duplicate the "DBk_WebViewerSource" field twice (one for each source). With the To-Do List set as Source Number 2, let's call these fields "DBk_WebviewerSource1" and "DBk_WebviewerSource3".

Since you've
already set up the first source, DBk_WebviewerSource1 does not need any modification. Now, map the appropriate date and time fields in the DBk_WebviewerSource3 calc. Make sure that the sc_sourceNumber variable matches your new source number. Next, modify the original DBk_WebviewerSource field as a Case statement, like so:
August 10, 2017, at 05:45 PM by KC Embrey - Added #Scripting
Added line 93:
[[#Scripting]]
May 15, 2017, at 10:34 PM by KC Embrey - Added #SameBaseTable
Added line 63:
[[#SameBaseTable]]
March 03, 2017, at 02:48 AM by KC Embrey - added #Delete
Added line 83:
[[#Delete]]
November 22, 2016, at 06:16 PM by Dan Wheelon - Can I toggle on/off sources within a script?
Changed lines 89-99 from:
If you wanted the source to only show up for some users, you could wrap the "Source No 2" section in the script "Load Source Settings at Startup --- Describe Your Sources Here ---" in an If() statement so that source was only described for some users.
to:
If you wanted the source to only show up for some users, you could wrap the "Source No 2" section in the script "Load Source Settings at Startup --- Describe Your Sources Here ---" in an If() statement so that source was only described for some users.

!! Can I toggle on/off sources within a script?

This is not currently a built-in option, but you *can* override which sources get loaded into the calendar. Since this customization won't actually toggle the active sources in DayBack's sidebar, it's best implemented only when you've added a custom sidebar.

First, within the "Load Calendar Settings - On Startup" script, make sure all your sources are set to active (see "How do I determine which sources show up by default?" section above).

Then, modify the "Event Find" script by adding a Set Variable step just after the $assign_parameters Set Variable step. This step should set the $$sc_SourcesActive variable to the list of your desired active source numbers, so this will depend on how you're tracking/choosing which sources should appear active.

With these changes added, you'll be able to script which sources are "active" without needing to manual toggle sources on the built-in calendar sidebar
.
February 23, 2016, at 02:53 PM by 192.88.134.15 -
Changed lines 81-89 from:
Lastly, update the Settings scripts as described in steps 4 and 5 above, and run the Upon Opening script. Your records from this table will be available on the calendar twice!
to:
Lastly, update the Settings scripts as described in steps 4 and 5 above, and run the Upon Opening script. Your records from this table will be available on the calendar twice!

!! How can I delete a source or hide it from some users?

All you need to do is change the name of the Source No 2 layout to "Unused No 2". And then quit FileMaker and reopen DayBack.

It can be a little confusing because the source descriptions are stored as global variables and these can hang out, once defined, until you close the solution and reopen it. But DayBack's script "Load Source Settings at Startup --- Describe Your Sources Here ---" looks for the layout's containing "Source No" in their name so changing the name short circuits this while leaving the code in place so you can easily add that source back if you'd like.

If you wanted the source to only show up for some users, you could wrap the "Source No 2" section in the script "Load Source Settings at Startup --- Describe Your Sources Here ---" in an If() statement so that source was only described for some users.
January 11, 2016, at 04:24 PM by 192.88.134.15 -
Deleted lines 1-7:
\\
\\

-> [++++"A man with two watches never knows what time it is."++++] - Chinese Proverb, (and a great reason to get all your events into one calendar).

\\
\\
December 08, 2015, at 05:36 AM by Dan Wheelon - Added section for multiple sources from the same base table.
Added lines 69-88:

!! Can I have multiple sources from the same base table?

Yes! You might want to, for example, display two distinct sets of Dates/Times from a Jobs or Projects table. (However, in many cases, using a related table to handle multiple dates makes the most sense. For more info on this, see step 1 of [[Quick Integration]]).

If you haven't already, follow the [[Integration]] instructions to add a source using your first set of Date/Time fields. With the one source working, duplicate the �DBk_WebViewerSource� field twice (one for each source). With the To-Do List set as Source Number 2, let�s call these fields �DBk_WebviewerSource1" and "DBk_WebviewerSource3".

Since you�ve already set up the first source, DBk_WebviewerSource1 does not need any modification. Now, map the appropriate date and time fields in the DBk_WebviewerSource3 calc. Make sure that the sc_sourceNumber variable matches your new source number. Next, modify the original DBk_WebviewerSource field as a Case statement, like so:

->Case (
-->$sc_SourceNo = 1 ;
-->DBk_WebViewerSource1 ;

-->$sc_SourceNo = 3 ;
-->DBk_WebViewerSource3 ;
->)

With the fields set up, completing the addition of the second source is much like adding a source from another table (although a bit easier). Duplicate the Source No 1 layout and rename it Source No 3. Map the date and time fields that correspond with this source. Since the same base table occurrence is used for this source, no other fields need to be remapped, unless you have Status or Resource (or other) fields uniquely corresponding to these dates.

Lastly, update the Settings scripts as described in steps 4 and 5 above, and run the Upon Opening script. Your records from this table will be available on the calendar twice!
Changed line 34 from:
!! Creating a Second FileMaker Source
to:
!! Creating a New FileMaker Source
Added lines 57-58:

-> '''3.1''' When you're editing the field "DBk_WebViewerSource" note that the first variable declares which source number this data is for: be sure to change that to the source number for your table ("3" in our example).
Changed lines 30-31 from:
So that's what happens when you just ask to create an event without specifying anything further: that is, when you shift-click in the calendar or click the "+ new" button. The calendar does, however, have an API that will let you make your own "+" button to create events in any source you want. You can use this to make a "new todo" button, for example. You'd do this by calling the script "Create Edit Delete Event ( SourceNo )..."
to:
So that's what happens when you just ask to create an event without specifying anything further: that is, when you double-click in the calendar. The calendar does, however, have an API that will let you make your own "+" button to create events in any source you want. You can use this to make a "new todo" button, for example. You'd do this by calling the script "Create Edit Delete Event ( SourceNo )..."
Changed lines 46-51 from:
-> '''3.''' While still in layout mode, visit each of the configuration tabs and enter the details or map fields specific to your source. Enter browse mode when you're done and review each tab for errors. Remember how you had to add a couple fields to your events table when you first [[integration | integrated]] the calendar? You'll have to add the same fields to this table (to "Orders" in our example) in order to complete a few of the Required fields. These fields are:

---> zscEventSummaryCalc
---> zscTimestampEndCalcNum
---> zscTimestampStartCalcNum

to:
-> '''3.''' While still in layout mode, visit each of the configuration tabs and enter the details or map fields specific to your source. Enter browse mode when you're done and review each tab for errors. Remember how you had to add a couple fields to your events table when you first [[integration | integrated]] the calendar? You'll have to add the same fields to this table (to "Orders" in our example) in order to complete a few of the required fields. Best to review these fields now: take a look at '''step 2''' in our [[QuickIntegration | integration instructions]] to recall these fields and '''step 2.1''' to get a recap of editing the necessary calcs.
Changed lines 58-66 from:
--> If you want to show event colors in list view as we do in the Event List or Event Detail layouts, copy our field "z_ColorCalc" from Sample Events and add it to your "Orders" table mapping our field "status" to the equivalent field in your table: this is the field we used to color code events in the calendar. Note that the calendar shares the same list of statuses and resources across all sources.

-> '''4.''' Create an Event Detail layout for this source: this is the small layout you
'll use to view the event when you click on it in the calendar. We recommend creating a small detail layout even if you want folks to jump to a layout you already have (like an orders layout) when clicking on an event. Having a small mini-window come up can help users quickly look at an event and then close that window without loosing their place in the calendar. Add a button to this layout to jump them to your main layout if they need more. Here's how: [[jump to my event]].

-> '''5.''' Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add its number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Sources tab, but its events won't show in the calendar unless a user elects to click on that source.

-> '''6.''' Now edit the script "Load Source Settings at Startup --- Describe Your Sources Here ---" where you'll see a block of a dozen lines for each source. Duplicate this block for your new source by copying and pasting an existing block back into the script: begin your block by testing for the source's layout name as we do, testing for "Source No 3". Then edit each of the lines in the block, taking the script comments as instructions.

-> That's it
.
to:
-> '''4.''' Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add its number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Sources tab, but its events won't show in the calendar unless a user elects to click on that source.

->
'''5.''' Now edit the script "Load Source Settings at Startup --- Describe Your Sources Here ---" where you'll see a block of a dozen lines for each source. Duplicate this block for your new source by copying and pasting an existing block back into the script: begin your block by testing for the source's layout name as we do, testing for "Source No 3". Then edit each of the lines in the block, taking the script comments as instructions.

-> That's it! As you did with your first source, you may want to add some custom actions (buttons to act on this source from within the calendar's event details popover). Learn how to add actions here: [[Custom Actions]]
.
Changed lines 22-23 from:
''How does the calendar decide which source to use for a new event?'''
to:
!! How does the calendar decide which source to use for a new event?
Changed lines 34-35 from:
'''Creating a Second FileMaker Source.'''
to:
!! Creating a Second FileMaker Source
Changed lines 72-74 from:
'''Source Limitations'''

The Gantt Chart can only depict records from the first source and unlike other views it won't show records from more than one source at
the same time.
to:
!! How do I determine which sources show up by default?

Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find
the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add its number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Calendars tab, but its events won't show in the calendar unless a user elects to click on that source.
Changed lines 14-17 from:
This calendar, however, can include events from completely unrelated tables--each of which becomes a "data source" for the calendar. In this way you might have one source be an events table holding things like followup calls, meetings, etc. And have a second source for your jobs table where you show job due dates on the calendar.

The calendar ships with an example second source, a [[To-Do List]], to show you how this works. You can toggle this second source off and on by visiting the "Sources" tab in the calendar's left hand sidebar.
to:
DayBack, however, can include events from completely unrelated tables--each of which becomes a "data source" for the calendar. In this way you might have one source be an events table holding things like followup calls, meetings, etc. And have a second source for your jobs table where you show job due dates on the calendar.

The calendar ships with an example second source, a [[To-Do List]], to show you how this works. You can toggle this second source off and on by visiting the "Calendars" tab in the calendar's left hand sidebar.
Changed line 20 from:
''Note that having multiple sources can show up in the calendar's [[speed]] as there are more records to draw, but this FM12 calendar is much faster at drawing multiple sources than our previous versions have been.''
to:
''Note that having multiple sources can show up in the calendar's [[speed]] as there are more records to draw, and additional Find requests to perform: displaying fewer events at one time will always be faster. So you can have as many sources as you want, but try not to show them all at once by default.''
Deleted line 0:
Changed lines 2-4 from:
to:
\\
\\

Added lines 6-8:

\\
\\
Added lines 1-3:

!! How can I show records from more than one table in the same calendar?

Deleted lines 4-5:

!! How can I show records from more than one table in the same calendar?
Added lines 1-2:
-> [++++"A man with two watches never knows what time it is."++++] - Chinese Proverb, (and a great reason to get all your events into one calendar).
September 09, 2013, at 01:37 PM by 98.245.115.118 -
Changed lines 17-18 from:
Firstly, if there is only one source showing, when you create an event the calendar will create it in that source.
to:
First, if there is only one source showing, when you create an event the calendar will create it in that source.
Changed line 59 from:
-> '''5.''' Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add it's number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Sources tab, but its events won't show in the calendar unless a user elects to click on that source.
to:
-> '''5.''' Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add its number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Sources tab, but its events won't show in the calendar unless a user elects to click on that source.
March 07, 2013, at 05:15 PM by 50.132.84.245 -
Added lines 15-26:
''How does the calendar decide which source to use for a new event?'''

Firstly, if there is only one source showing, when you create an event the calendar will create it in that source.

When multiple sources are showing we look to see if the "default sources for new events" is one of them. If it is, we create the event in that source. You can specify this default source toward the top of the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---".

If this default source is not one of the ones showing, we create the event in the first source showing.

So that's what happens when you just ask to create an event without specifying anything further: that is, when you shift-click in the calendar or click the "+ new" button. The calendar does, however, have an API that will let you make your own "+" button to create events in any source you want. You can use this to make a "new todo" button, for example. You'd do this by calling the script "Create Edit Delete Event ( SourceNo )..."

Read the comments at the head of that script to learn more about how to use it to make new events.

August 17, 2012, at 05:55 PM by 107.2.189.216 -
Changed lines 45-46 from:
-> '''4.''' Create an Event Detail layout for this source: this is the small layout you'll use to view the event when you click on it in the calendar (this is the layout you named next to "display layout" on the Required Layout Info tab). We recommend creating a small detail layout even if you want folks to jump to a layout you already have (like an orders layout) when clicking on an event. Having a small mini-window come up can help users quickly look at an event and then close that window without loosing their place in the calendar. Add a button to this layout to jump them to your main layout if they need more. Here's how: [[jump to my event]].
to:
-> '''4.''' Create an Event Detail layout for this source: this is the small layout you'll use to view the event when you click on it in the calendar. We recommend creating a small detail layout even if you want folks to jump to a layout you already have (like an orders layout) when clicking on an event. Having a small mini-window come up can help users quickly look at an event and then close that window without loosing their place in the calendar. Add a button to this layout to jump them to your main layout if they need more. Here's how: [[jump to my event]].
May 22, 2012, at 12:15 AM by 50.132.84.245 -
Changed lines 39-40 from:
Self ) \\
to:
Self )
May 22, 2012, at 12:14 AM by 50.132.84.245 -
Changed lines 7-12 from:
This calendar, however, can include events from completely unrelated tables--each of which becomes a "data source" for the calendar. In this way you might have one source be an events table holding things like followup calls, meetings, etc. And have a second source for your jobs table where you show job due dates on the calendar.

You can even have multiple sources from within the same table: if
, for instance, you had a job due date in your jobs table ''and'' a followup date in your jobs table, you'd create those as two separate sources. Our Pro calendar comes with a [[To-Do List]] as a second example source.

One
you set up multiple sources, users can turn sources off and on using the Sources tab in the left hand sidebar.
to:
This calendar, however, can include events from completely unrelated tables--each of which becomes a "data source" for the calendar. In this way you might have one source be an events table holding things like followup calls, meetings, etc. And have a second source for your jobs table where you show job due dates on the calendar.

The calendar ships with an example second source, a [[To-Do List]]
, to show you how this works. You can toggle this second source off and on by visiting the "Sources" tab in the calendar's left hand sidebar.

You can even have multiple sources from within the same table: if, for instance,
you had a job due date in your jobs table ''and'' a followup date in your jobs table, you'd create those as two separate sources. 
Changed lines 33-34 from:
--> You'll also want to add the following auto enter calc to your TimeStart field (if you don't have a time start field, create one):
to:
--> You'll also want to add the following auto enter calc to your TimeStart field (if you don't have a time start field, create one). Same thing with TimeEnd--make one and use this auto-enter calc:
Changed lines 37-41 from:
Self > Time ( 24 ; 0 ; 0 ) ; Self - Time ( 24 ; 0 ; 0 ) ; \\
Self )

--> Make sure you uncheck the "Do not replace existing value" checkbox. This Auto-Enter option is needed if you want events to be able to start
at midnight.
to:
Self = Time ( 0 ; 0 ; 0 ) ; Time ( 0 ; 0 ; 1 ) ; \\
Self > Time ( 24 ; 0 ; 0 ) ; Self - Time ( 24 ; 0 ; 0 ) + 1 ; \\
Self ) \\

--> Make sure you uncheck the "Do not replace existing value" checkbox. This Auto-Enter option is needed if you want events to be able to start or end
at midnight.
Deleted lines 55-56:

April 21, 2012, at 10:37 AM by 93.95.107.10 -
April 21, 2012, at 10:37 AM by 93.95.107.10 -
Added lines 51-56:

'''Source Limitations'''

The Gantt Chart can only depict records from the first source and unlike other views it won't show records from more than one source at the same time.

April 21, 2012, at 10:36 AM by 93.95.107.10 -
Changed lines 7-10 from:
This calendar, however, can include events from completely unrelated tables--each of which becomes a "data source" for the calendar. In this way you might have one source be an events table holding things like followup calls, meetings, etc. And have a second source by your jobs table where you have job due dates.

You can even have multiple sources from within the same table: if, for instance
, you had a job due date in your jobs table and a followup date in your jobs table, you'd create those as two separate sources. Our Pro calendar comes with a [[To-Do List]] as a second example source.
to:
This calendar, however, can include events from completely unrelated tables--each of which becomes a "data source" for the calendar. In this way you might have one source be an events table holding things like followup calls, meetings, etc. And have a second source for your jobs table where you show job due dates on the calendar.

You can even have multiple sources from within the same table: if
, for instance, you had a job due date in your jobs table ''and'' a followup date in your jobs table, you'd create those as two separate sources. Our Pro calendar comes with a [[To-Do List]] as a second example source.
Changed lines 13-14 from:
''Note that having multiple sources can show up in the calendar's [[speed]] as there are more records to sort and draw.''
to:
''Note that having multiple sources can show up in the calendar's [[speed]] as there are more records to draw, but this FM12 calendar is much faster at drawing multiple sources than our previous versions have been.''
April 17, 2012, at 08:25 AM by 78.86.121.102 -
Deleted lines 49-85:
You'll find Source counts below comments "Abstract for sources" in the following scripts:

--> Insert iCal File Into Calendar { UseExistingData }
--> Click in / Drag Event
--->'' in the first Set Variable after the comment "Create a new record"''
--> Clear iCal Variables
--> Clear Source Variables
--> Clear iCal Parsing Variables

!! iCal Sources

'''Overview.'''

You create a new iCal source in much the same way as you create a FileMaker source, it is just a lot simpler since almost all the work is done on the Source No X layout.

'''Regarding our iCal Example.'''

The URL we use for our example is from John's yoga studio. This iCal only returns events for the "next two weeks" (the yoga studio has set it up that way). So if you're looking at our sample data in November of 2009 you won't see any iCal events. Navigate to "today" and then click on the "Yoga Schedule" on our Sources tab to see how this works.

'''Caveats.'''

iCal sources can really slow the calendar down, however, especially if you refresh them frequently (there is a "refresh every" X hours attribute on the Source No X layout to help alleviate this) or if your URL has a ton of records in the past. You might start by editing the iCal example we have (editing the Source No 2) layout to see if the iCal source you're interested in is fast enough.

Grabbing an iCal URL also requires a plugin. We're using the free ScriptMaster plugin for this and you can download a copy here: https://www.360works.com/scriptmaster/  Follow the installation instructions that come with the plugin.

'''Adding an iCal source.'''

-> '''1.''' Duplicate the "Source No 2" layout and rename it Source No 3 (or your next unused source number).

-> '''2.''' Enter layout mode and visit each of the configuration tabs and enter the details required for this source. Note that we don't color-code iCal events by "status" but you can color code by source if you want: more [[EventColors | here]].

-> '''4.''' All iCal events share the Event Details web layout so there isn't really anything to do here though you may want to make that layout larger depending on the kind of information you're looking at.

-> '''5.''' Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add it's number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Sources tab, but its events won't show in the calendar unless a user elects to click on that source. iCal sources can be slow (they have to be downloaded, ''then'' processed) so you might not want this happening on launch.

-> '''6.''' If you're creating Source No 5 or lower, you're done. Enter browse mode, run your Upon Opening script and enjoy. If you're creating Source No 6 or higher read step 6 above and make changes to a few scripts.

Deleted lines 50-65:

'''Troubleshooting.'''

If you're having trouble getting your iCal source to show up, here are a few tips:

-> Make sure the URL ends in .ics If it doesn't, try adding the URL to iCal proper and you'll see the real URL (the one ending in .ics) pop up in iCal's confirmation message: copy this url and use it.

-> Make sure your url begins with https:// not webcal:// (just switch it).

-> Check the $$sc_iCal[X] variable in the data viewer to see if you're getting any events in from the URL ("X" in this case is the source number for your URL). If you don't see anything here, the URL isn't properly formed or there is no file at the end of it.

-> If you do see data in the $$sc_iCal[X] variable, make sure the events are in the current year: iCalShare in particular has tone of out of date calendars listed as their "most recent". Find a date in the variable where there is an event...

--> Look for the DTSTART value. A date like this, "VALUE=DATE:20100214" means February 14th, 2010

-> ... and then navigate to that event in the calendar to see if it is showing up.
April 17, 2012, at 08:19 AM by 78.86.121.102 -
Changed lines 48-49 from:
-> '''6.''' If you're creating Source No 5 or lower, you're done. Enter browse mode, run your Upon Opening script and enjoy. If you're creating Source No 6 or higher you'll need to edit a few scripts where we've hard coded source numbers into the calendar. (This is faster than looping through them, but we apologize for the inconvenience.) You'll find Source counts below comments "Abstract for sources" in the following scripts:
to:
-> '''6.''' Now edit the script "Load Source Settings at Startup --- Describe Your Sources Here ---" where you'll see a block of a dozen lines for each source. Duplicate this block for your new source by copying and pasting an existing block back into the script: begin your block by testing for the source's layout name as we do, testing for "Source No 3". Then edit each of the lines in the block, taking the script comments as instructions.

You'll find Source counts below comments "Abstract for sources" in the following scripts:
April 17, 2012, at 08:15 AM by 78.86.121.102 -
Changed lines 35-37 from:
---> Case (
Self = Time ( 24 ; 0 ; 0 ) ; Time ( 24 ; 0 ; 1 ) ;
Self > Time ( 24 ; 0 ; 0 ) ; Self - Time ( 24 ; 0 ; 0 ) ;
to:
---> Case ( \\
Self = Time ( 24 ; 0 ; 0 ) ; Time ( 24 ; 0 ; 1 ) ; \\
Self > Time ( 24 ; 0 ; 0 ) ; Self - Time ( 24 ; 0 ; 0 ) ; \\
Deleted lines 39-40:
// v 5.09
April 17, 2012, at 08:14 AM by 78.86.121.102 -
Changed lines 9-12 from:
You can even have multiple sources from within the same table: if, for instance, you had a job due date in your jobs table and a followup date in your jobs table, you'd create those as two separate sources.

You can even have sources that aren't FileMaker tables by creating sources that represent iCal URLS. In this way you can mix events from an iCal URL among your FileMaker records
.
to:
You can even have multiple sources from within the same table: if, for instance, you had a job due date in your jobs table and a followup date in your jobs table, you'd create those as two separate sources. Our Pro calendar comes with a [[To-Do List]] as a second example source.
Changed lines 13-14 from:
''Note that having multiple sources can show up in the calendar's [[speed]]. So be judicious as to how you use this.''
to:
''Note that having multiple sources can show up in the calendar's [[speed]] as there are more records to sort and draw.''
Changed lines 23-24 from:
-> '''2.''' Enter layout mode, then layout setup and base this new layout on the table you'd like to show records from. In our example, we'll call this "Orders"
to:
-> '''2.''' Enter layout mode, then layout setup and base this new layout on the table you'd like to show records from. In this example, we'll call this "Orders"
Changed lines 29-31 from:
---> z_sc_TimestampEndCalc
---> z_sc_TimestampStartCalc
to:
---> zscEventSummaryCalc
---> zscTimestampEndCalcNum
---> zscTimestampStartCalcNum

Changed lines 35-36 from:
---> If ( Self = Time ( 24 ; 0 ; 0 ) ; Time ( 24 ; 0 ; 1 ) ; Self )
to:
---> Case (
Self = Time ( 24 ; 0 ; 0 ) ; Time ( 24 ; 0 ; 1 ) ;
Self > Time ( 24 ; 0 ; 0 ) ; Self - Time ( 24 ; 0 ; 0 ) ;
Self )

// v 5.09

February 15, 2010, at 06:07 AM by 76.22.123.157 -
Changed lines 85-86 from:
'''Troubleshootig.'''
to:
'''Troubleshooting.'''
February 15, 2010, at 06:06 AM by 76.22.123.157 -
Changed lines 95-99 from:
-> If you do see data in the $$sc_iCal[X] variable, make sure the events are in the current year: iCalShare in particular has tone of out of date calendars listed as their "most recent".
to:
-> If you do see data in the $$sc_iCal[X] variable, make sure the events are in the current year: iCalShare in particular has tone of out of date calendars listed as their "most recent". Find a date in the variable where there is an event...

--> Look for the DTSTART value. A date like this, "VALUE=DATE:20100214" means February 14th, 2010

-> ... and then navigate to that event in the calendar to see if it is showing up
.
February 15, 2010, at 06:04 AM by 76.22.123.157 -
Changed lines 67-68 from:
iCal sources can really slow the calendar down, however, especially if you refresh them frequently (there is a "refresh every" X hours attribute on the Source No X layout to help alleviate this. You might start by editing the iCal example we have (editing the Source No 2) layout to see if the iCal source you're interested in is fast enough.
to:
iCal sources can really slow the calendar down, however, especially if you refresh them frequently (there is a "refresh every" X hours attribute on the Source No X layout to help alleviate this) or if your URL has a ton of records in the past. You might start by editing the iCal example we have (editing the Source No 2) layout to see if the iCal source you're interested in is fast enough.
Added lines 85-95:
'''Troubleshootig.'''

If you're having trouble getting your iCal source to show up, here are a few tips:

-> Make sure the URL ends in .ics If it doesn't, try adding the URL to iCal proper and you'll see the real URL (the one ending in .ics) pop up in iCal's confirmation message: copy this url and use it.

-> Make sure your url begins with https:// not webcal:// (just switch it).

-> Check the $$sc_iCal[X] variable in the data viewer to see if you're getting any events in from the URL ("X" in this case is the source number for your URL). If you don't see anything here, the URL isn't properly formed or there is no file at the end of it.

-> If you do see data in the $$sc_iCal[X] variable, make sure the events are in the current year: iCalShare in particular has tone of out of date calendars listed as their "most recent".
February 14, 2010, at 11:20 PM by 76.22.123.157 -
Changed lines 50-51 from:
--->'' in the first Set Variable after the comment "Create a new record"
''--> Clear iCal Variables
to:
--->'' in the first Set Variable after the comment "Create a new record"''
--> Clear iCal Variables
February 14, 2010, at 11:20 PM by 76.22.123.157 -
Changed lines 49-51 from:
--> Clear iCal Variables
to:
--> Click in / Drag Event
--->'' in the first Set Variable after the comment "Create a new record"
''
--> Clear iCal Variables
February 03, 2010, at 03:52 PM by 76.22.123.157 -
Changed lines 59-60 from:
'''A couple thoughts.'''
to:
'''Regarding our iCal Example.'''

The URL we use for our example is from John's yoga studio. This iCal only returns events for the "next two weeks" (the yoga studio has set it up that way). So if you're looking at our sample data in November of 2009 you won't see any iCal events. Navigate to "today" and then click on the "Yoga Schedule" on our Sources tab to see how this works.

'''Caveats
.'''
February 03, 2010, at 03:46 PM by 76.22.123.157 -
Changed lines 55-78 from:
Coming soon.
to:
'''Overview.'''

You create a new iCal source in much the same way as you create a FileMaker source, it is just a lot simpler since almost all the work is done on the Source No X layout.

'''A couple thoughts.'''

iCal sources can really slow the calendar down, however, especially if you refresh them frequently (there is a "refresh every" X hours attribute on the Source No X layout to help alleviate this. You might start by editing the iCal example we have (editing the Source No 2) layout to see if the iCal source you're interested in is fast enough.

Grabbing an iCal URL also requires a plugin. We're using the free ScriptMaster plugin for this and you can download a copy here: https://www.360works.com/scriptmaster/  Follow the installation instructions that come with the plugin.

'''Adding an iCal source.'''

-> '''1.''' Duplicate the "Source No 2" layout and rename it Source No 3 (or your next unused source number).

-> '''2.''' Enter layout mode and visit each of the configuration tabs and enter the details required for this source. Note that we don't color-code iCal events by "status" but you can color code by source if you want: more [[EventColors | here]].

-> '''4.''' All iCal events share the Event Details web layout so there isn't really anything to do here though you may want to make that layout larger depending on the kind of information you're looking at.

-> '''5.''' Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add it's number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Sources tab, but its events won't show in the calendar unless a user elects to click on that source. iCal sources can be slow (they have to be downloaded, ''then'' processed) so you might not want this happening on launch.

-> '''6.''' If you're creating Source No 5 or lower, you're done. Enter browse mode, run your Upon Opening script and enjoy. If you're creating Source No 6 or higher read step 6 above and make changes to a few scripts.

-> That's it.

February 03, 2010, at 03:35 PM by 76.22.123.157 -
Changed lines 15-16 from:
Note that having multiple sources can show up in the calendar's [[speed]]. So be judicious as to how you use this.
to:
''Note that having multiple sources can show up in the calendar's [[speed]]. So be judicious as to how you use this.''
February 03, 2010, at 03:34 PM by 76.22.123.157 -
Changed lines 23-26 from:
-> 1. Duplicate the "Source No 1" layout and rename it Source No 3 (or your next unused source number).

-> 2. Enter layout mode, then layout setup and base this new layout on the table you'd like to show records from. In our example, we'll call this "Orders"
to:
-> '''1.''' Duplicate the "Source No 1" layout and rename it Source No 3 (or your next unused source number).

-> '''2.''' Enter layout mode, then layout setup and base this new layout on the table you'd like to show records from. In our example, we'll call this "Orders"
Changed lines 29-30 from:
-> 3. While still in layout mode, visit each of the configuration tabs and enter the details or map fields specific to your source. Enter browse mode when you're done and review each tab for errors. Remember how you had to add a couple fields to your events table when you first [[integration | integrated]] the calendar? You'll have to add the same fields to this table (to "Orders" in our example) in order to complete a few of the Required fields. These fields are:
to:
-> '''3.''' While still in layout mode, visit each of the configuration tabs and enter the details or map fields specific to your source. Enter browse mode when you're done and review each tab for errors. Remember how you had to add a couple fields to your events table when you first [[integration | integrated]] the calendar? You'll have to add the same fields to this table (to "Orders" in our example) in order to complete a few of the Required fields. These fields are:
Changed lines 42-48 from:
-> 4. Create an Event Detail layout for this source: this is the small layout you'll use to view the event when you click on it in the calendar (this is the layout you named next to "display layout" on the Required Layout Info tab). We recommend creating a small detail layout even if you want folks to jump to a layout you already have (like an orders layout) when clicking on an event. Having a small mini-window come up can help users quickly look at an event and then close that window without loosing their place in the calendar. Add a button to this layout to jump them to your main layout if they need more. Here's how: [[jump to my event]].

-> 5. Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add it's number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Sources tab, but its events won't show in the calendar unless a user elects to click on that source.
!! iCal Sources

->
6. If you're creating Source No 5 or lower, you're done. Enter browse mode, run your Upon Opening script and enjoy. If you're creating Source No 6 or higher you'll need to edit a few scripts where we've hard coded source numbers into the calendar. (This is faster than looping through them, but we apologize for the inconvenience.) You'll find Source counts below comments "Abstract for sources" in the following scripts:
to:
-> '''4.''' Create an Event Detail layout for this source: this is the small layout you'll use to view the event when you click on it in the calendar (this is the layout you named next to "display layout" on the Required Layout Info tab). We recommend creating a small detail layout even if you want folks to jump to a layout you already have (like an orders layout) when clicking on an event. Having a small mini-window come up can help users quickly look at an event and then close that window without loosing their place in the calendar. Add a button to this layout to jump them to your main layout if they need more. Here's how: [[jump to my event]].

-> '''5.''' Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add it's number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Sources tab, but its events won't show in the calendar unless a user elects to click on that source.

-> '''6.''' If you're creating Source No 5 or lower, you're done. Enter browse mode, run your Upon Opening script and enjoy. If you're creating Source No 6 or higher you'll need to edit a few scripts where we've hard coded source numbers into the calendar. (This is faster than looping through them, but we apologize for the inconvenience.) You'll find Source counts below comments "Abstract for sources" in the following scripts:
February 03, 2010, at 03:33 PM by 76.22.123.157 -
Added lines 15-16:
Note that having multiple sources can show up in the calendar's [[speed]]. So be judicious as to how you use this.
February 03, 2010, at 03:27 PM by 76.22.123.157 -
Changed lines 27-31 from:
-> 3. While still in layout mode, visit each of the configuration tabs and enter the details or map fields specific to your source. Enter browse mode when you're done and review each tab for errors. Remember how you had to add a couple fields to your events table when you first [[integration | integrated]] the calendar? You'll have to add the same fields to this table (to "Orders" in our example) in order to complete a few of the Required fields.

-->

to:
-> 3. While still in layout mode, visit each of the configuration tabs and enter the details or map fields specific to your source. Enter browse mode when you're done and review each tab for errors. Remember how you had to add a couple fields to your events table when you first [[integration | integrated]] the calendar? You'll have to add the same fields to this table (to "Orders" in our example) in order to complete a few of the Required fields. These fields are:

---> z_sc_TimestampEndCalc
---> z_sc_TimestampStartCalc

--> You'll also want to add the following auto enter calc to your TimeStart field (if you don't have a time start field, create one):

---> If ( Self = Time ( 24 ; 0 ; 0 ) ; Time ( 24 ; 0 ; 1 ) ; Self )

--> Make sure you uncheck the "Do not replace existing value" checkbox. This Auto-Enter option is needed if you want events to be able to start at midnight.

--> If you want to show event colors in list view as we do in the Event List or Event Detail layouts, copy our field "z_ColorCalc" from Sample Events and add it to your "Orders" table mapping our field "status" to the equivalent field in your table: this is the field we used to color code events in the calendar. Note that the calendar shares the same list of statuses and resources across all sources.

-> 4. Create an Event Detail layout for this source: this is the small layout you'll use to view the event when you click on it in the calendar (this is the layout you named next to "display layout" on the Required Layout Info tab). We recommend creating a small detail layout even if you want folks to jump to a layout you already have (like an orders layout) when clicking on an event. Having a small mini-window come up can help users quickly look at an event and then close that window without loosing their place in the calendar. Add a button to this layout to jump them to your main layout if they need more. Here's how: [[jump to my event]].

-> 5. Edit the script "Load Calendar Settings - On Startup --- Edit Configuration Here ---" and find the comment "Which sources are active by default". If you want your source to be shown in the calendar at startup, add it's number to the List () function after that comment. If you don't do anything here your source will show up as a possible source on the Sources tab, but its events won't show in the calendar unless a user elects to click on that source.
Added lines 45-53:
-> 6. If you're creating Source No 5 or lower, you're done. Enter browse mode, run your Upon Opening script and enjoy. If you're creating Source No 6 or higher you'll need to edit a few scripts where we've hard coded source numbers into the calendar. (This is faster than looping through them, but we apologize for the inconvenience.) You'll find Source counts below comments "Abstract for sources" in the following scripts:

--> Insert iCal File Into Calendar { UseExistingData }
--> Clear iCal Variables
--> Clear Source Variables
--> Clear iCal Parsing Variables

!! iCal Sources

February 03, 2010, at 03:08 PM by 76.22.123.157 -
Added lines 13-14:
One you set up multiple sources, users can turn sources off and on using the Sources tab in the left hand sidebar.
Changed lines 17-18 from:
asfv
to:
Each source in the calendar is represented by a layout. You'll see a couple of these layouts in the calendar's example file: they are names "Source No 1" and "Source No 2". Any new sources you create will need a layout named the same way.

Here is how you'd create a new FileMaker source...

-> 1. Duplicate the "Source No 1" layout and rename it Source No 3 (or your next unused source number).

-> 2. Enter layout mode, then layout setup and base this new layout on the table you'd like to show records from. In our example, we'll call this "Orders"

--> ''Note that you may want to make our Events table a child of your orders table so that you can see multiple events per order. Making "orders" a source in itself is best for showing a singular fact about each order (like a due date) in the calendar.''

-> 3. While still in layout mode, visit each of the configuration tabs and enter the details or map fields specific to your source. Enter browse mode when you're done and review each tab for errors. Remember how you had to add a couple fields to your events table when you first [[integration | integrated]] the calendar? You'll have to add the same fields to this table (to "Orders" in our example) in order to complete a few of the Required fields.

-->

February 03, 2010, at 02:52 PM by 76.22.123.157 -
Changed lines 3-4 from:
Coming soon.
to:
'''Overview.'''

Traditionally a portal can only show records from one table occurrence, though it can include fields from other table occurrences related to the one the portal is based on.

This calendar, however, can include events from completely unrelated tables--each of which becomes a "data source" for the calendar. In this way you might have one source be an events table holding things like followup calls, meetings, etc. And have a second source by your jobs table where you have job due dates.

You can even have multiple sources from within the same table: if, for instance, you had a job due date in your jobs table and a followup date in your jobs table, you'd create those as two separate sources.

You can even have sources that aren't FileMaker tables by creating sources that represent iCal URLS. In this way you can mix events from an iCal URL among your FileMaker records.

'''Creating a Second FileMaker Source.'''

asfv

January 07, 2010, at 03:54 PM by 76.22.123.157 -
Added lines 1-7:
!! How can I show records from more than one table in the same calendar?

Coming soon.

!! iCal Sources

Coming soon.
(855) SEEDCODE
[email protected]
Follow us: