Import a Zimbra iCal feed into drupal.

1. Get and enable these modules

Feeds
Feeds ical plugin
Views
Date
Calendar
CCK

if you have any trouble with step one contact me personally. 

2. Create an event content type. Add date fields, location fields, and leave the body field. 

3. Create a new feed importer. /admin/build/feeds/create
name it, describe it, ... hit create. 

4. Under basic settings click the settings link. I recommend changing the minimum refresh period to never for now. Experiment with it later once you have your importer set up. Leave import on submission checked and hit save.

5. Next to fetcher click change. Make sure that HTTP fetcher is selected. You will know if it doesn't say select next to it. (Kind of confusing, but makes sense) Leave the settings alone for the HTTP fetcher. 

6. Next to Parser click change. Choose the iCal dateapi parser by clicking the select link. If you don't have that option go back to step one and make sure that all the modules are enabled. 

7. Make sure that the processor is set to Node Processor. Our feed will be creating nodes upon import. 

8. Click settings next to Node Processor. Change the content type to the event node you created in step 2. This will be the type of nodes that are created when you do the import.  Change the update existing nodes radio button to Update existing nodes (slower than replacing them). You can also choose to replace them but it creates new node ids, which can be bad in some cases. Click Save. 

9. Click on the mapping link next to create and update nodes. The left is the source coming into the site and the right is the target of your cck content type fields that we made in step 2.

  a. in source choose Item GUID and in Target choose GUID. This will create a unique ID for each node created so when updating or on refresh intervals feeds will know which nodes belong to which ics item. 
  b. in source choose title, in target choose title. 
  c. in source choose description, in target choose node body
  d. in source choose iCal Date, in target choose the date field you created in step 2.
  e. in source choose iCal Location string, in target choose the location field you created in step 2. 

10. Enable the calendar view. Clone it or edit it. 

11. change the date arg to your event date from date. 

12. add the event date field in to fields. 

13. add any other fields you want to show up on the calendar. 

14. grab the ics url from zimbra. (NEEDS TO BE A PUBLIC RESOURCE)

15. go to the import page and choose your importer http://site.psu.edu/import

16. Enter the url from step 14 and hit import. IF it was sucessfull a drupal message will appear telling you how many nodes were imported.