"You are probably familiar with the Google Apps Script Lock Service, which is a way of preventing concurrent access to sections of code. It works well, but the problem is that it's a fairly blunt instrument.
Let's say that you want to use the same code to deal with multiple resources - say a spreadsheet tab. With lock service you'd lock all spreadsheet tabs that were accessed by that code. This is especially a problem if you are using shared libraries which may be accessed by many people accessing many resources."
"In Flattening an object with dot syntax I showed how to take a an object of more than 1 level deep and flatten it so it could be represented in a two dimensional object like a spreadsheet. Now here's the opposite, unflattening an object created that way. I also provide a library you can use for flattening and unflattening, as well as processing objects to and from spreadsheets"
"ScriptDB was officially shut down on November 20th, but we decided to wait until after Thanksgiving to pull the plug. We're going to start by making the service read-only tomorrow, perhaps for a couple of hours to start but eventually permanently. This should help ferret out any places you are still using the service and give you time to export your data" - Eric Koleda – Google+
"The integration to Virtual PBX is a custom gateway designed to harvest PBX call data logs and filter them based on calls associated with reservations extensions. I used Google Apps Script to automate the update of call data in near-real-time despite the fact that a formal API is not available from this PBX provider.
The data is stored into a 13 column spreadsheet capable of handling approximately 25,000 calls per month with a ceiling of about two years worth of data. All processes and integration with Virtual PBX is handled by Google Apps Scripts (GAS) and available as an installable service"
Martin Hawksey's insight:
Bill French, Founder and Editor at iPadCTO outlines how they use Google Apps Script for custom data collection and reporting
" There was a query posted in the GEG Singapore about automatically creating forms from spreadsheet questions. g(Math) kind of does this, so I threw a script together that will create a form from a highlighted range. It will even create multiple choice questions from option in the sheet (I am especially proud of that aspect). Check it out here and make a copy to play around"
"The other day I showed how to run Apps Script tasks at once using HTMLService to orchestrate the results. This not only gets stuff done quicker but avoids having to worry so much about running out of quota, since parallel tasks each have their own quota. In this example I'm running some cryptography tasks in parallel that wouldn't normally be able to finish. This tutorial includes all the code you'll need to do the same thing."
"If you like to deploy your GAS project with command line tools, you can check the tool, gdcmdtools. It supports the GAS project import and export. After that you can manage your GAS project easily with version control system(ex: git)."
Today, we are introducing an update to HTML service — IFRAME sandbox mode. Using this sandbox mode, you can significantly improve the performance. There are three key benefits.
1. Your UI loads up much faster
3. It requires very few code changes: just set the SandboxMode to IFRAME:
Martin Hawksey's insight:
Post also notes UI and DocsList service is deprecated.
"For a few of my answers on Web Applications, I’m constantly busy finding a solution to retrieve all information via the GmailApp.search() method. As explained in the text, this method is only usable for small amounts of threads. If you query a label containing 1000 emails for example, you will only get 500 items back.
In the meantime, Bruce McPherson, was hitting the road with his awesome posts, starting with the Running things in parallel using HTML service. ... made me think of a way to incorporate some sort of while loop. Basically, I'm re-starting the script to continue working on retrieving the information untill all information is fetched. Read below to find out how I did that""
"When developing Database abstraction with google apps script I had real trouble simulating multiuser interactions, especially when there wasn't a real database behind (like sheets and drive). I had a mechanism in Using named locks with Google Apps Scripts to be able to lock from updating, but it was really hard to get a good multiuser test going.
Using this parallel running mechanism is of course perfect - since it executes as many threads as I want in parallel with each other. If I get then all to hit the same back end at once, then I have a pretty intensive multi user test. "
You can imagine the scenario, you’ve got a Google Form perhaps setup as a booking form and a select option for picking timeslots. As the slots fill up you’d like the option to be removed. I was surprised not to find an example of this so here is a rough sketch of some code that might do the job.
"If you are new to Google Apps script this post will give you the information you need to get started. Writing a Google Apps Script can be an intimidating process for those who have not done programming before so be patient and take your time getting comfortable with this incredible tool for educators."
"Created by educators working in the CloudLab, a project of the non-profit New Visions for Public Schools, autoCrat is an add-on that allows you to merge data from your Google Sheets into a custom Google Doc template built and designed by you. This add-on can be especially powerful when combined with Google Forms. Upon submission of the form, autoCrat can be configured to automatically email the merged information in the form of a PDF or Google Doc to an email address collected within the form or designated in the autoCrat set up process.
Why would educators want to use autoCrat? Here are my top 5 favorite ways that educators are utilizing this Add-on"
Google Apps Script is a surprisingly powerful scripting language often implemented using Google Sheets. It allows people to develop lightweight web applications, and those scripts run in the cloud on Google’s servers.