Library with identifier underscoreGS is missing - google-apps-script

I was using underscoreGS for a long time, but I got "Library with identifier underscoreGS is missing (perhaps it was deleted, or you don't have read access?)" this error suddenly.
underscoreGS should be a public lib, I should be able to access it. I also try to delete and add this to the project again, I can re-add it, but the error still there.
This is my code
if (tmpDate.getTime() == tomorrow.getTime() && underscoreGS._indexOf(added, row[1], false) < 0){
Does anyone have the same problem? Or underscoreGS having a problem?

I can reproduce this behaviour. It looks like this behaviour is not limited to underscoreGS, but others like GSUnit and YouTubeApp result in the same error message.
I'd say it's possible that the owner of these libraries has changed the sharing settings and these libraries might no longer be public.
This has been reported in Issue Tracker:
Issues with underscoreGS, GSUnit libraries, and others?
Error replacing library
Update 2020-01-21:
One of these issues was updated with the following comment from Google:
This is not an issue with library import, this is a configuration problem by the library host/owner.
Please take this up with the third party developers of the affected libraries.
So apparently, this is not an issue with the library import process, but with the libraries themselves. Since these libraries are not officially supported by Google, anyone affected by this should take this up with the library developers.
Also, another developer shared backup scripts for these libraries in this comment, as mentioned in Gonzalo's answer.
Reference:
GAS Library Management (public)

Provisional Solution
From a comment on the same issue tracker mentioned by #Iamblichus
I don't know if the libraries can be brought back online. In the meantime, here are backups:
ObjApp source code:
https://script.google.com/d/1fCGHsA4zJ3ow0U_LFJclWTP8ctgDuMCZIrQ0bFCchSAIpnjNbWrW_Vre/edit?usp=drive_web
Script ID (to use as library):
1fCGHsA4zJ3ow0U_LFJclWTP8ctgDuMCZIrQ0bFCchSAIpnjNbWrW_Vre
GSUnit source code:
https://script.google.com/macros/d/1T4ao_R66gK5hK4dtKHT4p7kractojP2tYau9dOzcG7xJrYyl_gWiQ7a_/edit?usp=drive_web
Script ID (to use as library):
1T4ao_R66gK5hK4dtKHT4p7kractojP2tYau9dOzcG7xJrYyl_gWiQ7a_
underscoreGS source code:
https://script.google.com/d/1mBlMu5QzQSO0X3pGZHPBPfLYh5UuSRLETBb9x-EIyOzMPrd0SA-i7QdR/edit?usp=drive_web
Script ID (to use as library):
1mBlMu5QzQSO0X3pGZHPBPfLYh5UuSRLETBb9x-EIyOzMPrd0SA-i7QdR
Reference:
Issues with underscoreGS, GSUnit libraries, and others?

This is happening to me aswell just since yesterday for the ObjApp library but intermittently which makes me believe it is on Googles end

Related

Class file editor : Source not found error for ILock, ClassPathSuite classes

I am getting Class file editor : Source not found error for the classes in junit / hazelcast packages. Previously i got this error for all built in java classes. But after adding the Source zip file, i am able to see String.class and all. What i need to do for these classes. Please find the screenshot
Thanks in Advance!
Interestingly enough, your question contains all the concepts you need to know in order to answer it.
In order for your IDE to show you source code for any library you are using, the corresponding library needs to come with source code attached to it.
In other words: you managed to point your IDE to the ZIP file containing the source code for your JRE/JDK - thus your IDE knows what to show you when want to open up String.class
Now it seems that you are using other libraries as well. Maybe maybe, other libraries, have other, different source code ZIP files?!
Long story short: you need to add "source code" ZIPs for each and any additional library you are using and that you want to "peek into".
Within eclipse, you achieve that for example as described in that SO q/a. Side note: that is also something to keep in mind: you should do prior research before coming up with "new" questions. Especially when you are a beginner, you can be very sure that "your" question was asked here before.

Always include the latest version of custom Google Drive library

I'm trying to link a custom library to a document that will be copied and shared with many people. I want to have all documents link to the latest version of the library, so when I modify the library I don't have to access all the documents to change the link.
This is the scenario:
I created a simple single function library (e.g. library TestLib, function foo()), and saved a first version of it. Then I've created a SpreadSheet with a script that generates a user menu that calls function TestLib.foo(). I've linked version 1 of the library to the script. Now I want to make several copies of the document, one for each people who will need it. The problem is that these documents are linked to version 1 of the library. If I made a change to the library and create a version 2, I have to manually re-link all documents to the new version. That's gonna be lot of work...
Is there a way to have the script to always link to the latest version?
NOTE: the library project is shared in read-only mode (people won't collaborate with the code. They just call foo() from the menu when needed).
Thank!
MIX
I made a new test, trying to overtake the version "limitation" problem.
The idea is a little complicated, but promising. The spreadsheet calls a function in library LinkLib: this library will be saved in a single version and the source code will never modified. The library function simply calls a function on another library (MainLib), whom source code can change over time. Spreadsheet doesn't need to change the version of the linked library (there will never be new version of BaseLib source code), while BaseLib can change the version of MainLib linked if I made changes in MainLib's source code..
The problem is: changing the version of a linked resource is treated as a source code modification. So you need to save a new version of BaseLib to actually use an updated version of MainLib's function.
Hope this mess is somewhat clear...
It makes sense that the described version management behave like this. But damn, I'm still stuck with this problem...
this is possible but with a risk. simply use "development mode" for all documents using the library. whenever you update the library it will include the new code automatically.
the risks are that you will have to be careful to never save an intermediate/partial change as all changes need to not break anything. this can be tricky and is best to have a separate library copy to use when making and testing changes. once tested you may copy all files and "save all" together so the script doesnt have partial saves.
basically you lose the development facilities of using versions.
read more about library development mode in the official docs.

Has anyone got ArticleComments.php extension working with MW 1.20?

I downloaded the ArticleComments.php from the homepage, and have copied it to my extensions directory.
I add this line to the end of my LocalSettings.php :
require_once( "extensions/ArticleComments.php" );
But when I do, it knocks my wiki over until I disable it!
The PHP error log says:
Fatal error: Call to a member function addMessage() on a non-object in /opt/bitnami/apps/mediawiki/htdocs/extensions/ArticleComments.php on line 277
where line 277 reads:
$wgMessageCache->addMessage('article-comments-name-string', 'Name');
Any ideas? This is a common extension, and I just don't know why I can't get it to work? Can anyone link me to the correct file / download in case my PHP file is corrupt in some way? Any info would be useful, I'm tearing my hair out!
Apparently, the version of the ArticleComments extension available from the "official homepage" (0.4.3) is pretty badly outdated, and doesn't work with MediaWiki 1.16 or later. There's a more up-to-date version (0.6) available in the Wikimedia SVN repository which fixes a number of incompatibilities and, according to the change log, a few security issues as well.
(The specific reason for the crash you got is that the global $wgMessageCache object, which the old version uses to define its interface message, was removed in MW 1.18. However, looking at the change log, there seem to be several other incompatibilities as well.)
The mediawiki.org page for the ArticleComments extension is currently really confusing: it contains links to the up-to-date version in the infobox, but everything else on the page links to the old version. I really should contact the maintainers of the extension and try to get it straightened out.

Problems including comdef.h

I'm trying to port some existing code to WP8 and have come across a problem.
The code i am porting uses a smart pointer thats is defined in comdef.h but for some reason when I try and include comdef.h I get the following error.
comdef.h(25): fatal error C1083: Cannot open include file: 'olectl.h'
I understand what the error means and it seems there is no trace of "olectl.h" in the WP8 SDK include paths on my machine. Is anyone else having this problem, I've tried "repairing" my installation of "Visual studio 2012 Express for Windows Phone"
I have found some code that appears to include comdef.h and has gotten around the missing macro problem the link at the end of this post is talking about by not using the macro at all and explicitly using the code that the macro would expand to.
(Here is the code that does what I want to: https://devel.nuclex.org/framework/browser/graphics/Nuclex.Graphics.Native/trunk/Source/Rasterization/Direct3D11/Direct3D11Api.h?rev=1782)
Has anyone else experienced this, or could someone with the SDK installed try including comdef.h somewhere to see if it works for them.
The missing macro link:
http://connect.microsoft.com/VisualStudio/feedback/details/751127/com-smartptr-typedef-causes-errors-when-used-in-winrt-build
Thanks.
Yes, I see this too, so it appears this is "by-design".
Basically if the API isn't listed on MSDN in the list of supported COM/Win32 APIs, then it isn't a supported API on Windows Phone 8. It looks like only the combaseapi.h header is supported.
_com_ptr_t<T> and it's friends aren't on the list...

Infragistics license exceptions when MSBuild-ing

When running the MSBuild scripts for a project, I'm getting the following errors:
Properties\licenses.licx(1): error LC0004: Exception occurred creating type 'Infragistics.Win.UltraWinEditors.UltraNumericEditor, Infragistics.Win.UltraWinEditors.v5.2, Version=5.2.20052.1028, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb' System.ComponentModel.LicenseException: Unable to locate license assembly.
Properties\licenses.licx(2): error LC0004: Exception occurred creating type 'Infragistics.Win.Misc.UltraGridBagLayoutManager, Infragistics.Win.Misc.v5.2, Version=5.2.20052.1028, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb' System.ComponentModel.LicenseException: Unable to locate license assembly.
Properties\licenses.licx(3): error LC0004: Exception occurred creating type 'Infragistics.Win.UltraWinEditors.UltraCheckEditor, Infragistics.Win.UltraWinEditors.v5.2, Version=5.2.20052.1028, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb' System.ComponentModel.LicenseException: Unable to locate license assembly.
It appears that there's a problem with my machine's Infragistics license.
I have valid license files in my solution, so what's causing this issue?
There is a much easier solution: Set the build action on your license.licx to None.
From a user comment in Infragistics forum archive
install as the Sysadmin for "All Users" and then the
user will develop and compile their app.
Here is a workaround but unfortunately, this does not explain the root cause.
Here is a blog post from Infragistics to deal with automated builds but I don't think it is your case. And a further reference to that same post adding more info here.
I guess you had already looked at those links but they might be helpful to somebody else with a similar problem.
it's much easier just to only change the build compilation to any CPU and you're done!
it will run with no problem.
Make sure the license compiler (lc.exe) can find the location of your Infragistics assemblies. Also, if you've updated your components anytime recently make sure there aren't multiple copies with different version numbers lying around. Finally make sure that the version your are trying to use is the same version in the licenses.licx file.
An easy way to refresh the licenses.licx is it open the form designer, add an Infragistics component and remove it.
If for some reason the licenses.licx file doesn't refresh you can try removing the offending entries first then refresh it.