diff options
-rw-r--r-- | organizers-notebook.md | 135 | ||||
-rw-r--r-- | organizers-notebook/index.org | 53 |
2 files changed, 144 insertions, 44 deletions
diff --git a/organizers-notebook.md b/organizers-notebook.md index 7e338275..2cff5989 100644 --- a/organizers-notebook.md +++ b/organizers-notebook.md @@ -20,32 +20,35 @@ This document is the general organizers' notebook that can be used as a starting - [Create the public organizers’ notebook in the wiki](#starting-up-the-conference-planning-process-create-the-public-organizers-notebook-in-the-wiki) - [Phases and lessons learned](#phases-and-lessons-learned) - [Draft CFP](#phases-and-lessons-learned-draft-cfp) - - [Announce](#org3608282) - - [Process proposals](#orgf94fb47) - - [Accept proposals](#org74dc473) + - [Announce](#orgc65a882) + - [Process proposals](#org05d8ef4) + - [Accept proposals](#orge98e249) - [Draft schedule](#draft-schedule) - - [Set up backstage and upload](#org4d60026) - - [Post the schedule](#org42db0c4) - - [Process uploaded files](#org60f6486) - - [Generate assets](#org6e66fc5) - - [Prepare the infrastructure](#org6983794) - - [Getting ready for captions](#orga1601de) -- [General infrastructure](#orga2c0410) + - [Set up backstage and upload](#orge9a3c89) + - [Post the schedule](#org1e7771f) + - [Process uploaded files](#orgfd23289) + - [Generate assets](#org80c461d) + - [Prepare the infrastructure](#org033e054) + - [Getting ready for captions](#org217ecc8) +- [General infrastructure](#org59478a5) - [Icecast](#icecast) - [Watching pages](#watch) - [VNC](#vnc) - - [Streaming with OBS](#org0a63f1c) - - [IRC web client](#orgaffe686) - - [Etherpad](#org628c2fe) + - [Streaming with OBS](#obs) + - [Shell scripts](#org511ba94) + - [IRC web client](#org6abc1fd) + - [Etherpad](#orgd320fcc) - [Publishing media to the server and to the wiki](#media) - - [Automated IRC announcements](#org3ca9756) - - [Manual IRC announcements](#org4cbb72c) - - [Low-res stream](#org84b7e1e) - - [Restream to YouTube](#org1e5d62e) - - [Restream to Toobnix](#orga5282bc) + - [Automated IRC announcements](#org005b5de) + - [Manual IRC announcements](#org33f6301) + - [Low-res stream](#orgd5b1661) + - [Restream to YouTube](#org3875a88) + - [Restream to Toobnix](#org678b044) - [Other process notes](#other) - [Adding another user to BBB](#bbb-user) - - [Ansible](#org8ae0b84) + - [When a talk is cancelled](#cancel-talk) + - [When a talk Q&A changes method](#change-talk-qa) + - [Ansible](#orgf87ae48) <a id="starting-up-the-conference-planning-process"></a> @@ -146,7 +149,7 @@ Put inside double square brackets: `!template id=pagedraft` - Put the speaker introduction right after the talk description for easier web page copying. -<a id="org3608282"></a> +<a id="orgc65a882"></a> ## Announce @@ -154,7 +157,7 @@ Put inside double square brackets: `!template id=pagedraft` - Submit to <https://foss.events/> -<a id="orgf94fb47"></a> +<a id="org05d8ef4"></a> ## Process proposals @@ -183,7 +186,7 @@ When proposals come in: PUBLIC\_EMAIL -<a id="org74dc473"></a> +<a id="orge98e249"></a> ## Accept proposals @@ -216,7 +219,7 @@ For each talk: - Add missing items to plan -<a id="org4d60026"></a> +<a id="orge9a3c89"></a> ## Set up backstage and upload @@ -227,7 +230,7 @@ Lessons learned: - Next year, let’s get upload.emacsconf.org in place as the domain name so that people don’t try to FTP files to it. -<a id="org42db0c4"></a> +<a id="org1e7771f"></a> ## Post the schedule @@ -238,7 +241,7 @@ Lessons learned: - Update talks.md to refer to watch.md as well -<a id="org60f6486"></a> +<a id="orgfd23289"></a> ## Process uploaded files @@ -263,7 +266,7 @@ Process: 3. <elisp:emacsconf-publish-backstage-index> -<a id="org6e66fc5"></a> +<a id="org80c461d"></a> ## Generate assets @@ -281,7 +284,7 @@ Process: - Splice together into a file that will be processed with subed-record-compile-video. -<a id="org6983794"></a> +<a id="org033e054"></a> ## Prepare the infrastructure @@ -303,7 +306,7 @@ Checklist: - [ ] Icecast -<a id="orga1601de"></a> +<a id="org217ecc8"></a> ## Getting ready for captions @@ -314,7 +317,7 @@ Onboarding: - Send backstage information <elisp:emacsconf-mail-backstage-info-to-volunteer> . (Can be sent to all captioning volunteers with <elisp:emacsconf-mail-backstage-info-to-captioning-volunteers>) -<a id="orga2c0410"></a> +<a id="org59478a5"></a> # General infrastructure @@ -394,7 +397,7 @@ Setting up <a id="vnc-instructions"></a> -#### Instructions +### Instructions NOTE: VNC+OBS doesn’t work well if you have a window manager that automatically resizes windows, like i3. Please configure your window @@ -404,7 +407,7 @@ manager so that the VNC window is not resized. 2. Set up your local environment: - gen: `export TRACK=gen; export TRACK_PORT=5905; export SSH_PORT=46668` - - dev: export TRACK=dev; export TRACK\_PORT=5906; export SSH\_PORT=46668 + - dev: `export TRACK=dev; export TRACK_PORT=5906; export SSH_PORT=46668` 3. Copy the password: @@ -433,7 +436,7 @@ and then connect with: xvncviewer 127.0.0.1:$TRACK_PORT -shared -geometry 1280x720 -passwd vnc-passwd-$TRACK & -<a id="org0a63f1c"></a> +<a id="obs"></a> ## Streaming with OBS @@ -451,7 +454,7 @@ so that the year is updated in the shell scripts. <a id="obs-instructions"></a> -#### Instructions +### Instructions 1. [Connect to the VNC session for the track.](#vnc-instructions) @@ -478,7 +481,34 @@ so that the year is updated in the configuration. This is on live.emacsconf.org and can be restarted with `/etc/init.d/emacsconf restart`. -<a id="orgaffe686"></a> +<a id="org511ba94"></a> + +## Shell scripts + +Success: From the commandline, hosts can: + +- [X] play just the intro: intro $SLUG +- [X] play a file without an intro: play $SLUG +- [X] play a file with an intro: play-with-intro $SLUG (hmm, this didn’t show the subtitles) + ah, it’s because the intros need to be in the cache dir? +- [X] open the Q&A for a talk: handle-qa $SLUG + - [X] open the pad: pad $SLUG + - [X] open BBB: bbb $SLUG +- [ ] do the whole thing: handle-session $SLUG +- [ ] rebroadcast the other stream: + - rebroadcast gen + - rebroadcast dev +- [ ] control background music: music, stop-music + +Setup: + +- OBS must be streaming from the stream you’re testing. [Streaming with OBS](#obs) +- You may want to generate test assets and copy them over to the assets/stream directory. +- Generate all the overlays and copy them to assets/overlays +- Set up the assets/music directory + + +<a id="org6abc1fd"></a> ## IRC web client @@ -500,7 +530,7 @@ connection exhaustion errors. Is that something we can plan now or would you like me to bring it up a few days before the conference? -<a id="org628c2fe"></a> +<a id="orgd320fcc"></a> ## Etherpad @@ -536,7 +566,7 @@ Switching it back to `TO_STREAM` and calling You can generate the index with `emacsconf-publish-update-media`. -<a id="org3ca9756"></a> +<a id="org005b5de"></a> ## Automated IRC announcements @@ -545,7 +575,7 @@ Success: - [ ] When a talk starts playing, it is announced in the relevant channel -<a id="org4cbb72c"></a> +<a id="org33f6301"></a> ## Manual IRC announcements @@ -554,17 +584,17 @@ Success: - [X] You can /opall, /conftopic, and /broadcast -<a id="org84b7e1e"></a> +<a id="orgd5b1661"></a> ## Low-res stream -<a id="org1e5d62e"></a> +<a id="org3875a88"></a> ## Restream to YouTube -<a id="orga5282bc"></a> +<a id="org678b044"></a> ## Restream to Toobnix @@ -582,7 +612,30 @@ Success: docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","PASSWORD","user"] -<a id="org8ae0b84"></a> +<a id="cancel-talk"></a> + +## When a talk is cancelled + +1. Update the status to CANCELLED. +2. Update the schedule with <elisp:emacsconf-update-schedule> +3. Regenerate the intros (before, after). <elisp:emacsconf-stream-generate-in-between-pages>, then use <elisp:subed-record-compile-video> in the intros file. +4. Sync the new intros to the /data/emacsconf/shared/$YEAR/assets/intros directory. +5. Regenerate the pads: <elisp:emacsconf-pad-prepopulate-all-talks> + + +<a id="change-talk-qa"></a> + +## When a talk Q&A changes method + +1. Update the talk property. +2. Update the schedule with <elisp:emacsconf-update-schedule> +3. Regenerate the intros (before, after). <elisp:emacsconf-stream-generate-in-between-pages>, then use <elisp:subed-record-compile-video> in the intros file. +4. Sync the new intros to the /data/emacsconf/shared/$YEAR/assets/intros directory. +5. Regenerate the pads: <elisp:emacsconf-pad-prepopulate-all-talks> +6. Regenerate talks.json: <elisp:emacsconf-publish-talks-json-to-files> + + +<a id="orgf87ae48"></a> ## Ansible diff --git a/organizers-notebook/index.org b/organizers-notebook/index.org index f8a67d44..22194a3d 100644 --- a/organizers-notebook/index.org +++ b/organizers-notebook/index.org @@ -319,7 +319,7 @@ Success: Setting up - elisp:emacsconf-publish-res-index -**** Instructions +*** Instructions :PROPERTIES: :CUSTOM_ID: vnc-instructions :END: @@ -333,7 +333,7 @@ manager so that the VNC window is not resized. 2. Set up your local environment: - gen: ~export TRACK=gen; export TRACK_PORT=5905; export SSH_PORT=46668~ - - dev: export TRACK=dev; export TRACK_PORT=5906; export SSH_PORT=46668 + - dev: ~export TRACK=dev; export TRACK_PORT=5906; export SSH_PORT=46668~ 3. Copy the password: @@ -370,6 +370,9 @@ xvncviewer 127.0.0.1:$TRACK_PORT -shared -geometry 1280x720 -passwd vnc-passwd-$ #+end_src ** Streaming with OBS +:PROPERTIES: +:CUSTOM_ID: obs +:END: Success: Confirm that you can stream - [X] gen @@ -383,7 +386,7 @@ ansible-playbook -i inventory.yml prod-playbook.yml --tags obs so that the year is updated in the shell scripts. -**** Instructions +*** Instructions :PROPERTIES: :CUSTOM_ID: obs-instructions :END: @@ -416,6 +419,28 @@ ansible-playbook -i inventory.yml prod-playbook.yml --tags stream so that the year is updated in the configuration. This is on live.emacsconf.org and can be restarted with =/etc/init.d/emacsconf restart=. +** Shell scripts + +Success: From the commandline, hosts can: +- [X] play just the intro: intro $SLUG +- [X] play a file without an intro: play $SLUG +- [X] play a file with an intro: play-with-intro $SLUG (hmm, this didn't show the subtitles) + ah, it's because the intros need to be in the cache dir? +- [X] open the Q&A for a talk: handle-qa $SLUG + - [X] open the pad: pad $SLUG + - [X] open BBB: bbb $SLUG +- [ ] do the whole thing: handle-session $SLUG +- [ ] rebroadcast the other stream: + - rebroadcast gen + - rebroadcast dev +- [ ] control background music: music, stop-music + +Setup: +- OBS must be streaming from the stream you're testing. [[#obs][Streaming with OBS]] +- You may want to generate test assets and copy them over to the assets/stream directory. +- Generate all the overlays and copy them to assets/overlays +- Set up the assets/music directory + ** IRC web client Success: @@ -491,6 +516,28 @@ Success: ssh bbb.emacsverse.org docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","PASSWORD","user"] #+end_src +** When a talk is cancelled +:PROPERTIES: +:CUSTOM_ID: cancel-talk +:END: + +1. Update the status to CANCELLED. +2. Update the schedule with [[elisp:emacsconf-update-schedule]] +3. Regenerate the intros (before, after). elisp:emacsconf-stream-generate-in-between-pages, then use elisp:subed-record-compile-video in the intros file. +4. Sync the new intros to the /data/emacsconf/shared/$YEAR/assets/intros directory. +5. Regenerate the pads: elisp:emacsconf-pad-prepopulate-all-talks +** When a talk Q&A changes method +:PROPERTIES: +:CUSTOM_ID: change-talk-qa +:END: + +1. Update the talk property. +2. Update the schedule with [[elisp:emacsconf-update-schedule]] +3. Regenerate the intros (before, after). elisp:emacsconf-stream-generate-in-between-pages, then use elisp:subed-record-compile-video in the intros file. +4. Sync the new intros to the /data/emacsconf/shared/$YEAR/assets/intros directory. +5. Regenerate the pads: elisp:emacsconf-pad-prepopulate-all-talks +6. Regenerate talks.json: elisp:emacsconf-publish-talks-json-to-files + ** Ansible #+begin_src sh :eval no |