GUI components not submitted when publishing to gallery: Google App Script - google-apps-script

When I published an app to the google app script gallery for spreadsheet tools, it failed to upload the GUI builder components as well. Do you know how I should go about remedying this?
I just get this:
Invalid argument: resourceName (line 37)
When trying to execute the code. Line 37 corresponds to where the code exists which loads the GUI builder component in to the UI app. I was going to rewrite the code and programmatically create the visual elements, but it seems like that would defeat the purpose!
Many thanks,
Eamonn

You're right, the GUI Builder falls short when you try to share it. Being through the Script Gallery or as a library. There's no way at all to export it and import in another script.
And that the reason why I never use it. Sometimes I play with it just to make fast mock ups to see if how an idea will actually look on Apps Script, but never as the real thing I'm going to develop.
You should open an issue report on the tracker, since publishing on the Gallery should really work out-of-the-box.

Related

Google Apps Script works in \dev but no in \exec mode

First I have to apologize because English is not my native language and also because I'm just starting in developing. Sorry for all of that.
My question is that when I deploy my app script as a web app the page does not work; but when I used the "Test web app for your latest code" it does work. I don't understand why in the first case (the url finishes with a \exec) appears an error and in the second works nice (the url finishes with a \dev).
The Google Drive error is : The file cannot be opened at this time. Please check the address and try again.
I'm so confused because the web app was working nice, and suddenly it started to show that error, but I did not change anything in the code.
I donĀ“t know if it is related with permissions. I've tried to create new versions but it does not solve it.
Any idea how can I solved it?

Testing Google app script HTML interface without deploying app

I am developing a one of those bulk delete script for gmail. I want to create a front end for the script so I can easily modify my settings on a per-label basis to specify how many emails I want to delete during a trigger event and how old they have to be for a particular label. I want to be able to test the interface similar to testing a script.....just hit the run button. However, google's script engine tells me I need to deploy the script and it's HTML files as a web app to test the interface.
Is there anyway to test the the interface and its interaction with my backend google script without deploying as a web app?
The answer is no, unless you "deploy" your code through a Spreadsheet. In fact, it's fairly well-documented.
See Serve HTML as a Google Docs, Sheets, or Forms user interface on that page for a "workaround" to testing your app without actually deploying it.
However, there is no harm in deploying it as a webapp. And as a matter of fact, you can see changes instantly after refreshing your app that you have deployed (published), using the dev macro you're given when you deploy it. This is the most useful tool for UiApp and HTMLService:
Edit: After you're done testing and you've "finalized" your code, you can disable the webapp, meaning that nobody can accidentally access it, you don't post the macro link to it, etc. It's a one-click process. Again, this is really the only way to test the code in my opinion, as it's most succinct for a real "development process". See image below:

Version control for Google Apps Script GUI Builder UI

I have published a Google Apps Script as a web app (Let's say it's Version 1 in 'Manage Versions'), I am now working on code for a new version. The issue I have is any changes to the GUI Builder UI for the new version are immediately applied to the published web app version, which naturally causes a lot of problems for current active users as they have Version 1 code (good) mixed with yet-to-be-published GUI Builder components (not good). How do I get GUI Builder to align with the Google Apps Script version control? Thanks, John
Hmm, I think there is something missing in the gas version-managment regarding the things built with gui-builder, maybe you should file an issue for that (google-apps-script-issues), seems to be not yet reported.
As a workaround 1 (as there seems to be no way to copy a gui inside the gui-builder), you could just make a copy of the project when you are ready to publish a new version and just publish the copy to your users (drawback: key changes, so you have to update your users with a new link to the app)
Workaround 2 could be to copy your guis into a separate library and have as code a single function like
function getComponent (app, guiName) {
return app.loadComponent(guiName);
}
which you then use from your project to load the gui. This means each time you want to create a new release, you copy your project, replace all the source-code in this copy with the above function and reference that copy as library from your project.
This library then has to reference the original project as library too and you have to update the event-handlers inside the gui builder to point to that original handlers in your project. Made a short test and it seems to work, but what a mess...

Google App Script GUI Builder - get project code?

I've done some searching and i cannot believe that NO ONE has asked this same question, so maybe i'm just not using the right words, but HOW does one get the code from the 'component' (or simply.. the gui) that they just created using the Google App Script GUI Builder? Am i missing something here or is this just plain impossible?
You don't need the code to include a GUI builded Ui in your script - and this code is indeed not available (see Corey's answer here) - but you can modify it or append other elements quite easily as shown in this other post

Air as3 app: One App to house many Apps

I am wondering if it is possible to create a master app or suite or container (not sure what to call it) to house multpile apps? I am working in Flash using as3 and packaging as air.
I am working on creating multiple apps for a company and they would like to have an app that when you click on it, all of the apps the person has downloaded from the company would appear inside of it. Keeping all of that companies apps on your device in one location, easy to find. For example, the kindle app. It is one app on your device that when you click on it, it opens up and displays all of the books you have chosen to download. You click the book you want and it opens up. Any ideas?
I don't want to package all of the apps together because I want the person to be able to choose which apps they want to download. I have no clue where to start on this one.
Sorry if my explanation is kind of confusing but I appreciate any help. Keep in mind I am fairly new at this stuff. Thank you!
If your idea is to target iOS then no, you can't. Because it's not allowed to load extra code from anywhere else but the app's own directory so you have to package everything into one app. Android may be a different story though.