MySchool can push student course enrolment data to your Google classroom suite. When set up, we can also synchronise with assignments created in Google classrooms.
You must synchronise your courses first.
Please note that you will need to have knowledge of and access to your school's Google console.
What can be synchronised?
There are two options available, either create or synchronise with existing. In both cases, your MySchool roster will control your Google enrolments. It will override changes made on Google on a daily basis.
- Academic year - This information will populate the section field in Google. Please note that Google classrooms do not have a concept of an academic year. At the end of each MySchool academic year, you must archive all classes and resync after you have changed the scholastic year as part of the MySchool rollover. The current year's academic roster will be used to create new courses on Google.
- Course name - As listed in the MySchool course list view.
- Course status - If the course is listed in MySchool, then it will be pushed to Google classrooms. There is no possibility to align on course duration dates in Google classrooms.
- Owner - Please note we will need a Google super admin account to be set as the owner for all Google courses. You should not change this as it will cause the synchronisation to fail.
- Description - From the description field within the main info tab for the course.
- Student enrolment - It will pull the students as enrolled.
- Course Teacher - Both main and secondary teachers will be assigned in Google classrooms.
How to start?
The sync centre tool is located under administer/advanced options. This will be available for all user groups who have the permission Sync centre - manage.
Step 1 - Create the sync option
From the drop-down in the list view select google classroom. The below window will appear.
- Sync name - This is the internal name shown in the list view. 'Google classroom' would be the best. In the case of a multi-school set up then add a prefix or the school code. Each school would need a separate sync service.
- Push data filter - This can be used if you wish to filter one specific class level.
- School - Select your school name. In a multi schools scenario then a sync needs to be created per school.
- Client ID - Located in the JSON file which is downloaded from Google console.
- Client email - Located in the JSON file which is downloaded from Google console.
- Impersonate Email - Email created for the super admin user you create in your Google directory in step 3.
- Private key - Located in the JSON file which is downloaded from Google console. This is not the key_id field.
- Status - Determines if the sync is active or not. Syncs can be deactivated at any time.
- Create missing users - If a user is found on the MySchool register then it will automatically be added to Google if this is activated.
- Sync course work - Only to be used if you wish to sync with Google assignments.
- Grade scale - Select your numerical grading scale (1-100) for Google assignments.
- Disable sync of coursework submissions - Check this field to able to grade google assignments in MySchool.
- Test connection - This will test the above details and confirm if everything is set up correctly. It will not synchronise the data.
You will not be able to create a new configuration until all the mandatory fields are filled out from the steps below.
Step 2: Google console project set up
- You will need to have access to https://console.cloud.google.com.
Create a new project specifically for the integration. Navigate to “APIs & Services” and click "Enable API and Services" then search for "Google Classroom API" and enable it.
Navigate to "Credentials" under “APIs & Services”. Click “Create Credentials” then select "Service account". Give it a name and click “Create and Continue”. Click continue through the remaining wizard steps and then “Done” at the end. This name should be the same as your Sync name.
You will be returned to the credentials screen. Click the edit pencil next to the newly created service account then find the “Keys” tab. Click “Add key” and select “JSON”. This will automatically download a JSON file with the newly created credentials. Details on this JSON will be;
Still in edit mode, now open the “Details” tab and expand “Show domain-wide delegation” and enable it. You may be asked for a product name for the consent screen. A value such as “MySchool” is a good default.
On you sync centre config panel, you can now add the “Client ID” from the JSON. We will need to use this for the next phase as well.
- Add the client email from the JSON.
- You can also add the private key to the relevant field on the config tab.
The private key on the JSON file which opens in notepad, must start with -----BEGIN PRIVATE KEY-----\ and end with \n-----END PRIVATE KEY-----\n
Do not copy the "" quotation marks from the JSON. When this private key is entered the filed will show ******** as this information should remain private and confidential. Please do not share this key with others including our support team. If we need this file, we will provide you with a secure mail address to which you can send it.
- Select a numerical grade scale if you wish to synchronise assignments. The default numerical percentage grade is the best.
Do not activate the synchronisation until you have completed all the steps.
Step 3: Add API access and security settings on Google console
You now have to assign settings to the project. This will allow us to push information to your Google suite.
Login to https://admin.google.com then navigate to “Security” then to “API Controls” then to “Manage Domain Wide Delegation”. From here click “Add New”. The “Client ID” will be the “Client ID” you used in Step 1.
Enter the following scopes:
If you would like MySchool to synchronize assignments then you must add these scopes:
If you would like MySchool to create missing users in your Google directory then you should add:
If you decide MySchool should create missing users, then the primary emails within MySchool must be claimed by your user directory in Google.
Step 4: Creating a super user in Google
The MySchool synchronisation will need to impersonate a Google super user. This user will need to have access to the scopes and settings relating to Google's API's in step 2. Name this user 'Sync Bot' for example. The synchronisation will also assign them as owners of the created courses in Google.
Add the email of this user to the impersonate user field in the configuration panel.
Step 5: Test the synchronisation
Back to the configuration panel on MySchool, we can now test the synchronisation. This will confirm that you have entered the correct details and set up the API services. If no problems then continue if there are any problems, please relook at the steps and amend accordingly. Make sure the keys are correct and check that the impersonation profile is a super user on Google.
Step 6: Set up the courses to be pushed to Google
Now on the second tab, you will need to set up the synchronisation once the connection is confirmed.
The sync direction will show what is permitted in the sync. In the case of Google classrooms, the only direction is to push information to Google for course enrolment.
If you wish for Google to auto creation every sync then click on this field to move the slider and make it blue. There is no auto-delete function on the API.
The sync should have detected the entities on MySchool. Click on the number showing in the green 'new MySchool entities' column.
Choose to create, do not create, or map it to a detected existing course in Google. There is a bulk action option which will be activated when you select and check the course name list.
The synchronized entities list shows which courses are linked and when the last push was made. The red chain icon will unlink the entity from the next sync. There is a bulk action in the bottom right which allows users to unlink all if selected.
Not found in MySchool in the red column are entities detected on google, you can decide whether you would like to sync these with existing entities in MySchool.
Select the map to existing and find the correct courses in the drop-down list.
Step 7: Google assignments
We pull assignments and grades from Google assignments but are limited to three assignment types. if you do not disable the coursework submissions field, then Educators will be able to grade in Google, but the MySchool grade grid will not be enabled for further modification. If you have disabled the coursework submissions then you can use the MySchool assignment grade grid as usual, and we will only pull the title. If you are grading in Google then you can only use a numeric scale.
- Check the sync coursework field on the config tab.
- Choose the numerical scale to be used. This scale must be active in MySchool. You must also check the box within assignment configuration to make sure the scale is available for the sync.
- Open the mapping tab and enable the sync for coursework.
There are three assignment types available on Google. These need to be mapped to three different assignment types in MySchool. You can use the already existing ones or create new ones specifically for this mapping.
- Click on the green number in the MySchool entities column and choose the type you wish to map to in Google.
- Once synchronized these types will appear in the blue column