Chapter 5 Class Setup

5.1 Overview of Class Setup

This section will show you how to organize your class to make it easier to administer access to your content. You will need to have a list of who will be taking your class, such as a course roster or sign-up list, as well as a list of additional instructors or teaching assistants. You can make changes later, so the list of students need not be final.

5.2 Identify Funding

5.2.1 NHGRI STRIDES

Through the STRIDES program, NHGRI makes funding available to new users of the AnVIL, in collaboration with the NIH Office of Data Science Strategy. NHGRI currently supports the AnVIL Cloud Credits Program (AC2) and will have a second round of funding available in fall of 2021.

5.3 Collect Google IDs

AnVIL IDs are based on Google accounts.

Students – Contact students/participants to get their AnVIL IDs. These should be Gmail addresses or emails with GSuite capabilities. You can link students to Student Account Setup for instructions on what they should do.

Co-instructors – If you will be working with other instructors, such as co-instructors or teaching assistants, you will need to collect their IDs as well.

5.4 Set Up Groups

Reminder:

  • Google Billing Accounts are managed on Google Cloud Platform and are used for organizing funding sources (e.g. credit cards, cloud credits).
  • Terra Billing Projects are managed through Terra, and allow you to associate your Terra activity with the correct Google Billing Account.

For a more detailed explanation, please see the chapter on Account Setup.

We suggest creating two different Terra Billing Projects under the appropriate Billing Account that you created on cloud.google.com: one for students and one for co-instructors. The instructions below will walk you through how to set this up.

Groups enable you to share your class Workspace and manage permissions for many people at once. We recommend starting with one Group for instructors and one Group for students.

5.4.1 Instructor Group

Create an informative, unique Group name for any co-instructors and teaching assistants. We suggest a combination of institution-class-role (e.g., “jhu-bmr2021-instructors”). Only letters, numbers, underscores, and dashes are allowed in Group names. To create a Group for instructors:

  1. Go to https://anvil.terra.bio/#groups

  2. Click “+ Create a New Group”

    Screenshot of the Terra Group page. The "Create a New Group" button is highlighted.

  3. Type in your instructor Group name

  4. Click “CREATE GROUP”

    Screenshot of the Terra Group page with Create New Group pop out box. The Group name, jhu-bmr2021-instructors, has been entered and the "CREATE GROUP" button is highlighted.

You now have a unique instructor Group.

5.4.2 Add Instructors as “Admin” (Instructor Group)

Now that your instructor Group has been created, you should add any additional instructors. You should also ensure that they have the correct permissions.

  1. Go to https://anvil.terra.bio/#groups/ and click on the instructor Group name. This page should also be visible at https://anvil.terra.bio/#groups/<group-name>.

    Screenshot of the Terra Group, and the specific Group that was just created. The Group Name is highlighted.

  2. Click on “+Add User”. You will be prompted to add the instructor’s AnVIL ID.

    Screenshot of the Terra Group page for the specific Group that was just created. The "+Add User" button is highlighted.

  3. Type in the instructor’s AnVIL ID

    Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the AnVIL ID (email) is highlighted.

  4. Make sure “Can manage users (admin)” is selected

    Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the checkbox "Can manage users (admin)" has been selected and is highlighted.

  5. Click ADD USER. This will take you back to the Group administration page.

    Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the "ADD USER" button is highlighted.

Make sure the newly added instructor displays “Admin” under “Roles” beside their AnVIL ID. Repeat this process for any additional co-instructors and teaching assistants.

Screenshot of the Terra Group for the instructor Group that was just created, where the newly added instructor is visible in the user list. The instructor`s AnVIL ID, instructor-1@gmail.com is visible next to the role "Admin", which is highlighted.

5.4.3 Student Group

Next, you will create a Group for your students. Create an informative, unique Group name. We suggest a combination of institution-class-role (e.g., “jhu-bmr2021-students”). Only letters, numbers, underscores, and dashes are allowed in Group names. To create a Group for students:

  1. Go to https://anvil.terra.bio/#groups

  2. Click “+ Create a New Group”

    Screenshot of the Terra Group page. The "Create a New Group" button is highlighted.

  3. Type in your student Group name

  4. Click “CREATE GROUP”

    Screenshot of the Terra Group page with Create New Group pop out box. The Group name, jhu-bmr2021-students, has been entered and the "CREATE GROUP" button is highlighted.

You now have a unique student Group.

5.4.4 Add Instructors as “Admin” (Student Group)

The next steps ensure any additional co-instructors and teaching assistants are able to administer the student Group in case you are unavailable. Follow the steps below to add each co-instructor in the student Group:

  1. Go to https://anvil.terra.bio/#groups/ and click on the student Group name. This page should be visible at https://anvil.terra.bio/#groups/<group-name>.

    Screenshot of the Terra Group, and the specific Group that was just created. The student Group name is highlighted.

  2. Click on “+Add User”. You will be prompted to add the instructor’s AnVIL ID.

    Screenshot of the Terra Group page for the specific Group that was just created. The "+Add User" button is highlighted.

  3. Type in the instructor’s AnVIL ID

    Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the AnVIL ID (email) is highlighted.

  4. Make sure “Can manage users (admin)” is selected

    Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the checkbox "Can manage users (admin)" has been selected and is highlighted.

  5. Click ADD USER. This will take you back to the Group administration page.

    Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the "ADD USER" button is highlighted.

Make sure the newly added instructor displays “Admin” under “Roles” beside their AnVIL ID. Repeat this process for any additional co-instructors and teaching assistants.

Screenshot of the Terra Group for the student Group that was just created, where the newly added instructor is visible in the user list. The instructor`s AnVIL ID, instructor-1@gmail.com is visible next to the role "Admin", which is highlighted.

5.4.5 Add Students as “Member”

Follow the steps below to add individual students to the student Group:

  1. Go to https://anvil.terra.bio/#groups/ and click on the student Group name. This page should be visible at https://anvil.terra.bio/#groups/<group-name>.

    Screenshot of the Terra Group, and the specific Group that was just created. The student Group name is highlighted.

  2. Click on “+Add User”. You will be prompted to add an AnVIL ID.

    Screenshot of the Terra Group page for the specific Group that was just created. The "+Add User" button is highlighted.

  3. Type in the student’s AnVIL ID

    Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The student`s AnVIL ID, student-1@gmail.com, has been entered and the AnVIL ID (email) is highlighted.

  4. Click ADD USER

    Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The student`s AnVIL ID, student-1@gmail.com, has been entered and the "ADD USER" button is highlighted.

Make sure the newly added student displays “Member” under “Roles” beside their AnVIL ID. At present, each student’s AnVIL ID must be added separately.

Screenshot of the Terra Group for the student Group that was just created, where the newly added student is visible in the user list. The student`s AnVIL ID, student-1@gmail.com is visible next to the role "Member", which is highlighted.

Your instructor and student Groups are now set up.

5.4.6 Group Email Lists

Note that your newly created Groups have Group emails associated with them. Take note of these Group emails. You will use them for granting access to your class Billing Projects and Workspaces in the next steps.

Screenshot of the Terra Group page. Emails associated with newly formed Groups have been highlighted.

5.5 Set Up Billing Projects

Billing Projects in Terra help organize your compute costs. Like Groups, we suggest creating two different billing projects under the appropriate Billing Account that you created on cloud.google.com: one for students and one for co-instructors.

Billing Project names must be globally unique and cannot exceed 30 characters.

5.5.1 Instructor Billing Project

First, create the Billing Project for instructors. We suggest the name of the Billing Project should be a combination of institution-class-role (e.g., “jhu-bmr2021-instructors-bill-1”). To create a Billing Project for instructors:

  1. Go to https://anvil.terra.bio/#billing

  2. Click “+CREATE”

    Screenshot of the Terra Billing page. The "+CREATE" button is highlighted.

  3. Type in your instructor Billing Project name

    Screenshot of the Terra Billing page with Create Billing Project pop out box. The new billing project name, jhu-bmr2021-instructors-bill-1, is highlighted.

  4. Select the appropriate Billing Account

    Screenshot of the Terra Billing page with Create Billing Project pop out box. The appropriate billing account name, My Billing Account, is highlighted.

  5. Click “CREATE BILLING PROJECT”

    Screenshot of the Terra Billing page with Create Billing Project pop out box. The "CREATE BILLING PROJECT" button is highlighted.

You now have a unique instructor Billing Project.

5.5.2 Add Instructors as “Owner” (Instructor Project)

Next, you want to give instructors permission to use the Billing Project to compute. To set instructor permissions:

  1. Go to https://anvil.terra.bio/#billing

  2. Select the “Owned by You” Billing Project sub-list

    Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.

  3. Select the Billing Project you made for instructors in Instructor Billing Project

    Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The instructor Billing project, in this case jhu-bmr2021-instructors, is highlighted.

  4. Select the “Users” tab

    Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the Users Tab is highlighted.

  5. Click “+ Add User”. You will be prompted to add a “User email *”.

    Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the "+Add User" button is highlighted.

  6. Begin typing the instructor Group name set up in Instructor Group. You should see an email in the form @firecloud.org (e.g., ).

  7. Ensure “Can manage users (Owner)” is selected

    Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked.

  8. Click “ADD USER”

    Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked. The "ADD USER" button is highlighted.

Your instructor Billing Project is now set up.

5.5.3 Student Billing Project

Next, create a student Billing Project. Again, we suggest a combination of institution-class-role (e.g., “jhu-bmr2021-students-bill-1”). To create a Billing Project for students:

  1. Go to https://anvil.terra.bio/#billing

  2. Click “+CREATE”

    Screenshot of the Terra Billing page. The "+CREATE" button is highlighted.

  3. Type in your student Billing Project name

    Screenshot of the Terra Billing page with Create Billing Project pop out box. The new billing project name, jhu-bmr2021-students-bill-1, is highlighted.

  4. Select the appropriate Billing Account (same as above)

    Screenshot of the Terra Billing page with Create Billing Project pop out box. The appropriate billing account name, My Billing Account, is highlighted.

  5. Click “CREATE BILLING PROJECT”

    Screenshot of the Terra Billing page with Create Billing Project pop out box. The "CREATE BILLING PROJECT" button is highlighted.

You now have a unique student Billing Project.

5.5.4 Add Instructors as “Owner” (Student Project)

You want to ensure any additional co-instructors and teaching assistants are able to administer the student Billing Project in case you are unavailable. To set instructor permissions:

  1. Go to https://anvil.terra.bio/#billing

  2. Select the “Owned by You” Billing Project sub-list

    Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.

  3. Select the Billing Project you made for students in Student Billing Project

    Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The student Billing project, in this case jhu-bmr2021-students, is highlighted.

  4. Select the “Users” tab

    Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the Users Tab is highlighted.

  5. Click “+ Add User”. You will be prompted to add a “User email *”.

    Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the "+Add User" button is highlighted.

  6. Begin typing the instructor Group name set up in [### Set Up Groups]. You should see an email in the form @firecloud.org (e.g., ).

  7. Ensure “Can manage users (Owner)” is selected

    Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked.

  8. Click “ADD USER”

    Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked. The "ADD USER" button is highlighted.

This step makes it so that co-instructors can edit permissions and administer the student Billing Project as needed. While this means you and co-instructors can compute using the student Billing Project, this makes spending difficult to track. Instructors should always use the instructor Billing Project to compute. This makes it much easier to track costs associated with instructors versus students.

5.5.5 Add Students as “User”

Next, you will add your student Group to the student Billing Project so that they can compute. To set student permissions:

  1. Go to https://anvil.terra.bio/#billing

  2. Select the “Owned by You” Billing Project sub-list

    Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.

  3. Select the Billing Project you made for students in Student Billing Project

    Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The student Billing project, in this case jhu-bmr2021-students, is highlighted.

  4. Select the “Users” tab

    Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the Users Tab is highlighted.

  5. Click “+ Add User”. You will be prompted to add a “User email *”.

    Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the "+Add User" button is highlighted.

  6. Begin typing the student Group name set up in Student Group. You should see an email in the form @firecloud.org (e.g., ).

  7. Keep “Can manage users (Owner)” deselected.

    Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked.

  8. Click “ADD USER”

    Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked. The "ADD USER" button is highlighted.

Your student Billing Project is now set up.

5.6 Set Permissions - Workspace

Finally, you will want to set up permissions for co-instructors and students to see the class Workspace you created with the development Billing Project in Developing Content. AnVIL users can take on the “Owner”, “Writer”, or “Reader” role for a Workspace.

5.6.1 Add Instructors as “Owner”

You should add your co-instructors and teaching assistants as “Owners” to the class Workspace. This is useful if they need to edit the course content or share the space with students on your behalf. To share and change permissions:

  1. Go to https://anvil.terra.bio/#workspaces and find your class Workspace you set up in Developing Content

  2. Click the teardrop button for your class Workspace

  3. Click “Share”. This will open a dialog box.

    Screenshot of the class Workspace listed in the Workspaces tab. The teardrop button and the option to "Share" the Workspace are highlighted.

  4. Enter the name of the instructor Group (e.g., jhu-bmr2021-instructors). This will create a dropdown for the Group permissions in the box. Select this Group.

    Screenshot of the share Workspace pop out box. The text "jhu-bmr" has been entered in the User email box and the dropdown below has been automatically filtered to reveal the instructor, student, and dev Groups. The instructor Group, in this case jhu-bmr2021-instructors@firecloud.org, has been highlighted.

  5. Change permissions to “Owner” using the dropdown menu under the instructor Group

    Screenshot of the share Workspace pop out box. The instructor Group, in this case jhu-bmr2021-instructors@firecloud.org, has been added as a collaborator. The permissions are highlighted and show that role has been set to "Owner".

  6. Click “SAVE”

    Screenshot of the share Workspace pop out box. The instructor Group email has been added with permissions correctly set. The "SAVE" button is highlighted.

This step makes it so that co-instructors can edit the original content of the Workspace as needed. While this means you and co-instructors can compute using the development Billing Project, this makes spending difficult to track. Instructors should instead clone the Workspace using the instructor Billing Project. This makes it much easier to track costs associated with this iteration of your class versus further iterations (e.g., the following semester or year).

5.6.2 Add Students as “Reader”

Next, add your students as “Readers” to the class Workspace. This means they will be able to view and clone the Workspace, but not make edits or perform computations. To share the Workspace:

  1. Click the teardrop button for your class Workspace

  2. Click “Share”. This will open a dialog box.

    Screenshot of the class Workspace listed in the Workspaces tab. The teardrop button and the option to "Share" the Workspace are highlighted.

  3. Enter the name of the student Group. This will create a dropdown for the Group permissions in the box. Select this Group.

    Screenshot of the share Workspace pop out box. The text "jhu-bmr" has been entered in the User email box and the dropdown below has been automatically filtered to reveal the student and dev Groups. The student Group, in this case jhu-bmr2021-students@firecloud.org, has been highlighted.

  4. Ensure permissions are set to “Reader” (default)

    Screenshot of the share Workspace pop out box. The student Group, in this case jhu-bmr2021-students@firecloud.org, has been added as a collaborator. The permissions are highlighted and show that role is "Reader".

  5. Click “SAVE”

    Screenshot of the share Workspace pop out box. The student Group email has been added with permissions correctly set. The "SAVE" button is highlighted.

You have now correctly set up your class permissions!

5.7 Notify Terra

Contacting Terra ahead of your class time helps the Terra team avoid any major disruptions to your class. Contact Terra by submitting a request for a hold on scheduled maintenance and downtime. It’s also a good idea to ask about major changes planned for the time prior to your class.