How to create a public calendar (updated 9/28/2004):
- On the menubar, go to "Edit/Preferences/Publishing" and enter the requested information.
- In the "Publishing settings" box, where it says "Default Remote Filename", enter the FTP address of your web server, as well as the path, and don't forget username and password, all in the format "ftp://yourusername:yoursecretpassword@ftp.server.com/yourWWWroot/calPublic.ics"
- You can call the file anything that ends with ".ics"; I use calPublic.ics.
- Press OK.
- From the menubar select "Tools/Subscribe to remote Calendar." (or you can click on the Calendars tab, right click in the empty area, and select "Add New Calendar") I entered the name "public" and then entered the URL of my public calendar - http://www.vetula.com/calPublic.ics.
- Click "Publish changes automatically." A very nice feature!
- Add new events. At the bottom of the "New Event" page is a selection for the Calendar File - choose your public file.
- Browse to confirm the upload worked. Mine is at http://www.vetula.com/calPublic.ics.
- For more Moz. Calandar help, check out:
- Mozilla Calendar Project
- The Sunbird Project - a standalone version of the Mozilla calendar.
- There is also a newsgroup: news://news.mozilla.org/netscape.public.mozilla.calendar.
- If you are a developer, Mozilla Calendar and iCal index is helpful.
- Some additional links are in my blog entry for this story.
- Good luck!
Thanks to Olle Jonsson for providing the text to update this how-to.
Sharing the same calendar from two locations- Let's say you wish to have your office calendar available from the office as well as from home. Create a new calendar called "Office Calendar." While you are at the office, create your office events, and post it to your server.
- When you are at home, subscribe to this file. If you add/modify/delete any events, post it to the server.
- When you return to the office, right-click on the Office Calendar in the Calendars sidebar and select "Refresh remote calendar" to make sure you are sync'd up with any changes that might have been made to your calendar.
- This is certainly not as easy as using MS Outlook calendar, but it is pretty amazing what the Mozilla calendar guys have done so far using open standards (ftp/http/javascript/XML). And it's free! So far Mozilla calendar offers many basic calendar functions, and is beginning to offer some nice collarborative features. Good job guys.
- Q: what if you post the same events *twice*? does the remote file then have those events double?
- A: If you post the same event twice to your public calendar, yes - it will show up twice. But this does not have to happen - don't forget that there is a dropdown at the bottom of the "Add Event" dialogue (Calendar File) where you may select which calendar to which to add an event. When I add an event that I want to publish to my public calendar, I select the public calendar.
- For example, I just added an event called "Holiday in Plovdiv." But I forgot to select which calendar to add it to, so it was added to my default calendar (My Calendar) which is not my public calendar. Unfortunately you cannot change which calendar file an event is saved in from the Calendar (I imagine this might show up in future versions.)
- But it's easy enough to re-create an event anyway: I created another new event called "Holiday in Plovdiv" and added it to my public calendar by selecting the name of the file that corresponds to my public calendar (in my case, CK Public.)
- If your site host has pHp support, check out PHP iCalendar. I am using it - here's how I got it working:
- Download the file, and open the file config.inc.php. Since my calendar is (currently) in the root of my website, I made the following change:
$calendar_path = '../'; // Path to directory with calendars
- I also changed the default view to month:
$default_view = 'month'; // Default view for calendars = 'day', 'week', 'month', 'year'
- I created a "phpicalendar" directory on my ftp site, and uploaded the files. Presto: My Public Calendar
- To make the rss feed work properly, I had to edit line 17 in rss/index.php:
include(BASE.'header.inc.php');