Google Classroom is the most powerful, and practical, way to manage student-teacher digital worklow and to provide fluid and quick feedback. This combined with it’s simple to use nature makes it an incredible product! It now underpins our entire workflow organisation and QA system with Post-16.
Of course, Google Classroom is not a “full” VLE with all the extra bells and whistles that schools often want. It didn’t allow us to seamlessly link and get scholars to tap into our digital e-library of resources in VLE Books, the Philip Alan Archive, New Scientist and our reference centres. At least not until we got modding on top of Classroom! Having spent some time getting my head around some Google APIs we have managed to “modify” (in the loosest sense of the word since all the work really happens on a webserver using Google APIs) Google Classroom so that it had the functionality to directly link to any e-books in VLE Books and our purchased digital resources. We can also get the usernames of those accessing resources to be recorded in a Google Sheet (using Google Form APIs) which provides evidence that our students “read widely and often across all subjects”, which is a major part of the Ofsted criteria for outstanding literacy in schools (Ofsted, 2013, p.8).
This post aims to outline how we have achieved this. As I don’t show with reference to specific products, I am more than willing to be contacted if people have questions over how this method may apply to any product they use!
The method we use for Google Classroom Single-Sign On works as follows:
1) Users access Google Classroom, this ensures that they are signed into Google (this is needed for authorisation later on).
2) We place a link to our own webserver which runs a script I designed. This script is designed to extract the user’s Google username (e.g. email@example.com) then remove the @dixonsaa.com part, and then forward this information on in a query string to another URL which will log users into a resource and log their username on a Google Sheet. The full code for this stage can be downloaded by clicking here.
I have placed a screenshot of the page that we designed below. It is designed to look corporate (with our Learning Commons logo) and with a single Google login button that forwards users to their resource.
To use the script, you will need to generate Google oAuth credentials at https://console.developers.google.com/apis. Google have an excellent guide for doing this that you can access by clicking here. The script requires access to the Google Plus login API (https://www.googleapis.com/auth/plus.login) and the userinfo.email API (https://www.googleapis.com/auth/userinfo.email). Don’t worry if you block Google Plus on your domain for students, it will still run!
When you have generated a client ID paste it over PLACECLIENTIDHERE on the line ‘clientid’: ‘PLACECLIENTIDHERE’,
Also, the line ‘str = str.slice(0, -13);’ is designed to prune the @dixonsaa.com off the username. This is 13 characters (including the @), so I would recommend counting the number of characters in your domain (including the @) when you use this script and replacing the 13 with the number of characters that applies to you.
If you have done this, you can extract a username and area ready to move on to redirecting users!
3) In the same script, the line of code :
window.location = ‘http://webserver.co.uk/redirectionurl.php?student=’+str+”;
is designed to forward users to a particular resource when a user clicks the Google sign in button. Some are automated forms on our server which capture the student’s username (which are captured as a query string called ‘student’ as you can see above) and then push this into a login engine with a preset password set by an admin. This is the case with VLE books and we add an extra query string for isbn which will direct users to a particular book. Others, forward users to a Philip Alan Article. This is achieved by embedding their single sign on URL in a hidden iframe on the page that users are taken to and then redirecting users a few seconds later to a particular article’s URL. Unfortunately, we use too many to provide a reference here, but please let us know if you want to be talked through any! If you send me a DM on Twitter I would be more than willing to help you out!
We have achieved single sign on to VLE Books, Philip Alan Archive, New Scientist and the EBSCO Literary and History Reference Centres. This is a start, and we are likely to expand this as our needs arise!
However, for the teacher this is kept simple as there’s just a URL to put into Classroom! So no one needs to get overly technical to deploy this method in the real world. Honest!
4) The beauty of capturing everyone’s username is that this can be seamlessly captured into a Google Sheet using an automated Google Form. Create a new Google Form. Create a question which should be a text response called ‘username’. Then link it to a Google Sheet under ‘Responses’. Ensure that anyone has permission to submit (not just users in your domian).
Hide the code below in the webpage that you redirected users to in step three:
<iframe src=”https://docs.google.com/a/dixonsaa.com/forms/d/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX /formResponse?entry.NUMHERE=<?php
?>&submit=Submit” width=”0″ height=”0″ border=”0″></iframe>
Open the Google Form after clicking ‘Send’ and getting a link, right click on the page and click ‘view source’. Using CTRL+F5 search for “entry.” (without the quotation marks). You should get a number after ‘entry.’ This is a unique code used to submit data into your Google Form. Make a note of the number following the “entry.” in the code. Place the number into NUMHERE in the code I showed above.
Then you need to replace the string of XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX marks with the unique identifier of your Google Form. Open the Google Form link that you created in step one and copy down the Form’s unique ID. This will be an alphanumeric sequence which appears after /forms/d/ in the URL of your Google Form but before /viewform. Copy the string over the Xs in the code above.
Now, when users click on the link in Classroom you will have a record in the Google Form. Once again, this is really useful for evidencing wide reading! You can even modify this method to collect the article’s URL to measure exactly what students are reading!
There you go! An outline of how we have managed to expand the functionality of Google Classroom to be a single sign on engine for all of our electronic resources with effective tracking. If you want any specific help getting Google Classroom to single-sign on to a resource or directly to an article in a resource, then please get in touch on Twitter @theedtechschool! Especially if it is one of the resources I explained in this post!by