summaryrefslogtreecommitdiffstats
path: root/2022/organizers-notebook/index.org
diff options
context:
space:
mode:
Diffstat (limited to '2022/organizers-notebook/index.org')
-rw-r--r--2022/organizers-notebook/index.org136
1 files changed, 112 insertions, 24 deletions
diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org
index 70bd7252..bd1afa74 100644
--- a/2022/organizers-notebook/index.org
+++ b/2022/organizers-notebook/index.org
@@ -104,21 +104,126 @@ Help wanted / upcoming tasks:
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:
-SCHEDULED: <2022-10-08 Sat>
+*** DONE Remind people about confirming e-mail communications :sachac:email:speakers:
+CLOSED: [2022-10-08 Sat 18:55] SCHEDULED: <2022-10-08 Sat>
:PROPERTIES:
:CUSTOM_ID: confirm-email
:END:
Look for the TO_CONFIRM status in conf.org, probably include in schedule e-mail
-
-
+*** TODO Plan communication rhythm
+
+| | Speakers | Volunteers |
+| [2022-09-30] | acceptance, reply to confirm | overall priorities |
+| [2022-10-09 Sun] | schedule, reply if not okay | infra update |
+| [2022-10-16 Sun] | | shifts |
+| [2022-10-23 Sun] | file upload instructions | caption training? |
+| [2022-10-30 Sun] | | |
+| [2022-11-06 Sun] | prerec confirmation/reminder, caption progress | caption 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:
SCHEDULED: <2022-10-08 Sat>
:PROPERTIES:
:CUSTOM_ID: check-sched
:END:
+#+begin_src emacs-lisp
+(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 "))))))
+#+end_src
+
+**** Template
+:PROPERTIES:
+:EMAIL_ID: check-sched
+:SUBJECT: EmacsConf draft schedule: ${titles}
+:REPLY_TO: emacsconf-submit@gnu.org, ${email}
+:MAIL_FOLLOWUP_TO: emacsconf-submit@gnu.org, ${email}
+:FUNCTION: emacsconf-mail-schedule
+:END:
+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 https://emacsconf.org/${year}/draft-schedule/ . 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
+
*** TODO Send program-published email for emacsconf-discuss :needsowner:timesensitive:email:
DEADLINE: <2022-10-14 Fri> SCHEDULED: <2022-10-11 Tue>
:PROPERTIES:
@@ -1810,17 +1915,10 @@ Objectives for this e-mail:
- Ask for public contact information or any changes to the wiki page
#+begin_src emacs-lisp
+
(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))
@@ -1875,17 +1973,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)