From 80ce7daccb7b1a8187860b2da188ab04ed4ad834 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sat, 8 Oct 2022 21:56:42 -0400 Subject: Add check-sched e-mail template --- 2022/organizers-notebook.md | 321 +++++++++++++++++++++++++++++++++----------- 1 file changed, 242 insertions(+), 79 deletions(-) (limited to '2022/organizers-notebook.md') diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 99e9a19e..4f6274db 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -6,14 +6,14 @@ This file is automatically exported from [2022/organizers-notebook/index.org](.. # Table of Contents -1. [Current tasks / status](#current) -2. [Things to figure out / decisions to make](#decisions) -3. [Roles needed](#roles) -4. [Other tasks and processes](#other) -5. [Task archive](#archive):ARCHIVE: -6. [Communications](#comms) -7. [Supporting code](#code) -8. [Lessons learned](#lessons) +- [Current tasks / status](#current) +- [Things to figure out / decisions to make](#decisions) +- [Roles needed](#roles) +- [Other tasks and processes](#other) +- [Task archive](#archive):ARCHIVE: +- [Communications](#comms) +- [Supporting code](#code) +- [Lessons learned](#lessons) @@ -101,9 +101,9 @@ Planned dates and phases: Current phase: No prerecs to process yet, so it's a good time to focus on infrastructure -1. [Time-sensitive](#time-sensitive) -2. [Projects and other long-running tasks](#projects) -3. [Projects to bear in mind but which are not actual](#maybe-projects) +- [Time-sensitive](#time-sensitive) +- [Projects and other long-running tasks](#projects) +- [Projects to bear in mind but which are not actual](#maybe-projects) [Overall prioritization of effort](#overall) @@ -114,11 +114,12 @@ on infrastructure Ordered chronologically (and therefore by importance). -1. [Volunteer communications: E-mail update for Oct 9, 2022](#volunteer-2022-10-09):email:volunteers: -2. [Remind people about confirming e-mail communications](#confirm-email):sachac:email:speakers: -3. [Send people schedule information and doublecheck their availability/Q&A preference](#check-sched):sachac:email:speakers: -4. [Send program-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: -5. [Prepare email for nudging speakers to send prerec, and inform on upload workflow](#mail-upload):timesensitive:needsowner: +- [Volunteer communications: E-mail update for Oct 9, 2022](#volunteer-2022-10-09):email:volunteers: +- [Remind people about confirming e-mail communications](#confirm-email):sachac:email:speakers: +- [Plan communication rhythm](#orgd828032) +- [Send people schedule information and doublecheck their availability/Q&A preference](#check-sched):sachac:email:speakers: +- [Send program-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: +- [Prepare email for nudging speakers to send prerec, and inform on upload workflow](#mail-upload):timesensitive:needsowner: @@ -151,15 +152,192 @@ You're receiving this e-mail because you're on the emacsconf-org mailing list. -### TODO Remind people about confirming e-mail communications :sachac:email:speakers: +### DONE Remind people about confirming e-mail communications :sachac:email:speakers: Look for the TO\_CONFIRM status in conf.org, probably include in schedule e-mail + + +### TODO Plan communication rhythm + + + + +++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 SpeakersVolunteers
[2022-09-30 Fri]acceptance, reply to confirmoverall priorities
[2022-10-09 Sun]schedule, reply if not okayinfra update
[2022-10-16 Sun] shifts
[2022-10-23 Sun]file upload instructionscaption training?
[2022-10-30 Sun]  
[2022-11-06 Sun]prerec confirmation/reminder, caption progresscaption kickoff
[2022-11-13 Sun]tech check 
[2022-11-20 Sun]checkin instructions 
[2022-11-27 Sun]last weekend before EmacsConf 
+ + ### TODO Send people schedule information and doublecheck their availability/Q&A preference :sachac:email:speakers: + (defun emacsconf-mail-schedule (group &optional template) + "Send draft schedule. + GROUP is (email . (talk talk))" + (interactive (list (emacsconf-mail-complete-email-group))) + (require 'emacsconf-ical) + (emacsconf-mail-prepare + (or template (emacsconf-mail-merge-get-template "check-sched")) + group + (list + :titles + (mapconcat (lambda (o) (format "%s %s" + (plist-get o :title) + (format-time-string + "%b %-e %I:%M %Z" + (plist-get o :start-time) + emacsconf-timezone))) + (cdr group) " and ") + :speakers-short + (plist-get (cadr group) :speakers-short) + :plural + (if (= (length (cdr group)) 1) "" "s") + :email + (plist-get (cadr group) :email) + :year + (or (plist-get (cadr group) :year) emacsconf-year) + :schedule + (mapconcat + (lambda (o) (format "\"%s\" (%s) - %s track\n%s" + (plist-get o :title) + (plist-get o :slug) + (plist-get o :track) + (string-join + (let ((emacsconf-timezones + (if (plist-get o :timezone) + (seq-uniq (list emacsconf-timezone (plist-get o :timezone) "UTC")) + emacsconf-timezones))) + (emacsconf-timezone-strings o)) + "\n"))) + (cdr group) + "\n----------------------------------------------------------------\n") + :timezone-note + (if (plist-get (cadr group) :timezone) + (format "I've included a conversion to the %s timezone. Let me know if you'd like me to use a different timezone in future e-mails." + (plist-get (cadr group) :timezone)) + "I can translate times into your local timezone. Let me know what timezone you'd like me to use.") + :availability-note + (if (seq-find (lambda (o) (string-match "yes" (or (plist-get o :availability) ""))) (cdr group)) + (format "I think you've indicated that you're available during the conference.") + (format "I think it respects your indicated availability, which we've noted as %s. " + (string-join + (seq-uniq + (mapcar + (lambda (o) (format "\"%s\"" (plist-get o :availability))) + (cdr group))) + " and ")))))) + + +#### Template + +Hi, ${speakers-short}! + +Here's the tentative schedule for when your EmacsConf talk${plural} +will be streamed. Your talk${plural} will be streamed once, but I've +included a few timezone conversions for convenience. + +--- + +${schedule} + +--- + +You'll also have time for Q&A afterwards, which can be as short or as +long as you like. We'll send you more information about how the Q&A +will work as the conference gets closer. + +If you'd like to see the other talks for context, please check out the +draft schedule at . The +times may move around a bit as we update the schedule, so I'll check +in with you if things change a lot. + +${availability-note} Please let us know if the times don't work for +you or if you think your talk would go better next to a different +talk. We're aiming to publish the schedule by **Oct 15**, so we'd love +to hear from you by then if we need to tweak things. We can +shuffle things around even after that date if something comes up. +${timezone-note} Please keep emacsconf-submit@gnu.org in To or Cc when +replying. Thanks!${wrap} + +Sacha + @@ -199,24 +377,24 @@ Blocked by [Figure out web-based file upload](#upload) ## Projects and other long-running tasks -1. [Figure out web-based file upload](#upload):needsowner:zaeph:bandali: -2. [Coordinate and help volunteers](#coordinate-volunteers):sachac: -3. [Prepare for prerecs](#prepare-prerec-process):zaeph: -4. [Delete all the EmacsConf BBB rooms from last year](#bbb-cleanup):chore:bbb: -5. [Plan Etherpad use and hosting](#etherpad):sachac: -6. [Update IRC instructions because of multiple tracks](#irc) -7. [Investigate streaming options, maybe OBS in the cloud](#streaming):corwin:zaeph: -8. [Work on the OBS scenes](#obs-scenes):zaeph:corwin: -9. [Make intro and exit videos](#intro) -10. [Move scheduling and publishing code to Emacs on a VPS so that other people can help out](#publishing-sched):sachac: -11. [Add nice-to-have stuff to prepare.md](#extra-prepare):zaeph: -12. [Find volunteers for tech-checks](#tech-checks):zaeph: -13. [Update viewing instructions and watch pages](#write-viewing):zaeph: -14. [Make talk pages easy to update when the talk is live](#publish-live):sachac: -15. [Set up talks on Toobnix and YouTube](#video-platforms):sachac: -16. [Add category tags and possibly links between talks across 2022 and all previous years](#link-pages):needsowner:wiki: -17. [Figure out why ikiwiki runs into complex regular expression issues?](#org110cc76):infra:wiki: -18. [Ask speakers for bios or support nudges to include on their talk pages](#org58a15b2) +- [Figure out web-based file upload](#upload):needsowner:zaeph:bandali: +- [Coordinate and help volunteers](#coordinate-volunteers):sachac: +- [Prepare for prerecs](#prepare-prerec-process):zaeph: +- [Delete all the EmacsConf BBB rooms from last year](#bbb-cleanup):chore:bbb: +- [Plan Etherpad use and hosting](#etherpad):sachac: +- [Update IRC instructions because of multiple tracks](#irc) +- [Investigate streaming options, maybe OBS in the cloud](#streaming):corwin:zaeph: +- [Work on the OBS scenes](#obs-scenes):zaeph:corwin: +- [Make intro and exit videos](#intro) +- [Move scheduling and publishing code to Emacs on a VPS so that other people can help out](#publishing-sched):sachac: +- [Add nice-to-have stuff to prepare.md](#extra-prepare):zaeph: +- [Find volunteers for tech-checks](#tech-checks):zaeph: +- [Update viewing instructions and watch pages](#write-viewing):zaeph: +- [Make talk pages easy to update when the talk is live](#publish-live):sachac: +- [Set up talks on Toobnix and YouTube](#video-platforms):sachac: +- [Add category tags and possibly links between talks across 2022 and all previous years](#link-pages):needsowner:wiki: +- [Figure out why ikiwiki runs into complex regular expression issues?](#org8ab2dd1):infra:wiki: +- [Ask speakers for bios or support nudges to include on their talk pages](#org8947d3c) Ordered by importance. @@ -278,7 +456,7 @@ Considerations: - Figure out what information volunteers need in order to feel comfortable signing up for tasks. ex: -- Encourage people to sign up for [3.3.1](#shifts) +- Encourage people to sign up for [Shifts](#shifts) @@ -384,7 +562,7 @@ See break commercials -### Move scheduling and publishing code to Emacs on a VPS so that other people can help out :sachac: +### DONE Move scheduling and publishing code to Emacs on a VPS so that other people can help out :sachac: Ideal: @@ -398,9 +576,11 @@ Where: Nice if there's an Ansible playbook sachac's notes: - + - probably good to set it up on front +It's now on front. + @@ -476,12 +656,12 @@ Also add to watch page You can make a new heading called `# Related talks` - + ### TODO Figure out why ikiwiki runs into complex regular expression issues? :infra:wiki: - + ### TODO Ask speakers for bios or support nudges to include on their talk pages @@ -507,16 +687,16 @@ Note on how DebConf handled incidents: # Things to figure out / decisions to make -1. [How fancy do we want to get this year? (overall prioritization)](#overall) -2. [How do we want to make the full schedule more manageable?](#sched-decision) -3. [How much do we want to enrich the wiki with JS?](#wiki-design) -4. [What ideas do we want to borrow from other conferences?](#other-confs) -5. [Do we want to make the ikiwiki web-editable?](#cgi) -6. [How do we want to make better use of Etherpad?](#pad-decision) -7. [Can we nudge people to ask IRC questions in a way that will make it easier for us to follow them?](#irc-markers) -8. [How many BBB rooms do we want to set up?](#bbb-rooms) -9. [Do we want people to advertise any openings with their companies or any work that they're looking for?](#advertising) -10. [Decision archive](#decision-archive) +- [How fancy do we want to get this year? (overall prioritization)](#overall) +- [How do we want to make the full schedule more manageable?](#sched-decision) +- [How much do we want to enrich the wiki with JS?](#wiki-design) +- [What ideas do we want to borrow from other conferences?](#other-confs) +- [Do we want to make the ikiwiki web-editable?](#cgi) +- [How do we want to make better use of Etherpad?](#pad-decision) +- [Can we nudge people to ask IRC questions in a way that will make it easier for us to follow them?](#irc-markers) +- [How many BBB rooms do we want to set up?](#bbb-rooms) +- [Do we want people to advertise any openings with their companies or any work that they're looking for?](#advertising) +- [Decision archive](#decision-archive) @@ -1191,16 +1371,16 @@ Interested in a shift? Please e-mail and # Other tasks and processes -1. [Giving conf.org access to a new volunteer or fake user](#org15be4bc) -2. [As prerecorded talks come in](#prerec-process) -3. [When a talk is captioned](#when-captioned) -4. [Other tasks before the conference](#before) -5. [During the conference](#during-conference) -6. [After the conference](#after-conference) -7. [In case of](#exceptions) +- [Giving conf.org access to a new volunteer or fake user](#org7f2fc7c) +- [As prerecorded talks come in](#prerec-process) +- [When a talk is captioned](#when-captioned) +- [Other tasks before the conference](#before) +- [During the conference](#during-conference) +- [After the conference](#after-conference) +- [In case of](#exceptions) - + ## Giving conf.org access to a new volunteer or fake user @@ -1728,7 +1908,7 @@ Probably focus on grabbing the audio first and seeing what's worth keeping Make a table of the form - +
@@ -2031,17 +2211,10 @@ Objectives for this e-mail: - Get them to reply - Ask for public contact information or any changes to the wiki page + (defun emacsconf-draft-acceptance-for-email-group (group &optional template) "GROUP is (email . (talk talk))." - (interactive - (list - (save-window-excursion - (let* ((emacsconf-talk-info-functions (append emacsconf-talk-info-functions '(emacsconf-get-talk-comments-from-subtree))) - (info (emacsconf-filter-talks (emacsconf-get-talk-info))) - (grouped (seq-group-by (lambda (o) (plist-get o :email)) info)) - (slug (emacsconf-get-slug-from-string (emacsconf-complete-talk))) - (email (plist-get (seq-find (lambda (o) (string= (plist-get o :slug) slug)) info) :email))) - (assoc email grouped))))) + (interactive (list (emacsconf-mail-complete-email-group))) (let* ((template (or template (emacsconf-mail-merge-get-template "acceptance"))) (talks (cdr group)) (first (car talks)) @@ -2096,17 +2269,7 @@ Objectives for this e-mail: :prerec-target (format-time-string "%b %-e" prerec-target))) (plist-get o :acceptance-comment)) 72))) talks "\n---------------------------------------------------------------------\n")))) - (compose-mail - (car group) - (emacsconf-replace-plist-in-string attrs (plist-get template :subject)) - `(("Reply-To" . ,(emacsconf-replace-plist-in-string attrs (plist-get template :reply-to))) - ("Mail-Followup-To" . ,(emacsconf-replace-plist-in-string attrs (plist-get template :mail-followup-to))) - ("Cc" . ,(plist-get template :cc)))) - (message-sort-headers) - (message-goto-body) - (save-excursion (insert (emacsconf-replace-plist-in-string attrs (plist-get template :body))) - (goto-char (point-min)) - (emacsconf-mail-merge-wrap)))) + (emacsconf-mail-prepare template group attrs))) (defun emacsconf-draft-all-acceptances () (interactive) -- cgit v1.2.3