[google-appengine] Re: Create an application but not show in my account
Nick, Looks like there's a mix-up when a user on a Google Apps domain tries to sign up for App Engine with a Google Account: Step 1: Create a Google Apps domain and user account Step 2: Try to sign up for App Engine at appengine.google.com - fails because Google Apps user isn't a Google Account Step 3: Create a Google Account for the Google Apps user Step 4: Try to sign up for App Engine at appengine.google.com - now it works Step 5: Create an application Step 6: Do SMS verification - App Engine returns the user to the Create Application page, can't see dashboard or apps Step 7: Try to create application again - fails because now name is already in use Step 8: Create a second application with a different name - again returns user to the Create Application page, can't see dashboard or apps Step 9: Sign out of App Engine, and sign back in with http://appengine.google.com/a/appsdomain.com - now I can see my 2 domains! Step 10: Domain list shows 2 domains, and says I have 10 more left (should be 8 more) Step 11: Try to create a third application -- requires SMS verification again (which won't work because the number has already been used) So is part of my account authenticated with the Google Account, and part with the Google Apps account? Thanks! On Jul 3, 2:55 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Dot, Are you using the email address you posted from to create the apps? If so, you need to go tohttp://appengine.google.com/a/dotography.comto see (and create) your apps. -Nick Johnson On Thu, Jul 2, 2009 at 8:20 AM, Dotgadg...@dotography.com wrote: Hello, I have signed up and verified. Then try creating an application at this step:http://appengine.google.com/start/createapp.. The chosen name is available, after fill all the required field and Save, it returns to the welcome page and the created application is not shown in my list. But as testing the application name is already take. I have done another trial with the new application name and the problem is the same. Please help suggest what I do wrong. Thank you in advance. Best regards, Dot -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] newbie question: hosting native c++ utilities in google infrastructure
Hi team, i am evaluating google appengine for creating an application and was wondering if there is a way to host a 3rd party open source C++ application / library in google appengine infrastructure. This application / library may be invoked thru' jni call to perform data processing and provide results that may be consumed by the datastore. If this kind of application can not be hosted by google infrastructure, what are the alternatives. This is an important information for us to make a decision. Please provide your expert advice. I searched all of google appengine forum and could not find a solution. Any pointers in the right direction is greatly appreciated. Thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Account Activation
I am trying to create a second application with my appengine ID, but it's asking me to verify my account by SMS. When I enter my phone number, it tells me that the number has already been used too many times. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Outdated Files Being Served?
I have a similar problem from one week ago. I upload a new version of the application, then I run the app from the internet and get the results as if they were from new version. F5 or CtrlF5 in firefox gave me the results as the old version, and sometimes I get results as if they were from an older version or with two versions in one separated by OK Content-Type: text/html; charset=utf-8 Cache-Control: no-cache Content-Length: xxx. I clear the browser cache with the same results. Weirdest thing is that the data is dynamic, so I can see the new data, but being processed in differents way according to the version of the app. When I manually introduced an error, the error page is properly displayed. I try with two differents apps. Maybe a problem with the google cache? Thanks, Héctor On 24 jul, 23:22, Devel63 danstic...@gmail.com wrote: When I upload a new site.css file, my browser sometimes seems to get the old version, or the new version, randomly with each call. I have cleared my browser cache, tried it on different computers, etc. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Noob web programmer seeks Jedi guru
Doing some simpe oauth stuff on the GAE and having a redirect merry go round (doesn't happen with localhost). Warning, just began using php a month ago, and dove into scala/lift/ java/python/GAE please speak in simple words, a if you were explaining it to a child (galaxy quest fans) thanks ladies and gents in advance. You'll be rewarded with the wonders of the virtual currency known as gratitude --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] How to set up app.yaml to handle URLs like www.mydomain.com/category/subcategory
Hi all. I want my application to handle URLs like www.mydomian.com/category/subcategory. I've set up my app.yaml like this: - url: /category/subacategory script: home.py - url: /.* script: home.py It does not work with the developer server (I've not used production server yet). What am I doing wrong? Thanks in advanced, Quin. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Google App Engine and Google Maps using GWT
I am getting the below error when I am trying to use google maps: The Google Maps API server rejected your request. This could be because the API key used on this site was registered for a different web site. You can generate a new key for this web site at http://code.google.com/apis/maps/ I have provided valid key in the module-xml file. You can access my application at: http://movie-location.appspot.com/ and you can see the error I am getting. But my concern is the initial request was served which loads Hyderabad centered map but the subsequent requests to geocode and all other things did not work as expected when I deployed. Has anybody faced the same problem? I searched in this group and found zero results. Can somebody know the reason why it is behaving like this? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: When will we trust indexes?
I still have a problem (July 25th 2009) with an index returning different results. When I query using a sort property that requires an index, I get vastly fewer results than when I do an unsorted query that does not use the index. I have deleted the index and re-built it over the past week, and I still have the same problem. It can be reproduced 100% of the time with each query that uses the index. As an example, an unsorted query returns 640 results. The same query, sorted, returns 329 results. Adding a sort order to the query shouldn't shave more than a hundred results off (it should return exactly the same number of results, but in sorted order). sf On Jun 9, 11:32 pm, Rodrigo Moraes rodrigo.mor...@gmail.com wrote: On Tue, Jun 9, 2009 at 8:13 PM, wrote: Just a note that all previous indexes that were broken by this bug should be fixed now, meaning they should be returning the expected results. Hi Jason, Thank you very much for the quick response. All my problematic indexes are all working fine now. -- rodrigo --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Filtering by ancestor using the JPA
I would like to use filters like ancestor is blank using the JPA (and datanucleus, i suppose), but the ancestor is syntax doesn't seem to be supported by the query parser. Is there a technique I should be using to leverage this feature through the JPA? It doesn't seem obvious to me. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Building index stucked
Hi, My application titogarrido has 3 indexes that are on Build state for more than 5 days... What can I do to fix it? Thanks in advance, Tito -- Linux User #387870 . _/_õ|__| ..º[ .-.___.-._| . . . . .__( o)__( o).:___ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Mutation of instances and other facilities for modern system development.
Hi, It is my first post here, I have been searching a while but have not found any help on how to solve some of the functionality needed in evolvable systems of today. What I am looking for is not new, it is something that I (and a lot of systems developers) have been using during last 20 years more, known as instance mutation facilities. It is needed in any mediumbig application development while working with objects, not in the old way (+30years) of writing code and restarting programs. I will put it in short questions and hope here will find experts to guide me to good references in documentation (sorry to ask, but I have not found it in the docs): 1.- How do you get a collection with all instances of a class present in the system (or running subspace) ? 2.- How do you change one instance with another (of the same species or not) while the system is running ? (all refering objects will see the new object where the old was pointed, as become operation or better... massive become) 3.- How do you change an object to one of other class? (e.g. anObject changeClassTo: aClass ) preserving identity but mutating (change of behavior and shape). 4.- Any support for Traits? 5.- Any support for continuations? Don´t worry to give references in any language that can be used in appengine, or if it is required low level work. Any guide or quick link will be really appreciated! [*] thanks in advance, Ale. [*] please don't respond asking why I want/need to do --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Mutation of instances and other facilities for modern system development.
Hi, It is my first post here, I have been searching a while but have not found any help on how to solve some of the functionality needed in evolvable systems of today. What I am looking for is not new, it is something that I (and a lot of systems developers) have been using during last 20 years more, known as instance mutation facilities. It is needed in any mediumbig application development while working with objects, not in the old way (+30years) of writing code and restarting programs. I will put it in short questions and hope here will find experts to guide me to good references in documentation (sorry to ask, but I have not found it in the docs): 1.- How do you get a collection with all instances of a class present in the system (or running subspace) ? 2.- How do you change one instance with another (of the same species or not) while the system is running ? (all refering objects will see the new object where the old was pointed, as become operation or better... massive become) 3.- How do you change an object to one of other class? (e.g. anObject changeClassTo: aClass ) preserving identity but mutating (change of behavior and shape). 4.- Any support for Traits? 5.- Any support for continuations? Don´t worry to give references in any language that can be used in appengine, or if it is required low level work. Any guide or quick link will be really appreciated! [*] thanks in advance, Ale. [*] please don't respond asking why I want/need to do that nor suggesting to avoid the operations :-) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How do Singletons in Google App Engine (or more generally in a distributed server environment) work?
I guess it should be handled using virtual vm's. There are many products in market that offer Virtual VM example Terracotta. I am not sure how google is handling this, but i believe they would be using similar concepts of Virtual VMs. On Sat, Jul 25, 2009 at 8:45 PM, Shane shanelstev...@gmail.com wrote: Hi, I am intrigued as to how singletons work in Google App Engine. Given your application can be running in multiple processes (on multiple machines) at once, and requests can get routed all off the place, what actually happens under the hood when an app does something like: 'CacheManager.getInstance()'? I'm just using the CacheManager as an example, but my point is, there is a single global application instance of a singleton somewhere, so where does it live? Is an RPC invoked? In fact, how is global application state (like sessions) actually handled generally? Regards, Shane -- Vikramark http://www.vikramark.com --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] how to learn more from google app engine
view more news and visit often http://www.voguemalls.com --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Information regarding 2 July 2009 outage
bump for those who missed this thread .. :-) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: SMS Verfication Troubles
I think that I'm having the same problem. When I try to create a new application I'm told to enter my cell number for verification purposes. The verification fails because, apparently, my number is already in use. Could you activate my account as well? I'm going to fill out this form as well: http://appengine.google.com/waitlist/sms_issues On Jul 23, 6:16 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Vinci, I've activated your account. -Nick On Wed, Jul 22, 2009 at 3:12 PM, Vinci Amorim vinci.amo...@gmail.comwrote: Hi Nick Johnson, I´m having the same problem (Brazil). On Wed, Jul 22, 2009 at 9:52 AM, Nick Johnson (Google) nick.john...@google.com wrote: Hi Nicolas, I've activated your account. -Nick Johnson On Mon, Jul 20, 2009 at 6:48 AM, Nicolasnlan...@gmail.com wrote: Hi, I'm having the same problem with movistar in Argentina, could you also help me? Thanks Nicolas On Jul 14, 6:51 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Aivar, I've manually activated your account. -Nick Johnson On Sat, Jul 11, 2009 at 8:04 PM, Aivaraivar.anna...@gmail.com wrote: Nick, could you please help me too! I tried to get verification code to 2 different Estonian carriers (EMT and Tele2) without success (waited for 2 days). I was also unable to report problem athttp:// appengine.google.com/waitlist/sms_issues - from there i got error message There were errors: * Carrier thanks in advance! Aivar -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 -- Vinci Amorim http://vinci.blog.br -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Data deletion
I have a table in Google App Engine. Accessing the data through python. And displaying in an iPhone App. When after data access i try to delete the records, these don delete from Table but don show in iPhone app too. ANy solution? Does not work for both queries given below TestDB.filter ('receiverPhoneId =', receiverid).get().delete() Or q = db.GqlQuery(SELECT * FROM TestDB WHERE receiverPhoneId = :1, receiverid) results = q.fetch(10) for result in results: result.delete() --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Problem with Verify Your Account by SMS
Hi i have the same problem, can you activat my account pls? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Consuming OAuth requests in app engine
Jaap, See if this link has what you need: http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine#Sending_and_verifying_signed_requests That should help. Good luck... Terry On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote: Hi all, I'm creating an opensocial widget on hyves.nl (a dutch social networking site). I'm calling a makeRequest with RequestParamters.AUTHORIZATION set to SIGNED. The GET call is enriched with several query string parameters like: * opensocial_owner_id * opensocial_viewer_id * opensocial_app_id * oauth_consumer_key * oauth_token (empty) * xoauth_signature_publickey * oauth_signature_method * oauth_nonce * oauth_timestamp * oauth_signature How do I verify that this request is coming from the hyves.nl opensocial container? I've found that GData does some oauth stuff, but that Api needs to fetch an oauth token, while I just want to verify that the SIGNED request is indeed coming from the container... Anyone any pointers to the right direction? Jaap --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Datastore quota usage far exceeds sum size of items in datastore
Hello, After noticing my app using far more of the datastore quota than I expected, I conducted a little experiment with a toy app. The toy creates records of the format: class Record(db.Model): int1 = db.IntegerProperty() # ... repeated three more times According to the App Engine documentation, IntegerProperty types in the datastore are stored as 64-bit integers, so each record consists of 8 * 4 = 32 bytes of payload, plus overhead (key size * number of records, etc). I was hoping, with this experiment, to gain some insight into what that overhead costs. I uploaded 141,725 (sorry it's not a round number) of these records and waited a day for my quota to update; it now shows me using 0.09GB of my stored data quota. (In comparison, the amount of payload data in the store is only 141,725 x 32 = 4,535,200 bytes, or ~0.004GB.) I'm not sure whether it's best to compute overhead-per-property or overhead-per-record (there is obviously a nontrivial cost to the former, of course), and determining which is actually using the extra quota would probably take more effort than it's worth, so I figured I'd ask here. Anyway, in terms of overhead, I'm observing (in this case) approximately 600 bytes per record (in addition to the size of the record's payload), or 150 bytes per property. In my particular case (though I doubt this ratio is anything resembling constant), I'm seeing 19 bytes of quota used for every byte of payload. So I guess I have two big questions. First, quota obviously measures something resembling the total size of the datastore tables created by the user (their size on disk?), which, due to indexing and such, is obviously going to be larger than the size of the payload alone. Right? Second, how can I minimize this? Is the primary cost the added indices, such that if I disable indexing for properties I won't be querying on, I'll save space? (Again, this is something I could experiment with, but at this point, why not just ask?) What's the overhead per record, regardless of indexing? Are there any other steps I can take to minimize my datastore quota usage? (The application I'm actually developing stores a few hundreds of megabytes of data in three tables--two of them only necessary because of the limitations on the types of queries datastore can handle--and while when I was developing the application I estimated that we would be able to stay well within an affordable amount of quota usage, it now appears that we would be using something like 200GB of datastore.) Thanks, Calvin --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: adding libraries to the application
the same problem... but i'm importing another library but the jetty cant find it classes. Anybody could help? On Thu, Jul 23, 2009 at 2:12 PM, ___daniel___ google-analyt...@historygames.de wrote: I've got the same problem :-( Any help? On 20 Jul., 09:26, mangrar mang...@gmail.com wrote: I'm trying usin Spring Framework with my google app engine app. In my eclipse project classpath I have the required libraries (spring- context.jar, spring-beans.jar, spring-web.jar...) but when the application start the class org.springframework.web.context.ContextLoaderListener cannot be found, I get aClassNotFoundException. I've tried copying the libraries in war/WEB-INF/lib, but I get the same message. Does anybody know what I'm doing wrong? -- Quer aprender a programar? acompanhe: Wants to learn GWT? Follow this blog - http://tcninja.blogspot.com --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Reset Datastore Indices Count
My Datastore Indices Count needs to be reset. Can somebody help me? I had several failing indexes, but they finally were able to be vacuumed out, and I only have 6 indices now, but my dashboard says I'm over and I get an error every time I try to add a new index. My appid is 'snaplist'. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] mapping www.mydomain.com to my-app-id.appspot.com
This must have been discussed number of times.. but honestly i did so much googling around but it is impossible find a proper answer. First i built the app using appengine. Then I went to Versions and tried to Add domain, which led me to buy the domain using google apps. Once I bought it, i'm lost totally. How do I map my appengine application to www.mydomain.com. I'm not asking about naked domain. that is the least of my problem. I can see myapp.appspot.com as a service under google apps account. But, how do I map it to www.mydomain.com? Please advice. - Srikanth --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Inifite redirect loop on login
I ran into a similar problem. Code worked fine in the test localhost. But as soon as I uploaded it I kept getting the redirect loop. Would appreciate some insight. On Jul 17, 10:30 pm, michael.maguire michael.magu...@gmail.com wrote: This would appear to happen whenever I attempt to login to the app with any ID other than the one that actually owns the Google Apps account -- it does not matter that I have already added the non-owner account as a developer for the app On Jul 17, 5:43 pm, michael.maguire michael.magu...@gmail.com wrote: I am seeing this same error today attempting to log in to Google App Engine using a Google Apps account even though I am using thehttp://appengine.google.com/a/yourdomain(actuallyhttp://appengine.goo...) suggestion from above. --- This web page has a redirect loop. The web page at null has resulted in too many redirects. Clearing your cookies for this site may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer. Here are some suggestions: Reload this web page later. Learn more about this problem. --- On May 21, 10:39 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi jannick, Are you using a Google Apps account? If so, this is a known bug, which you can resolve by logging in athttp://appengine.google.com/a/yourdomain(where'yourdomain'is the domain name part of yourloginemail address). -Nick Johnson On Wed, May 20, 2009 at 8:32 PM, jannick jann...@ovja.dk wrote: Hi When I try to log-in to the GAE dashboard/management app I end up in an infiniteloopof redirects. I've seen this behavior since last weekend, and from multiple computers, locations and browsers. Anyone else experiencing this issue, or is it possible that my account has somehow been setup wrong? (I havnt used the GAE account yet, aside from exploring the interface).- Hide quoted text - - Show quoted text -- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Reset Datastore Indices Count
Hi bryan, Done. -Nick Johnson On Mon, Jul 27, 2009 at 2:26 PM, bryan.burg...@gmail.com bryan.burg...@gmail.com wrote: My Datastore Indices Count needs to be reset. Can somebody help me? I had several failing indexes, but they finally were able to be vacuumed out, and I only have 6 indices now, but my dashboard says I'm over and I get an error every time I try to add a new index. My appid is 'snaplist'. -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Can't log in
I have the same issue, and it's very annoying. i'm trying to login with my google account and it always returns me on the login page.Just want to create a new application and dont have idea how to do that curenntly. If anyone has idea, pls write --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: mapping www.mydomain.com to my-app-id.appspot.com
Hi Srikanth, Follow the instructions here: http://code.google.com/appengine/articles/domains.html When asked to specify a subdomain, enter 'www'. -Nick Johnson On Sun, Jul 26, 2009 at 7:07 AM, Srikanth sriky...@gmail.com wrote: This must have been discussed number of times.. but honestly i did so much googling around but it is impossible find a proper answer. First i built the app using appengine. Then I went to Versions and tried to Add domain, which led me to buy the domain using google apps. Once I bought it, i'm lost totally. How do I map my appengine application to www.mydomain.com. I'm not asking about naked domain. that is the least of my problem. I can see myapp.appspot.com as a service under google apps account. But, how do I map it to www.mydomain.com? Please advice. - Srikanth -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: can't Verify Your Account by SMS
Hi, If you are having trouble with SMS verification, or want an additional account activated, please fill out the following form: http://appengine.google.com/waitlist/sms_issues (This is from the following FAQ http://code.google.com/appengine/kb/sms .html#error ) Once you fill out this form, you should receive access within a day or two. Happy coding, Nick Johnson On Mon, Jul 27, 2009 at 1:24 PM, mr.lequoct...@gmail.com mr.lequoct...@gmail.com wrote: my country code is 84, I was enter +841666xx but it say An error has occurred while sending. Please try again. please help me! -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Versions default
Hi ( newbee - please excuse my ignorance ) Ive been tinkering with installing django ( via app-patch ) and uploading and replacing new versions of the site...I usually just made changes and then uploaded. Now I notice that I have two seemingly different installs on GAE - like this: http://2.latest.myulr.appspot.com/ and http://myurl.appspot.com/ but my dashboard only shows ONE ( http://2.latest.ojingolabs.appspot.com/ ) -- and this is shown as the default. Im not sure I understand whats going on? can someone explain? how can I remove two versions and get back to only one... cheers, T --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google Apps Integration
Hi nolybab, Any App Engine app can be mapped on any number of App Engine domains. For the moment, however, the only way for your app to tell which domain it's on is to check the Host header and behave appropriately. Moderator and the other apps in Apps Labs use a not-yet-released API that facilitates this. -Nick Johnson On Sat, Jul 25, 2009 at 12:00 AM, nolybab thardin...@gmail.com wrote: I am fairly new to developing on Google App Engine. I have done some initial prototype development and testing, but I have a question and I'm hoping someone can answer. What I'm trying to figure out is how to create an App Engine 'service' that can be used on any Google Apps domain. The confusion that I am having is wondering how the implementation knows which google apps domain is being used/referenced. If I just program a web service, will it automatically be able to initialize and run in separate 'instances' for different domains, or do I have to somehow program the system to recognize when it's running in a different domain and initialize accordingly? For example, consider Google Moderator, which runs as a completely silo'd application for each google apps domain. I hope I explained my question good enough. Any feedback would be much appreciated. thanks, Terry -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Versions default
Hi Thomas, You can always access the default version by its version-specific URL as well as the default URL. -Nick Johnson On Sat, Jul 25, 2009 at 9:09 PM, Thomas tmarb...@gmail.com wrote: Hi ( newbee - please excuse my ignorance ) Ive been tinkering with installing django ( via app-patch ) and uploading and replacing new versions of the site...I usually just made changes and then uploaded. Now I notice that I have two seemingly different installs on GAE - like this: http://2.latest.myulr.appspot.com/ and http://myurl.appspot.com/ but my dashboard only shows ONE ( http://2.latest.ojingolabs.appspot.com/ ) -- and this is shown as the default. Im not sure I understand whats going on? can someone explain? how can I remove two versions and get back to only one... cheers, T -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Consuming OAuth requests in app engine
Terry, Thanks, I've found some other resources, but this is a usefull one! Jaap On Sat, Jul 25, 2009 at 1:13 AM, nolybab thardin...@gmail.com wrote: Jaap, See if this link has what you need: http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine#Sending_and_verifying_signed_requests That should help. Good luck... Terry On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote: Hi all, I'm creating an opensocial widget on hyves.nl (a dutch social networking site). I'm calling a makeRequest with RequestParamters.AUTHORIZATION set to SIGNED. The GET call is enriched with several query string parameters like: * opensocial_owner_id * opensocial_viewer_id * opensocial_app_id * oauth_consumer_key * oauth_token (empty) * xoauth_signature_publickey * oauth_signature_method * oauth_nonce * oauth_timestamp * oauth_signature How do I verify that this request is coming from the hyves.nl opensocial container? I've found that GData does some oauth stuff, but that Api needs to fetch an oauth token, while I just want to verify that the SIGNED request is indeed coming from the container... Anyone any pointers to the right direction? Jaap --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore
Hi Calvin, On Sun, Jul 26, 2009 at 6:36 PM, Calvin Slayden calvin.slay...@gmail.comwrote: Hello, After noticing my app using far more of the datastore quota than I expected, I conducted a little experiment with a toy app. The toy creates records of the format: class Record(db.Model): int1 = db.IntegerProperty() # ... repeated three more times According to the App Engine documentation, IntegerProperty types in the datastore are stored as 64-bit integers, so each record consists of 8 * 4 = 32 bytes of payload, plus overhead (key size * number of records, etc). I was hoping, with this experiment, to gain some insight into what that overhead costs. I uploaded 141,725 (sorry it's not a round number) of these records and waited a day for my quota to update; it now shows me using 0.09GB of my stored data quota. (In comparison, the amount of payload data in the store is only 141,725 x 32 = 4,535,200 bytes, or ~0.004GB.) I'm not sure whether it's best to compute overhead-per-property or overhead-per-record (there is obviously a nontrivial cost to the former, of course), and determining which is actually using the extra quota would probably take more effort than it's worth, so I figured I'd ask here. Anyway, in terms of overhead, I'm observing (in this case) approximately 600 bytes per record (in addition to the size of the record's payload), or 150 bytes per property. In my particular case (though I doubt this ratio is anything resembling constant), I'm seeing 19 bytes of quota used for every byte of payload. So I guess I have two big questions. First, quota obviously measures something resembling the total size of the datastore tables created by the user (their size on disk?), which, due to indexing and such, is obviously going to be larger than the size of the payload alone. Right? More or less, yes. The total size includes the size of the serialized Entity Protocol Buffer (which includes all the fields' values, their names ('int1' in your case), plus some encoding overhead), as well as several built-in indexes, plus any custom indexes you've built. Second, how can I minimize this? Is the primary cost the added indices, such that if I disable indexing for properties I won't be querying on, I'll save space? (Again, this is something I could experiment with, but at this point, why not just ask?) What's the overhead per record, regardless of indexing? Are there any other steps I can take to minimize my datastore quota usage? Disabling indexing for fields you don't require to be indexed is the simplest and most effective step. You can also use shorter field names, to reduce redundant storage requirements there, if you wish. To make things more user friendly, you can specify a name in your model: class MyModel(db.Model): areallylongpropertyname = db.IntegerProperty(name='a') But bear in mind that you'll have to use the shortened names when executing queries. -Nick Johnson (The application I'm actually developing stores a few hundreds of megabytes of data in three tables--two of them only necessary because of the limitations on the types of queries datastore can handle--and while when I was developing the application I estimated that we would be able to stay well within an affordable amount of quota usage, it now appears that we would be using something like 200GB of datastore.) Thanks, Calvin -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to get User Object Using OpenId-consumer Project
Hi Karthi, There is no 'user object' in OpenID authentication. After authentication succeeds, it's up to you to keep track of the authenticated user - for example, by creating a session using a library such as Beaker. -Nick Johnson On Sat, Jul 25, 2009 at 1:11 PM, karthi karthi...@gmail.com wrote: I am using Openid-consumer project to authenticate my google app- engine application. After autentication i am expecting user object, Is there a way to get User Object? -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Need Support
Hi, Please fill out the following form with your new (Google Apps) email address: http://appengine.google.com/waitlist/sms_issues (This is from the following FAQ http://code.google.com/appengine/kb/sms .html#error ) Once you fill out this form, you should receive access within a day or two. Happy coding, Nick Johnson On Fri, Jul 24, 2009 at 9:43 PM, Jerry je...@heiselman.com wrote: Okay, I'm pretty sure I've dorked up my appengine account. Here's what happened. I used to have jerry.heisel...@gmail.com. I signed up for appengine and created an application-id with this account. Sometime later, I got my domain registered as a Google Apps domain and added my email address to my regular Google profile. Later on, I deleted my gmail.com email address and made my personal domain my primary email address on my account. Well, now it seems that appengine recognizes my new address as a developer (even and administrator), but it won't allow it to do anything. I seem to be able to invite other developers, but I can't remove them. I can't upload my application. I'm not sure if tying my appengine application to my Google Apps domain works or not though it looks like it would. Oh, and I can't create new applications as it asks me to verify by SMS and then tells me that my number has already been used to verify an account or was already sent too many messages. Is there any way I can just get a reset on my appengine account. Just delete it and let me start over or something? I just finished writing up an application that I was going to use to organize a family function coming up soon and now I can't even use it unless I want to host it off the dev server. Thanks for anyone who can help me. -- Jerry -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Consuming OAuth requests in app engine
Jaap, If you don't mind, please share any other resources you may have that might be useful on this topic :) Thanks, Terry On Jul 27, 10:07 am, Jaap Taal j...@q42.nl wrote: Terry, Thanks, I've found some other resources, but this is a usefull one! Jaap On Sat, Jul 25, 2009 at 1:13 AM, nolybab thardin...@gmail.com wrote: Jaap, See if this link has what you need: http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App... That should help. Good luck... Terry On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote: Hi all, I'm creating an opensocial widget on hyves.nl (a dutch social networking site). I'm calling a makeRequest with RequestParamters.AUTHORIZATION set to SIGNED. The GET call is enriched with several query string parameters like: * opensocial_owner_id * opensocial_viewer_id * opensocial_app_id * oauth_consumer_key * oauth_token (empty) * xoauth_signature_publickey * oauth_signature_method * oauth_nonce * oauth_timestamp * oauth_signature How do I verify that this request is coming from the hyves.nl opensocial container? I've found that GData does some oauth stuff, but that Api needs to fetch an oauth token, while I just want to verify that the SIGNED request is indeed coming from the container... Anyone any pointers to the right direction? Jaap --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google Apps Integration
Nick, Thanks for the information. Actually, this is as much a blessing as a curse :) Naturally, there are some things that I want shared between domains, and other things that I want not shared. In the case where I want to share info, no problemo...but where I want data in domain- silo, then I just have to add a 'host' property to my models and query accordingly. Nevertheless, looking forward to that 'not-yet-released' API :) --noly On Jul 27, 10:05 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi nolybab, Any App Engine app can be mapped on any number of App Engine domains. For the moment, however, the only way for your app to tell which domain it's on is to check the Host header and behave appropriately. Moderator and the other apps in Apps Labs use a not-yet-released API that facilitates this. -Nick Johnson On Sat, Jul 25, 2009 at 12:00 AM, nolybab thardin...@gmail.com wrote: I am fairly new to developing on Google App Engine. I have done some initial prototype development and testing, but I have a question and I'm hoping someone can answer. What I'm trying to figure out is how to create an App Engine 'service' that can be used on any Google Apps domain. The confusion that I am having is wondering how the implementation knows which google apps domain is being used/referenced. If I just program a web service, will it automatically be able to initialize and run in separate 'instances' for different domains, or do I have to somehow program the system to recognize when it's running in a different domain and initialize accordingly? For example, consider Google Moderator, which runs as a completely silo'd application for each google apps domain. I hope I explained my question good enough. Any feedback would be much appreciated. thanks, Terry -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Reset Datastore Indices Count
Thank you. On Jul 27, 9:00 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi bryan, Done. -Nick Johnson On Mon, Jul 27, 2009 at 2:26 PM, bryan.burg...@gmail.com bryan.burg...@gmail.com wrote: My Datastore Indices Count needs to be reset. Can somebody help me? I had several failing indexes, but they finally were able to be vacuumed out, and I only have 6 indices now, but my dashboard says I'm over and I get an error every time I try to add a new index. My appid is 'snaplist'. -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Indexes on lists of 'tags' queries
Hi, I'd like to know if multiple equality filters on a ListProperty leads to exploding indexes. I have a model something like the following (python): class Foo(db.model): tags = db.ListProperty(db.Category) @classmethod def get_by_tags(cls, tags): query = cls.all() for tag in tags: query.filter('tags =', tag) return query I'd like to know if I can filter by an arbitrary number of tags without encountering the exploding index problem (its not clear to me from the docs). E.g., can I do query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3' 'tagN']) etc etc. Thanks! Kyle --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: When will we trust indexes?
Hi sf, What is your App ID? -Nick Johnson On Sat, Jul 25, 2009 at 6:19 PM, sf sorta...@sortafun.com wrote: I still have a problem (July 25th 2009) with an index returning different results. When I query using a sort property that requires an index, I get vastly fewer results than when I do an unsorted query that does not use the index. I have deleted the index and re-built it over the past week, and I still have the same problem. It can be reproduced 100% of the time with each query that uses the index. As an example, an unsorted query returns 640 results. The same query, sorted, returns 329 results. Adding a sort order to the query shouldn't shave more than a hundred results off (it should return exactly the same number of results, but in sorted order). sf On Jun 9, 11:32 pm, Rodrigo Moraes rodrigo.mor...@gmail.com wrote: On Tue, Jun 9, 2009 at 8:13 PM, wrote: Just a note that all previous indexes that were broken by this bug should be fixed now, meaning they should be returning the expected results. Hi Jason, Thank you very much for the quick response. All my problematic indexes are all working fine now. -- rodrigo -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to set up app.yaml to handle URLs like www.mydomain.com/category/subcategory
Hi Quim The URL below will match only the literal text '/category/subcategory'. Please see the documentation here for details on how to set up URL mappings: http://code.google.com/appengine/docs/python/tools/webapp/running.html -Nick Johnson On Mon, Jul 27, 2009 at 1:14 PM, Quim joaquin.alma...@gmail.com wrote: Hi all. I want my application to handle URLs like www.mydomian.com/category/subcategory. I've set up my app.yaml like this: - url: /category/subacategory script: home.py - url: /.* script: home.py It does not work with the developer server (I've not used production server yet). What am I doing wrong? Thanks in advanced, Quin. -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: newbie question: hosting native c++ utilities in google infrastructure
On GAE you can only run pure Python and pure Java code. No C or C++ code is allowed. Some people have managed to get a PHP implementation running on the Java VM. 2009/7/25 ni nirmal.fer...@gmail.com: Hi team, i am evaluating google appengine for creating an application and was wondering if there is a way to host a 3rd party open source C++ application / library in google appengine infrastructure. This application / library may be invoked thru' jni call to perform data processing and provide results that may be consumed by the datastore. If this kind of application can not be hosted by google infrastructure, what are the alternatives. This is an important information for us to make a decision. Please provide your expert advice. I searched all of google appengine forum and could not find a solution. Any pointers in the right direction is greatly appreciated. Thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Account Activation
Hi, If you are having trouble with SMS verification, or want an additional account activated, please fill out the following form: http://appengine.google.com/waitlist/sms_issues (This is from the following FAQ http://code.google.com/appengine/kb/sms .html#error ) Once you fill out this form, you should receive access within a day or two. Happy coding, Nick Johnson On Fri, Jul 24, 2009 at 8:45 PM, Jerry je...@heiselman.com wrote: I am trying to create a second application with my appengine ID, but it's asking me to verify my account by SMS. When I enter my phone number, it tells me that the number has already been used too many times. -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Indexes on lists of 'tags' queries
Hi Kyle, Exploding indexes only come into play when you're _defining_ indexes - for example, an index like this would be an exploding one: - kind: Foo property: tags property: tags As long as you can satisfy your queries using the built in merge join support (which is the case in your example, where you don't specify inequality filters or sort orders), you'll be fine. -Nick Johnson On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote: Hi, I'd like to know if multiple equality filters on a ListProperty leads to exploding indexes. I have a model something like the following (python): class Foo(db.model): tags = db.ListProperty(db.Category) @classmethod def get_by_tags(cls, tags): query = cls.all() for tag in tags: query.filter('tags =', tag) return query I'd like to know if I can filter by an arbitrary number of tags without encountering the exploding index problem (its not clear to me from the docs). E.g., can I do query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3' 'tagN']) etc etc. Thanks! Kyle -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Need Datastore Indices Count Reset
Hi Dan, Done. -Nick Johnson On Fri, Jul 24, 2009 at 8:54 PM, Devel63 danstic...@gmail.com wrote: The app name is judysapps-qa Strange: this was reset a couple of weeks ago, we haven't changed any index definitions since then, and are well below the index quota. Thanks! -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Adding Custom Domain to AppEngine app
Hi kurto, You need to sign your domain up for Google Apps so that you can map a subdomain of it to your App Engine app. -Nick Johnson On Fri, Jul 24, 2009 at 12:08 AM, kurto kurtostf...@gmail.com wrote: I go to control panel for application alethiaandkurt I click Versions I click Add Domain I enter the domain name that I own kurtandalethia.com I click Add Domain I get the error Sorry, you've reached a login page for a domain that isn't using Google Apps. Please check the web address and try again How do I get this to work? -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Indexes on lists of 'tags' queries
Hi Nick, I noticed that the dev server will automatically add indexes that appear to be exploding indexes when I run queries like the example above. Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server will create an index in index.yaml that is identical to the one you posted above: - kind: Foo property: tags property: tags ** Is that index not required for the snippet Foo.get_by_tags(['tag1', 'tag2'])? ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar is an IntegerProperty Thanks for your help and sorry for my ignorance!! Kyle On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Kyle, Exploding indexes only come into play when you're _defining_ indexes - for example, an index like this would be an exploding one: - kind: Foo property: tags property: tags As long as you can satisfy your queries using the built in merge join support (which is the case in your example, where you don't specify inequality filters or sort orders), you'll be fine. -Nick Johnson On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote: Hi, I'd like to know if multiple equality filters on a ListProperty leads to exploding indexes. I have a model something like the following (python): class Foo(db.model): tags = db.ListProperty(db.Category) �...@classmethod def get_by_tags(cls, tags): query = cls.all() for tag in tags: query.filter('tags =', tag) return query I'd like to know if I can filter by an arbitrary number of tags without encountering the exploding index problem (its not clear to me from the docs). E.g., can I do query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3' 'tagN']) etc etc. Thanks! Kyle -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Compile and execute code at runtime
Hi Albert, It's not possible to access the command line compiler from a Java App Engine app. It may be possible to use internal reflection functionality to compile the code, but you'd need to ask someone with more expertise in Java - asking this in the google-appengine-java group will probably get you more useful responses. If the code doesn't have to be in Java, you might want to consider Javascript - there are several embeddable Javascript interpreters for Java, including Rhino, and they would make the application you describe quite straightfoward to write. -Nick Johnson On Fri, Jul 24, 2009 at 3:41 PM, Albert Attard albertatt...@gmail.comwrote: Hi everyone: Background about the problem: I'm a Java lecturer and would like to create an automated question web application similar to an extended version of multiple choice answers by which the students can practice coding. Multiple choice questions are very popular in web exams as these are fully automated. You do the test and the system corrects it for you and gives you the results there and then. I would like to go one step further and have the student to supply a code fragment or even a class (es) and have the system automatically correcting it in a similar fashion to the multiple choice questions. Example (in a nutshell): The student is asked to write a method: that given an array of int and two indices of type int (between 0 and the size of the array - 1), this method will swap the elements at the given indices. The student will write the method in the text area and submit it. Then the system will include this method into a class, compile it and by using reflection execute it with an array of values to ensure that it is working as expected. During this process the system will be awarding the student marks and will display the final result together with comments as required. Google Appengine I have a prototype and it works great on Tomcat. Yes I know that it is subject to Java code injection but that's not an issue at this stage. This issue can be fixed at a later stage. Unfortunately I cannot implement it on the Google Appengine as most of the required functionality, such as writing to a file, is disabled. Is there a way (or a procedure) of implementing such a system on the Google Appengine? This application will be a free education tool for everyone who would like to use it. Thanks in advance, Albert Attard -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Indexes on lists of 'tags' queries
On Mon, Jul 27, 2009 at 4:16 PM, Kyle Jensen kljen...@gmail.com wrote: Hi Nick, I noticed that the dev server will automatically add indexes that appear to be exploding indexes when I run queries like the example above. Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server will create an index in index.yaml that is identical to the one you posted above: - kind: Foo property: tags property: tags ** Is that index not required for the snippet Foo.get_by_tags(['tag1', 'tag2'])? As long as you're not ordering or filtering on inequality properties, this index is optional. ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar is an IntegerProperty That would require a custom index. -Nick Johnson Thanks for your help and sorry for my ignorance!! Kyle On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Kyle, Exploding indexes only come into play when you're _defining_ indexes - for example, an index like this would be an exploding one: - kind: Foo property: tags property: tags As long as you can satisfy your queries using the built in merge join support (which is the case in your example, where you don't specify inequality filters or sort orders), you'll be fine. -Nick Johnson On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote: Hi, I'd like to know if multiple equality filters on a ListProperty leads to exploding indexes. I have a model something like the following (python): class Foo(db.model): tags = db.ListProperty(db.Category) @classmethod def get_by_tags(cls, tags): query = cls.all() for tag in tags: query.filter('tags =', tag) return query I'd like to know if I can filter by an arbitrary number of tags without encountering the exploding index problem (its not clear to me from the docs). E.g., can I do query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3' 'tagN']) etc etc. Thanks! Kyle -- Nick Johnson, Developer Programs Engineer, App Engine -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: mapping www.mydomain.com to my-app-id.appspot.com
Are there plans for Google to offer HTTPS via mydomain.com rather than only appid.appspot.com? Any ETA or info? Thanks! johnP On Jul 27, 7:02 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Srikanth, Follow the instructions here:http://code.google.com/appengine/articles/domains.html When asked to specify a subdomain, enter 'www'. -Nick Johnson On Sun, Jul 26, 2009 at 7:07 AM, Srikanth sriky...@gmail.com wrote: This must have been discussed number of times.. but honestly i did so much googling around but it is impossible find a proper answer. First i built the app using appengine. Then I went to Versions and tried to Add domain, which led me to buy the domain using google apps. Once I bought it, i'm lost totally. How do I map my appengine application towww.mydomain.com. I'm not asking about naked domain. that is the least of my problem. I can see myapp.appspot.com as a service under google apps account. But, how do I map it towww.mydomain.com? Please advice. - Srikanth -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: mapping www.mydomain.com to my-app-id.appspot.com
Hi johnP, Unfortunately, in general this is not possible, as due to the way SSL works, this would require assigning an IP address for each site that wants this functionality. The latest version of SSL supports a mechanism that avoids this requirement, but it's not yet widespread enough to be a practical alternative. Once it is, you can expect to see us support it. -Nick Johnson On Mon, Jul 27, 2009 at 5:49 PM, johnP j...@thinkwave.com wrote: Are there plans for Google to offer HTTPS via mydomain.com rather than only appid.appspot.com? Any ETA or info? Thanks! johnP On Jul 27, 7:02 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Srikanth, Follow the instructions here: http://code.google.com/appengine/articles/domains.html When asked to specify a subdomain, enter 'www'. -Nick Johnson On Sun, Jul 26, 2009 at 7:07 AM, Srikanth sriky...@gmail.com wrote: This must have been discussed number of times.. but honestly i did so much googling around but it is impossible find a proper answer. First i built the app using appengine. Then I went to Versions and tried to Add domain, which led me to buy the domain using google apps. Once I bought it, i'm lost totally. How do I map my appengine application towww.mydomain.com. I'm not asking about naked domain. that is the least of my problem. I can see myapp.appspot.com as a service under google apps account. But, how do I map it towww.mydomain.com? Please advice. - Srikanth -- Nick Johnson, Developer Programs Engineer, App Engine -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] handling simple data structure upgrades
Hello All, Could you please share your wisdom on the following issue: I have added a new property to a model and would like to filter the data on this property. However, I already have quite a bit of data stored and all the entities that were created before the last upgrade don't have the new property and hence won't be returned by the queries once the filter is added. How are you dealing with such situations? Is there some sort of best practice here or maybe I just missed something in the docs? Since there are no batch updates, it looks like the only option is to cycle through all the entities and update them one by one. But then again there's too much data to do it in a single request, so I should process only this much entities at a time and enqueue the rest of processing. It just sounds like too much code for something this simple. I'm considering writing a generic routine in python to handle this type of upgrades, but wanted to check first if I'm missing anything or if such routine already exists. Thanks, Alex --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Indexes on lists of 'tags' queries
Hi Kyle, I think what Nick meant was this: - kind: Foo property: tags1 property: tags2 that is having two different properties of type ListProperty because then the index will have rows for each combination of values for each of the property and number of rows will be multiplication of number of distinct values in the indexes. For your case it is ok because, there will be a single index 'tags' with an entity being referenced by the DIFFERENT tag values in the SAME index. So the references might be multiple, number of rows will still be linear. Hope it helps. Regards, Jai On Jul 27, 11:16 am, Kyle Jensen kljen...@gmail.com wrote: Hi Nick, I noticed that the dev server will automatically add indexes that appear to be exploding indexes when I run queries like the example above. Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server will create an index in index.yaml that is identical to the one you posted above: - kind: Foo property: tags property: tags ** Is that index not required for the snippet Foo.get_by_tags(['tag1', 'tag2'])? ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar is an IntegerProperty Thanks for your help and sorry for my ignorance!! Kyle On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Kyle, Exploding indexes only come into play when you're _defining_ indexes - for example, an index like this would be an exploding one: - kind: Foo property: tags property: tags As long as you can satisfy your queries using the built in merge join support (which is the case in your example, where you don't specify inequality filters or sort orders), you'll be fine. -Nick Johnson On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote: Hi, I'd like to know if multiple equality filters on a ListProperty leads to exploding indexes. I have a model something like the following (python): class Foo(db.model): tags = db.ListProperty(db.Category) �...@classmethod def get_by_tags(cls, tags): query = cls.all() for tag in tags: query.filter('tags =', tag) return query I'd like to know if I can filter by an arbitrary number of tags without encountering the exploding index problem (its not clear to me from the docs). E.g., can I do query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3' 'tagN']) etc etc. Thanks! Kyle -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Indexes on lists of 'tags' queries
Hi Jai, Both your example and my original example are cases of exploding indexes. In my example, indexing on the same listproperty twice is required for certain queries (for example, the Foo.all().filter('tags =', foo).filter('tags =', bar).order('bar') example), but likewise results in an exploding index. -Nick Johnson On Mon, Jul 27, 2009 at 4:30 PM, Jai sharma...@gmail.com wrote: Hi Kyle, I think what Nick meant was this: - kind: Foo property: tags1 property: tags2 that is having two different properties of type ListProperty because then the index will have rows for each combination of values for each of the property and number of rows will be multiplication of number of distinct values in the indexes. For your case it is ok because, there will be a single index 'tags' with an entity being referenced by the DIFFERENT tag values in the SAME index. So the references might be multiple, number of rows will still be linear. Hope it helps. Regards, Jai On Jul 27, 11:16 am, Kyle Jensen kljen...@gmail.com wrote: Hi Nick, I noticed that the dev server will automatically add indexes that appear to be exploding indexes when I run queries like the example above. Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server will create an index in index.yaml that is identical to the one you posted above: - kind: Foo property: tags property: tags ** Is that index not required for the snippet Foo.get_by_tags(['tag1', 'tag2'])? ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar is an IntegerProperty Thanks for your help and sorry for my ignorance!! Kyle On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Kyle, Exploding indexes only come into play when you're _defining_ indexes - for example, an index like this would be an exploding one: - kind: Foo property: tags property: tags As long as you can satisfy your queries using the built in merge join support (which is the case in your example, where you don't specify inequality filters or sort orders), you'll be fine. -Nick Johnson On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote: Hi, I'd like to know if multiple equality filters on a ListProperty leads to exploding indexes. I have a model something like the following (python): class Foo(db.model): tags = db.ListProperty(db.Category) @classmethod def get_by_tags(cls, tags): query = cls.all() for tag in tags: query.filter('tags =', tag) return query I'd like to know if I can filter by an arbitrary number of tags without encountering the exploding index problem (its not clear to me from the docs). E.g., can I do query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3' 'tagN']) etc etc. Thanks! Kyle -- Nick Johnson, Developer Programs Engineer, App Engine -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore
Nick, First, thanks for the prompt reply (especially since my question is essentially about how to keep my app engine bill down!). So the names are serialized with each record? In my example above, int1 requires an additional 8 bytes * [number of records] for storage? (Assuming UTF-16 here.) Wow. (If it's not obvious, I have an application with a very large number of very small records, so fixed per-record overhead is fairly costly.) I suspected indices were the principle cost (and that's entirely reasonable). But if you don't mind, I have a couple of more in-depth questions. First, background (this is closer to my actual application). Assume I have a database of genome subsequences, where each record contains a sequence, a position, and a chromosome number. My current schema looks like this: class Record(db.Model): seq = db.StringProperty() location = db.IntegerProperty(indexed=True) chromosome = db.IntegerProperty(indexed=True) plusminus = db.BooleanProperty(indexed=True) Now, I query on location and chromosome, so both of those are currently indexed. But chromosome is only one of, say, five values. So my question is, are indices equivalent--in terms of space--to a table of the property being indexed and the key of the record? To expand, is the above (current) schema less space efficient than creating five separate tables, implicitly encoding the chromosome value in the table name? e.g.: class RecordChromosome1(db.Model): seq = db.StringProperty() location = db.IntegerProperty() In fact, it's entirely feasible to manually unroll (like loop unrolling, I guess?) the query combinatorics of the chromosome and plusminus properties and create ten different tables, wherein each record contains only the sequence and the location (but not the plusminus and chromosome properties, which are now implicitly encoded in the record's kind). Would doing this save space by obviating the indices for plusminus and location? And, while I'm at it, is the kind name also encoded in each record instance, or only the property names? Thanks again, Calvin On Jul 27, 7:12 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Calvin, On Sun, Jul 26, 2009 at 6:36 PM, Calvin Slayden calvin.slay...@gmail.comwrote: Hello, After noticing my app using far more of the datastore quota than I expected, I conducted a little experiment with a toy app. The toy creates records of the format: class Record(db.Model): int1 = db.IntegerProperty() # ... repeated three more times According to the App Engine documentation, IntegerProperty types in the datastore are stored as 64-bit integers, so each record consists of 8 * 4 = 32 bytes of payload, plus overhead (key size * number of records, etc). I was hoping, with this experiment, to gain some insight into what that overhead costs. I uploaded 141,725 (sorry it's not a round number) of these records and waited a day for my quota to update; it now shows me using 0.09GB of my stored data quota. (In comparison, the amount of payload data in the store is only 141,725 x 32 = 4,535,200 bytes, or ~0.004GB.) I'm not sure whether it's best to compute overhead-per-property or overhead-per-record (there is obviously a nontrivial cost to the former, of course), and determining which is actually using the extra quota would probably take more effort than it's worth, so I figured I'd ask here. Anyway, in terms of overhead, I'm observing (in this case) approximately 600 bytes per record (in addition to the size of the record's payload), or 150 bytes per property. In my particular case (though I doubt this ratio is anything resembling constant), I'm seeing 19 bytes of quota used for every byte of payload. So I guess I have two big questions. First, quota obviously measures something resembling the total size of the datastore tables created by the user (their size on disk?), which, due to indexing and such, is obviously going to be larger than the size of the payload alone. Right? More or less, yes. The total size includes the size of the serialized Entity Protocol Buffer (which includes all the fields' values, their names ('int1' in your case), plus some encoding overhead), as well as several built-in indexes, plus any custom indexes you've built. Second, how can I minimize this? Is the primary cost the added indices, such that if I disable indexing for properties I won't be querying on, I'll save space? (Again, this is something I could experiment with, but at this point, why not just ask?) What's the overhead per record, regardless of indexing? Are there any other steps I can take to minimize my datastore quota usage? Disabling indexing for fields you don't require to be indexed is the simplest and most effective step. You can also use shorter field names, to reduce redundant storage requirements there, if you wish. To make things more user friendly, you can
[google-appengine] google apps engine fee
I have a question concerning the google apps engine account fee. If I register in free account, I read that if I exceed a threshold of consumption of resources I will be automatically charged for the excess. I wonder if I can use the free quota and be charged only with my explicit consent. … ? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: google apps engine fee
Hi ima, Unless you enable billing, you will never be charged for App Engine usage - your app will simply return 'over quota' messages if you exceed the free quota. Once you enable billing, you can set a maximum daily budget for your app, and you will never be charged more than that. -Nick Johnson On Mon, Jul 27, 2009 at 4:12 PM, ima iuriazer...@gmail.com wrote: I have a question concerning the google apps engine account fee. If I register in free account, I read that if I exceed a threshold of consumption of resources I will be automatically charged for the excess. I wonder if I can use the free quota and be charged only with my explicit consent. … ? -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore
On Mon, Jul 27, 2009 at 5:57 PM, Calvin Slayden calvin.slay...@gmail.comwrote: Nick, First, thanks for the prompt reply (especially since my question is essentially about how to keep my app engine bill down!). So the names are serialized with each record? In my example above, int1 requires an additional 8 bytes * [number of records] for storage? (Assuming UTF-16 here.) Actually, all strings are stored as utf-8. The protocol buffer format requires at least one byte length prefix, plus another byte to indicate the field ID. The reason this is necessary is because App Engine doesn't impose a schema on your data, so it has to store the mapping of names to values with each Entity stored. If you want a detailed understanding of how data is stored, Ryan Barrett's 'under the covers' talk is a good start: http://sites.google.com/site/io/under-the-covers-of-the-google-app-engine-datastore. Reading the publically available documentation on how Protocol Buffers are encoded is also a useful thing to do. Wow. (If it's not obvious, I have an application with a very large number of very small records, so fixed per-record overhead is fairly costly.) I suspected indices were the principle cost (and that's entirely reasonable). But if you don't mind, I have a couple of more in-depth questions. First, background (this is closer to my actual application). Assume I have a database of genome subsequences, where each record contains a sequence, a position, and a chromosome number. My current schema looks like this: class Record(db.Model): seq = db.StringProperty() If you don't need this field indexed, set indexed=False, or make it a TextProperty. If you're further concerned about space, you could even define your own Property subclass that stores the sequence as a blob, using only 2 bits per base, and encodes and decodes automatically. location = db.IntegerProperty(indexed=True) chromosome = db.IntegerProperty(indexed=True) plusminus = db.BooleanProperty(indexed=True) Now, I query on location and chromosome, so both of those are currently indexed. But chromosome is only one of, say, five values. So my question is, are indices equivalent--in terms of space--to a table of the property being indexed and the key of the record? Indices are more compact - both in terms of encoding, and because storing an Entity with any indexed fields also results in the insertion of values into the automatic indexes. To expand, is the above (current) schema less space efficient than creating five separate tables, implicitly encoding the chromosome value in the table name? e.g.: class RecordChromosome1(db.Model): seq = db.StringProperty() location = db.IntegerProperty() This is certainly an alternative option, especially if you don't need any custom indexes. It will save some space, though I'm not sure if it will be significant. You can even use Python's dynamic nature to facilitate this: --- def generateChromosomeModel(n): class Record(db.Model): @staticmethod def kind(): return c%d % n seq = db.StringProperty() location = db.IntegerProperty() return Record RecordChromosome1, RecordChromosome2, RecordChromosome3, RecordChromosome4, RecordChromosome5 = [generateChromosomeModel(x) for x in range(1, 6)] --- I wouldn't recommend trying this until you've tried other optimisations and determined that they're not effective enough, though. In fact, it's entirely feasible to manually unroll (like loop unrolling, I guess?) the query combinatorics of the chromosome and plusminus properties and create ten different tables, wherein each record contains only the sequence and the location (but not the plusminus and chromosome properties, which are now implicitly encoded in the record's kind). Would doing this save space by obviating the indices for plusminus and location? It would. Again, I'm not certain how significant these savings would be. A simpler optimisation would be to combine plusminus and location by having a single location value that varies from -5 to 5, for example. And, while I'm at it, is the kind name also encoded in each record instance, or only the property names? It is. See above for how to change the kind name without changing the class name. -Nick Johnson Thanks again, Calvin On Jul 27, 7:12 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Calvin, On Sun, Jul 26, 2009 at 6:36 PM, Calvin Slayden calvin.slay...@gmail.comwrote: Hello, After noticing my app using far more of the datastore quota than I expected, I conducted a little experiment with a toy app. The toy creates records of the format: class Record(db.Model): int1 = db.IntegerProperty() # ... repeated three more times According to the App Engine documentation, IntegerProperty types in the datastore are stored as 64-bit integers, so each record consists of 8 * 4 = 32 bytes of
[google-appengine] Re: Goolge App with JPA
Hi Praveen, A good place to start might be with the documentation on using JPA with App Engine: http://code.google.com/appengine/docs/java/datastore/usingjpa.html Also, you might have better luck finding JPA experts in the discussion group for the Java runtime: http://groups.google.com/group/google-appengine-java Could we see your persistence.xml file and the classes you are using to access the datastore? Happy coding, Jeff On Fri, Jul 24, 2009 at 4:04 AM, Praveen Sangolli pssn...@gmail.com wrote: Hello everybody, Can anyone help me configure JPA with google app engine. I am having issues selecting data from the datastore with JPA --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore
Cool, thanks. Dunno why I didn't think to use blobs--I had forgotten there was a binary datatype, and encoded sequences as string representations of their base-5 (there's a fifth option for a base value, N, meaning unknown) value. Seemed like a silly optimization at the time, until I saw my quota usage. ;) Even if indices are more compact than tables *per* *record*, the implicit encoding of (chromosome, plusminus) in the kind name should save space over combining them into a single index (unless the overhead of creating a new table is itself enormous, which it doesn't appear to be). Granted, all of these are seemingly silly, overaggressive optimizations, but in my real app, my quota usage is at least an order of magnitude over the size of the uploaded data themselves. Final question: Is there a faster way to figure out database usage than waiting 24 hours for the quota page on the dashboard to update? The cycle of coding+uploading data+waiting for the dashboard is not a rapid development iteration. Thanks for all the help. Calvin On Jul 27, 10:09 am, Nick Johnson (Google) nick.john...@google.com wrote: On Mon, Jul 27, 2009 at 5:57 PM, Calvin Slayden calvin.slay...@gmail.comwrote: Nick, First, thanks for the prompt reply (especially since my question is essentially about how to keep my app engine bill down!). So the names are serialized with each record? In my example above, int1 requires an additional 8 bytes * [number of records] for storage? (Assuming UTF-16 here.) Actually, all strings are stored as utf-8. The protocol buffer format requires at least one byte length prefix, plus another byte to indicate the field ID. The reason this is necessary is because App Engine doesn't impose a schema on your data, so it has to store the mapping of names to values with each Entity stored. If you want a detailed understanding of how data is stored, Ryan Barrett's 'under the covers' talk is a good start:http://sites.google.com/site/io/under-the-covers-of-the-google-app-en Reading the publically available documentation on how Protocol Buffers are encoded is also a useful thing to do. Wow. (If it's not obvious, I have an application with a very large number of very small records, so fixed per-record overhead is fairly costly.) I suspected indices were the principle cost (and that's entirely reasonable). But if you don't mind, I have a couple of more in-depth questions. First, background (this is closer to my actual application). Assume I have a database of genome subsequences, where each record contains a sequence, a position, and a chromosome number. My current schema looks like this: class Record(db.Model): seq = db.StringProperty() If you don't need this field indexed, set indexed=False, or make it a TextProperty. If you're further concerned about space, you could even define your own Property subclass that stores the sequence as a blob, using only 2 bits per base, and encodes and decodes automatically. location = db.IntegerProperty(indexed=True) chromosome = db.IntegerProperty(indexed=True) plusminus = db.BooleanProperty(indexed=True) Now, I query on location and chromosome, so both of those are currently indexed. But chromosome is only one of, say, five values. So my question is, are indices equivalent--in terms of space--to a table of the property being indexed and the key of the record? Indices are more compact - both in terms of encoding, and because storing an Entity with any indexed fields also results in the insertion of values into the automatic indexes. To expand, is the above (current) schema less space efficient than creating five separate tables, implicitly encoding the chromosome value in the table name? e.g.: class RecordChromosome1(db.Model): seq = db.StringProperty() location = db.IntegerProperty() This is certainly an alternative option, especially if you don't need any custom indexes. It will save some space, though I'm not sure if it will be significant. You can even use Python's dynamic nature to facilitate this: --- def generateChromosomeModel(n): class Record(db.Model): @staticmethod def kind(): return c%d % n seq = db.StringProperty() location = db.IntegerProperty() return Record RecordChromosome1, RecordChromosome2, RecordChromosome3, RecordChromosome4, RecordChromosome5 = [generateChromosomeModel(x) for x in range(1, 6)] --- I wouldn't recommend trying this until you've tried other optimisations and determined that they're not effective enough, though. In fact, it's entirely feasible to manually unroll (like loop unrolling, I guess?) the query combinatorics of the chromosome and plusminus properties and create ten different tables, wherein each record contains only the sequence and the location (but not the plusminus and chromosome properties, which are now implicitly encoded in the
[google-appengine] Re: How to set up app.yaml to handle URLs like www.mydomain.com/category/subcategory
Thanks a lot for your reply. Following that link instructions solved the problem. -Quim. On 27 jul, 16:53, Nick Johnson (Google) nick.john...@google.com wrote: Hi Quim The URL below will match only the literal text '/category/subcategory'. Please see the documentation here for details on how to set up URL mappings:http://code.google.com/appengine/docs/python/tools/webapp/running.html -Nick Johnson On Mon, Jul 27, 2009 at 1:14 PM, Quim joaquin.alma...@gmail.com wrote: Hi all. I want my application to handle URLs like www.mydomian.com/category/subcategory. I've set up my app.yaml like this: - url: /category/subacategory script: home.py - url: /.* script: home.py It does not work with the developer server (I've not used production server yet). What am I doing wrong? Thanks in advanced, Quin. -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore
On Mon, Jul 27, 2009 at 6:31 PM, Calvin Slayden calvin.slay...@gmail.comwrote: Cool, thanks. Dunno why I didn't think to use blobs--I had forgotten there was a binary datatype, and encoded sequences as string representations of their base-5 (there's a fifth option for a base value, N, meaning unknown) value. Seemed like a silly optimization at the time, until I saw my quota usage. ;) Even if indices are more compact than tables *per* *record*, the implicit encoding of (chromosome, plusminus) in the kind name should save space over combining them into a single index (unless the overhead of creating a new table is itself enormous, which it doesn't appear to be). True. When I answered the question intially, I thought you were discussing using an Entity kind with indices, vs using a new Entity kind _as_ an index. Granted, all of these are seemingly silly, overaggressive optimizations, but in my real app, my quota usage is at least an order of magnitude over the size of the uploaded data themselves. I would definitely recommend plucking the low-hanging fruit - like not indexing the sequence itself, and combining plusminus and chromosome, and shortening kind and field names, first. If that doesn't save enough, consider splitting into multiple kinds as a last resort. Bear in mind that you are always going to have significant encoding overhead, though - that's the price you pay for indexing. Final question: Is there a faster way to figure out database usage than waiting 24 hours for the quota page on the dashboard to update? The cycle of coding+uploading data+waiting for the dashboard is not a rapid development iteration. Unfortunately, not currently. You can estimate it by looking at the encoded Protocol Buffers, though. -Nick Johnson Thanks for all the help. Calvin On Jul 27, 10:09 am, Nick Johnson (Google) nick.john...@google.com wrote: On Mon, Jul 27, 2009 at 5:57 PM, Calvin Slayden calvin.slay...@gmail.comwrote: Nick, First, thanks for the prompt reply (especially since my question is essentially about how to keep my app engine bill down!). So the names are serialized with each record? In my example above, int1 requires an additional 8 bytes * [number of records] for storage? (Assuming UTF-16 here.) Actually, all strings are stored as utf-8. The protocol buffer format requires at least one byte length prefix, plus another byte to indicate the field ID. The reason this is necessary is because App Engine doesn't impose a schema on your data, so it has to store the mapping of names to values with each Entity stored. If you want a detailed understanding of how data is stored, Ryan Barrett's 'under the covers' talk is a good start: http://sites.google.com/site/io/under-the-covers-of-the-google-app-en Reading the publically available documentation on how Protocol Buffers are encoded is also a useful thing to do. Wow. (If it's not obvious, I have an application with a very large number of very small records, so fixed per-record overhead is fairly costly.) I suspected indices were the principle cost (and that's entirely reasonable). But if you don't mind, I have a couple of more in-depth questions. First, background (this is closer to my actual application). Assume I have a database of genome subsequences, where each record contains a sequence, a position, and a chromosome number. My current schema looks like this: class Record(db.Model): seq = db.StringProperty() If you don't need this field indexed, set indexed=False, or make it a TextProperty. If you're further concerned about space, you could even define your own Property subclass that stores the sequence as a blob, using only 2 bits per base, and encodes and decodes automatically. location = db.IntegerProperty(indexed=True) chromosome = db.IntegerProperty(indexed=True) plusminus = db.BooleanProperty(indexed=True) Now, I query on location and chromosome, so both of those are currently indexed. But chromosome is only one of, say, five values. So my question is, are indices equivalent--in terms of space--to a table of the property being indexed and the key of the record? Indices are more compact - both in terms of encoding, and because storing an Entity with any indexed fields also results in the insertion of values into the automatic indexes. To expand, is the above (current) schema less space efficient than creating five separate tables, implicitly encoding the chromosome value in the table name? e.g.: class RecordChromosome1(db.Model): seq = db.StringProperty() location = db.IntegerProperty() This is certainly an alternative option, especially if you don't need any custom indexes. It will save some space, though I'm not sure if it will be significant. You can even use Python's dynamic nature to
[google-appengine] Re: handling simple data structure upgrades
What I used to do was to use the mapper framework found in GAE articles. After the task queue was released I found it a lot easier to code and write tests for a simple handler that updates one at a time. Basically the handler has a get that is accessible only from admin and get enqueues a task for the first item in the kind you want to upgrade. The post does the upgrade of the passed key and finds the next in line to upgrade and queues a task for that. When there is no entities left to process I send an email to myself that this is done. It looks like this: class Upgrade(webapp.RequestHandler): def get(self): self.response.out.write('Started rewriting stuff') next = MyModel.all(keys_only=True).get() upgrader_queue.add( taskqueue.Task(url='/admin/upgrade_mymodel/', params={'next': str(next)})) def post(self): key = db.Key(self.request.get('next')) next = MyModel.all(keys_only=True).filter('__key__ ', key).get() def txn(): entity = db.get(key) if entity: // do stuff if next: upgrader_queue.add( taskqueue.Task(url='/admin/upgrade_mymodel/', params={'next': next})) else: // mail myself that upgrade is done!!! db.run_in_transaction(txn) This has a race condition: if an entity is added during the time you perform the upgrade you will not process it. This is ok if all new entities do not need to be upgraded which is often the case. On Mon, Jul 27, 2009 at 3:56 PM, Alexander Tereshkin ateresh...@y-node.comwrote: Hello All, Could you please share your wisdom on the following issue: I have added a new property to a model and would like to filter the data on this property. However, I already have quite a bit of data stored and all the entities that were created before the last upgrade don't have the new property and hence won't be returned by the queries once the filter is added. How are you dealing with such situations? Is there some sort of best practice here or maybe I just missed something in the docs? Since there are no batch updates, it looks like the only option is to cycle through all the entities and update them one by one. But then again there's too much data to do it in a single request, so I should process only this much entities at a time and enqueue the rest of processing. It just sounds like too much code for something this simple. I'm considering writing a generic routine in python to handle this type of upgrades, but wanted to check first if I'm missing anything or if such routine already exists. Thanks, Alex -- Alkis --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Why the urlfetch can not fetch the feed from delicious.com?
You can use an App Engine-hosted CGI proxy to validate Nick's hypothesis (e.g. http://proxypy.com/). http://www.delicious.com works; http://feeds.delicious.com does not. The best way around this would be to use the Delicious API rather than scraping the feeds page: http://delicious.com/help/api. This appears not to block GAE (at a minimum, I can promise that Yahoo's BOSS API does not block GAE applications). On Jul 27, 2:13 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi cpedia, '999' is not a valid HTTP response code. Delicious is choosing to return this for their own reasons - you'd have to ask them why. It's possible they've disabled access from Google IPs. -Nick Johnson On Mon, Jul 27, 2009 at 6:37 AM, cpedia cpe...@gmail.com wrote: I can run the program in my local environment. But when i deploy to the GAE, I will get error when i fetch the delicious json feed using urlfetch. The code is: url = http://feeds.delicious.com/v2/json/tags/%s; % username result = urlfetch.fetch(url, method=urlfetch.GET, headers={'Content-Type': 'application/json'}) if result.status_code == 200: getLogger(__name__).debug(delicious content: %s % result.content) The delicious return content will be following (I got from the console log). I don't know why the yahoo delicious server will refuse the GAE server. Google, please advise? # 07-26 10:18PM 31.290 delicious content: HTTP/1.1 999 Unable to process request at this time -- error 999 # E 07-26 10:18PM 31.512 Date: Mon, 27 Jul 2009 05:18:31 GMT # E 07-26 10:18PM 31.512 Expires: Thu, 01 Jan 1970 22:00:00 GMT # E 07-26 10:18PM 31.512 Cache-Control: no-cache # E 07-26 10:18PM 31.512 Cache-Control: no-store # E 07-26 10:18PM 31.513 Pragma: no-cache # E 07-26 10:18PM 31.513 Cache-Control: private # E 07-26 10:18PM 31.513 Connection: close # E 07-26 10:18PM 31.513 Transfer-Encoding: chunked # E 07-26 10:18PM 31.513 Content-Type: text/html;charset=UTF-8 # E 07-26 10:18PM 31.514 # E 07-26 10:18PM 31.514 108d # E 07-26 10:18PM 31.514 HTML HEAD meta http-equiv=Content-Type content=text/html;charset=utf-8 !-- Title -- TITLE Yahoo! - 999 Unable to process request at this time -- error 999 /TITLE ! style /* nn4 hide */ /*/*/ body {font:small/1.2em arial,helvetica,clean,sans-serif;font:x- small;text-align:center;}table {font-size:inherit;font:x-small;} htmlbody {font:83%/1.2em arial,helvetica,clean,sans-serif;}input {font-size:100%;vertical-align:middle;}p, form {margin:0;padding:0;} p {padding-bottom:6px;margin-bottom:10px;}#doc {width:48.5em;margin:0 auto;border:1px solid #fff;text-align:center;}#ygma {text- align:right;margin-bottom:53px} #ygma img {float:left;}#ygma div {border-bottom:1px solid #ccc;padding- bottom:8px;margin-left:152px;}#bd {clear:both;text-align:left;width: 75%;margin:0 auto 20px;} h1 {font-size:135%;text-align:center;margin:0 0 15px;}legend {display:none;}fieldset {border:0 solid #fff;padding:.8em 0 .8em 4.5em;} form {position:relative;background:#eee;margin-bottom:15px;border:1px solid #ccc;border-width:1px 0;} #s1p {width:15em;margin-right:.1em;} form span {position:absolute;left:70%;top:.8em;}form a {font:78%/1.2em arial;display:block;padding-left:.8em;white-space:nowrap;background: url(http://us.i1.yimg.com/us.yimg.com/i/s/bullet.gif) no-repeat left center;} form .sep {display:none;}.more {text-align:center;}#ft {padding-top: 10px;border-top:1px solid #999;}#ft p {text-align:center;font:78% arial;} /* end nn4 hide */ /style /HEAD bodydiv id=doc div id=ygma !-- Logo -- a href=http://us.rd.yahoo.com/500/*http://www.yahoo.com;img src=http://us.i1.yimg.com/us.yimg.com/i/yahoo.gifwidth=147 height=31 border=0 alt=Yahoo!/a ! div !-- YahooLink -- a href=http://us.rd.yahoo.com/500/*http://www.yahoo.com;Yahoo!/a ! - !-- HelpLink -- a href=http://us.rd.yahoo.com/500/*http://help.yahoo.com;Help/a ! /div/div div id=bdh1 !-- HeaderMessage -- Sorry, Unable to process request at this time -- error 999. ! /h1 table tr td valign=top !-- AltLogo -- img src=http://arc.help.yahoo.com/error.gif? r=1248671911property=delicious2srv=feeds.delicious.comhttp://arc.help.yahoo.com/error.gif?%0Ar=1248671911property=deliciou...alt=Yahoo! width=42 height=41 border=0 ! /td td p !-- Apology -- Unfortunately we are unable to process your request at this time. This error is usually temporary. Please try again later. ! p !-- Explanation -- If you continue to experience this error, it may be caused by one of the following: ! ul li !--
[google-appengine] Re: Indexes on lists of 'tags' queries
Hi Nick, Thanks for replying, that made the things a bit more clear. But I still don't understand the reasoning behind it. You said the following example Foo.all().filter('tags =', foo).filter('tags =', bar).order('bar') will result in an exploding index. But why so? I believe above statement is equivalent to: select * from Foo where tags='foo' AND tags = 'bar' order by 'bar1' I changed 'bar' to 'bar1' just to avoid confusion. Now since the order by is applied to 'bar1' and not to 'tags'(can that be even done??) why will two separate indexes be required. I understand they can be required if order by is applied on tags somehow, but for this case an index with default ordering for listproperty class could have been used. The non exploding index that can be used here is: - kind: Foo property: - tags - bar1 direction:desc Or will this not work for the query in question? Thanks for bearing with me. On Jul 27, 12:56 pm, Nick Johnson (Google) nick.john...@google.com wrote: Hi Jai, Both your example and my original example are cases of exploding indexes. In my example, indexing on the same listproperty twice is required for certain queries (for example, the Foo.all().filter('tags =', foo).filter('tags =', bar).order('bar') example), but likewise results in an exploding index. -Nick Johnson On Mon, Jul 27, 2009 at 4:30 PM, Jai sharma...@gmail.com wrote: Hi Kyle, I think what Nick meant was this: - kind: Foo property: tags1 property: tags2 that is having two different properties of type ListProperty because then the index will have rows for each combination of values for each of the property and number of rows will be multiplication of number of distinct values in the indexes. For your case it is ok because, there will be a single index 'tags' with an entity being referenced by the DIFFERENT tag values in the SAME index. So the references might be multiple, number of rows will still be linear. Hope it helps. Regards, Jai On Jul 27, 11:16 am, Kyle Jensen kljen...@gmail.com wrote: Hi Nick, I noticed that the dev server will automatically add indexes that appear to be exploding indexes when I run queries like the example above. Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server will create an index in index.yaml that is identical to the one you posted above: - kind: Foo property: tags property: tags ** Is that index not required for the snippet Foo.get_by_tags(['tag1', 'tag2'])? ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar is an IntegerProperty Thanks for your help and sorry for my ignorance!! Kyle On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Kyle, Exploding indexes only come into play when you're _defining_ indexes - for example, an index like this would be an exploding one: - kind: Foo property: tags property: tags As long as you can satisfy your queries using the built in merge join support (which is the case in your example, where you don't specify inequality filters or sort orders), you'll be fine. -Nick Johnson On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote: Hi, I'd like to know if multiple equality filters on a ListProperty leads to exploding indexes. I have a model something like the following (python): class Foo(db.model): tags = db.ListProperty(db.Category) �...@classmethod def get_by_tags(cls, tags): query = cls.all() for tag in tags: query.filter('tags =', tag) return query I'd like to know if I can filter by an arbitrary number of tags without encountering the exploding index problem (its not clear to me from the docs). E.g., can I do query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3' 'tagN']) etc etc. Thanks! Kyle -- Nick Johnson, Developer Programs Engineer, App Engine -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Routing best practices
Hi, While working in not-so-big applications I'm seeing a lot of things like this: from app.controllers.most_voted import MostVoted from app.controllers.votes import Votes from app.controllers.comments import Comments from app.controllers.friends import Friends from app.controllers.photos import Photos from app.controllers.sponsors import Sponsors ... application = webapp.WSGIApplication([ (sponsors, Sponsors), (photos, Photos), (friends, Friends), (comments, Comments), (votes, Votes), (most_voted, MostVoted) ... I can replace the initial imports with app.controllers.* and then do controllers.ControllerName but I still can't find a way to write concise routes. If you replace the ... for 10 or 15 more controllers you'll start to see my point. I'm wondering what are the best practices in this area, what's people doing about this? I'd hate to see myself doing the same for bigger applications. -- Federico --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Need input: developers and Azure VS GAE
Azure also has SQL as a (more expensive) option, which, for some applications, is a very compelling choice over Azure and GAE's table storage. If you don't need it, though, it shouldn't factor into your decision. I'm sure there will be whitepapers galore, and there are some significant differences under the hood, but it probably most comes down to what toolkit your developer is familiar with. On Jul 15, 11:08 am, mytemp mytempjunkm...@gmail.com wrote: Ah, thanks, wanted to make sure that wasn't SPAM, I am looking for Python/GAE expertise, I'll post another message then. Azure pricing was announced yesterday and causing me to rethink doing Azure, I have access to a rockstar .NET programmer at a reasonable price, so I was on the fence as I prefer GAE/Python and I used to do Python so being able to read it is useful ;-) Also, there are a few GAE things I like more (like I don't have to decide when to scale or how many instances, I just set a quota, and worker threads are only charged when executed and not constantly when in a while loop). So, if I had access to a rockstar Python/GAE person (or two)... at a reasonable price, I think I'd just go GAE. Anyone? On Jul 15, 7:05 am, Adam adam.crossl...@gmail.com wrote: And the second part of your question: Azure vs. GAE. I'm not aware of any formal white papers that exist on this subject; although, I'll wager cash money that Microsoft has a couple in the pipeline somewhere. I work with both. I earn my salary being a happy trilobite in the Microsoft ecosystem, so I have the C# and ASP.NET skills to take good advantage of Azure. I'm also a hopeless Google fanatic, and I got on-board with GAE on day one. My analysis: Azure and AppEngine are more like each other than any of the other cloud computing platforms, such as Amazon's EC2. They both give you a new programming model -- a sandbox -- to work in that encourages you to architect your applications in a way that allows them to take advantage of the instant, no-effort, on-demand scaling that is the real, compelling advantage of the Cloud. They both give applications fairly generous free quotas that give the developer and extremely-low cost-of-entry, enabling him of her to build and deploy an application without up-front and.or monthly cash outlays. If you are lucky/smart your application can be generating enough revenue to more than cover its costs before you have to start paying for resources. The main decision point between the two platforms comes down to the technology that you want to use to build your web application. Do you have access to C# and ASP.NET skills? Azure is a good choice. Do you have a Python/Java open source guru handy? AppEngine is a winner. A secondary decision point might be your choice of development platform. The Azure SDK will install and run on Vista or Windows Server 2008, and you will need a Visual Studio 2008 license. On the other hand, you can build AppEngine applications on Windows (XP, Vista, 7, etc), MacOS or Linux. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Forums/Messageboard that work on GAE?
Hello all, I've been looking for a forum / messageboard I could add to an app on google apps. I thought this would have been easy, but so far my searching has come up empty. Ideally I would like to use phpbb, but is there an easy way to use that directly? and I've also found jForums, but I don't think either of these are usable right out of the box? I know it is doable since I've found a couple google apps that are using phpbb...What would people recommend? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] appcfg.py upload_data authentication failure
Hi everyone, while trying to follow the http://code.google.com/appengine/docs/python/tools/uploadingdata.html guide on uploading csv data to datastore, i've came across some problems. appcfg.py upload_data --config_file=loader.py --filename=data.csv -- kind=Album bulk_upload_demo/ ends up with error: http://pastebin.com/m1955cde8 (both two appengine cookies are deleted, the no_cookies command doesn't help either). trying to upload localy appcfg.py upload_data --config_file=loader.py --filename=data.csv -- kind=Album --url=http://localhost:8080/remoteapi bulk_upload_demo/ asks me for username/password, i do enter my gmail account used to connect to the app engine account and password, still it ends up almost similarly: http://pastebin.com/m1204789d . Please, if u do have any ideas for the possible reasons of the mentioned error, share them with me :) all the best, jm --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Storage Quota hit 100%, 1GB limit?
I inherited an application the logs data to the app engine. It's a simple single table log, similar to a web log. It seems on Friday around 5PM it stopped logging. The log is full of errors, 10,402 in the last 12 hours. The API call datastore_v3.Put() required more quota than is available. My impression was that the data store was limited to 1GB per day, since the chart says Daily Limit as the column header. I know there were million of entries, since it's never been cleaned out. I know I'm not hitting 1GB of stored data per day, and no new data has been accepted for over 2 days. Any clarification on what the real limit is? I know I need to delete just about all of the entries, and I don't need them. But as I mentioned, I inherited this and it seems I have to right a script to run the simple delete query/gql. Any help, advice, ridicule great appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Consuming OAuth requests in app engine
Hi Terry, As you suggested I'm adding the resources that I allready found (including yours to be complete) http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine#Sending_and_verifying_signed_requests http://wiki.opensocial.org/index.php?title=Validating_Signed_Requests http://wiki.opensocial.org/index.php?title=Introduction_To_Signed_Requests Resource on Hyves.nl developer wiki (specific to hyves.nl): http://trac.hyves-api.nl/wiki/OpensocialSpecs#Signedrequests Jaap On Mon, Jul 27, 2009 at 4:31 PM, nolybab thardin...@gmail.com wrote: Jaap, If you don't mind, please share any other resources you may have that might be useful on this topic :) Thanks, Terry On Jul 27, 10:07 am, Jaap Taal j...@q42.nl wrote: Terry, Thanks, I've found some other resources, but this is a usefull one! Jaap On Sat, Jul 25, 2009 at 1:13 AM, nolybab thardin...@gmail.com wrote: Jaap, See if this link has what you need: http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App. .. That should help. Good luck... Terry On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote: Hi all, I'm creating an opensocial widget on hyves.nl (a dutch social networking site). I'm calling a makeRequest with RequestParamters.AUTHORIZATION set to SIGNED. The GET call is enriched with several query string parameters like: * opensocial_owner_id * opensocial_viewer_id * opensocial_app_id * oauth_consumer_key * oauth_token (empty) * xoauth_signature_publickey * oauth_signature_method * oauth_nonce * oauth_timestamp * oauth_signature How do I verify that this request is coming from the hyves.nl opensocial container? I've found that GData does some oauth stuff, but that Api needs to fetch an oauth token, while I just want to verify that the SIGNED request is indeed coming from the container... Anyone any pointers to the right direction? Jaap --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Storage Quota hit 100%, 1GB limit?
The limit is 1GB of live data total. On Mon, Jul 27, 2009 at 8:58 PM, StyleApp styleiph...@gmail.com wrote: I inherited an application the logs data to the app engine. It's a simple single table log, similar to a web log. It seems on Friday around 5PM it stopped logging. The log is full of errors, 10,402 in the last 12 hours. The API call datastore_v3.Put() required more quota than is available. My impression was that the data store was limited to 1GB per day, since the chart says Daily Limit as the column header. I know there were million of entries, since it's never been cleaned out. I know I'm not hitting 1GB of stored data per day, and no new data has been accepted for over 2 days. Any clarification on what the real limit is? I know I need to delete just about all of the entries, and I don't need them. But as I mentioned, I inherited this and it seems I have to right a script to run the simple delete query/gql. Any help, advice, ridicule great appreciated. -- Alkis --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Indexes on lists of 'tags' queries
On Mon, Jul 27, 2009 at 7:39 PM, Jai sharma...@gmail.com wrote: Hi Nick, Thanks for replying, that made the things a bit more clear. But I still don't understand the reasoning behind it. You said the following example Foo.all().filter('tags =', foo).filter('tags =', bar).order('bar') will result in an exploding index. But why so? Because as soon as you apply an inequality filter or sort order to your query, it requires a composite index. In this case, the composite index has to include two list properties (actually the same list property twice), which leads to an exploding index. Naturally, if your number of tags is limited, this may not be a big problem. I believe above statement is equivalent to: select * from Foo where tags='foo' AND tags = 'bar' order by 'bar1' I changed 'bar' to 'bar1' just to avoid confusion. Now since the order by is applied to 'bar1' and not to 'tags'(can that be even done??) why will two separate indexes be required. Not two separate indexes - a single composite index that includes all the fields being queried on (the number of times they're used). I understand they can be required if order by is applied on tags somehow, but for this case an index with default ordering for listproperty class could have been used. With the exception of merge join queries (those with only equality filters and no sort orders), queries only ever use a single index. The non exploding index that can be used here is: - kind: Foo property: - tags - bar1 direction:desc Or will this not work for the query in question? It won't, because the tags property has to appear as many times as it's used in a query. -Nick Johnson Thanks for bearing with me. On Jul 27, 12:56 pm, Nick Johnson (Google) nick.john...@google.com wrote: Hi Jai, Both your example and my original example are cases of exploding indexes. In my example, indexing on the same listproperty twice is required for certain queries (for example, the Foo.all().filter('tags =', foo).filter('tags =', bar).order('bar') example), but likewise results in an exploding index. -Nick Johnson On Mon, Jul 27, 2009 at 4:30 PM, Jai sharma...@gmail.com wrote: Hi Kyle, I think what Nick meant was this: - kind: Foo property: tags1 property: tags2 that is having two different properties of type ListProperty because then the index will have rows for each combination of values for each of the property and number of rows will be multiplication of number of distinct values in the indexes. For your case it is ok because, there will be a single index 'tags' with an entity being referenced by the DIFFERENT tag values in the SAME index. So the references might be multiple, number of rows will still be linear. Hope it helps. Regards, Jai On Jul 27, 11:16 am, Kyle Jensen kljen...@gmail.com wrote: Hi Nick, I noticed that the dev server will automatically add indexes that appear to be exploding indexes when I run queries like the example above. Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server will create an index in index.yaml that is identical to the one you posted above: - kind: Foo property: tags property: tags ** Is that index not required for the snippet Foo.get_by_tags(['tag1', 'tag2'])? ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar is an IntegerProperty Thanks for your help and sorry for my ignorance!! Kyle On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Kyle, Exploding indexes only come into play when you're _defining_ indexes - for example, an index like this would be an exploding one: - kind: Foo property: tags property: tags As long as you can satisfy your queries using the built in merge join support (which is the case in your example, where you don't specify inequality filters or sort orders), you'll be fine. -Nick Johnson On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote: Hi, I'd like to know if multiple equality filters on a ListProperty leads to exploding indexes. I have a model something like the following (python): class Foo(db.model): tags = db.ListProperty(db.Category) @classmethod def get_by_tags(cls, tags): query = cls.all() for tag in tags: query.filter('tags =', tag) return query I'd like to know if I can filter by an arbitrary number of tags without encountering the exploding index problem (its not clear to me from the docs). E.g., can I do query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3' 'tagN']) etc etc. Thanks! Kyle -- Nick Johnson,
[google-appengine] Random HTTP 500 errors
I am getting random HTTP 500 errors on my application. If i refresh the page, it loads just fine. Also when i try to look into the logs, i do find the entry, but nothing specific about the error. Like this log message - http://d25b87jrm423ks.cloudfront.net/temp/500_error.jpg Does anyone have any ideas how i can catch these errors? Thanks --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: mapping www.mydomain.com to my-app-id.appspot.com
Thank you very much. It worked. On Jul 27, 10:02 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Srikanth, Follow the instructions here:http://code.google.com/appengine/articles/domains.html When asked to specify a subdomain, enter 'www'. -Nick Johnson On Sun, Jul 26, 2009 at 7:07 AM, Srikanth sriky...@gmail.com wrote: This must have been discussed number of times.. but honestly i did so much googling around but it is impossible find a proper answer. First i built the app using appengine. Then I went to Versions and tried to Add domain, which led me to buy the domain using google apps. Once I bought it, i'm lost totally. How do I map my appengine application towww.mydomain.com. I'm not asking about naked domain. that is the least of my problem. I can see myapp.appspot.com as a service under google apps account. But, how do I map it towww.mydomain.com? Please advice. - Srikanth -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Drools -GoogleApp Integration
HI All, Drools is an open source rule engine provided by Jboss.we are trying to deploy this application on to google app engine and i get this java.security.AccessControlException: access denied (java.io.FilePermission C:\Documents and Settings \p5101754\drools.packagebuilder.conf read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkPermission(DevAppServerFactory.java:128) at java.lang.SecurityManager.checkRead(Unknown Source) at java.io.File.exists(Unknown Source) at org.drools.util.ChainedProperties.loadProperties (ChainedProperties.java:243) at org.drools.util.ChainedProperties.init(ChainedProperties.java: 69) at org.drools.util.ChainedProperties.init(ChainedProperties.java: 41) at org.drools.compiler.PackageBuilderConfiguration.init (PackageBuilderConfiguration.java:167) at org.drools.compiler.PackageBuilderConfiguration.init (PackageBuilderConfiguration.java:153) at org.drools.compiler.PackageBuilder.init(PackageBuilder.java:242) at org.drools.compiler.PackageBuilder.init(PackageBuilder.java:142) at org.drools.builder.impl.KnowledgeBuilderProviderImpl.newKnowledgeBuilder (KnowledgeBuilderProviderImpl.java:29) at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder (KnowledgeBuilderFactory.java:29) at com.ness.TestServlet.readKnowledgeBase(TestServlet.java:46) at com.ness.TestServlet.doGet(TestServlet.java:22) i was going through some forums on drools looks like google app engine has to support this security policy feature . can any one of you guys please suggest me on this how to set security policy for web apps in google app engine Thanks Madhu Prasad Paridi --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Getting around joins/in queries
Hi, I have a facebook app that naturally would like to perform set operations on a logged in user's friends against the data in the application (stored in app engine). This presents a particular challenge, suppose for example that in my application a logged in user can subscribe to a particular event, we then have some classes like this: User { Long key; Long facebookId; // etc... } Event { Long key; String name; // etc... } Subscribed { Long userKey; Long eventKey; Long start; Long end; //etc... } Now, if I have a particular user logged in, who has a set of friends, I want to know which events that set of friends have subscribed to. A normal query would be SELECT * from SUBSCRIBED where userkey in ( the set of friends ) By now, I know that there are no conditional OR operations, joins, or in queries allowed in app engine. My initial attempt to solve this problem has resulted in writing out the intersection at subscription time using an additional table, something like: FriendSubscribed extends Subscribed { Long friendKey; // etc... } // for every friend of the logged in user, write a record so the query can simply pick up // all records for that friend void persistForFriends(CollectionLong friends, Subscribed subscribed) { for (Long id : friends) { pm.persist(new FriendSubscribed(id, subscribed)); } } Now I have shifted the query burden to the write side and I can do a simple query on the FriendSubscribed table for a particular user which is nice and fast: SELECT * from FRIENDSUBSCRIBED where friendkey = myuserid. This returns all the subscriptions that the logged in user's friends have made (with some slight gotchas, e.g. if the user adds a new friend, then any subscriptions that the new friend already has will not be seen - this is tolerable) So, what's the problem? On facebook, a user typically has order 100 friends. And I suspect many will have 500 and a few will have 1000+. Even for order 100 friends, at the current write speed (5/s) I can expect a write operation to take approx. 20s!! This is rather long for a web operation, and gets worse as you increase the number of friends. I am curious if anyone has any ideas for solutions? I have a few thoughts, but wanted to see what people thought before moving on to the next optimization. Here are my thoughts: 1) Queue the friend write operation - it's not critical to the core write operation that all the join data be written out, it can always be re-computed at any point in time by analyzing the Subscribed records and current friend list for each friend. Only problem is I am using Java and the scheduled tasks API is not yet supported. Furthermore, it still seems like a lot of work to go through if we imagine thousands or hundreds of thousands of users making subscriptions as each write operation they do gets multiplied by a factor of 100-1000. 2) Make an owned relationship from Events to Subscribed. Something like: Event { Long key; String name; SetSubscribed subscribed; // etc... } Now reading an event records gives precisely the information I want and simply has to be culled down (the intersection of the logged in user's friends and the Event subscribed list is the list of friends that are subscribed to that event). The problem I see with this implementation is high contention. For every subscription event I have to lock out updates and make sure everyone is writing a coherent view of the set (don't we have to update the value into the Event record?) Or I may be wrong and it may be that the ownership relationship is maintained automatically by the datastore and this isn't as much of a concern as I think it is as the owned relationship doesn't really write anything into the owner record, it just does a join-like query to populate the set on read...that might be ideal?? 3) ?? Something else? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Invoke a normal web service on google app engine
HI All, Iam trying to invoke a web service from a client on google app engine and i get this exception: java.rmi.Remote not supported by google app engine runtime environment.can any one please suggest me on how to get through this. Thanks Madhu Prasad ParidiT --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Data Viewer
Hi Ed, What is your app ID? I'll look into this. Thank you, Jeff On Fri, Jul 24, 2009 at 10:27 PM, Ed edgam...@gmail.com wrote: Hi GAE staff, Any particular reason why I can no longer view my data using Data Viewer? I always get the encouraging message to ...please try again later and when I do, I get back the same message. Thanks. -Ed --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Noob web programmer seeks Jedi guru
Hi Mark, Would you mind sharing the URL of your app along with your app ID? Seeing these redirects in action would be very helpful, as these redirects could come from several different sources. If you could share relevant sections of your source code as well it should greatly improve our ability to get to the bottom of this :-) Thank you, Jeff On Mon, Jul 27, 2009 at 5:12 AM, Mark Essel mes...@gmail.com wrote: Doing some simpe oauth stuff on the GAE and having a redirect merry go round (doesn't happen with localhost). Warning, just began using php a month ago, and dove into scala/lift/ java/python/GAE please speak in simple words, a if you were explaining it to a child (galaxy quest fans) thanks ladies and gents in advance. You'll be rewarded with the wonders of the virtual currency known as gratitude --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Building index stucked
Hi Tito, It looks like this has been resolved. Please let me know if you still need a hand. Thank you, Jeff On Fri, Jul 24, 2009 at 6:17 PM, Tito Garrido titogarr...@gmail.com wrote: Hi, My application titogarrido has 3 indexes that are on Build state for more than 5 days... What can I do to fix it? Thanks in advance, Tito -- Linux User #387870 . _/_õ|__| ..º[ .-.___.-._| . . . . .__( o)__( o).:___ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Consuming OAuth requests in app engine
cool! thanks! :) On Jul 27, 3:04 pm, Jaap Taal j...@q42.nl wrote: Hi Terry, As you suggested I'm adding the resources that I allready found (including yours to be complete)http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App...http://wiki.opensocial.org/index.php?title=Validating_Signed_Requestshttp://wiki.opensocial.org/index.php?title=Introduction_To_Signed_Req... Resource on Hyves.nl developer wiki (specific to hyves.nl):http://trac.hyves-api.nl/wiki/OpensocialSpecs#Signedrequests Jaap On Mon, Jul 27, 2009 at 4:31 PM, nolybab thardin...@gmail.com wrote: Jaap, If you don't mind, please share any other resources you may have that might be useful on this topic :) Thanks, Terry On Jul 27, 10:07 am, Jaap Taal j...@q42.nl wrote: Terry, Thanks, I've found some other resources, but this is a usefull one! Jaap On Sat, Jul 25, 2009 at 1:13 AM, nolybab thardin...@gmail.com wrote: Jaap, See if this link has what you need: http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App. .. That should help. Good luck... Terry On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote: Hi all, I'm creating an opensocial widget on hyves.nl (a dutch social networking site). I'm calling a makeRequest with RequestParamters.AUTHORIZATION set to SIGNED. The GET call is enriched with several query string parameters like: * opensocial_owner_id * opensocial_viewer_id * opensocial_app_id * oauth_consumer_key * oauth_token (empty) * xoauth_signature_publickey * oauth_signature_method * oauth_nonce * oauth_timestamp * oauth_signature How do I verify that this request is coming from the hyves.nl opensocial container? I've found that GData does some oauth stuff, but that Api needs to fetch an oauth token, while I just want to verify that the SIGNED request is indeed coming from the container... Anyone any pointers to the right direction? Jaap --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] URIs and the Current Load Table
Hi, I have an app where users create an account, and then can access the service through www.mywebsite.com/account_id. Awesome! But not so awesome for the Current Load table that's on my dashboard, since having the account_id as part of the URI and not a parameter means that it doesn't aggregate stats in a meaningful way. No one URI has much of a meaningful load, even though something like /.*/settings might account for 50% of all the requests. Am I stupid to be structuring my URIs this way? It seems reasonable to me. It would be boss if this URI table was based on the mappings we declare in our app. Ben --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Why the urlfetch can not fetch the feed from delicious.com?
Thank you all. I have submitted the issue to yahoo support team. Hope they can resolve the problem. Because the code worked in previous release of my project: http://code.google.com/p/cpedialog I also doubt it's the problem of yahoo. On Jul 28, 2:25 am, Calvin Slayden calvin.slay...@gmail.com wrote: You can use an App Engine-hosted CGI proxy to validate Nick's hypothesis (e.g.http://proxypy.com/).http://www.delicious.comworks;http://feeds.delicious.comdoes not. The best way around this would be to use the Delicious API rather than scraping the feeds page:http://delicious.com/help/api. This appears not to block GAE (at a minimum, I can promise that Yahoo's BOSS API does not block GAE applications). On Jul 27, 2:13 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi cpedia, '999' is not a valid HTTP response code. Delicious is choosing to return this for their own reasons - you'd have to ask them why. It's possible they've disabled access from Google IPs. -Nick Johnson On Mon, Jul 27, 2009 at 6:37 AM, cpedia cpe...@gmail.com wrote: I can run the program in my local environment. But when i deploy to the GAE, I will get error when i fetch the delicious json feed using urlfetch. The code is: url = http://feeds.delicious.com/v2/json/tags/%s; % username result = urlfetch.fetch(url, method=urlfetch.GET, headers={'Content-Type': 'application/json'}) if result.status_code == 200: getLogger(__name__).debug(delicious content: %s % result.content) The delicious return content will be following (I got from the console log). I don't know why the yahoo delicious server will refuse the GAE server. Google, please advise? # 07-26 10:18PM 31.290 delicious content: HTTP/1.1 999 Unable to process request at this time -- error 999 # E 07-26 10:18PM 31.512 Date: Mon, 27 Jul 2009 05:18:31 GMT # E 07-26 10:18PM 31.512 Expires: Thu, 01 Jan 1970 22:00:00 GMT # E 07-26 10:18PM 31.512 Cache-Control: no-cache # E 07-26 10:18PM 31.512 Cache-Control: no-store # E 07-26 10:18PM 31.513 Pragma: no-cache # E 07-26 10:18PM 31.513 Cache-Control: private # E 07-26 10:18PM 31.513 Connection: close # E 07-26 10:18PM 31.513 Transfer-Encoding: chunked # E 07-26 10:18PM 31.513 Content-Type: text/html;charset=UTF-8 # E 07-26 10:18PM 31.514 # E 07-26 10:18PM 31.514 108d # E 07-26 10:18PM 31.514 HTML HEAD meta http-equiv=Content-Type content=text/html;charset=utf-8 !-- Title -- TITLE Yahoo! - 999 Unable to process request at this time -- error 999 /TITLE ! style /* nn4 hide */ /*/*/ body {font:small/1.2em arial,helvetica,clean,sans-serif;font:x- small;text-align:center;}table {font-size:inherit;font:x-small;} htmlbody {font:83%/1.2em arial,helvetica,clean,sans-serif;}input {font-size:100%;vertical-align:middle;}p, form {margin:0;padding:0;} p {padding-bottom:6px;margin-bottom:10px;}#doc {width:48.5em;margin:0 auto;border:1px solid #fff;text-align:center;}#ygma {text- align:right;margin-bottom:53px} #ygma img {float:left;}#ygma div {border-bottom:1px solid #ccc;padding- bottom:8px;margin-left:152px;}#bd {clear:both;text-align:left;width: 75%;margin:0 auto 20px;} h1 {font-size:135%;text-align:center;margin:0 0 15px;}legend {display:none;}fieldset {border:0 solid #fff;padding:.8em 0 .8em 4.5em;} form {position:relative;background:#eee;margin-bottom:15px;border:1px solid #ccc;border-width:1px 0;} #s1p {width:15em;margin-right:.1em;} form span {position:absolute;left:70%;top:.8em;}form a {font:78%/1.2em arial;display:block;padding-left:.8em;white-space:nowrap;background: url(http://us.i1.yimg.com/us.yimg.com/i/s/bullet.gif) no-repeat left center;} form .sep {display:none;}.more {text-align:center;}#ft {padding-top: 10px;border-top:1px solid #999;}#ft p {text-align:center;font:78% arial;} /* end nn4 hide */ /style /HEAD bodydiv id=doc div id=ygma !-- Logo -- a href=http://us.rd.yahoo.com/500/*http://www.yahoo.com;img src=http://us.i1.yimg.com/us.yimg.com/i/yahoo.gifwidth=147height=31 border=0 alt=Yahoo!/a ! div !-- YahooLink -- a href=http://us.rd.yahoo.com/500/*http://www.yahoo.com;Yahoo!/a ! - !-- HelpLink -- a href=http://us.rd.yahoo.com/500/*http://help.yahoo.com;Help/a ! /div/div div id=bdh1 !-- HeaderMessage -- Sorry, Unable to process request at this time -- error 999. ! /h1 table tr td valign=top !-- AltLogo -- img src=http://arc.help.yahoo.com/error.gif?
[google-appengine] Has anyone does this?
I was wondering whether anyone has got SSI (Server Side Includes) working on GAE and whether this is possible? If it isn't what are the best alternatives? Thanks Jim --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---