Skip to main content

Simple Homework Site built using Sites, Forms, a few Scripts and Teacher Dashboard

We have built a simple homework site which is being tested at the moment by some staff. I was tasked with creating some system that could present set homeworks in a searchable form to parents and students while integrating with email and calendars.

I've used the Awesome Table Google Site Plugin to present filterable data from a Google Sheet on a site that parents and students can access. On another page of the site there is a form that teachers can use to submit homework. This feeds data into the public part of the site.

The Formmule script is used in the Sheet to collate the responses and create class email addresses and pulls off calendar id's via a vlookup function. The script then creates a calendar entry on the class calendar and sends the class an email.

To make this work I had to add the user 'homework' as a class teacher to each group. Our groups and calendars are made using Hapara Teacher Dashboard. So I simply added the homework user to the classes spreadsheet and synced classes. To get the calendar codes, I ran a script once the user 'homework' had all the calendars, logged in as calendar. This script will pull off all your calendars if added to a spreadsheet:

function listCals() {
var calendars = CalendarApp.getAllOwnedCalendars();
data = []
for (var i = 0; i < calendars.length; i++) {
data.push([ calendars[i].getId(), calendars[i].getName()])
}
var destinationRange = SpreadsheetApp.getActiveSheet().getRange(1, 1, data.length, data[0].length);
destinationRange.setValues(data);
};

function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "List Owned Calendars",
functionName : "listCals"
},];
sheet.addMenu("Calendar", entries);
};

Hapara gave this script to me - I'm no script guru!

Once you have this, its fairly simple to create a vlookup function to pull off the correct class calendar code to create the event.

The result is a site which makes it very easy for staff to set homework, allows parents and students to look up homeworks and well as sending them an email and putting a reminder in their calendar. Still very much in the testing phase at the moment, but perhaps demonstrates what you can do with a site and a few scripts. Annually I will have to update the calendar codes and the class names as well as archiving old homeworks.

Brief video of the site and back end:



Popular posts from this blog

Delete a specific email using GAM

If a user send an inappropriate email to a loads of people or get stung by some sort of email exploit you can quickly delete the email from all of the recipients using a GAM command.
Step 1 - get the email header Go into Google Vault and search for the offending user or someone known to have got the message.
Click show details and grab the email ID. This will be a long string of characters followed by @mail.gmail.com
Step 2 - find out who has the email Go into Google Vault and find the original message sent by the offending user. Look at the details to see who got it. Copy the list and dump it into a spreadsheet. Clean up to just a list of emails with a column header 'mail'. Save as a csv file.
Step 3 - delete messages with GAM Put your CSV file in your GAM folder - this e.g. assumes its called mail.csv
Run:
gam csv mail.csv gam user ~mail delete messages query rfc822msgid:MESSAGEIDHERE doit

The alternative nuke option is:
gam all users delete messages query rfc822msgid:MESSAGEI…

My favorite GAM commands - well a few of them at least!

Where would be without GAM? Paying for expensive syncing tools or doing tedious manual tasks in the admin console. GAM can automate most things you might want to do in G Suite. So these are a few of my favourite commands - one I use either as part of a batch file - or just standalone. There are loads more - but these are ones that are used daily.
Classroom Create a spreadsheet of all your domains classes - gam print courses todrive

Create a spreadsheet of a teacher's classes: gam print courses teacher fred@mydomain.com todrive

Bulk create classes:
gam csv classes.csv gam create course alias ~alias name ~alias section ~subject teacher ~teacher status ACTIVE

where classes.csv is a list of classes you want to make.

Add teachers:
gam csv teachers.csv gam course ~alias add teacher ~teacher

Add students:
gam csv students.csv gam course ~alias add teacher ~student

Sync Students (in this example to a group - but could be an ou/csv file)
gam csv groups.csv gam course ~groupmail sync students g…

How to push bookmarks to users in Chrome via the management console

With the release of Chrome and ChomeOS 37 an update to the management console has arrived that allows you to push bookmarks to users.

Under Device Management > Chrome > User Settings > User Experience you will now find the option to add managed bookmarks.


In the example above, the bookmarks are applied to the sub-OU of 'students' - so all our students will get these bookmarks. Simply add your url and the bookmark name, click the + and save. These will appear in a folder called 'yourdomain bookmarks' - see below:



Be aware that to get these bookmarks applied on a Windows/OS-X device the user must be signed into Chrome. Update: if you install the latest group policy template you can push the bookmarks via policy on PCs - details are given here.
Video Guide: