This file is /mit/tech-squares/HOW-TO-UPDATE-EVENTS in the tech-squares athena locker. Try to keep both copies in rough sync.

(Feel free to ignore these first two paragraphs if you're not a hacker and just want to update the calendar.)

The /mit/tech-squares/cron_scripts directory contains the scripts and code to automatically generate the web site front page based on the data in the Tech Squares Google calendar. The front page is updated by a cron script on scripts.mit.edu (see http://scripts.mit.edu.ezproxy.canberra.edu.au) at 12:57am each day.

The front page is generated by a Java program using the Google Calendar Data API (http://code.google.com/apis/gdata/calendar.html). The source is included in techsquares-cal.jar; the other jar files are google client libraries downloaded from the URL above.

There are two calendars in tech squares Google calendar account.

The first is named "Tech Squares" and is public and contains the dates for all Tech Squares weekly and monthly dances, and any other club events which we want to announce to the public. This information should match that at

http://www.mit.edu.ezproxy.canberra.edu.au/~tech-squares/schedules/weekly.html

and

http://www.mit.edu.ezproxy.canberra.edu.au/~tech-squares/schedules/monthly.html

although we might consider adding other relevant events such as outside dances Tech Squares members are planning to visit or non-Tech dances called by Ted. Calendar events in the next 14 days display immediately below "What's happening at Tech Squares" on the front page of the web site.

Events on this first calendar should have What, When, and Where information. When we generate the front page, we search for the names of rooms on campus replace the where information with a hyperlink to the appropriate room description if found. You can (and should) include extra information in Where for people looking at this calendar directly (ie, not through the front page); for example, "Room 407, MIT Student Center" (you could even add "84 Massachusetts Avenue" if you were feeling wordy) – the string "407" is found in this case and a link named "Room 407" is used on the front page. The Description field is ignored when generating the front page; this is another good place to add information or directions for people subscribing to the calendar directly using their own calendar software.

Under "Discuss this event" Google allows you to add comments to calendar entries. These comments show up underneath the time and description on the front page. This may be useful for adding a brief bit of extra information about an event, for example, "Note time change: moved from 7pm to 8pm to accomodate XYZ." I'm also using this for extra information about the early rounds class: "All who have taken Phase II Waltz, or have other waltz experience, are encouraged to attend." You can add multiple comments. It doesn't seem possibly to delete or edit comments once added, though (maybe Google will fix this eventually) so be careful about adding comments like "moved to 3-343" if there's a chance that the event's going to be moved back to its original room.

I believe this comment feature has been removed from Calendar by Google. Oh, well. --CSA 2013-08-26

The second calendar is named "Announcements (private)" and holds announcement information which displays in the bottom half of the website front page. This calendar is private: although the information in it is available to the public via the Tech Squares web site and news feed, Google is instructed to not make it searchable as a calendar per se. This helps avoid confusion with the dance calendar.

Announcement events should be assigned times corresponding to how long that announcement should run; any announcement whose duration includes the current day is displayed on today's front page. For example, a typical "rounds this week" announcement should be set up to start sometime on the Wednesday after the previous week's dance, and end sometime on the Tuesday on which that rounds lesson will occur. Many announcements will have week-long durations, but an announcement of a Saturday dance (say) should always end on the day of the dance, so that we don't have outdated information on our front page about a dance that has already occurred. Similarly, some announcements may last for a longer duration: fall class and subscription announcements, for example.

The announcements are ordered on the front page so that the "newest" announcement is first – that is, the announcement whose 'start time' is most recent appears at the top. This way long-duration announcements gradually drift down the page out of the most prominent spot. Since only the date not the time of an announcement matters for its appearance on the front page (the front page is only updated once per day), start times can be fudged a bit if a particular order of announcements is desired. If "Rounds This Week" wants to occur before "Late Night This Week" (say) then "Rounds This Week" may be assigned a start time of 2pm, while "Late Night This Week" is assigned a start time of 1pm.

As a general note, Tech Squares protects its members' email addresses from disclosure on the web. When rephrasing announcements from the weekly email, write "email J. Random Dancer (or use the contact address at the bottom of this page)" using the member's name but not email address. Most Tech Squares members will be able to find an email address for the given person (either in the weekly email or from prior correspondence), and in the rare cases where this doesn't work, emailing squares@mit.edu (the "contact address at the bottom of this page" for every page on our website) should be sufficient for some officer to route the mail to the proper person.

To update the Google calendar, go to

http://calendar.google.com

If you have an google account, email the username to the officers and they can use Google's "Share This Calendar" feature to let you edit entries. There is a Tech Squares account name and password as well if you really don't want to create a google account, but it's really best if we don't widely disseminate the club's account information. You should always double-check the upcoming events against the canonical lists at

http://www.mit.edu.ezproxy.canberra.edu.au/~tech-squares/schedules/weekly.html

and

http://www.mit.edu.ezproxy.canberra.edu.au/~tech-squares/schedules/monthly.html

to guard against versions drifting askew. Check rounds information against the long-term schedule at

http://www.mit.edu.ezproxy.canberra.edu.au/~tech-squares/schedules/rounds-sched.html

or ask the rounds coordinator.

If you've got an Athena account, after your update you may want to run:

% ts-refresh-frontpage

at an Athena prompt (after you've done "add tech-squares" of course) in order to regenerate the web site front page. This isn't required: the website will update at its usual time (12:57am) regardless.

IF FOR SOME REASON THIS SCRIPT BREAKS DOWN temporarily or permanently, you can manually update the website front page by editing either

  /mit/tech-squares/www/auto/index.html

(if you want your changes to be overwritten when the script starts working again), or

  /mit/tech-squares/www/index.html

if you no longer wish to use the auto-generated content: just replace
the line

   <!--#include virtual="auto/index.shtml" -->

with your own stuff.

Enjoy!

— C. Scott Ananian, cscott@cscott.net, 2006-Jun-22
updated 2007-May-30
updated 2007-Aug-16
uploaded to wiki 2013-Aug-26

  • No labels