Exercise: Checking Registration Completion
Objectives
Learn to use the OpenReview API to:
Retrieve members of a group
Check whether reviewers have accepted the invitation
Check whether reviewers have completed registration
Sentd a message to users who haven't completed registration
Setup: Complete Prerequisites
1. Retrieve
Using the API, retrieve the notes for Reviewer Registration. The invitation is typically in the format <YOUR_VENUE_ID>/Reviewers/-/Registration
Resources: Working with notes
The signature of each note is a list containing the profile ID of the user who submitted the note. We use these signatures to identify who has completed the registration.
##assuming a registration_notes object
users_registration_completed = [r.signatures[0] for r in registration_notes]Users may have multiple profile IDs, so it is important to normalize profile IDs when note signatures. To do so, first retrieve the profiles for members of the users_registration_completed list from Step 1 above.
Resources: See this exercise and Introduction to Profiles
profiles = client.get_profiles(users_registration_completed)
normalized_profiles = [p.id for p in profiles]Check your work: You should have a list of profile ids of the users
2. Retrieve Reviewer Group
Next, retrieve the members of the Reviewer group for your venue. This group shows all reviewers that have accepted the invitation to review for your venue and hence received the registration task. Normalize the reviewer profiles as well.
Use the function client.get_group() . Typically the reviewer group ID is <YOUR_VENUE_ID>/Reviewers .
Resources: See Introduction to Groups
3. Compare Registration Signatures to Reviewer Group
Finally, identify the users in reviewer_group who are not in normalized_profiles to make a list of users who have not completed their registration:
4. Send message to reviewers who have not completed registration
Use post_message to send an email to the users who have not completed registration.
Resources: How to send emails with python client
Was this helpful?