GAS Menu Click function in Library - google-apps-script

This is a follow-on to question here.
Review in linked post: menu click function in a library ('rm' in this case) works.
ui.createMenu('Test').addItem('Test-Lib', 'rm.test');
However, going forward I had found that this ONLY works iff the user has EDIT access to the (rm) library. I have tested this for "links" "readonly" and "readonly public access". Only works for EDIT access.
The background information is that I've found NO information regarding this from Google/Official sources.
Initial finding was good (click function in library) in that it saved me a lot of coding. But now I'm back to square one, as I cannot give edit access to the library.
Anyone have any experience on this? Ideas? Workarounds? Thoughts?
EDIT;
Big thanks to #tehhowch comment below with his link. Solved it, but still a little bit tedious solution. To summarize:
Read-Only access means that user does not have access to the development version, but only the linked version - so need to make sure that linked version has all the requirements met.
Republishing the lib to the same version did not work.
Republishing the lib to a new version and updating the client spreadsheet to the new version did work.
Of course, this is a bit tedious going into all client spreadsheets that use the lib, but at least now i can deploy with read-only access to my libs :)

Related

Integrated EJabberd Login with existing Script1

I have quiet decent knowledge how to use Ejabberd. Have used a lot with Smack Library for android so am quiet comfortable as a user. However I face use case that I have not faced before.
There exists as system with its users and login interfaces both using forms and another using API. Now I need to integrate it with ejabberd. The most common and documented way is to use ejabberd OAuth2 but now am supposed to do the opposite.
Reading the docs the best I found is this link talking about external script. However there are no enough information to help build something. Linked examples are old and links are dead.
Can anyone help me get into right direction with external script login? I would prefer PHP based solution but any other language will help.
However there are no enough information to help build something.
Brief protocol description, and example in Python:
https://docs.ejabberd.im/developer/guide/#external
Perl example included with ejabberd. Notice this file was last modified 11 years ago, and it still works correctly:
https://github.com/processone/ejabberd/tree/master/examples/extauth
Linked examples are old and links are dead.
Right, those other examples are very old too, but they could work (as long as you can get them, and use the ancient language versions they used):
https://ejabberd.im/extauth
Why are those so old? Because that page has not been updated since years ago (back when git was not yet mainstream). Quite probably, if you search, you may find other examples.

Eclipse asking for node.js

As I right clicked on the WebContent folder of my project to add a new HTML file, eclipse warned me that node.js could not be found and that some of the functionalities might be missing.
It is not doing it anymore, it did it only the first time I right-clicked new.
I was wondering why it had warned me about this and only once.
As it might be something that many people know about or have encountered, I don't give any more details but I can if needed.
Thanks in advance ;)

jQMobi documentation mirror

Just got started and running with jqMobi, which is now called 'intel's application framework' (cheesy name eh)
Along with intel's porting to their new site, they forgot to put the full docs online (at least I can't find it). Now there's only minimal documentation, like the getting started. I'd like to get on with it.
Anyone knows where the (full) docs are hosted? I really hate to go look for another framework again.
The documentation is all there. The only thing they did not add was the "testdrive", which is just the kitchen sink sample found in github
In my opinion the docs are somewhat scattered, but there's some helpful stuff if you can find it. I keep bookmarks for these links. There are some links from those that get you to more stuff.
http://html5dev-software.intel.com/documentation/jqmobiapis/index.html
http://app-framework-software.intel.com/documentation.php?r=9057
http://developer.html5dev-software.intel.com/
http://www.html5dev-software.intel.com/documentation/
Actually they split off where appMobi is a cloud services company to support apps, and Intel took the part to build the apps. So you may still need/want appMobi. Their docs are on their site of course. There is still some duplication on the appMobi site.
Technically I don't think jqMobi is the same thing as the Intel App Framework, but at the same time I have a hard time understanding what's called what anymore. I'm sure they'll clear this up over time. I hope they find names that can be useful tags on stackoverflow.com!

How can I determine if I am running a side-loaded app or a Store-installed app?

For the sake of testing, knowing that I am running from Visual Studio would be nice. I could see if the debugger is attached, but that is not sufficient if I am running with CTRL+F5.
Here's how to see if the debugger is attached:
if (Debugger.IsAttached) Foo();
But my question is, I wonder if there is a way to ask if the current app is from the Store. So, I thought about install folder, but they are identical. Then I thought about this:
Windows.ApplicationModel.Package.Current.Id;
But this appears to be completely implemented even for apps that are being debugged. So, I am stumped. Does anyone know if we can determine if the app is from the Store?
While certainly not the most elegant solution and there's probably a better one, you can check Package.Current.InstalledLocation.Path
If you are running a debug build developed on your local machine and not side loaded, you'll have /debug/ in your folder path.
In Windows 10 apps (this also should be available in 8.1), you can check the IsDevelopmentMode property on the current package.
Package.Current.IsDevelopmentMode
That should tell you whether the package was installed in development mode (which I believe is synonymous with 'side-loaded').
See https://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.package.isdevelopmentmode.aspx
for more information.

Creating standalone app with Microsoft Access

Once I saw a DB made in MS Access that worked as a normal program, i.e with an executable file that opened a beautiful UI and allowed access to the forms and reports. I've trying to do the same, I even googled but didn't find how do it. Anyone knows how to build such standalone App with Access?
You cant make an access database into an executable file. It just cant happen however you can fool people into thinking that they are not using access a number of ways, for example
Custom splash screen (just put a bmp
file in the folder and name it the
same as your database)
Hide the access window and toolbars
Change the access icon
For example take a look at this screen shot
There are lots of things going on here and it would be hard to tell that it is built using good old access 97 (Yes I know the standard toolbar kind of gives it away, it will be going at somepoint).
I believe the tool is called the Microsoft Access Runtime toolkit or something along those lines. The latest version is free, a departure from the previous versions which I believe you had to pay for. From the previous version I tinkered with, it comes with a tool to make a EXE file from the MDB or ACCB file, a handful of icons for the EXE to use if you are lacking one, and a program to help you generate Microsoft Help files for your application.
This is a link to the Developer Extensions - I believe the 2007 version of what I described above:
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=D96A8358-ECE4-4BEE-A844-F81856DCEB67&displaylang=en
Here is a link for the runtime, which doesn't convert your Access database into an executable file, but would allow it to run on computers without Access installed:
http://www.microsoft.com/downloads/en/details.aspx?familyid=D9AE78D9-9DC6-4B38-9FA6-2C745A175AED&displaylang=en
NOTE: Both of these are for Access 2007, the version I run. Your version might require something different - but should be easily located on Microsoft's website.
If you want to fool the user in thinking that they are not using access it will take some ingenuity. I have done this. You will need a way to make nice 2D images that you will import into access, and then set them up like buttons, and give them functionality. Make sure you over lay them on a splash screen of some kind. Not sure if you know VBA but it will be needed.
At the end make sure you go in to the setting, and turn off anything that might allow the user to alter the form in any way. And then rename the file's extension like this: fileName.accdr
This is as close to a normal program that you are going to get, and remember it will only look as good as the art you put into it.