Zulu - Calendars and Publishing
How does Zulu correlate FileMaker records to Calendars and Events?
In order to represent Calendars and Events as records in FileMaker, Zulu uses a pre-defined table structure. Zulu uses 2 tables to represent these:
- In the Zulu2SampleData file, this is the ZuluCalendarList table. Records in this table represent individual calendars in the service you are integrating with (Apple Calendar, Google...). For example, if you had two records in the ZuluCalendarList table, you would see two calendars in Apple Calendar. To see all components of this table and their functionality, see Zulu Calendar Properties
- In the Zulu2SampleData file, this is the ZuluSampleEvents table. Records added to this table will create new events in the calendar application you have integrated with. To see all components of this table and their functionality, see Zulu Event Properties
- The ZuluSampleEvents layout is customizable, and to see more about integrating your existing events table with Zulu see: Zulu - Integrate Into FileMaker Solution.
Why Do I Publish My Calendars?
Publishing calendars constructs a Field Map that Zulu stores in the ZuluCalendarList::zulu_properties field. This Field Map tells Zulu which fields contain which event property (Event properties like: Start Date, End Date, Summary...). This Field Map is necessary for Zulu to write the correct data to the correct field when syncing events to Google, or inserting them into Apple Calendar.
How To Publish Calendars
When Using the Zulu2SampleData File
In the Zulu2SampleData file, the object mapping is already set up for you, and you can just press the "Publish" button on the ZuluCalendarList layout, or run the script "Publish Calendar". You will be prompted to login, and for the Zulu2SampleData file, use these credentials:
- username: admin
- password: admin
The default script assumes that Zulu is installed on the same machine as FileMaker server, if this is not the case, see the section Customizing The Publish Script
When Integrating Zulu Into Your Own Solution
If you are integrating Zulu into an existing solution with an events table in place, follow the instructions here to set up the Field Mapping needed for Zulu: Zulu - Integrate Into FileMaker Solution
After the Field Mapping has been set up and the Zulu scripts are imported, run the "Publish Calendar" script. You will be prompted for credentials, these should be the FileMaker credentials for the database. These don't need to be Full Access, but they do need read and write privileges to the ZuluCalendarList and event tables.
Customizing The Publish Script
Zulu needs to send your FileMaker Field Mapping to the Zulu server in order to process your Field Mapping. If you are using a non-default install, you may need to modify this script so that the request is sent to the right server. The "Publish Calendar" script has 4 script parameters you can use to customize where the publishing request is sent:
- $zuluApplicationName - the context name of the Zulu
- Customize this parameter if you have used the "Hosting Provider" option during installation, and Zulu is running under a different context name. This will likely only apply to hosting providers, or people running more that one Zulu installation on the same machine.
- If you're using a Multiple Machine Server Deployment, edit this parameter, making $webPubEngineHost the IP address of your Web Publishing Engine. For Single Machine Deployments, this should point to main FileMaker Server machine.
- If Zulu is running on a different machine than FileMaker Server, customize this parameter to point to the IP address where Zulu is installed.
- If you want the publish request to go over SSL, set this parameter to True. This will only effect the publishing request.
Confirm That The Calendars Were Published
After publishing your calendars, you should see the ZuluCalendarList::zulu_properties field populated with a Field Map that describes the field configuration you want Zulu to use.
Publishing Notes And Troubleshooting
- If you ever modify the fields included in the Field Map (change field name or delete fields), you will need to re-publish your calendars in order for Zulu to pick up the change.
- If you modify these fields, and you are syncing with Google or Exchange, you will need to republish, and also step through the sync configuration again in order to pick up the field changes.
- If the publish request fails, first ensure that the publishing request is hitting your Zulu installation. You may need to customize the publish script: Customizing The Publish Script. If the issue persists, contact 360Works support at email@example.com.
- If you are getting an XML Web Publishing error when publishing, it may be that that the XML Web Publishing engine is not enabled or configured correctly. See this page for details on how to set that up: Enable XML FileMaker 17