Zulu - Filtering

From 360Works Product Documentation Wiki
(Difference between revisions)
Jump to: navigation, search
Line 31: Line 31:
 
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.
 
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===
+
You can see more about Record Level Access Privileges here: [https://fmhelp.filemaker.com/help/17/fmp/en/index.html#page/FMP_Help%2Frecord-access-privileges.html%23 | FileMaker Record Level Access Privileges]
 
+
 
+
 
+
=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.
+
 
+
 
+
 
+
[[File: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)
+
 
+
 
+
 
+
[[File: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.
+
 
+
 
+
[[File: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
+
 
+
 
+
[[File: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 [[Zulu Switching Calendars|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.<br>
+
2. Follow the [[Zulu Integration|integration instructions]] from step 5. "Mapping Fields" onward. Ending with running the "Publish Calendar" script from the new layout you created.<br>
+
3. That's it. Now when you [[Zulu Refresh|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: [[Zulu Switching Calendars|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 [http://www.youtube.com/watch?v=jfgYnHzakvA 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.
+

Revision as of 21:39, 11 January 2019

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.

You can see more about Record Level Access Privileges here: | FileMaker Record Level Access Privileges

Personal tools
Namespaces

Variants
Actions
Plug-in Products
Other Products
Navigation
Toolbox