Google Apps Script Library database!

3,129 views
Skip to first unread message

Andrew Roberts

unread,
Jan 10, 2020, 5:08:04 PM1/10/20
to google-apps-sc...@googlegroups.com

Further to Bruce's sharing his fantastic list of libraries (can you beat 136!?) would anyone else like to share their libraries?

See if we can't create something like "npm for Apps Script"??

Drop me a line (and...@roberts.net) if you have any contributions.

FYI:

See this thread on the subject of libraries. And this discussion on Bruce's site about how libraries don't seem to slow things down even though Google discourage their use.

Martin Hawksey

unread,
Jan 10, 2020, 5:43:41 PM1/10/20
to google-apps-sc...@googlegroups.com
Hi Andrew,


Libraries have similar properties to Advanced Services. Depending on the permissions the library uses there is more potential to find uses for it. One option would be version control of a library deployed to other standalone script projects that you have edit access to. It could also be a method for installing libraries in standalone script projects. Here is the source code for a demo application that installs Picasa on a selected script project (deployed here as an unverified app).
 
I had an idea for a community library installer project along the lines of the demo above but with a list of libraries. The advantage of doing it through a web app would it could capture an email address and then the script owner could be notified of version updates … the app could also do auto updates as an option … … if you also know advanced services dependencies they could be enabled but a console project would still have to manually be setup. I currently don’t have time to do this project but would be happy to support someone else if they are interested.

On Fri, 10 Jan 2020 at 22:08, Andrew Roberts <and...@roberts.net> wrote:
Further to Bruce's sharing his fantastic list of libraries (can anyone else beat 136!?) would anyone else like to share their libraries?

See if can't get something like "npm for Apps Script" going??

Drop me a line (and...@roberts.net) if you have any contributions to make.

FYI:

See this thread on the subject of libraries. And this discussion on Bruce's site about how libraries don't seem to slow things down even though Google discourage their use.

--
You received this message because you are subscribed to the Google Groups "Google Apps Script Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-apps-script-c...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-apps-script-community/a5da5f8e-1f8f-415e-a3d0-e594064506c1%40googlegroups.com.


--
Martin Hawksey

Latest tweet (see how):

My little downtime project this year is to use #GoogleAppsScript to send some personalised images extending the G Suite based bulk email solution I shared earlier in the year... #GSuiteDevs https://t.co/mTHKQsULxT

— Martin Hawksey #altc (@mhawksey) December 24, 2019

Tanaike

unread,
Jan 10, 2020, 7:10:26 PM1/10/20
to Google Apps Script Community
Are those information useful?

@andrew My libraries of Google Apps Script are 


Are those information useful?

@Martin Hawksey
I think that your library installer using the script is good idea.

I think that if users can select the libraries from the database and install them, it will be very useful.

Bruce Mcpherson

unread,
Jan 11, 2020, 9:03:19 AM1/11/20
to google-apps-sc...@googlegroups.com
I use my gasgit script to move all my scripts to github. Without something like this, it wall be a little too unmanageable. I don't even think about any more as it's all automated.

Now that we have clasp of course, there's a lot of reasons to develop on node and use github as you would with other projects, but I find this bulk method is easier when you have lots of projects and libraries on the go at one time. I keep all the scripts in one folder structire, and gastgit automatically discovers any changes and puts them to the appropriate repository. The library sheet is simply a byproduct of this github process and is also maintained automatically.

Gasgit also recursively creates copies of any libraries referenced to the same repo so that way each repo is always standalone if necessary - so for example the libraries used by the gasgit script itself are copied into the gasgit repo.

image.png
The workflow also creates a dependency.md using the script api which documents a load of stuff about the libraries, scopes and advanced services used - here's a snippet
image.png


All this stuff together means that the code for libraries is always available in the repo that uses it, and optionally the libraries themselves can be referenced if that's the preferred method.

On Fri, 10 Jan 2020 at 22:08, Andrew Roberts <and...@roberts.net> wrote:
Further to Bruce's sharing his fantastic list of libraries (can anyone else beat 136!?) would anyone else like to share their libraries?

See if can't get something like "npm for Apps Script" going??

Drop me a line (and...@roberts.net) if you have any contributions to make.

FYI:

See this thread on the subject of libraries. And this discussion on Bruce's site about how libraries don't seem to slow things down even though Google discourage their use.

--

Andrew Roberts

unread,
Jan 13, 2020, 6:51:51 AM1/13/20
to Google Apps Script Community
@Martin Hawksey (or other admin)

As this could be a useful resource for the community could this post get pinned??

Do we have any way to display resources (apart from pinning, which is bit of a kludge) like we used to have in G+? 

Andrew Roberts

unread,
Jan 13, 2020, 6:53:21 AM1/13/20
to Google Apps Script Community
Or I could just keeping asking regular questions to keep it at the top of the list :)


On Friday, 10 January 2020 22:08:04 UTC, Andrew Roberts wrote:

Bruce Mcpherson

unread,
Jan 13, 2020, 7:03:38 AM1/13/20
to google-apps-sc...@googlegroups.com
This is updated automatically by my github workflow, but if useful, I could share it so other contributors could maintain their own tab in the same format in the same sheet. Let me know if you think this is a good idea


bruce

--
You received this message because you are subscribed to the Google Groups "Google Apps Script Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-apps-script-c...@googlegroups.com.

Andrew Roberts

unread,
Jan 13, 2020, 7:13:48 AM1/13/20
to google-apps-sc...@googlegroups.com
Definitely. There are loads of different lists out there, it would great if we could start moving toward a common format and eventually get them all pulled in to a single searchable database and remove some of the duplication.

In your automatically created spreadsheet would it be possible to start adding a short description of what they do? For now I've added a description column for ones I'm familiar with.

Martin Hawksey

unread,
Jan 13, 2020, 7:15:20 AM1/13/20
to google-apps-sc...@googlegroups.com
Hi Andrew,

I've pinned which seems the best option for now

On Mon, 13 Jan 2020 at 11:51, Andrew Roberts <and...@roberts.net> wrote:
--
You received this message because you are subscribed to the Google Groups "Google Apps Script Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-apps-script-c...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-apps-script-community/9f0f90a6-01a4-4a80-8cc1-7f2af7ee9a85%40googlegroups.com.


--

Bruce Mcpherson

unread,
Jan 13, 2020, 8:01:08 AM1/13/20
to Google Apps Script Community
Andrew
I haven't added a description as there isn't really a canonical description across all files. However, I've added a search link as pretty much all the libraries are documented or mentioned on my site - so the link will find the mentions.


On Monday, 13 January 2020 12:13:48 UTC, andrew wrote:
Definitely. There are loads of different lists out there, it would great if we could start moving toward a common format and eventually get them all pulled in to a single searchable database and remove some of the duplication.

In your automatically created spreadsheet would it be possible to start adding a short description of what they do? For now I've added a description column for ones I'm familiar with.

On Mon, 13 Jan 2020 at 12:03, Bruce Mcpherson <br...@mcpher.com> wrote:
This is updated automatically by my github workflow, but if useful, I could share it so other contributors could maintain their own tab in the same format in the same sheet. Let me know if you think this is a good idea


bruce

On Mon, 13 Jan 2020 at 11:51, Andrew Roberts <and...@roberts.net> wrote:
@Martin Hawksey (or other admin)

As this could be a useful resource for the community could this post get pinned??

Do we have any way to display resources (apart from pinning, which is bit of a kludge) like we used to have in G+? 

On Friday, 10 January 2020 22:08:04 UTC, Andrew Roberts wrote:

Further to Bruce's sharing his fantastic list of libraries (can you beat 136!?) would anyone else like to share their libraries?

See if we can't create something like "npm for Apps Script"??

Drop me a line (and...@roberts.net) if you have any contributions.

FYI:

See this thread on the subject of libraries. And this discussion on Bruce's site about how libraries don't seem to slow things down even though Google discourage their use.

--
You received this message because you are subscribed to the Google Groups "Google Apps Script Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-apps-script-community+unsub...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Google Apps Script Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-apps-script-community+unsub...@googlegroups.com.

Faustino Rodriguez

unread,
Jan 13, 2020, 9:51:57 AM1/13/20
to Google Apps Script Community
Is there any GitHub repository where the rest of us can contribute with a GAS library file, subject to peer review and improvement?

Andrew Roberts

unread,
Jan 13, 2020, 11:28:20 AM1/13/20
to google-apps-sc...@googlegroups.com
@Faustino,

No central repo at the moment, I'm just gathering together various links and maybe it'll naturally evolve into something else. 

I think most npm modules are stored on GitHub, but the npm site provides a wrapper and central location, that's the kind of thing we need for Apps Script. Adam Morris came up with his PackageManger.

--
You received this message because you are subscribed to the Google Groups "Google Apps Script Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-apps-script-c...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-apps-script-community/f52e625f-8649-4fcc-8686-a9eaf2b14b4a%40googlegroups.com.

Andrew Roberts

unread,
Jan 16, 2020, 3:26:33 PM1/16/20
to Google Apps Script Community
The GSheet now consolidates all the libraries, from various sources, into a standard format in the one "Libraries" tab.

212 libraries and counting!

Take a look at the "libraries of libraries" (https://github.com/andrewroberts/Google-Apps-Script-Libraries) if you'd like to help continue to grow this database.

On Friday, 10 January 2020 22:08:04 UTC, Andrew Roberts wrote:

Adam Morris

unread,
Feb 12, 2020, 12:42:41 AM2/12/20
to Google Apps Script Community
I'm interested in contributing to a community library project.
I have some libraries that I use in production … I'm currently converting to V8. I use unit tests, for example:
https://github.com/classroomtechtools/modularLibrariesV8/tree/master/Properties

With the ES6 syntax I'm taking advantage of classes and other features and so is a complete rewrite. It's fun but time-consuming. If there really is interest as a community in building reusable libraries, I'm all for it.

What we need though is a package manager.

$ gas install ABC  
—> Installing ABC from ...
—>      Installing dependency XYZ from ...

Andrew Roberts

unread,
Feb 12, 2020, 1:09:25 AM2/12/20
to google-apps-sc...@googlegroups.com
Adam, A package manager would certainly be nice - I did take a look at yours, but it's not quite as simple as NPM yet.

If a library is using V8, does the the calling script need to be using V8 too (hopefully not)?

DISCLAIMER:
This e-mail and the attachment is intended solely for the person to whom they are addressed and may be confidential and privileged. If you are not the intended recipient, you are notified that disclosing, distributing, copying or taking any action in reliance on the contents of this information is strictly prohibited. Please notify the sender immediately if you have received this email and delete it from your system. The recipient should check the email and any attachments for the presence of viruses that could be transmitted via email. Email transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, incomplete or contain viruses. Detik Harapan Sdn. Bhd. accepts no liability for any errors or omissions in the contents of this message which arise as a result of email transmission. Opinions, conclusions and other information in this email that does not relate to Detik Harapan Sdn. Bhd.'s official business shall be understood as neither given nor endorsed by Detik Harapan Sdn. Bhd.

--
You received this message because you are subscribed to the Google Groups "Google Apps Script Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-apps-script-c...@googlegroups.com.

Tanaike

unread,
Feb 18, 2020, 7:35:57 PM2/18/20
to Google Apps Script Community
As one of several methods, how about this?

I prepared a database and an application for searching GAS library as a web application.



And also, HTML, Javascript and GitHub are used. So the maximum number of simultaneous access is larger than that (30) of Web Apps with Google Apps Script.

Also, I wanted to implement the installer of searched GAS libraries. But in the current stage, in order to use Apps Script API, the GAS project is required to be linked to the Google Cloud Platform Project. I thought that this might be difficult for users. So I didn't implement this yet.

I'm not sure whether these are useful for users. So please think of this as just one of several methods. If this became one material for achieving the Google Apps Script library database, I'm glad.

Andrew Roberts

unread,
Feb 27, 2020, 7:33:33 AM2/27/20
to Google Apps Script Community
Thanks very much for the input Tanaike!

I've updated the script behind the library to pull in the list of your libraries from the JSON file.

The GSheet is updated automatically every night.

Tanaike

unread,
Feb 28, 2020, 2:43:14 AM2/28/20
to Google Apps Script Community
Thank you for replying.

I updated the search page. In the current stage, the libraries can be searched by including the data from your database. Could you please confirm it?

Andrew Roberts

unread,
Feb 28, 2020, 6:13:39 AM2/28/20
to Google Apps Script Community
There is a new channel in the Google Apps Script Slack WorkSpace - proj_library_database - where Tanaike and I have been discussing the Libraries Database. Please feel free to join.

Drop me a line if you don't yet have access to the Slack Workspace.


On Friday, 10 January 2020 22:08:04 UTC, Andrew Roberts wrote:

Andrew Roberts

unread,
Feb 28, 2020, 6:16:21 AM2/28/20
to Google Apps Script Community
That's fab! 

Looks like it's missing a few though. The GSheet has 238 whereas the web app only 222.

Do you have a link to the app's source code we could see?

Andrew Roberts

unread,
Feb 28, 2020, 6:19:03 AM2/28/20
to Google Apps Script Community
Some the links don't go anywherer.


On Friday, 28 February 2020 07:43:14 UTC, Tanaike wrote:

Andrew Roberts

unread,
Mar 11, 2020, 1:25:50 PM3/11/20
to Google Apps Script Community


On Friday, 10 January 2020 22:08:04 UTC, Andrew Roberts wrote:

Tanaike

unread,
Mar 11, 2020, 11:08:16 PM3/11/20
to Google Apps Script Community
That is a good form. I think that users can easily add GAS libraries.

Also, I could release the search application as v1.0.0. Also the tags can retrieved from your database.

By the way, about disappearing 2nd row in your database, can you replace 2nd row with 3rd row? Although I'm not sure about the reason, I could confirm that when the 2nd row is replaced with 3rd row, all data can be retrieved. How about this?

Andrew Roberts

unread,
Mar 12, 2020, 6:36:31 AM3/12/20
to google-apps-sc...@googlegroups.com
Tanaike, so do you want me to hide the 2nd row and start the list on the 3rd row? 

--
You received this message because you are subscribed to the Google Groups "Google Apps Script Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-apps-script-c...@googlegroups.com.

Tanaike

unread,
Mar 12, 2020, 8:09:42 AM3/12/20
to Google Apps Script Community
@andrew Thank you for replying.

In your current database, the 1st row, 2nd row and 3rd row in the sheet of `Libraries` are the header row, "AlaSQLGS" row and "ArrangeStackingOrder" row respectively. Can you rearrange this order to the headers, "ArrangeStackingOrder" row and "AlaSQLGS" row?

In my environment, when this modification is tested, all data could be retrieved. But unfortunately, I'm not sure when you modify above, the same situation can be obtained. So if you can do, please test it. After you modified the order, you can test soon by https://sites.google.com/view/search-gas-libraries

If this didn't resolve the issue, I apologize.

Message has been deleted

Andrew Roberts

unread,
Apr 19, 2020, 7:45:03 AM4/19/20
to Google Apps Script Community
Here's a blast from the past! I just stumbled across this script/library database, having not seen it for a good few years. It's pulled in some software of mine from 2013 which gives you an idea of when it last ran!


I came across whilst looking for the original source to the famous get/setRowsData() from an old Google site.


Alex

unread,
May 16, 2020, 12:04:36 AM5/16/20
to Google Apps Script Community
I noticed that the site appears in my Google Search results more often than usual in the last couple of weeks.

The group effect?

NOUFAL N

unread,
Feb 6, 2021, 10:45:04 AM2/6/21
to Google Apps Script Community
we use = image function with vlookup or ibdex& match funtion,
But it will not work on the data which we extracts from our google drive ,

Cam anybody solve this

Reply all
Reply to author
Forward
0 new messages