Zulu Access Privileges
Zulu respects FileMaker's access privileges, so when a user creates a Zulu account in iCal or on their iPhone, they enter a FileMaker username and password. Accordingly, they will only see those events, those calendars, and those contacts which that privilege set is allowed to see in FileMaker.
You can use this to restrict which calendars show up for a user and/or which events show up within a given calendar. Similarly, when you pair a FileMaker account with a Google account for Calendar or Contact sync, you'll only be syncing those contacts and events that FileMaker account can see.
Restricting Events and Calendars
In addition to filtering your events into different calendars, you can restrict events and calendars using access privileges.
- If you've filtered your calendars by sales person, your sales people might log in with a privilege set that only lets them see their calendar, not those of the other employees. Manages may use a different privilege set so that they can see one calendar per employee. To accomplish this, edit the privilege set associated with the employee's accounts to only show ZuluCalendarList records where the field "zulu_filterKey" equals Get ( Account Name ). If your account names don't line up with your filter key exactly, you can do something like this for your "limited" access calc:
- Case ( Get ( Account Name ) = "Jim Smith" ; ZuluCalendarList::zulu_filterKey = "Jimmy" ; Get ( Account Name ) = "Amy West" ; ZuluCalendarList::zulu_filterKey = "Westy" )
- Restrict users from seeing the private events of other employees by employing a restriction on your Events table. The following calc assumes that your events are tied to a field called "Staff" and that there is a checkbox for "private" having a 1 in it when events are private. This calc ensures that private events are only seen by the Staff member for that event:
- Case ( Get ( Account Name ) = "Jim Smith" and SampleEvents::Private = 1 ; SampleEvents::Staff = "Jimmy" ; Get ( Account Name ) = "Amy West" and SampleEvents::Private = 1 ; ZuluCalendarList::zulu_filterKey = "Westy" ; 1 )
Remember, all privilege sets using Zulu need to be set to use the "Access via XML Web Publishing" extended privilege.
Going Further with Calendar Access Privileges.
You can create more than one account in iCal to see the same FileMaker Server, provided those accounts use different usernames and passwords. This can be very useful in setting up different layers of access privileges.
For example, let's say that you've filtered the calendar to show one calendar for each event type (sales, meetings, phone calls, etc.). You might create a privilege set in FileMaker that only lets users see their own events and users will create their iCal accounts using this privilege set so they only see their meetings, their phone calls, etc.
But you might create another privilege set that lets a user see their team's events, but not edit them. (Ideally, this privilege set would omit the users own events so they don't show up in iCal twice.) Now you users could create a second account in iCal logging in with the username and password for this new privilege set (perhaps naming that account "My Team") and they'd then see their team's events in separate calendars they could toggle on and off.
Don't forget that your iCal connections won't run your file's Upon Opening scripts, so global fields and variables set there can't be used in Zulu's access privilege calcs.