Meeting Reminder Configuration
The reminders are sent by a program periodically run by cron. That program reads this wiki page to obtain the configuration data that controls its actions.
Configuration items are singly indented paragraph's that look like * word: configured-value. Anything else is comments.
Meeting Wiki Page
This configuration item says which wiki pages contains the meeting table.
Meeting Table Sentinels
The start and end sentinels are blobs of text that appear just prior to and just after the meeting table, respectively. Only blank lines can separate the lines that contain the sentinels and the meeting table.
- start-sentinel: STARTFRONTPAGEINCLUDE
- end-sentinel: ENDFRONTPAGEINCLUDE
The meeting table itself must be a moinmoin table. The first line must be a heading line. The cell contents in this line become the field names. They are used to refer to fields in a meeting row when generating the email. The field names are generated by removing all non alpha-numeric characters. Field actually have two names. The second one is the original name one suffixed with -url. It will be blank unless the field contains a moinmoin link in which case it will contain the url part of the link and the original name will refer to the text part of the link.
The days reminders are sent. These are configured as the number of days prior to the meeting date. A value of 0 would send the reminder on the day of the meeting, and a value of 7 would sent it a week before. (The time the reminder is sent is determined by when the cron job runs.) To send multiple reminders give a list of values separated by commas.
- reminder-days: 2,9
The time zone meeting dates are in. This is a file name under /usr/share/zoneinfo.
- time-zone: Australia/Brisbane
This field specifies the field name of the date the meeting table. The date must have the format dd/mm/yyyy.
- date-column: Date
No meeting values
This tags meetings rows that aren't to have reminders sent for them. The format is a field name, followed by a value. If the nominated field contains the value, the reminder isn't sent. Spaces are stripped from the values before comparing. If the value isn't present the reminder isn't sent if the field is blank. There can be several of these lines.
no-meeting: OpeningTime -
This email template is the RFC 822 formatted blob of text. It's first line must start with From:. It should also contain a To: line and probably other email header lines. It will be sent using the shell command /usr/lib/sendmail -t -f from-email-address.
The template can contain Python formatting escapes, typically look like %(fieldname)s. Here fieldname is a field name from the meeting table. Obviously enough such escapes are replaced by values from the meeting table. Escape a % in the email by doubling it. In addition to the usual formatting escapes %(fieldname)?[...] is recognised. If fieldname isn't defined or is blank the stuff brackets is omitted. Parenthesise, braces and angle-brackets can be used in place of the square brackets.
In addition to the field names defined by the meeting table header these are also available:
- meeting_date_d - Numeric meeting day of month without a leading 0.
- meeting_date_dd - 2 digit meeting day of month.
- meeting_date_ddd - 3 character abbreviated meeting day name.
- meeting_date_dddd - Full meeting day name.
- meeting_date_dth - Numeric meeting day of month suffixed with 'st', 'nd', etc.
- meeting_date_m - Numeric meeting month without a leading 0.
- meeting_date_mm - 2 digit meeting month.
- meeting_date_mmm - 3 character abbreviated month name.
- meeting_date_mmmmm - Full month name.
- meeting_date_yy - 2 digit year of meeting date.
- meeting_date_yyyy - 4 digit year of meeting date.
- program_name - full path name to the program that generates the emails.
- program_argv - Command line arguments passed to the program generating the emails.
And finally, the meeting template:
From: email@example.com To: firstname.lastname@example.org Subject: Next Meeting - %(meeting_date_dth)s %(meeting_date_mmmm)s %(meeting_date_yyyy)s The Home Unix Machine Brisbane Users Group exists to get fellow Unix users in contact with each other, to introduce people to Unix and Unix-like operating systems, and to help users in operating those systems. Everyone is welcome to attend. Meetings tend to be informal. We socialize, discuss Unix and computing, solve Unix problems for new and experienced users alike and, these days, have regular talks. Date: %(meeting_date_dddd)s, %(meeting_date_dth)s %(meeting_date_mmmm)s %(meeting_date_yyyy)s (every second %(meeting_date_dddd)s) Time: Starting %(OpeningTime)s, closing %(ProposedClosingTime)s. Venue: Room %(Room)s, %(Building)s The University of Queensland, St Lucia Campus%(Building-url)?[ %(Building-url)s] Most of the car parking restrictions do not apply on weekends; however, "No parking anytime" means what it says ;) http://www.uq.edu.au/parking/index.html?page=33495&pid=29422 The University is serviced by public transport with frequent buses during University terms. For more information: http://www.uq.edu.au/about/index.html?page=1070 http://www.uq.edu.au/maps/index.html?menu=1&z=2&id=25 Cost: Membership until our AGM in September is $20, but no one has to join unless they are going to use club services such as our network access during meetings. Talks: Information on upcoming talks is announced separately. For information on talks see the announcements by our Talks Maintainer on the announce mailing list. Food: The eating places (ranging from take away to a la Carte) at 'The Ville' are usually open until about 10pm Saturday night. There is also the Pizza Cafe on campus near the Schonell Theater: http://www.uq.edu.au/about/places-to-eat Drinks: Various soft drinks and snacks are available from the three vending machines located immediately outside the room. Remember to bring change! For more information on club meetings and HUMBUG itself see our web page at http://www.humbug.org.au/ or email me directly. -- %(program_name)s %(program_argv) I am typically run by cron