Zoom webinars are used to present live content during workshops, some socials and for sponsor booths. Zoom meetings are used for the presenters and SlidesLive to give Q&A and other live segments during orals and invited talks.
Clone the repository with git clone firstname.lastname@example.org:leetncamp/xltozoom.gitIf using ./misc.py --exportScheduleIntegrationXLSXZoom, you'll need to clone this into the top level directory on your development server and add xltozoom to your .gitignore file. This can be done on a development server with an updated copy of the database.
I recommend creating new account at Zoom.us to handle the current year's conference. Something like email@example.com.
After you create the account record the Personal Meeting ID: and the Host Key: you will need them if you need to contact support.
Zoom now monitors the country that you log in from and will send you a verification code by email if it detects a login from another country. You may want to provide SlidesLive the Gmail account information so they can access the accounts.
In your account page at Zoom.us, click Billing in the zoom.us sidebar and choose to “Upgrade your Account”. Because the Pro plan only scales to 9 licenses, choose Business. Be sure to choose monthly billing rather than annual. Purchase the correct number of video webinar add-ons. Your main Zoom account consumes one zoom meeting license; go to users and remove your licenses for webinar and meeting if you don't need them.
Generate your api keys by by visiting https://marketplace.zoom.us, in the develop menu dropdown choose Build App and choose JWT. Click the create button and name your app, e.g., ICML2021. Then copy your credentials and add them to the zsecrets.py
Use the Events table admin interface to export a spreadsheet of Events as xlsx. Filter for the correct events, then click the EXPORT button in the upper right of the admin page.
Turn off word wrapping for all cells to make it easier to read.
Insert column action as the first column
Use ./manage.py fix-admin-export-for-xltozoom event-export.xlsx to add missing fields to the spreadsheet, e.g. meeting_or_webinar and to remove unnecessary fields. Check that the action column isn't misspelled as S.
If you need to skip a row, e.g. for a Social that doesn't want a Zoom, add a column called “Action” and add the word “skip” to the row.
For each event, we need to create a zoom user where the user name is created from our base account name above. E.g, for firstname.lastname@example.org and for the workshop IPRL, we might create a user name icml2021zoom+IPRL@gmail.com. This way, the email@example.com account will receive all the Zoom account activation emails. Use “Users” in the sidebar to create users with both a basic license and a webinar license. (Remember that not all events need a webinar).
Confirm the user at zoom.us and set it's password as listed in the spreadsheet. The selenium script called activate_zoom_accounts.py in the xltozoom repository can help activate the account automatically.
Now that you have the right number of activated and licensed user accounts at zoom.us, we are ready to use the xltozoom scripts to create the webinars: password, zoom_host_password, and host_zoom_user_email.
cd to the xltozoom folder making sure it's checked out into the root of the Django project.
Run ./go.py --file PATH-TO-EXPORTED-SPREADSHEET.xlsx. That will iterate over each row of the spreadsheet and create or update a workshop or webinar for each event. As it finishes, it stops to ask permission to write the resulting zoom information back into the spreadsheet.
Close Excel and allow it to write.
Then cd back to the root of the conference directory
run ./misc.py --importZoomLinks PATH-TO-EXPORTED-SPREADSHEET.xlsx, E.G, ./misc.py ---importZoomLinks xltozoom/schedule.xlsx. After testing this on your development server,
copy the XLSX file to the production server and import it there.