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 email@example.com: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.
We use firstname.lastname@example.org as the base Zoom account.
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
Verify that each event has a start and and end time. If missing, make one up.
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 email@example.com. For the workshop IPRL, we would create the user eventhosts.cc+IPRL@gmail.com. This way, the firstname.lastname@example.org account will receive all the Zoom account activation emails. Use “Users” in the sidebar to assign user one of our Zoom One Business licenses. (most events only need a meeting). In the User Group field select the group that corresponds to the meeting. This will make it easier to find and delete the users after the conference.
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.