Thursday, November 21, 2013

Text Expander in Comments for Chrome OS

Grading papers online can be a tedious task, writing the same comments over and over again.

That, or you could resort to abbreviations like sva, trans, pro#, and provide them easy-to-access resources for students to look your hieroglyphics up... only for them to ask you each time what SP stands for.

Text expanders aren't anything new, but they can save time and make it easier to leave qualitative comments. Services like turnitin.com have a handy panel with buttons for commonly used comments, but that costs money, and for those of us immersed in Google Drive, it's another platform for students to worry about.

The problem is, there are no reliable expanders to use in comments in Google Docs in Chrome OS. As of writing, none of the available Chrome extensions or apps work in this context.

Google Docs does have a text substitution feature under Tools - Preferences, but they don't work in comments. I've looked into creating a script (especially enticing possibilities with panels), but as far as my novice eyes can see, you can't programmatically insert text into comments.

Until something changes, that means I'm stuck using either Windows or Mac to grade papers, since my Chromebook is my only mobile workstation now.

This post is clearly me procrastinating from grading said papers on my work Windows desktop, so let me redeem this a little.

For Windows, I use Texter - it's a small free app. The bonus is you can install it on a flash drive, making it sorta mobile if you jump between Windows computers.

For Mac, I use Text Expander - it has a nice free trial.

For you English teachers out there, here's a list of my Texter pre-fab grammar comments - each has a URL to the corresponding help documentation on Purdue's Online Writing Lab so that students can read up on subject-verb agreement errors, parallelism, etc.

To use it, install and open Texter, and in the menu, click Bundles - Import and locate the Grammar.texter file

If anyone wants the Mac Text Expander file for grammar, let me know.

But +Google Drive and +Google in Education folks- can you pretty please allow text substitution in comments... or even better, allow programmatic insertion of pre-formatted comments? Thank you!

Tuesday, October 15, 2013

Triggers + Doctopus = An almost success.

Problem: My students are in the drafting process of a major paper, and they have a deadline tonight at 11:59 p.m.

I created the assignment via Doctopus, an +Andrew Stillman script.

Because this is a hard deadline (as opposed to the final deadline, when I'll accept late "submissions"), I'm using the Embargo function to change students' permissions to View Only (effectively preventing a student on working on the paper after the deadline).

The problem, of course, is that I don't want to be up at 11:59 p.m. to run the Embargo function from the menu.

What I tried: Google Script triggers

From the Doctopus assignment spreadsheet, click on Tools - Script editor...

Click on Resources from the script editor page, and click on Current project's triggers

Click on Add a new trigger

For the box under Run, choose embargo

Under Events, choose Time-driven

In my use case, I wanted to close access at midnight, so I chose Specific date and time in the next box, and specified the time in the format indicated.

Click Save.

That's it. At the specified date and time, the trigger will run the embargo function, and I can stay in bed.

However... (if you want to skip the technical details, scroll down to Workaround)

The problem:

I tested this on another assignment, and it runs with one hitch.

After embargo() runs via trigger, the Doctopus menu shows "Embargo for grading:" only, stripping the "Set editors for view only".

At first I thought the problem was only cosmetic, as refreshing the spreadsheet will show the option to Unembargo. I ran it, thought it was a success, and then checked a student's document.

Nope. They only had view privileges.

What seems to get lost somewhere in the process is the ScriptProperty variable groupPrivileges (the role you give students in Step 1: allow edit, allow view only, or allow comment only) gets lost, hence the menu.

So running unembargo doesn't actually do anything. It did actually kick out an error message, but I didn't catch it. I don't know if I tried to check the Execution transcript too much after the fact, but I couldn't find it there either.

I don't have the time to figure out where and why the variable loses its value (I should be grading right now...), but thankfully, I found a simple workaround.

Workaround:

Use the Doctopus menu to return to Step 1: Set up sharing basics and save those settings as originally set.

Run Embargo and Unembargo one more time, manually, and it will restore students' editing privileges correctly.

(Of course, if you set Doctopus to send notification emails, this could get annoying for the students. Hint: Change this setting in Step 3.)

Looking ahead:

Where I originally wanted to use a time-based trigger was on the Flubaroo Script ( +Dave Abouav , +edCode.org )

(Imagine keeping a practice test live, allowing students to take it whenever they want, and emailing the results back to them immediately onFormSubmit, similar to the MCQ script)

Unfortunately, that email function requires user input before sending emails, which would break the automated process.

A messy fix could be creating an almost-identical function to the existing function, except hard coding the user input variables in there. This, though, stinks for scalability reasons and probably other reasons that coders would know about.

If someone doesn't figure it out by the summer, I guess I have one project lined up.

But I'm an English teacher, and I really need to get back to grading.

Thursday, September 5, 2013

How did I miss that? Another script update

It's amazing the problems I'm finding in live use of the scripts versus my "test phase" use.

Anyway, all three updated scripts should be available in the Apps Gallery in a few days. Specific changes are noted in the changelog in the script documentation (available from the menu up top).

I really did mean to blog more consistently this year, and not just to update on my scripts, but the beginning of the school year has been an unceasingly busy one.

Thursday, August 22, 2013

Scripts are available in Gallery!

... well, sort of.

Master Roster (the utility script that feeds a student roster to my other two scripts) should still be online.

But after the other two scripts were available online, I found bugs in both the Online Rubric and Grade Sheet Creator (see the details in each script's documentation, available from the menu above).

I just resubmitted them with fixes, so hopefully they should be available again with 24 hours. If you find another bug or unintentional "feature", let me know and I'll squish them as soon as I'm able.

In other news, it really is amazing I missed these two bugs in the countless tests I put them through.

#education #googleappsscript #Google #googledrive #tools #javascript #rubric, 

Thursday, July 11, 2013

Script Happy


Scripting is a little addicting.

And while I'm not proficient at it by any means, I've spent the large part of the last few weeks using Google Apps Script to hopefully make my job, and other teachers' jobs, a little bit easier.

To that end, I've written three scripts, the documentation for which you can access from the menu above. While the documentation contains much more specific information, here they are, in brief:

  1. Online Rubric: The first of my script projects, and the one I mentioned in the previous post. It creates and emails rubrics to students.
  2. Grade Sheet Creator: Essentially creates a template for those of us who still keep track of attendance and grades on paper first.
  3. Master Roster: A utility script that feeds student information into Online Rubric and Grade Sheet Creator, so that you don't have to retype/re-paste names.
I'm hoping to get them published to the Google Script Gallery soon, but I'd like to do some more testing first. So if you are a teacher, a coder, or both, and are interested in testing the scripts for me, let me know.

I'll be sure to give you credit!

#education #googleappsscript #scripts #javascript #teaching #google #googledrive

Friday, June 28, 2013

Happy Scripting Summer


I'm teaching myself how to code.

Specifically, Javascript in the Google Apps Script environment. 

I don't suppose this helps reduce my nerdiness quotient much. But it helped pass the time during the last few weeks of the school year, and now, in the first few days of summer, I'm finishing up my first script.

It'd be a huge stretch to call it "original," as it's largely based on Andrew Stillman's Doctopus script, which is an awesome tool. In a nutshell, it creates assignments on Google Docs and shares it with students, whether individually or in groups.

It solves the problem of students forgetting to share assignments with you, or leaving their document named "Untitled Document." It also allows you to "embargo" the documents, preventing students from editing the documents while you grade, and it allows you to send their grade via personalized email.

Doctopus by Andrew StillmanAnd combined with the Goobric (a more nuanced rubric) extension and gClass Folders, it creates a robust Google Drive classroom solution.

However, I found myself wanting an online rubric without having to create documents for the students. For example, if they posted a video or comic strip on Google+ as an assignment (more on those in a future post), I needed a rubric independent of the Doctopus solution.

So I created Online Rubric (cool name, I know). While I'm going to put it through some beta testing before publishing it to the gallery, it allows you to create an independent holistic or itemized rubric and send it to students. As I mentioned, it's largely a derivation of Doctopus, but I figured it was a good way to get my feet wet.

I'll be posting documentation for Online Rubric here as soon as it's public.

In the meanwhile, I'm thinking of future script projects, so if anyone who chances to read this has a problem of practice on Google Drive for me, let me know.

#rubric #GoogleDrive #GoogleAppsScript #javascript #education #goobric #doctopus #gclassfolders

Monday, June 17, 2013

Location-based Narratives


Assignment: Research your neighborhood and pair that research with a short, personal narrative, imitating Alex Kotlowitz's style in There Are No Children Here.

The research and narrative will then be posted to a custom map using Google Maps Engine Lite.

Recap: Because of the unpredictability of our end-of-year schedule, I was forced to shorten this assignment. The original assignment involved a little more research, and I would have likely extended the word count and quality of their narratives.

However, the assignment proved to be a success in terms of educating students about their neighborhoods (I was surprised to see the number of kids who didn't know anything about where they lived), and in seeing how many of Kotlowitz's chapters were set up. Thematically, the students were able to add their own voices to the Chicago narrative dominating the media.

They told stories of violence, blight, and destruction, but they also told tales of friendship, love, and trust.

Creating a custom map is a straightforward process. You work in layers (you can see my 6th period "layer" in the picture), and are limited to 100 (I think?) locations in the non-commercial version.

However, Maps Engine (essentially a refresh of the custom maps Google has offered for years) does not allow rich text formatting, HTML, and embedding in the balloons that pop up when clicking on a placemark.

I would love to be able to embed videos or Google documents directly in the map... or at the very least, format text. I resorted to having students post a public Google Doc share link.

I'm hoping to explore more uses of this tool next year, including overlaying images and studying their neighborhood in a little more depth.

Let me know what you think, or if you have other ideas...

#Google #GoogleMaps #GoogleMapsEngine #education #Kotlowitz #Chicago #ThereAreNoChildrenHere #GoogleDrive #narratives #story