This past Wednesday, the App Engine team hosted the latest session of its bimonthly IRC office hours. A transcript of the session and a summary of the topics covered is provided below. The next session will take place on Wednesday, October 21st from 9:00-10:00 a.m. PDT in the #appengine channel on irc.freenode.net.
- Jason --SUMMARY----------------------------------------------------------- - Q: When is the Task Queue API leaving Labs? A: The Task Queue API remains an "experimental" feature for the time being. This means that the API may change and evolve in future releases in ways that break existing code. Task Queues will stay "experimental" until that time, but this shouldn't stop you from using it today and sharing any feedback in the discussion groups and issue tracker. [7:04-7:05] - At least one App Engine-hosted Facebook application is displaying an empty screen, presumably because the request to App Engine times out while waiting for the application instance to spin up. If you're interested in being able to pay for at least one instance to be kept warm, even with sporadic bursts of traffic, let us know in the discussion group and issue tracker. [7:05, 7:08-7:09, 7:11-7:12, 7:14, 7:18] - Q: Are they any plans to allow clients to create cname records linking their domain to an App Engine application without going through Google Apps? A: At the moment, registering your domain with Google Apps (completely free and relatively painless) is required, and there aren't any immediate plans to change this. We are working on better Google Apps and App Engine integration, but if you have an application that you want to share amongst various clients right now, please complete the form at http://code.google.com/support/bin/request.py?contact_type=AppEngineMultiInstanceExceptionRequest and we will work with you more directly. [7:12, 7:15, 7:32, 7:35, 7:37-7:38] - Q: Which Python modules are supported in App Engine? A: Most Python system modules (e.g. re, os, urllib2) are supported. App Engine's sandbox prevents your application from doing certain operations like spinning up new processes/threads and making direct socket connections, but most standard libraries work out-of-the-box. [7:14, 7:19] - Continued requests for firewall/service API to set up rules to automatically block traffic from a certain IP or IP block should an application be targeted. [7:42, 7:46, 7:51] - Per-minute datastore limits, along with per-minute limits for other App Engine services, are available in http://code.google.com/appengine/docs/quotas.html. [7:48-7:49] - Discussion on user proposal to circumvent ad blockers by having App Engine applications hosting ads to redirect to a remote App Engine application which in turn returns the image-based ads and records the impression. [7:50-7:53, 7:56, 7:59-8:04] --FULL TRANSCRIPT--------------------------------------------------- [7:01pm] SpanishInquisiti: NOBODY expects the Spanish Inquisition! [7:01pm] Jason_Google: Hi Everyone. Welcome to the first App Engine office hour session in October! I'll be here for the next hour or so to answer any questions. [7:01pm] Jason_Google: Nobody. [7:02pm] chilts: heh [7:02pm] chilts: Hi Jason [7:02pm] Jason_Google: Hi there. [7:03pm] chilts: I have a quick question I hope ... I've seen DerivedProperties that Nick Johnson was doing ... is there a way to have DependsOnProperty [7:03pm] chilts: ie. one field in a model depends on another? [7:03pm] chilts: (eg. can only take a value if another one is true, that kind of thing) [7:04pm] Jason_Google: Hmm, interesting. I'm not too familiar with Nick's work there. Off-hand, I don't know how this could be done, but it would be an interesting question to pose Nick in the discussion group. [7:04pm] maxoizo: Hi jason! When are you planning to release a TaskQueue API from the Labs? In the next release or after? [7:04pm] chilts: maybe this is something to figure out rather than bug you about though [7:04pm] chilts: sweet, I'll try Nick one time then [7:04pm] chilts: thanks Jason [7:05pm] Jason_Google: maxoizo: I haven't heard anything about moving it from labs recently. It will probably remain in labs for the foreseeable future, but it is production ready and you can keep using it today. [7:05pm] smwaveforms: Jason is there any way to keep a static page in cache for GAE facebook iframe apps that have low numbers of users? [7:06pm] AreEmmKay: App Engine is doomed if you guys ever lose Nick [7:06pm] LacrimaMax: Hi Jason! I have a problem, which I can't resolve for two days. When I do 'appcfg.py update someapp', I receive exception. Traceback is here: http://dpaste.com/104153/ [7:07pm] SpanishInquisiti: Any idea when the next SDK will splash down and what's slated? [7:08pm] Jason_Google: smwaveforms: There is an expiration that you can associate with static files so the browser will keep it cached. Is this what you're looking for? [7:09pm] Jason_Google: SpanishInquisiti: Soon, hopefully within the next couple of weeks. It will feature incoming email support and a host of goodies I'm not yet at liberty to reveal. [7:09pm] smwaveforms: Jason. the iframe comes up blank but shows page after a refresh [7:09pm] SpanishInquisiti: We have ways of making you talk! [7:09pm] Jason_Google: LacrimaMax: Interesting. How often do you see that error? Does it go away right after you try updating again or does it linger until you make a change? [7:11pm] smwaveforms: also, this is on a page that does data calls but no login required [7:11pm] Jason_Google: smwaveforms: Are you dealing with a static file here or a dynamic script? [7:11pm] chilts: I wonder if the Status: 200 isn't being set properly (or whatever other status is being set) [7:12pm] smwaveforms: can change to static if that will help [7:12pm] chilts: (re: LacrimaMax's problem) [7:12pm] AreEmmKay: I'd like my app to support customers setting up cnames to their pages, without asking them to go through Google Domains-- I want it to work like wordpress.com. Is it, or will it every be possible? In other words, if someone cnames somedomain.com to myapp.appspot.com, it should Just Work, but App Engine doesn't like it. [7:12pm] AreEmmKay: by which I mean www.somedomain.com [7:13pm] LacrimaMax: Jason, I see that error for the last two days every time, when I try to update my app. [7:14pm] Jason_Google: smwaveforms: You can try changing it to static, but you won't be able to make any data calls. The link I referred to above was relevant only to static files. If you're referring to dynamic content, you can certainly use memcache to keep it in memory, but it will eventually be evicted and, if your application is spun down, a new instance of your app will have to be spun up again which could cause a delay. I don't know why you're seeing a blank page though. It's possible that Facebook's own request is timing out which would explain why it works after the refresh, when the app is warm. [7:14pm] chilts: AreEmmKay: you might want to star this issue: http://code.google.com/p/googleappengine/issues/detail?id=113 [7:14pm] Back2Basics: is there a list of modules you can import that google already has available? [7:15pm] Jason_Google: AreEmmKay: At the moment, a Google Apps domain is required. I don't know of any plans to change this in the near future. [7:16pm] smwaveforms: Jason, OK I may try an iframe in an iframe (iframe one hosted elsewhere) thanks! [7:16pm] AreEmmKay: OK. It's a problem I'll have to solve outside of App Engine [7:17pm] Jason_Google: LacrimaMax: I haven't seen this error before. Have you tried rolling back your changes to see if it was something you changed, perhaps accidentally, that caused this? Are you on a different network, behind a proxy perhaps? [7:18pm] Jason_Google: smwaveforms: Assuming my hypothesis is correct, there really isn't any way to keep your app warm around-the-clock unless you have a steady stream of users. This might be an interesting idea for a paid service down the line though. I know you're not the only one that runs into this. [7:19pm] AreEmmKay: Followup then: Is proxying considered abuse of the service? I could imagine implementing my domain support by setting up a server elsewhere that proxy's www.somedomain.com to myapp.appspot.com/domains/somedomain.com [7:19pm] AreEmmKay: but I realize a proxy server negates at least one of App Engines's advantages [7:19pm] Jason_Google: Back2Basics: You should be able to import most Python modules, e.g. os and so on. GAE's sandbox prevents you from doing certain system operations like opening direct network connections and spawning new threads/system processes, but many standard Python modules are supported. [7:20pm] DoctorLard: Jason_Google: cool surname. [7:20pm] Jason_Google: DoctorLard: Thanks. [7:21pm] LacrimaMax: I am not behind proxy. I'll try to roll back last few changes and tell you result. [7:21pm] Jason_Google: AreEmmKay: IANAL, but I don't believe this is against the TOS. You may want to post this on the group first before you do this so I can follow up and make sure. [7:22pm] jumand: are there any plans to make "appcfg.py [options] vacuum_indexes" work on the development server? [7:22pm] AreEmmKay: jason_google: thanks [7:23pm] adamgries: jason? you're on the appengine team? [7:23pm] Jason_Google: jumand: None that I'm aware of. What use case do you have in mind? It should be relatively easy to clear your datastore and clear your indexes this way -- they don't incur the same space overhead as they do in production. [7:23pm] Back2Basics: Jason_Google: that's what I keep hearing. [7:24pm] Jason_Google: adamgries: Yes [7:25pm] jumand: I wanted to clear my indexes but keep my data, due to changes in how I'm using the data. [7:25pm] christianjo: Is there going to be an integration with Google Voice - such as an API andtime soon? [7:26pm] smwaveforms: TIA for handling incoming email. Any way we can get a Google store like apple store? [7:27pm] Jason_Google: jumand: Please file a new feature request. I'll follow up on this myself. Are you running into errors relating to too many indexes in your local environment? [7:28pm] evilmushroom: howdy [7:28pm] Jason_Google: christianjo: It's not on our current roadmap, but please feel free to file a new request: http://code.google.com/p/googleappengine/issues/list [7:28pm] Jason_Google: evilmushroom: Hi [7:29pm] Jason_Google: smwaveforms: Incoming email support is coming soon. Is that what you were asking? It should be here with the next release. [7:29pm] evilmushroom: Hi Jason_Google--- first gae chat for me. I appreciate Google doing it. [7:29pm] smwaveforms: very cool [7:29pm] smwaveforms: a GAE store would be cool [7:29pm] jumand: ok thanks, i'll file the ticket; no errors or anything; i'm just trying to keep my index.yaml file clean, so that errant/obsolete indexes are not re-created in production [7:30pm] Jason_Google: evilmushroom: Welcome. [7:32pm] evilmushroom: Jason_Google I am sorry if this you get bugged about this a lot, or if it's out of place to ask--- but what is you guys' perspective on custom domain/subdomain management via API on google apps for gae? I know there is an issue for it--- I was just curious. [7:33pm] evilmushroom: I'm guessing that wildcarding subdomains might be more difficult...? [7:34pm] maxoizo: 2Jason: thx for update the archive with offline docs, but it contains only EN version. Could you update it with other languages (personally I need RU version)? Online docs has RU version. [7:35pm] Jason_Google: evilmushroom: There is a lot of work happening around Google Apps and App Engine integration, but I can't confirm anything at this point. Right now, apps have to manually be added through Google Apps per app. [7:36pm] Jason_Google: maxoizo: Ah, interesting. Yes, that's a good suggestion. I'll see if I can modify the script that we use to package up the docs to include the international docs as well. Making a note of that right now... [7:37pm] evilmushroom: Jason_Google-- Right--- I'm in the process of re-writing an application of mine that hosts a large number of hmmmm "portals" or mini sites, if you will-- where I would need the capacity to do that so naturally I'm curious. Thanks [7:37pm] maxoizo: 2jason: ok, thank you very much [7:38pm] twilson: I got some interesting behavior linking h9 (google health) account with AuthSub. Anybody want to take a crack at it? [7:38pm] Jason_Google: evilmushroom: We definitely understand the need, don't worry. [7:39pm] Jason_Google: twilson: I'll try. Try being the operative word there. [7:39pm] twilson: sure. So I have a ghealth app at chiefmedicalofficer.appspot.com [7:41pm] twilson: Part of the login process is "do you want to link your account?" and I have two issues with that: 1) I want to link multiple profiles within a single account (settings->profiles in ghealth page), and 2) it links the account on every login, so now if I view my linked accounts, it has my app listed 50 times [7:42pm] twilson: I think tackling 2) would be easier. I just want the account linked once, not on every login [7:42pm] maxoizo: 2Jason: Are there any progress in Firewall API? We can expect the inclusion of this feature in the next roadmap? [7:42pm] Back2Basics: Would you say that gae is ferpa compliant? (I'm not asking about each individual app) [7:42pm] twilson: I have some screenshots, trying to find a place to put them now [7:45pm] smwaveforms: Jason who admins the GAE application gallery? How do we change text associated with our app in application gallery? [7:45pm] Jason_Google: twilson: So you're making a health API call on every page view? I'm not extremely familiar with the Google Health API (hence "try" before), but does the service return some token that you can cache in the datastore to keep the association without having to request it on every page? [7:46pm] Jason_Google: maxoizo: Unfortunately, no. It's not on the current roadmap, and other features are being prioritized higher at the moment. [7:47pm] Jason_Google: Back2Basics: I don't know anything about FERMA, unfortunately, so I can't say. [7:47pm] Jason_Google: smwaveforms: I can make that happen. [7:47pm] twilson: I am making a health API call where I need to display data, but account linking only happens on login. I use a session token for the life of a session, but after 3 months and 50 logins, I have the app linked 50 times [7:48pm] jumand: I haven't found this anywhere in the GAE documentation, but is there a per-min limit on number of datastore API calls? if so, what is it? [7:48pm] twilson: I have 3 screenshots here http://code.google.com/p/chiefmedicalofficer/downloads/list [7:48pm] Back2Basics: Jason_Google: ok thank you [7:48pm] Jason_Google: twilson: I didn't think session tokens expire. Did you sign out and sign back in 50 times? Either way, I'm not sure if this is an App Engine problem. It seems like more of a Google Health API issue -- this sounds like it would affect sites other than *.appspot.com. [7:49pm] Jason_Google: jumand: Yes. They are documented here: http://code.google.com/appengine/docs/quotas.html#Datastore [7:49pm] maxoizo: 2Jason: I understand that not on the current roadmap, but i asked about next. Or in future you planned more important features than security? [7:50pm] twilson: possibly, I was hoping I'm doing something wrong with the AuthSub token in python, but I can take this to the ghealth group. Is there a ghealth irc? [7:50pm] jumand: managed to miss that...sorry [7:50pm] Theravadan: I think I have an awesome multi billion dollar idea for you, are you ready Jason_Google? [7:51pm] Jason_Google: maxoizo: We haven't planned the next roadmap yet. Once the current priority features are launched, I'll definitely make a strong case for the DOS/access API. [7:51pm] Jason_Google: Theravadan: Sure. Have you patented it yet? [7:52pm] Theravadan: Jason_Google: no, but you will like this. [7:52pm] Jason_Google: twilson: I don't know if the Health API team has office hours. I doubt it though. There is a discussion group though. [7:52pm] Theravadan: So, to avoid adblock you can have your appengine redirect urls for the path /myads to a "remote location".that is handled by another app engine [7:52pm] maxoizo: 2Jason: cool, thanks. I hope so [7:52pm] twilson: thx, will post the question there [7:53pm] Jason_Google: twilson: Thanks, and good luck. Sorry I couldn't help you more. [7:53pm] Theravadan: Jason_Google: so the image will be served via a google appengine run by say Google, it records the impression/click, displaying the ad. Adblock cannot get around that easily [7:53pm] Theravadan: But this requires mapping say /myads to say appgoogleads, giving it the parameter "myusername" so I as a publisher can be credited. [7:54pm] smwaveforms: ok, I'll send new text to your email that starts with api [7:54pm] LacrimaMax: Jason, if I have my app in the state, in which it was several days ago, it updates Ok. But then if I do any changes to any file, following updates are failed. Sorry, my English is poor. [7:55pm] LacrimaMax: I am talking about BadStatusLine exception [7:56pm] Jason_Google: Theravadan: Interesting idea. So you're asking Google to create and manage an App Engine application for displaying your ads to circumvent ad blockers? [7:57pm] Jason_Google: smwaveforms: Thanks. Make sure to include the name of the app also and any other information I can use to find it. The next chat time isn't for another two weeks. [7:57pm] evilmushroom: patented? oh god.. software patents... [7:58pm] chilts: Jason_Google: apart from nickjohnson are there any other Googlers who 'hang around' on this channel regularly? [7:58pm] Jason_Google: LacrimaMax: So it works consistently before your updates but after your updates, everything stops uploading? What are you changing? [7:59pm] Theravadan: Jason_Google: yes. I'd love to be able to remotely invoke other app engines, I'm sure there are other applications. But for online ads, it would be hugely useful to circumvent ad blockers. Ad blockers would have to block at a per-site level, and what if you have it change the url mapping to the remote appengine randomly? [7:59pm] Jason_Google: chilts: Nick hangs out here the most. You might notice Jeff_Google or jscudder_Google (I forget which name he goes by in the channel) from time to time as well. He usually runs the office hours in the other office hour session on the third Wed. of every month. [7:59pm] chilts: sweet, thanks [7:59pm] smwaveforms: OK thanks for the help [7:59pm] LacrimaMax: Yes. I make any trivial changes. Like change string variable 'hello' to 'goodbye' [8:00pm] LacrimaMax: Even after such changes it stops uploading [8:00pm] evilmushroom: Nick? I seem to remember a nick in the android channel.... although given the size of your company the chance of a name hit is probably quite likely haha [8:00pm] Jason_Google: Theravadan: You're more than welcome to file a feature request; like you said, there's probably other applications. But aside from the existing URL Fetch for making HTTP requests to other sites (or apps), I wouldn't expect anything around the corner. [8:00pm] maxoizo: Yep, CTR rating (and impressions of course) must be increased if AdWords blocks be in the application URLs [8:01pm] maxoizo: * destination urls of AdWords blocks [8:01pm] Jason_Google: LacrimaMax: That's very strange. Is this a test app? If so, can you zip up the source code and send it to me? [8:02pm] evilmushroom: how prevelant are adblockers? [8:02pm] evilmushroom: I guess I was under the impression a minority used them [8:03pm] Theravadan: Jason_Google: the problem with fetching URLs is you can't trust that the publisher invokes you for each impression, they might cheat. I'll file a request, if you talk to the doubleclick guys there, they'll go bananas over this. [8:04pm] Jason_Google: OK Everyone. This ends tonight's office hour sessions. I'll be back in two weeks, Wednesday, October 21st, from 8:00-9:00 a.m. PDT, and you can catch me in the Java discussion group until then -- we have other Googlers in the Python and general groups too. [8:04pm] Theravadan: thx [8:04pm] Jason_Google: Therevadan: Well, I can't promise anything, but I'll include it in my notes and see how excited they get. [8:04pm] maxoizo: see you again! [8:04pm] LacrimaMax: It's not test app. But I'll create new test app and will test it for the same issues. [8:04pm] LacrimaMax: Thanks, Jason [8:05pm] Jason_Google: LacrimaMax: Sounds good. And if you see the same thing, please let me know. There's something else going on there. [8:05pm] Jason_Google: LacrimaMax: Feel free to send me the source to the test app if it exhibits the same behavior. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---
