Right, I think enough teachers and event organisers have now figured out how to make public calendars, that it's possible to make a useful demonstration of how you subscribe to them, syndicate them, and display them using Google Calendar.
In this demonstration I subscribe to, and embed, ONLY calendars that are updated by the people actually personally organising the events shown in their calendars. Essentially the point of this demonstration is that you can do that, so you don't need to update your own calendar except for events you organise yourself.
Ok, it took me a couple of hours today to puzzle out how this works. I tried once before, last year, and failed. So here are the steps.
Subscribing to public calendars
- Get yourself a Google Calendar page. This part is explained well by Google, so just go there. You don't have to put any appointments in it, it just has to exist so you can do step 2.
Organisers: If you are organising your own events, and you want other people to be able to see them, now just add some events, make the calendar public, and embed it on your own website, or include the link in your emails. You might want to make a personal, private calendar first, then a seperate events one. You can have as many as you want. If, for example, you have events in different towns, you might want a calendar for each location so people can subscribe to just the ones where they are. That part is also explained well by Google. But you don't have to use Google. Anything that makes an .ics file available on the web should make it possible for people to see your calendar.
- Subscribe to some public calendars.
There are various ways of doing this: usually you can just click the button at the bottom right hand corner of calendars when you see them on the web. Like this:
They do not have to be Google calendars; you can subscribe to any calendar that's on the web in a suitable format. For example, the Tango en el Cielo website has a calendar in .ics format linked from this page. The URL you get when you click the link, ending in .ics, is the one you will need. To subscribe, you get that ready, go to your Google Calendar page, and click "Add by URL". Then you paste in the URL, like this:
- Tick the "publicly accessible" box if you want to display the calendar on your own website. Otherwise don't.
As the organisers update their events, you'll see them on your calendar page. You can now do all sorts of things like importing it into Outlook and having it sent to your mobile, if you're mad enough. Because you're looking directly at THEIR calendars, not copying them into yours, the information should normally be correct, because each bit of it is being updated by the person who knows and cares most about its accuracy. If you find a particular calendar to be unreliable, you can just stop bothering with that one (Settings, Calendars, Unsubscribe) and you'll still have all the others.
Embedding multiple calendars
If you want to embed all the calendars on your own website, make sure that you tick "publicly available" box when you subscribe. (They already are public, otherwise you wouldn't be able to see them, so you aren't changing anything about them. You're just saying that YOU might want to embed them). If you forgot to do this you'll have to unsubscribe and resubscribe with the box ticked.
Supposing you want to embed them, as in the demonstration below, this is what you do.
- Click on the little down arrow on one of the public calendars you've now got down the left hand side of your screen. Doesn't matter which. Click Calendar Settings.
- Click the Customise link under "Embed", in the middle.
- Scroll down and look to the left; all the calendars you've subscribed to are listed. Tick all the ones you want to include.Scroll up again and set all the other settings the way you'll want them - they're pretty self-explanatory and it shows you how it will look. Make sure you set a Calendar Title, top left - otherwise the title will be the title of whichever calendar you clicked first.
- Copy and paste the HTML from the top of the page into your own website. You should get some result like the example below. Here I've selected "Agenda" view as default, I've set the width to be rather narrow, and I've set "Organisers' Calendars" as the title..