Schooltool Google Classroom Integration Setup Steps

The steps in this article assist you with setting up the Schooltool Google Classroom Integration feature that was first made available in Schooltool version 16.  The following is an expanded set of instructions taken from the following document: SetupGuide_SchooltoolGoogleClassroomIntegration.pdf

Before You Begin:

As of October 2018, the Schooltool Google Classroom Integration provides teachers ONLY with the ability to sync their classroom rosters from Schooltool to courses that they have already created in Google Classroom. 

The integration can also be used to CREATE new classes in Google Classroom, but there is NOT currently the functionality available to allow assignments in Google Classroom to automatically be "passed back" into the Schooltool Grade Book.

The vendor has tentatively advertised the availability of this functionality no sooner than of "Spring of 2018"which also means that the feature may not be available until the start of the 2019-2020 School Year.

Important Technical Detail:

In order for schools to make use of the Schooltool Google Classroom Integration, ALL of the following must be true in Schooltool otherwise the Google Classroom features that are available in Schooltool will not function, even if they are configured 100% correctly:

  1. Students must have the Google Email Address that the school has issued to them, appear in their Schooltool person record:
     
    Student Email Highlighted

     
  2. Faculty must have the Google Email Address that the school has issued to them, appear in their Schooltool person record:
Faculty Email Highlighted


Any person with an account in Schooltool that doesn't also have their Google Email Address on file in their Schooltool person record, will be unable to make use of any of the Google Classroom Integration features, until their person record is updated, EVEN if Schooltool has been configured 100% correctly.

For Example:

A classroom teacher with a valid Google Email Address issued by the school on file in her person record in Schooltool, attempts to sync their Google Classroom Roster with their Schooltool Course Roster by clicking the "Sync" option that appears in Schooltool  when she clicks the Google Sync icon as illustrated below:

Google Sync Button


However, because none of the students enrolled in her class in Schooltool have a valid Google Email Address issued by the school on file in their person records, the teacher will receive an error like the following when attempting to sync her course roster between the two systems:

Google Classroom Sync Errors

 

Below are the steps required to Setup the Schooltool Google Classroom Integration:
STep A Create a google "Super admin" account (using the following as a guide)
 
  1. Go to https://www.admin.google.com and logon with an account that is allowed to create user accounts in your Google console

     
  2. Click the "Users" icon
     
    Google Users Icon

     
  3. Click the "Plus" button at the top of the list to add a user
     
    Add New Google User Screen
    Google Add User


     
  4. Type in "Schooltool" as the first name
     
  5. Type in "Super User" as the last name
     
  6. Type in "schooltoolservice" as the "Primary Email"

     
  7. Slide the "Automatically generate password" slider to the left
     
    Google Password Slider


     
  8. Type a password for the account into the "Password" field that appears just below - REMEMBER this password as you'll need it later to login to the Google Developer Console

     
  9. Slide the "Ask for a password change..." slider to the left
     
    Ask for Password Change Slider


     
  10. Click the "Add New User" button - the account is created and you're returned to the users list
     
  11. Click the "Add a filter" button that appears just above the list of users
     
    Add Filter Button

     
  12. Click "Fist Name" from the list that appears next
     
    Select First Name Illustrated


     
  13. Type in "schooltool" into the "Starts with" field and click the "Apply" link below - the account you created in the previous steps now appears
     
    Starts With Illustration


     
  14. Double click on the "Schooltool Super Admin" account that appears in the list to open it
     
    Schooltool Super Admin Selected


     
  15. Scroll through the list of attributes on the right side of the screen, and click on the Down Arrow that appears to the far right of the "Admin roles and privileges" section to expand it:
     
    Select Down Arrow Highlighted


     
  16. Locate the "Super Admin" role in the list of roles that appears, and slide the "Assigned state" slider to the right to grant the account this role (the "Assigned state" for the role will changed to "Assigned"):

     
    Assigned State Slider


     
  17. At the top right of the screen, click the Up Arrow button that appears to the far right of the "Admin roles and privileges" section to shrink it:
     
    Illustration of Up Arrow Button


     
  18. Confirm that the "Admin roles and privileges" area now appears like what's in the following image, and if not retrace your steps:
     
    Super Admin Confirmation Screen
STEP b Create a NEW google api project (using the following as a guide)
 
  1. Open a new tab in your web browser and go to https://console.developers.google.com?

     
  2. Login to the console using the "Schooltool Super User" account you created in the previous set of steps - be sure that you DO NOT login to the Google Developer Console as yourself  for this step(see important note below)

     
    • =>IMPORTANT:  If you are already logged into Google Chrome as yourself, when you first go to the developer console you'll actually be logged in automatically as yourself.

      As this usually happens, be sure then to click the account button that appears in the top right hand corner of the screen (the button is an image of your picture if you uploaded one into your Google account), and then click the "Sign Out" button, followed by "Continue" and "Use another account" as illustrated below:

       
      Sign Out Btn
      Choose Account Screen
      Continue Button
               =>                                                                                                       =>


       
  3. To the top right side of the screen, click the "Create Project" button that will appear assuming this is the very first time you've logged into the developer console (see hint below)

     
    Create Project Screen


     
    • **HintIf you've ever logged into the developer console before, you'll need to actually create a NEW project in order to be successful at completing the steps in this article.  You can do so be performing the following steps:


      A) Click the name of the project that is currently open which appears in the top left of the screen
       
      Select Project Name Field


      B) On the screen that appears next, click the "New Project" link as illustrated below, then continue on to the next step
       
      New Project Button


       
  4. On the "New Project' screen, use your keyboard to give the project the name shown below (exactly):
     
    New Project Screen

     
  5. Click the "Create" button to continue - the name of the project should now appear in the top left hand corner of the screen as illustrated below (if not click "Select Project" in the top left and double click "Schooltool Integration" from the project list screen, or retrace your steps):
     
    Project Selector Illustration
STEP C ADD API's and ServICES to the project (using the following as a guide)
 
  1. Click "Library" from the navigator that appears on the left:
     
    Illustration of the Library Navigation Click


     
  2. Add the following Application Programming Interfaces (API's) to the project using the following steps:
     
    API Library Illustration
    • A) Type the following into the "Search for API's & Services" field that appears at the top of the API Library and press Enter on the keyboard:



      Admin SDK
       
      Admin Developer Kit Tile


       
    • B) Click anywhere on the tile that appears below to select it


       
    • C) Click the "Enable" button to add the Admin SDK API to the "Schooltool Integration" project:
       
      Admin Developer Kit Enable Button

       
    • D) Navigate back to the API Library by clicking the Menu Button that appears to the top left of the screen, and then click "APIs & Services" from the menu that appears, then click "Library" from the sub-menu that appears to the right as illustrated below:

       
      Illustration of Navigating Back to the Library


       
    • E) Type the following into the "Search for APIs & Services" field that appears at the top of the API Library:



      Google Classroom API

       
      Google Classroom API Tile


       
    • F) Click anywhere on the tile below to select it

       
    • G) Click the "Enable" button to add the Google Classroom API to the "Schooltool Integration" project:

       
      Google Classroom Enable Button

 

STEP D Add credentials to the project and generate a P12 file (using the following as a guide)
 
  1. Click the Menu Button that appears to the top left of the screen, and then click "APIs & Services" from the menu that appears, then click "Credentials" from the sub-menu that appears to the right as illustrated below:
     
    Illustration of how to click the Credentials Link from the Navigator


     
  2. In the middle of the right side of the screen, click the "Create Credentials" button:
     
    Create Credentials Screen


     
  3. From the menu that appears next, click "Service Account Key" - the "Create service account key" screen appears

     
  4. Click the "Service account" drop down and select "New Service Account" from the list that appears - a new set of fields will appear just below after doing so

     
    Select Service Account Field


     
  5. In the "Service Account name" field, type the following (exactly):  Schooltool Service Account


     
  6. Change the "Role" field to exactly the following:  Owner

     
    Select Role Illustration


     
  7. Under the "Key Type" area, mark "P12" as illustrated below:

     
    Illustration of P12 Marked


     
  8. Click the "Create" button that appears just below and a screen similar to the following should appear:

     
    Download P12 file illustration



    Depending on the web browser you're using for this step (i.e. Google Chrome, Internet Explorer or FireFox), and on how your browser is configured, you may either be prompted to select a location on your computer's hard-drive to download a file to (like what's shown above), or you might instead barely notice that just the following is appearing in the lower right of the screen

     
    Illustration of Saving the P12 File



    In either circumstance, the file that you're prompted to download or the file that just appears as shown above, is VERY important to retain a copy of as you'll use it later in the Schooltool/Google Classroom Integration setup (e.g. a copy of the P12 file must be placed on your Schooltool web server, which is done for you by an EduTech staff member).


    =>IMPORTANT:
     
    • You must successfully retain a copy of the file that is generated as part of this (the P12 file) as the file plays a crucial part in making the Schooltool/Google Classroom Integration work.
       
    • The P12 file generated as part of this step can be obtained ONLY ONE TIME, so if you aren't able to retain a copy of the file for some reason, or otherwise misplace it now or in the future, you'll be forced to repeat all of the steps in this section of the guide (in order) to generate a new P12 file, as well as you may be forced to reconfigure Schooltool as well to make use of the file (accomplished later in this article).

       
  9. Save a copy of the P12 file that appears as part of the previous step if you haven't already, to a secure location on your computer's hard-drive or on a network folder that is backed up, but accessible only to a few people

     
  10. Click the "Close" button that appears in the lower right of the "Private key saved..." screen to continue - the "Credentials" screen appears next
     
    Private Key Saved Window


     
  11. On the "Credentials" screen click the "Manage service accounts" link as illustrated below:

     
    Manage Service Accounts Button


     
  12. Click the "Control" button that appears in the "Action" column which appears to the right of the "Schooltool Service Account" that you created in the previous step (you may need to scroll far to the right in order to see the control button (three dots):
     
    Control Button Illustration


     
  13. From the menu that appears, click "Edit" as illustrated above

     
  14. On the "Service account details" screen, click the Down Arrow that appears to the right of "Show Domain-Wide Delegation" to expand it as illustrated below:
     
    Show Domain Wide Delegation Link



     
  15. Check the "Enable G Suite Domain-wide Delegation" checkbox that appears as illustrated below - another new set of fields will appear

     
    Enable G Suite Checkbox


     
  16. In the "Product Name..." field that appears type the following (exactly):   Schooltool

     
    Enter Product Name for G Suite Screen


     
  17. At the bottom left of the screen click the "Save" button - this will create a "Client ID" which you'll use later in the setup steps yet to come


     
  18. Back on the "Service Accounts..." page, click the "View Client ID" link that appears in the "Domain wide delegation" column as illustrated below:
     
    View Client ID Link Illustration


     
  19. On the "Client ID for Service account..." page that appears next, make note of what the "Client ID" is and the email address that appears in the "Service Account" field - you'll need to enter both of these items into Schooltool in the setup steps yet to come

     
    Sample Client ID screens



    **Hint:  For this step, it's handy to leave the file page open, so that when the values highlighted above are needed later, you can simply use your mouse to copy and paste each value into the appropriate field in Schooltool.  Otherwise, you'll need to write the values down and type them in manually when they're required, which is a method that we don't recommend as it's prone to error.

 

Step E Configure API Security in the google admin console (using the following as a guide)
 
  1. Using your web browser, switch back to the tab that you previously were logged into the school’s Google Console with if possible, or simply open a new tab and go to https://admin.google.com – be sure to log on to the Google Admin Console as yourself
     

    Illustration of clicking the Admin Console tab

     

  2. Click the Menu Button  that appears to the top left of the Admin Console screen (three bars), and from the menu that appears click Security as illustrated below

    Illustration of clicking Security from the left navigator
  3. From the list of Security options, scroll if needed and click on the “API Reference” block as illustrated below – the block will expand:

    API Security Module - API Reference Selected


     

  4. Check the “Enable API Access” checkbox if it isn’t already checked:

    Enable API Checkbox

     

  5. Scroll further down the screen and locate and click the “Advanced settings” block and click it as illustrated below – the block will expand:

    Advanced Settings Block

     

  6. In the “Advanced settings” block, click the “Manage API Client Access” link as illustrated below – the “Manage API client access” screen appears next:

    Manage the API client access Link

     

  7. Using the tabs that you should still have open in your web browser, switch back and forth between the Google Admin Console and the Google Developer Console, to perform the following steps:
     

    Web Brower Tabs Illustration


     

    • A) Switch to the tab where you have the Google Developer Console still open

    • B) Copy the value that you see in the “Client ID” field into your computer’s clipboard by using your mouse to highlight every digit of the number and either press Ctrl-C on your keyboard, or right click the value and choose “Copy” from the menu that appears

    • C) Switch to the tab where you have the Google Admin Console still open

    • D) Paste the value you copied in the previous step, into the “Client Name” field that appears at the top of the screen (see illustration below)
       

      Client Name Illustration


       

    • E) Download the following text file by clicking the link below and open it:

      GoogleClassroomScopes.txt
       

    • F) Copy and paste ALL of the text that appears in the file you downloaded in the previous step EXACTLY as it appears (open the file then Press Ctrl-A then Ctrl-C on your keyboard), into the “One or More API Scopes” field that appears at the top of the screen (the field doesn’t appear to be able to fit all of the following text, but don’t worry…it will):

      Illustration Only:

      One or More API Scopes Illustration


       
    • F) Click the "Authorize" button that appears to the right as illustrated above - if you completed the previous step correctly, something similar to the following should appear just below (the lines that appear to the right must display exactly as shown below - if not retrace your steps):

       
      API Scope Final Screen


       

 

Step F Add teachers to the Classroom Teachers Group (Using the following as a guide)
 
  1. While still in the Google Admin Console, click the Menu Button  that appears to the top left of the Admin Console screen (three bars), and from the menu that appears click Directory>Groups as illustrated below:
     
    Illustration of the Directory Groups Navigation

     
  2. Use the large "Search" field that appears to the top left of the screen to search for a group named "Classroom Teachers":
     
    Search For Classroom Teachers Illustration


     
  3. Click on the group when it appears in the list to select it - this group should already exist as it is is created by default in G Suite (e.g. classroom_teachers@yourdomainname.org)

     
  4. On the next screen double click the "Manage users in Classroom Teachers"  block - the "Group" details screen appears
     
    Manage teachers in classrooms block


     
  5. As needed, add teachers in your organization to this group which is what ultimately allows teachers to use Google Classroom - this is an IMPORTANT step as any teacher that doesn't appear in this list, won't be able to use the Schooltool Google Classroom Integration no matter what else happens!

 

STEP G configure Schooltool network settings (using the following as a guide)
 

Once ALL of the steps in the previous sections have been completed successfully and accurately, you'll finally be able to configure Schooltool and enable the Google Classroom Integration features.  The steps that follow assist you with this process, but can't be completed unless you've completed ALL of the steps in the previous sections of this article:

  1. Open yet another tab in your web browser (you will have at least 3 tabs open now), and navigate to your school's Schooltool PRODUCTION site
     
    Three Tab Example


     
  2. Login to Schooltool if you haven't already with an administrative account

     
  3. Click Maintenance>Application>Network Settings

     
  4. Using the tabs that you should still have open in your web browser (see image above), switch back and forth between the Google Developer Console and the Schooltool, to fill out the "Google Classroom Setup" area that appears at the bottom of the screen using the following as a guide:

     
    Google Classrom Setup Screen in Schooltool



     
    • API Application Name:  Type the name of the project you created and setup, which should appear in the Google Developer Console in the top left of the screen of the OAuth client screen (if you've followed this instruction set exactly, you should be able to just type "Schooltool Integration" into this field)
       
      API App Name Illustration

       
    • Service Account User:  Type the email address of the "super admin" account that you created in the very first steps of this article (if you've followed this instruction set exactly, you should be able to just type schooltoolservice followed by the @ symbol and then your schools normal email domain with no spaces)


      Example:    schooltoolservice@yourdomain.org


       
    • Student Domain:  Type in the domain that was previously setup in G Suite for student accounts, when your school first starting using Google


      **Hint:  Both the student and the teacher domain are typically the same, unless your school has created sub-domains for grouping and permissions purposes in G Suite (e.g. students.yourschooldomain.org)

       
    • Teacher Domain:  Type in the domain that was previously setup in G Suite for teacher accounts when your school first starting using Google

       
    • Service Account Client ID:  Copy and paste the ENTIRE number that appears on the "Client ID" line of the OAuth Client Screen in the Google Admin Console

       
      API Client ID Illustration


       
    • Service Account Email Address:  Copy and paste the ENTIRE email address that appears starting on the second line of the "Service Account" area in the Google Admin Console OAuth client screen (be sure not to accidentally copy the name of the service account)

       
      Service Account Email Address


       
    • P12 Private Key File:   Type the following exactly as shown, and then read the following important notice => C:\tbd.p12


      =>IMPORANT: The P12 file needs to be placed in the proper location on your school's Schooltool Web Server, which is something that EduTech is currently required to do for you, for various reasons including for security purposes.


      In order to provide EduTech with the P12 file, perform the following steps:

       
      1. Upload the P12 file to EduTech which is the file that you previously created and saved to a secure location on your computers hard-drive or network location in a previous step, by clicking the following link:  

        https://student-ftp.edutech.org/uploadlink.html?linkid=269f678436cb2ba0b4e71c7297b06054

         
      2. After uploading the file let us know that you did so, simply by sending an email to schooltool@edutech.org - when you do so please be sure to include the Case Number you were assigned after receiving a link to this instruction set, so that we can more easily determine who the P12 file you've sent is for.
         
      3. Once we receive confirmation that you've sent the file, we'll then place it and update the "P12 Private Key File" field in the Network Setting area of Schooltool replacing the C:\tbd.p12 file
         
      4. Once this work complete, we will notify by email or you can call us at your liesure to check the status of the P12 file by dialing 1-800-722-5797 option 1 then option 2

         
  5. Save Your Changes, to complete the steps in this section.
Step H Enable Google Classroom features in Schooltool (using the following as a guide)
 

Once you've completed all of the steps in the previous sections that appear above in this article, you can enable the Google Classroom features in Schooltool using the following as a guide.  If you do not complete the steps that follow, teachers will be unable to make use of the features in Schooltool as they won't actually see them when they login and navigate to various screens.

  1. Log into Schooltool if you haven't already with an account that has administrative privileges

     
  2. Navigate to District>Building - a list of the buildings that have been setup for your school appear

     
  3. Select a building to allow teachers assigned to that building to use the Schooltool Google Classroom Integration features - the "Building Maintenance" screen appears next

     
  4. Click "School Level Maintenance" - the screen changes displaying a list of the "School Levels" (programs) that are run in that building in the lower portion of the screen

     
  5. Click the "Edit" button that appears to the left of the School Level (program) that you wish to enable the feature for


    **Hint:  this screen allows you to only enable to feature for just the High School Program and not any other, assuming that your school only has one physical building.

     
  6. Check the "Allow Google Classroom" checkbox that appears to the right any the school level as illustrated below:
     
    Building Maintenance Steps


     
  7. (IMPORTANT) Click the "Save" button that appears to the LEFT of the School Level to continue to the next step

     
  8. (OPTIONAL) Repeat steps 5 through 7 until you've modified any other school levels that you'd like to enable the feature for

     
  9. Click the "Save" button that appears to the TOP RIGHT of the Building Maintenance Screen to save your changes and exit back to the "District Buildings" screen
     
  10. (OPTIONAL) Repeat steps 3 through 9 for any other buildings that you wish to enable the feature for

     
  11. Navigate to Maintenance>User Group>Groups and Security Tree

     
  12. Click the "Edit" button that appears to the left of a security group that you know controls teachers access to features in Schooltool (e.g. SMS_Teachers)

     
  13. Scroll through the Security Tree and locate and expand the following groups by clicking the "Plus" (+) button that appears to the left of them, assuming they aren't already expanded:

    My Home>Roster

     
    Google Classroom Security Group Settings


     
  14. Check the "Push to Google Classroom" checkbox as illustrated above - this causes the blue "Google Sync" icon to appear in the teachers "Roster" module
    Google Sync Button

     
  15. Click the "Save" icon that appears in the top right of the "Security Tree" screen to save your changes
     
  16. (OPTIONAL) Repeat steps 12 through 15 to modify the permission for any other SMS groups that have users in them that will use the feature (e.g. don't forget to add it to the SMS_SuperUser Group so that you can test the feature yourself as needed)
     
  17. Test that the feature is working simply by using the "Login as User" feature available in the Schooltool Faculty module, for any teacher that has a valid school issued Google Email Address on file in their Schooltool Faculty Record.