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:
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:
Comments
Post a Comment