Zulu - Filtering

From 360Works Product Documentation Wiki
Revision as of 21:11, 11 January 2019 by Martin (Talk | contribs)

Jump to: navigation, search

Contents

Overview

Using filtering you can have an individual FileMaker table show up as multiple calendars in iCal: or have only a subset of a table show up in iCal.

Each calendar in your calendar application is represented by a record in the ZuluCalendarList table. By adding a value to the zulu_filterKey and zulu_filterValue fields in this table, you can have that calendar find just a subset of FileMaker records to display.

Filtering By Value

Consider the following calendar record:
ZuluCalendarFilteringExample.png

To get the events that belong to this calendar, Zulu will do the following:

  • Go to the "ZuluSampleEvents" layout
  • Search the "Status" field for the value "Urgent"

The resultant found set are the events that Zulu will sync for this calendar. Also, events that are created in calendar application will be inserted into FileMaker with the appropriate filterKey and filterValue values.

Filtering By Day Range

Consider the following calendar record:
ZuluCalendarFilterDayRange.png

To get the events that belong to this calendar, Zulu will do the following:

  • Go to the "ZuluSampleEvents" layout
  • Search for records that have a Start Date between 30 days in the past, and 60 days in the future.
    • For example, if the current date was 1/30/2019, Zulu would search the Start Date field for "1/1/2019...3/31/2019"

The resultant found set are the events that Zulu will sync for this calendar.

Note: Day Range Filtering is a one way operation from FileMaker to your calendar application. If you have year old events in your calendar application, then you apply this filter, the events will be removed from the calendar application. However these events will persist in FileMaker. Zulu never deletes records from FileMaker, but it will delete records from your calendar application.

Filtering By Record Level Access Privileges

When you set up a sync configuration or add an account to Apple Calendar, you provide a FileMaker account in the process. Zulu will always use this FileMaker account when querying FileMaker for calendar and event records. The benefit of this is that Zulu will obey the FileMaker Record Level Access Privileges. So you can filter the event records based on FileMaker privileges, and records the account does not have access to will not be pushed to the calendar application.

Specify Which Users Can See Which Calendars

Common Examples of Filtering

Give Each User Access to One Calendar

In your ZuluCalendarList layout, make sure the zulu_filterValue matches the account name for that calendar.


ZuluFilterValueAccountName.png


Now, modify the record level access privileges so that when that account tries to access the database, it can only see the calendar record that matches it's account name.

Here we create a Zulu privilege set, and set it so it can only access records in ZuluCalendarList when zulu_filterValue = Get (AccountName)


ZuluPrivilegeSet.png

Remember to re-Publish your calendars when you make new ones!


Give Each User Access to Multiple Calendars

In your ZuluCalendarList layout, make sure the zulu_filterValue contains the account name for that calendar.


ZuluFilterValueAccountNameMultiple.png


Now, modify the record level access privileges so that when that account tries to access the database, it can only see the calendar records that contains it's account name.

Here we create a Zulu privilege set, and set it so it can only access records in ZuluCalendarList when PatternCount(zulu_filterValue ; Get (AccountName)) = 1


ZuluPrivilegeSetMultiple.png


Remember to re-Publish your calendars when you make new ones!


Switching an event from Calendar to Calendar in iCal

Learn more about this in Switching Calendars.

Filtering on Different Fields.

Note that you don't have to have all your calendars filtering on the same field. You could have several calendars filtering on Resource (the production studio in which an event is scheduled, for example). Then you could create an additional calendar filtering on "Status" showing you just the events that are marked "Rush".

Additional Calendars from Different FileMaker Tables.

You can also publish more than one table in the same FileMaker file. This is pretty simple...

1. Create a new blank layout based on the table you wish to publish. Name it whatever you'd like the calendar to be named in iCal, though you can change this later.
2. Follow the integration instructions from step 5. "Mapping Fields" onward. Ending with running the "Publish Calendar" script from the new layout you created.
3. That's it. Now when you refresh your calendar in iCal you'll see a new calendar based on your new table. (You might want to read some warnings here about switching events between calendars based on different tables: switching calendars.)

Additional Calendars from Different FileMaker Files

Rather than import the Zulu scripts and tables into separate files. Use a single file to hold the Zulu scripts and ZuluCalendarList table: then create new table occurrences in that file for each calendar you wish to publish from another file, following the directions for "Additional Calendars from Different FileMaker Tables" above.

Going further

Check out this video demonstrating how you can use auto-enter calcs to preserve values that might otherwise be edited by filters. This technique can also be used to make parts of Zulu calendar records uneditable without throwing errors in iCal.

Personal tools
Namespaces

Variants
Actions
Plug-in Products
Other Products
Navigation
Toolbox