Google BigQuery - "Not Found: Project [project-id] - database

I'm having a problem getting started with Google BigQuery. I'm certain I have done everything correctly to create and configure the account. But when I go to the web interface, the it seems unable to find my project. I cannot create/upload any new data and I can't even query the sample data set. All the interface returns is:
Not Found: Project [my-project-id]
However, in the same window, the project name and ID is being listed in the panel on the left...so it looks like BigQuery is aware of my project in some sense. Screen shot below:
I am at a loss of how to rectify this. Does anyone have any ideas of something I might be missing in configuration and/or setup?
Best regards,
Dan

Did you recently set the ID on your project (e.g. xs-analytical-park-g)? If so, there may be a dataset that uses the old name (which was the numeric id of the projcet) which confuses the UI. We periodically search for changed project names and apply updates, but sometimes this can take a while.
I've just checked and it looks like our data should be up-to-date with respect to the project ids, so please let me know if this problem still persists.

Related

How is ElasticSearch supposed to work in CakePHP 3?

I've been trying my very best not to ask any nosy question here in stackoverflow, but it has been almost one week since I got stuck in this problem and I couldn't find any solution.
I already have my working website built with CakePHP 3.2. What the website basically does is scrape Twitter for tweets containing a given search term, check if it's already in my database, and store it if it doesn't yet exist. Twitter's JSON response has this "tweet_id" property, and I've been using that value to check for whether I should ignore or append a specific tweet to my DB. While this might be okay while my database is small, I suspect it's going to slow things down considerably when my tables grow bigger. Thus my need for ElasticSearch.
My ElasticSearch server is running on my Arch Linux install, and I've configured my app to point to the said server. Also, I have my "Type" object named the same way as my "Tweets" table (I followed the documentation until the overview part http://book.cakephp.org/3.0/en/elasticsearch.html). This craps out an "Unknown method "alias" error, and following Google searches led me to creating an alternate pagination class since that was what some found to be the cause of the error (https://github.com/lorenzo/audit-stash/issues/4), which still doesn't fix things.
I'm not sure if I got this right. I installed the ElasticSearch plugin with the assumption that all I have to do is name the Types the same name as my tables, since to me the documentation "implies" that this should be done on top of the Blog Tutorial they did to "improve query performance".
TLDR, how is this supposed to work? Is my above assumption right? Do I name the Types differently and index everything myself? I'm not sure if there's just too much automagic, or I'm just poor at these sort of things. And yes, I'm new to frameworks (but not PHP, among other languages)
Thanks in advance!

BigQuery UI - Datasets missing

I have a weird issue with my BigQuery UI (going on https://bigquery.cloud.google.com/queries/my-project-name). I don't know why, but I see no datasets for my projects, when I'm fully aware they exist. My code can still hit these datasets and their tables. There is just no way for me to see them.
In the UI itself, I can still query them if I type the whole query by hand, but being able to see my structure for my schema could be helpful.
When I check my network tab in the developer tools on chrome, I notice that I receive "Failed to load ressource: net::ERR_CACHE_MISS". I then decided to do everything I could to reset my own cache. I cleared my cookies, went incognito, I tried other browsers, even other computers. NOTHING brings back my datasets.
Anyone encountered this and has any ideas how to force my cache to hit?
I had the same problem a while back. When I got the error, I struggled with it and I ended up finding a way to reset this. Seems like it's something cached server-side that makes this incorrect cache-hit. The way to reset the server-side cache is to hit a URL with a project that doesn't exist, so something like https://bigquery.cloud.google.com/queries/bogus-nonexistant-project should reset it all
Did you recently assign a new string ID to your project that previously only had a numeric ID? If so, this is a known issue that has been reported recently, and I'm still working to resolve.
The issue is that the frontend cache gets stuck with the old numeric ID for the project and our frontend JS has a bug where it errors out instead of updating the cache to contain the new string ID. LiY's workaround of going to a bogus, uncacheable URL is the suggested workaround to unstick the cache until this bug is resolved.
(And if you didn't recently assign a new string ID to your project, then I'd love to hear more details about what might have caused this issue so it won't happen to anyone else!)

JDeveloper deleting ADF resource bundle reference from VO source

I'm using JDeveloper version 11.1.1.7.0 for an ADF project. Whenever I edit a View Object that uses a resource bundle to provide labels via UI hints for things like input text fields and table column headers, the resource bundle reference at the end of the VO XML source gets automatically removed by JDeveloper. This means that every time I want to add a new attribute, change a binding, etc I must go to the History tab and restore the resource bundle reference before running my application. Otherwise, the labels are just displayed as the raw attribute names from the VO (e.g. "employeeName" instead of "Employee Name" from the resource bundle).
This is not just an issue for me, but for everyone on my team. At best, it's a constant annoyance. At worst, bugs get filed because labels are missing and inexperienced developers think they need to redefine every single label, which is a huge waste of time. I've searched on Oracle Support and can't find any patch for this. Google doesn't find anything useful. Does anyone else have this issue? Know what might be causing it and of a way to fix it?
ETA: Even if you've encountered this but don't have a solution, please post a comment stating this. Part of my question is whether this is an issue unique to the project I'm working on, or whether it's a common JDeveloper bug.
ETA: For the record, this is still a problem with version 12.1.3.
This has happened to us and this had caused regression issue in the past for us. We have had to redo the labels everytime we edit the view object. I guess this is a jdeveloper bug.

How to specify legacy incremental IDs with Java

I'm using GAE 1.8.1 and I've hit an issue with Objectify with the new scattered ID system. At least I think it's Objectify, I'm not sure (Using Objectify 4 RC1). I'm getting this..
Caused by: java.lang.IllegalArgumentException: id cannot be zero
at com.google.appengine.api.datastore.KeyFactory.createKey(KeyFactory.java:52)
at com.google.appengine.api.datastore.KeyFactory.createKey(KeyFactory.java:47)
at com.googlecode.objectify.Key.<init>(Key.java:91)
at com.googlecode.objectify.Key.create(Key.java:39)
at com.googlecode.objectify.impl.cmd.LoadTypeImpl.id(LoadTypeImpl.java:77)
The records get put in the datastore correctly as they have an ID, but this is on fetching the data out.
So I have to roll back to what it was before for the time being. It states here that you can specify the legacy ID generation with modifying the auto_id_policy in appengine-web.xml. I've tried adding this to the file:
<auto-id-policy>legacy</auto-id-policy>
But it doesn't work, or at least it might work if the XSD it validates against supports this tag. You can't deploy the app because of this.
we are aware of this issue and working on a fix.
The problem appears to be you are passing in 0 to load().id(). I don't think this has anything to do with scattered ids or Objectify.

Receiving / retrieving email in CakePHP

I am developing a basic yet highly customized CRM for a small training centre which has the ability to store student records and also send emails to them. I'm using SwiftMailer following this excellent tutorial in CakePHP to accomplish the sending part.
Of course, students are sometimes going to reply to emails and I'd like to retrieve them within my CRM and store them along with the student record.
However, I cannot find a single reference to doing this. I've tried the following Google searches: "receiving email cakephp" , "retrieving email cakephp" and even "email client cakephp" but all of these queries give results relating to sending mail rather than receiving it -- very frustrating!
Finally, I broadened my search to non-cake solutions and found someone recommending a library called ezComponents. It doesn't seem to have had any active development for about a year, but it includes an email receiving class which is exactly what I want. Unfortunately, I have no idea how to add this to CakePHP and the only post I've been able to find on the entire web on the matter doesn't exactly go into much detail. It's certainly not a step-by-step tutorial on using ezComponents on CakePHP like the SwiftMailer tutorial I mentioned above.
I also found a class on Google Code called php-imap which looks like it would do the job but, again, I haven't the slightest clue how to get it working happily in Cake like SwiftMailer is.
I realize that I may have to learn how to package classes for use in Cake by myself but I'm asking this question first on the off-chance that there is already a Cake-friendly solution to this problem that I just haven't realized :-)
Joseph
Thanks to everyone for your answers, but I've been doing some more searching and it looks like the solution is actually incredibly simple.
Basically, with the help of a plugin, I can set up the mail server in databases.php as a datasource and then write a Model and Controller to interact with it.
Here's the example I found: https://github.com/kvz/cakephp-emails-plugin
Edit: the repo has been deprecated and is now available at https://github.com/kvz/deprecated/tree/cakephp-emails-plugin
You will want to pipe your email to PHP and use stdin:// to read the contents of the email and add the e-mail to your database.
I've done this with cake and the simplest way is to make a Cake console application to handle the parsing. Also using cpanel's account level filtering to generate the pipe is really simple.
http://forums.cpanel.net/f5/piping-mail-php-scripts-howto-checklist-50985.html
http://www.evolt.org/incoming_mail_and_php
Sounds like you want to include SwiftMailer as a Cake plugin, amirite?
http://book.cakephp.org/view/1111/Plugins
-- if you want to package it yourself. Otherwise, a cursory search of the Bakery yielded this result:
http://bakery.cakephp.org/articles/sky_l3ppard/2009/11/07/updated-swiftmailer-4-xx-component-with-attachments-and-plugins
Hopefully it will at least get you pointed in the right direction. HTH. :)

Resources