[google-appengine] Re: Messaging between multiple concurrent browser sessions
Thanks Calvin. I read the docs for AQS and it looks worthwhile, not to mention cheap too. Thanks for mentioning this. On Nov 6, 12:24 am, Calvin Spealman [EMAIL PROTECTED] wrote: Let's not be tied to any one thing. Consider something like amazons queue service? On Nov 5, 2008 12:44 PM, slmnhq [EMAIL PROTECTED] wrote: Hi, I'm starting to build an interactive application where an event (eg: mouse click) in one user's browser needs to trigger another event (eg: show a message) in another user's browser. Sometimes data (eg: chat messages) will be passed from one session to another. The way I was going to implement this was was to have the event producer make a json-rpc call to the GAE application. The application would store the message in a queue which is just a list of messages in memcache. The event consumer will periodically poll (via json-rpc) to get messages intended for it. There will be one message queue for each session. Each browser session will have a session id - I have not figured out how and when to generate this id. This is a somewhat naive approach and I was curious if there are issues that I might run into. Thanks, Salman --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] 'run_in_transaction' gives a 'KeyError: frame object at'
Hi, Some how I keep breaking the dev server datastore, so it gives this error when try to 'put' anything in a transaction: class Foo(db.Model): pass def trans(): foo = Foo() foo.put() class Test(webapp.RequestHandler): def get(self): db.run_in_transaction(trans) File C:\Program Files\Google\google_appengine\google\appengine\ext\db \__init__.py, line 618, in put return datastore.Put(self._entity) File C:\Program Files\Google\google_appengine\google\appengine\api \datastore.py, line 154, in Put tx = _MaybeSetupTransaction(req, keys) File C:\Program Files\Google\google_appengine\google\appengine\api \datastore.py, line 1479, in _MaybeSetupTransaction tx = _txes[tx_key] KeyError: frame object at 0x01EAF928 If I run the code not in a transaction it runs fine. Anyone know what this is? Im running winxp latest api. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: 'run_in_transaction' gives a 'KeyError: frame object at'
after some more testing, it only happens in debug with psyco (1.6). I've removed psyco for now and its all running fine. On Nov 7, 3:11 pm, David Wilson (entertainment cloud) [EMAIL PROTECTED] wrote: Hi, Some how I keep breaking the dev server datastore, so it gives this error when try to 'put' anything in a transaction: class Foo(db.Model): pass def trans(): foo = Foo() foo.put() class Test(webapp.RequestHandler): def get(self): db.run_in_transaction(trans) File C:\Program Files\Google\google_appengine\google\appengine\ext\db \__init__.py, line 618, in put return datastore.Put(self._entity) File C:\Program Files\Google\google_appengine\google\appengine\api \datastore.py, line 154, in Put tx = _MaybeSetupTransaction(req, keys) File C:\Program Files\Google\google_appengine\google\appengine\api \datastore.py, line 1479, in _MaybeSetupTransaction tx = _txes[tx_key] KeyError: frame object at 0x01EAF928 If I run the code not in a transaction it runs fine. Anyone know what this is? Im running winxp latest api. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: appcfg.py .xaml files (silverlight) mimtype issue
You can specify the MIME type manually with the mime_type option in app.yaml. For example: - url: /silverlight/(.*\.xaml) static_files: silverlight/\1 mime_type: application/xaml+xml (I didn't test this, so let me know how it goes. :) ) -- Dan On Fri, Nov 7, 2008 at 4:41 AM, Neo42 [EMAIL PROTECTED] wrote: How do I use the upload tool (appcfg.py) and my app.yaml file to upload .XAML (silverlight) files? Here are the handlers in my yaml: handlers: - url: /stylesheets static_dir: stylesheets - url: /silverlight static_dir: silverlight - url: /.* script: helloworld.py My xaml and such is in the silverlight directory. My appcfg.py command is: appcfg.py update C:\GoogleAppsProjects\HelloWorld When I try to do it I get this: Could not guess mimetype for silverlight/scene.xaml. Using application/octet-stream. And the uploaded xaml file doesn't work. By the way, the localhost version of the app runs fine. It's the upload tool that is screwing something up. I can't figure out how to do it from this page: http://code.google.com/appengine/docs/configuringanapp.html#Static_File_Handlers I'm new to python. Please help. I suppose I could try to put my xaml code in the html code, but I'd prefer not to. 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: appcfg.py .xaml files (silverlight) mimtype issue
Hi, Does this work if you add the mime_type argument explicitly to the handle? - url: /silverlight static_dir: silverlight mime_type: *applicaition/x-silverlight-app -Marzia * On Fri, Nov 7, 2008 at 4:41 AM, Neo42 [EMAIL PROTECTED] wrote: How do I use the upload tool (appcfg.py) and my app.yaml file to upload .XAML (silverlight) files? Here are the handlers in my yaml: handlers: - url: /stylesheets static_dir: stylesheets - url: /silverlight static_dir: silverlight - url: /.* script: helloworld.py My xaml and such is in the silverlight directory. My appcfg.py command is: appcfg.py update C:\GoogleAppsProjects\HelloWorld When I try to do it I get this: Could not guess mimetype for silverlight/scene.xaml. Using application/octet-stream. And the uploaded xaml file doesn't work. By the way, the localhost version of the app runs fine. It's the upload tool that is screwing something up. I can't figure out how to do it from this page: http://code.google.com/appengine/docs/configuringanapp.html#Static_File_Handlers I'm new to python. Please help. I suppose I could try to put my xaml code in the html code, but I'd prefer not to. 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google Developers Day - Java App Engine. Time line? Hype?
On 22 Ott, 16:47, Andrew Badera [EMAIL PROTECTED] wrote: Probably right after Microsoft makes a major cloud announcement. So you mean _right now_? http://www.microsoft.com/azure/windowsazure.mspx ^_^ Raffaele --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Web Service authentication in App engine
Take a look at http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html#ClientLogin I believe that the service code for appengine is ah. Dado On Nov 6, 9:23 am, OI2engine [EMAIL PROTECTED] wrote: Hi, I am developing an iphone app which is supposed to talk to a web service hosted on app engine.How can i expose a web service which uses google authentication. 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: indexes for and queries
Hi bernd, You are correct, matching on two members of a list (which is how Searchable works) requires the list property to be listed twice in the index. One thing to watch out for, is that there is currently a limit of 5000 index rows per entity (index row counts are described here: http://code.google.com/appengine/docs/datastore/queriesandindexes.html#Big_Entities_and_Exploding_Indexes ) so if you have the same list property mutiple times in your index your indexes may begin to explode. Happy coding, Jeff On Nov 6, 2:30 am, dobee [EMAIL PROTECTED] wrote: if i do this to find any entities that match house and dog i do Searchable.all().filter('content_type =', 'something').filter('words =', 'house').filter('words =', 'dog'). order('c_time') is it right that i need an index for every number of words? so if i want to support searches for cats dogs pets i need an additional index? get_data failed no matching index found. This query needs this index: - kind: Searchable properties: - name: content_type - name: words - name: words - name: c_time direction: desc thx, in advance, bernd --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: No such file or directory
Hi Chris, Thank you for tracking that down. Would you mind filing a Review request in our SDK issue tracker with your patch: http://code.google.com/p/googleappengine/issues/list Before we can accept your patch, you'll need to sign a Contributor License Agreement (CLA). Individual CLA: http://code.google.com/legal/individual-cla-v1.0.html Corporate CLA: http://code.google.com/legal/corporate-cla-v1.0.html Thanks again, Jeff On Nov 6, 10:23 pm, Chris [EMAIL PROTECTED] wrote: This seems to be a bug in app engine, with the way datastore_path is interpreted. Specifically, some code treats datastore_path as relative while other code treats it as absolute. I think this can be fixed by changing line 207 in /google/appengine/ tools/dev_appserver_main.py from: option_dict[ARG_DATASTORE_PATH] = value to: option_dict[ARG_DATASTORE_PATH] = os.path.abspath(value) Chris On Nov 7, 12:45 am, Chris [EMAIL PROTECTED] wrote: I'm saving my local datastore to the same folder as my application code (instead of the default /tmp since this is periodically deleted). When I try to use the .put() method on a model object, I keep getting this error: Traceback (most recent call last): File /home/chris/google_appengine/google/appengine/ext/webapp/ __init__.py, line 501, in __call__ handler.post(*groups) File /home/chris/myapp/views.py, line 102, in post entity.put() File /home/chris/google_appengine/google/appengine/ext/db/ __init__.py, line 618, in put return datastore.Put(self._entity) File /home/chris/google_appengine/google/appengine/api/ datastore.py, line 160, in Put apiproxy_stub_map.MakeSyncCall('datastore_v3', 'Put', req, resp) File /home/chris/google_appengine/google/appengine/api/ apiproxy_stub_map.py, line 46, in MakeSyncCall stub.MakeSyncCall(service, call, request, response) File /home/chris/google_appengine/google/appengine/api/ datastore_file_stub.py, line 305, in MakeSyncCall (getattr(self, _Dynamic_ + call))(request, response) File /home/chris/google_appengine/google/appengine/api/ datastore_file_stub.py, line 353, in _Dynamic_Put self.__WriteDatastore() File /home/chris/google_appengine/google/appengine/api/ datastore_file_stub.py, line 239, in __WriteDatastore self.__WritePickled(encoded, self.__datastore_file) File /home/chris/google_appengine/google/appengine/api/ datastore_file_stub.py, line 291, in __WritePickled os.rename(tmpfile.name, filename) OSError: [Errno 2] No such file or directory Why is this happening and how do I fix it? This doesn't happen when I keep the datastore in /tmp, but then the datastore periodically gets deleted...since it's in /tmp. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google Developers Day - Java App Engine. Time line? Hype?
On 7 Nov, 14:14, Andrew Badera [EMAIL PROTECTED] wrote: No, I think I mean last week, when Azure was announced at PDC, when it was still October. Let's hope this one week ago will came soon :) Raffaele --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Google App Engine setup sequence...
I have an app hosted on google app engine at hogbaysoftware.appspot.com. I also have my domain hogbaysoftware.com setup with google apps. I'd like to connect the two so that I can access my app engine application at www.hogbaysoftware.com. A few months ago I set the same system up for another domain of mine (taskpaper.com), and it's working great. But it doesn't seem to be working, or at least I'm not getting any feedback when I try to set it up for my hogbaysoftware.com domain. I've tried setting things up from both ends (the app engine console) and also from the google apps dashboard. But in both cases nothing seems to happen after I go through the setup process. For example from the google apps dashboard I: 1. Click add more services 2. Enter my app id hogbaysoftware for the Google App Engine service. 3. Click the Add it now button. 4. Accept the agreement, type www for the web address. 5. Click Continue to setup url 6. Add a CNAME pair of www ghs.google.com in my DNS records 7. Click the i've completed these steps button. I don't get any errors, but after pressing that button I'm just sent back to the google apps dashboard without any confirmation message. The google app engine service isn't listed in my dashboard of services. And if I go to my google app engine console, and look at the versions view there's also no indication that any domains are being setup. What should I do next. I've just changed all my DNS records, and I'm worried that my site will go dead when people find my DNS pointing to ghs.google.com, but with nothing setup on the google side. Thanks for any ideas on what to do next. Jesse --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: appcfg.py .xaml files (silverlight) mimtype issue
I got it to work by: 1) Modifying my appcfg.py code. Added a mimetype. Details below. 2) check my html and file names for case (the online google app engine is case sensitive) File: C:\google_appengine\google\appengine\tools\appcfg.py Towards the bottom in function main needs to run this line (i made it the first line): mimetypes.add_type(application/xaml, .xaml) Thanks! On Nov 7, 7:41 am, Neo42 [EMAIL PROTECTED] wrote: How do I use the upload tool (appcfg.py) and my app.yaml file to upload .XAML (silverlight) files? Here are the handlers in my yaml: handlers: - url: /stylesheets static_dir: stylesheets - url: /silverlight static_dir: silverlight - url: /.* script: helloworld.py My xaml and such is in the silverlight directory. My appcfg.py command is: appcfg.py update C:\GoogleAppsProjects\HelloWorld When I try to do it I get this: Could not guess mimetype for silverlight/scene.xaml. Using application/octet-stream. And the uploaded xaml file doesn't work. By the way, the localhost version of the app runs fine. It's the upload tool that is screwing something up. I can't figure out how to do it from this page:http://code.google.com/appengine/docs/configuringanapp.html#Static_Fi... I'm new to python. Please help. I suppose I could try to put my xaml code in the html code, but I'd prefer not to. 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google App Engine setup sequence...
Hi Jesse, Hitting the www address, it seems as though the 'www' mapping is still assigned to sites, even though this isn't obvious in the App's cPanel. I wrote up a quick page on how to disable the 'www' mapping in sites so you can enable it with App Engine: http://groups.google.com/group/google-appengine/web/deleting-existing-www-mapping-from-google-apps -Marzia On Fri, Nov 7, 2008 at 10:51 AM, Jesse Grosjean [EMAIL PROTECTED]wrote: I have an app hosted on google app engine at hogbaysoftware.appspot.com. I also have my domain hogbaysoftware.com setup with google apps. I'd like to connect the two so that I can access my app engine application at www.hogbaysoftware.com. A few months ago I set the same system up for another domain of mine (taskpaper.com), and it's working great. But it doesn't seem to be working, or at least I'm not getting any feedback when I try to set it up for my hogbaysoftware.com domain. I've tried setting things up from both ends (the app engine console) and also from the google apps dashboard. But in both cases nothing seems to happen after I go through the setup process. For example from the google apps dashboard I: 1. Click add more services 2. Enter my app id hogbaysoftware for the Google App Engine service. 3. Click the Add it now button. 4. Accept the agreement, type www for the web address. 5. Click Continue to setup url 6. Add a CNAME pair of www ghs.google.com in my DNS records 7. Click the i've completed these steps button. I don't get any errors, but after pressing that button I'm just sent back to the google apps dashboard without any confirmation message. The google app engine service isn't listed in my dashboard of services. And if I go to my google app engine console, and look at the versions view there's also no indication that any domains are being setup. What should I do next. I've just changed all my DNS records, and I'm worried that my site will go dead when people find my DNS pointing to ghs.google.com, but with nothing setup on the google side. Thanks for any ideas on what to do next. Jesse --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Production env different from development?
Thats it, I don't get a clear error. The Django encoder wouldn't encode my custom business objects - that's why I thought I had to roll my own. Hans On Nov 7, 6:43 pm, Anthony [EMAIL PROTECTED] wrote: Hard to tell without knowing what sort of errors are you getting.. But, have you tried the included Django JSON encoder: from django.utils import simplejson object = simplejson.loads({JSON}) string = simplejson.dumps(object) On Nov 7, 3:22 pm, Hans [EMAIL PROTECTED] wrote: I have the following code to convert common objects to JSON. On my dev box it works fine, but on production is simply does not and I can't really debug. Any suggestions? import types class TestObject(): def __init__(self): self.dict = {'test class':'jaja'} self.name = 'testobject' self.lijst = ['ss','s','jaj'] self.bool = True class JsonEncoder(): ATTRIBUTES_TO_SKIP = ['__doc__','__module__'] @staticmethod def encode(obj): return JsonEncoder._encode(obj, type(obj)) @staticmethod def _encode(obj,type,baseNr = 0): typeCaseSwitch= { types.DictType: JsonEncoder.encodeDict ,types.InstanceType: JsonEncoder.encodeInstance ,types.NoneType: JsonEncoder.encodeNone ,types.StringType: JsonEncoder.encodeStr ,types.UnicodeType: JsonEncoder.encodeStr ,types.ListType: JsonEncoder.encodeList ,types.BooleanType: JsonEncoder.encodeBool ,types.IntType: JsonEncoder.encodeInt ,types.TupleType: JsonEncoder.encodeList } try: return typeCaseSwitch[type](obj) except Exception, inst: if len(obj.__class__.__bases__) 0: baseType = obj.__class__.__bases__[++baseNr] return JsonEncoder._encode(obj, baseType) @staticmethod def encodeDict(obj): result = [] for key in obj: result.append(JsonEncoder.encode(key) + ':' + JsonEncoder.encode(obj[key])) return '{' + ','.join(result) + '}' @staticmethod def encodeList(obj): result = [] for item in obj: result.append(JsonEncoder.encode(item)) return '[' + ','.join(result) + ']' if len(result) 0 else '[]' @staticmethod def encodeBool(obj): return str(obj).lower() @staticmethod def encodeInt(obj): return str(obj) @staticmethod def encodeStr(obj): #obj = obj.replace('/', r'\/') obj = obj.replace('', r'\') obj = obj.replace('\b', r'\b') obj = obj.replace('\f', r'\f') obj = obj.replace('\n', r'') obj = obj.replace('\r', r'') obj = obj.replace('\t', r'') return '' + str(obj).replace('\\','').replace('\','\\ \') + '' @staticmethod def encodeNone(obj): return 'null' @staticmethod def encodeInstance(obj): callableAttribs = [] for attrib in dir(obj): if not callable(getattr(obj, attrib)) and attrib not in JsonEncoder.ATTRIBUTES_TO_SKIP: callableAttribs.append('' + attrib + ':' + JsonEncoder.encode(getattr(obj, attrib))) if len(callableAttribs) 0: return '{' + ','.join(callableAttribs) + '}' --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Permanent Unique User Identifier
Alexander Kojevnikov: Although your plan would function, it offers no protection from email address changes. If the user changes their email address, they would no longer match their original UserProfile (because UserProperty is just a fancy name for string, as it stores only the email address), thus cutting them off from all referenced data. -Ryan --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google App Engine setup sequence...
Thank you very much for your quick reply. Your suggestion seems to have fixed the problem. I now see the app engine service in my google apps dashboard. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Production env different from development?
In order for us to help debug, you need to give us a few more details. If we don't know what's broken, we can't help you fix it :-) Remember, we know a little bit about App Engine, but nothing about your application or how it works. You'll get the best results if you include at least these two details: 1. what you expect to see when it works. 2. what you are seeing instead. Good luck! On Nov 7, 1:56 pm, Hans [EMAIL PROTECTED] wrote: Thats it, I don't get a clear error. The Django encoder wouldn't encode my custom business objects - that's why I thought I had to roll my own. Hans On Nov 7, 6:43 pm, Anthony [EMAIL PROTECTED] wrote: Hard to tell without knowing what sort of errors are you getting.. But, have you tried the included Django JSON encoder: from django.utils import simplejson object = simplejson.loads({JSON}) string = simplejson.dumps(object) On Nov 7, 3:22 pm, Hans [EMAIL PROTECTED] wrote: I have the following code to convert common objects to JSON. On my dev box it works fine, but on production is simply does not and I can't really debug. Any suggestions? import types class TestObject(): def __init__(self): self.dict = {'test class':'jaja'} self.name = 'testobject' self.lijst = ['ss','s','jaj'] self.bool = True class JsonEncoder(): ATTRIBUTES_TO_SKIP = ['__doc__','__module__'] @staticmethod def encode(obj): return JsonEncoder._encode(obj, type(obj)) @staticmethod def _encode(obj,type,baseNr = 0): typeCaseSwitch= { types.DictType: JsonEncoder.encodeDict ,types.InstanceType: JsonEncoder.encodeInstance ,types.NoneType: JsonEncoder.encodeNone ,types.StringType: JsonEncoder.encodeStr ,types.UnicodeType: JsonEncoder.encodeStr ,types.ListType: JsonEncoder.encodeList ,types.BooleanType: JsonEncoder.encodeBool ,types.IntType: JsonEncoder.encodeInt ,types.TupleType: JsonEncoder.encodeList } try: return typeCaseSwitch[type](obj) except Exception, inst: if len(obj.__class__.__bases__) 0: baseType = obj.__class__.__bases__[++baseNr] return JsonEncoder._encode(obj, baseType) @staticmethod def encodeDict(obj): result = [] for key in obj: result.append(JsonEncoder.encode(key) + ':' + JsonEncoder.encode(obj[key])) return '{' + ','.join(result) + '}' @staticmethod def encodeList(obj): result = [] for item in obj: result.append(JsonEncoder.encode(item)) return '[' + ','.join(result) + ']' if len(result) 0 else '[]' @staticmethod def encodeBool(obj): return str(obj).lower() @staticmethod def encodeInt(obj): return str(obj) @staticmethod def encodeStr(obj): #obj = obj.replace('/', r'\/') obj = obj.replace('', r'\') obj = obj.replace('\b', r'\b') obj = obj.replace('\f', r'\f') obj = obj.replace('\n', r'') obj = obj.replace('\r', r'') obj = obj.replace('\t', r'') return '' + str(obj).replace('\\','').replace('\','\\ \') + '' @staticmethod def encodeNone(obj): return 'null' @staticmethod def encodeInstance(obj): callableAttribs = [] for attrib in dir(obj): if not callable(getattr(obj, attrib)) and attrib not in JsonEncoder.ATTRIBUTES_TO_SKIP: callableAttribs.append('' + attrib + ':' + JsonEncoder.encode(getattr(obj, attrib))) if len(callableAttribs) 0: return '{' + ','.join(callableAttribs) + '}' --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] How to pass the password to appcfg.py update in a python script?
The --passin parameter makes it possible to pass the password via stdin to appcfg.py. I have wrote a corresponding Ant target which use this parameter to read the password from a file. Here you can see the core part of this Ant target: ## exec executable=${python} input=${pwd_dir}/ loxal.key arg value=${gae.home}/appcfg.py / arg value=--email=${gae.email} / !-- passin is necessary to supply the password via the inputfile -- arg value=--passin / arg value=update / arg value=${build} / /exec ## If I execute this target the application is automatically uploaded to Google without any password prompt. Now I have wrote a Python method which is trying to do the same: ## def gaeUpdate(self): update the GAE application #password = open('%s/loxal.key' % PWD_DIR).read() args = ( '', '--verbose', '--email=%s' % USER_NAME, #passin is necessary to supply the password via the input file '--passin', 'update', PATH_PRJ_BUILD, ) os.execv('%s/appcfg.py' % PATH_GAE, args) ## But how can I pass the password variable to os.execv? When I call this Python method a password prompt appears. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Observing GAE Scalability (or trying to ...)
I have read all about GAE, watched the interesting Google I/O videos, and written some simple (toy) applications. Now, I would really like to be able to demonstrate to myself, with a simple toy application, that GAE can out-scale what a single dedicated host can do. When I set off on this experiment, I was expecting it to be easy to demonstrate that GAE can handle some request pattern which my PC (temporarily running as a LAMP [with mod_python] box) would grind to a halt on. Perhaps my results are just an artifact of the current quotas, but more likely my test applications are stressing scalability in the directions GAE scales. I'll describe my current approach and let people here help point in the right direction (hopefully). I use a program like htttperf to spawn requests from a cluster of (~20) machines. I specify a page to request, the target request per second rate, and the duration of the test. I also specify a time period over which the requests per second rate grows linearly from 0 to the target. I'm currently trying parameters in the range of 10-20 reqs/ sec for a duration of a few minutes after a ramp-up of a few minutes. I have tried this with three separate toy applications: 1) A python script which sleeps, say for 0.1sec, then returns a trivial page. This was a silly idea b/c the PC simply spawns tons of processes which are doing nothing and easily keeps up with even quite high reqs per sec. GAE dies much sooner since sleeping seems to count against your CPU time. 2) A python script which generates a random number through an process which is intentionally slow -- so that it takes about 0.1sec on both my PC and GAE for an individual request. At 20 reqs/sec, it seems like the (dual-corE) PC should die as requests come in faster than it can handle them while GAE should be able to scale -- but GAE ends up going over quota. Maybe I need to revisit the ramping up process and make sure it is really working like I think? 3) Use a DB with string-integer pairs. The strings are an average of 50B. Have a python script which queries for the first N records greater than some random string. Then return the sum of some of the integers from these N records (randomly chosen). The PC is running MySQL and does the same select, and does the summation by iterating over the N records like the GAE app to be fair (SQL could probably be even faster by doing the aggregation in the query rather than in python). With N=20 and the DB having about 300k records, GAE unfortunately times out while the PC version is almost instantaneous (for individual requests). What ideas do you have for demonstrating that GAE can scale better than PC, at least under certain conditions? I have no doubt that I'm missing something. For now, I'm going to focus on the ramp-up portion and make sure that's working correctly, though I imagine there are probably better approaches than the above three for trying to demonstrate this and I'd love to hear your thoughts. :) Thanks. ~ David --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to pass the password to appcfg.py update in a python script?
On Fri, Nov 7, 2008 at 11:29 AM, Alexander Orlov [EMAIL PROTECTED] wrote: os.execv('%s/appcfg.py' % PATH_GAE, args) Check the Python documentation, because you've misunderstood os.execv. You'll want to use os.popen instead. Dave. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: No such file or directory
Hi Chris, If you are interested in having this change be considered for implementation in to the SDK, you should sign a CLA and submit the patch in the issue tracker. Details can be found here: http://groups.google.com/group/google-appengine/web/how-to-submit-a-patch-to-the-sdk -Marzia On Thu, Nov 6, 2008 at 10:23 PM, Chris [EMAIL PROTECTED] wrote: This seems to be a bug in app engine, with the way datastore_path is interpreted. Specifically, some code treats datastore_path as relative while other code treats it as absolute. I think this can be fixed by changing line 207 in /google/appengine/ tools/dev_appserver_main.py from: option_dict[ARG_DATASTORE_PATH] = value to: option_dict[ARG_DATASTORE_PATH] = os.path.abspath(value) Chris On Nov 7, 12:45 am, Chris [EMAIL PROTECTED] wrote: I'm saving my local datastore to the same folder as my application code (instead of the default /tmp since this is periodically deleted). When I try to use the .put() method on a model object, I keep getting this error: Traceback (most recent call last): File /home/chris/google_appengine/google/appengine/ext/webapp/ __init__.py, line 501, in __call__ handler.post(*groups) File /home/chris/myapp/views.py, line 102, in post entity.put() File /home/chris/google_appengine/google/appengine/ext/db/ __init__.py, line 618, in put return datastore.Put(self._entity) File /home/chris/google_appengine/google/appengine/api/ datastore.py, line 160, in Put apiproxy_stub_map.MakeSyncCall('datastore_v3', 'Put', req, resp) File /home/chris/google_appengine/google/appengine/api/ apiproxy_stub_map.py, line 46, in MakeSyncCall stub.MakeSyncCall(service, call, request, response) File /home/chris/google_appengine/google/appengine/api/ datastore_file_stub.py, line 305, in MakeSyncCall (getattr(self, _Dynamic_ + call))(request, response) File /home/chris/google_appengine/google/appengine/api/ datastore_file_stub.py, line 353, in _Dynamic_Put self.__WriteDatastore() File /home/chris/google_appengine/google/appengine/api/ datastore_file_stub.py, line 239, in __WriteDatastore self.__WritePickled(encoded, self.__datastore_file) File /home/chris/google_appengine/google/appengine/api/ datastore_file_stub.py, line 291, in __WritePickled os.rename(tmpfile.name, filename) OSError: [Errno 2] No such file or directory Why is this happening and how do I fix it? This doesn't happen when I keep the datastore in /tmp, but then the datastore periodically gets deleted...since it's in /tmp. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: “bad request error 400” w hen i bind my domain name to the application
Hi, Are you able to access this page at all directly? https://appengine.google.com/deployment/newdomain?app_id=[YOUR_APP_ID] If not, can you add the domain through your cPanel? In the dashboard, what happens when you click 'Add more services' and try to add your App Engine app through the Apps interface? If none of these work, can you please provide your App Id so that I can further investigate what might be causing the issue? -Marzia On Fri, Nov 7, 2008 at 6:45 AM, papa [EMAIL PROTECTED] wrote: nobody care about this? On 11月7日, 下午10时14分, papa [EMAIL PROTECTED] wrote: hi, I hava a domain name and the google app service, now I want to bind a application of the app engine to the domain, but when I click the Add Domain... button on the Version page, it show me a new page with Bad Request Error 400 on it!!! ps: I have change the google app to next generation and make it default language to en-us --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Need help displaying images
I need help displaying images upload from the web that is store in a db.model..does anyone have any example other then the one from google??? thank you!! --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to pass the password to appcfg.py update in a python script?
I suggest the subprocess module for consistant process invocation in all circumstances. On Nov 7, 2008 3:07 PM, David Symonds [EMAIL PROTECTED] wrote: On Fri, Nov 7, 2008 at 11:29 AM, Alexander Orlov [EMAIL PROTECTED] wrote: os.ex... Check the Python documentation, because you've misunderstood os.execv. You'll want to use os.popen instead. Dave. --~--~-~--~~~---~--~~ You received this message because you are sub... --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] validation of GET/POST data in URL handlers
Every URL an app-engine app handles is public since it appears in the URL bar in the browser. So even if it begins with _ or is strangely spelled a user could use the back button or history and directly edit a URL, then submit it and likely cause an error unless everything is validated. Is it good practice to validate every piece of data coming in to a URL handler by GET or POST and not assume anything? Or accept a small number of errors when people do stupid things.I can certainly validate everything but it obscures the code. 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Observing GAE Scalability (or trying to ...)
David Underhill wrote: What ideas do you have for demonstrating that GAE can scale better than PC, at least under certain conditions? The problem with your first two tests is that they scale easily in any environment. Just add more servers as necessary. The problem with the third test is that it tests how complex of a query can be handled in a single request. Google App Engine allows your app scale to handle millions of requests. It doesn't help your app handle bigger and bigger queries. Ross Ridge --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Need help displaying images
http://simpleviewer4gae.appspot.com/ Code source (manage part) Regards On 7 nov, 21:03, webappnoob [EMAIL PROTECTED] wrote: I need help displaying images upload from the web that is store in a db.model..does anyone have any example other then the one from google??? thank you!! --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Observing GAE Scalability (or trying to ...)
On Nov 7, 1:21 pm, Ross Ridge [EMAIL PROTECTED] wrote: The problem with your first two tests is that they scale easily in any environment. Just add more servers as necessary. True, but adding extra servers starts to get complicated -- something GAE gives you for free. The test seems (superficially at least) to be reasonable when GAE is pitted against a single server. The problem with the third test is that it tests how complex of a query can be handled in a single request. Google App Engine allows your app scale to handle millions of requests. It doesn't help your app handle bigger and bigger queries. Fair enough -- so would a better test mean a database with many fewer rows? Then the reqs/sec would have to be pretty high to stress out the PC doing simple queries ... but still seems like it should be possible in principle. ~ David --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Permanent Unique User Identifier
Ryan, I see now. It looks like Google is going to fix this in the future, see the last paragraph on this page: http://code.google.com/appengine/docs/users/userobjects.html I couldn't find an issue for this, adding one would speed this up... Alex On Nov 8, 6:09 am, Ryan Lamansky [EMAIL PROTECTED] wrote: Alexander Kojevnikov: Although your plan would function, it offers no protection from email address changes. If the user changes their email address, they would no longer match their original UserProfile (because UserProperty is just a fancy name for string, as it stores only the email address), thus cutting them off from all referenced data. -Ryan --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Observing GAE Scalability (or trying to ...)
Fair enough -- so would a better test mean a database with many fewer rows? Then the reqs/sec would have to be pretty high to stress out the PC doing simple queries ... but still seems like it should be possible in principle. I would set up a Kind with a lot of entities (100K+) and ran a query that just returns a few of them (~20) using a composite index (2-4 fields). This should look like an average datastore hit by an average web app. Nevertheless, I like what you are doing. Please keep us updated! --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Permanent Unique User Identifier
Google openid already supports persistent id independent of user name or email address. http://code.google.com/apis/accounts/docs/OpenID.html On Nov 7, 5:56 pm, Alexander Kojevnikov [EMAIL PROTECTED] wrote: Ryan, I see now. It looks like Google is going to fix this in the future, see the last paragraph on this page:http://code.google.com/appengine/docs/users/userobjects.html I couldn't find an issue for this, adding one would speed this up... Alex On Nov 8, 6:09 am, Ryan Lamansky [EMAIL PROTECTED] wrote: Alexander Kojevnikov: Although your plan would function, it offers no protection from email address changes. If the user changes their email address, they would no longer match their original UserProfile (because UserProperty is just a fancy name for string, as it stores only the email address), thus cutting them off from all referenced data. -Ryan --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Purchased domain via Google Apps. How to host my appengine app on this domain?
I'd like to map my app to http://myurl.com (also known as a naked domain). I purchased a domain via Google Apps. As far as I can tell I only found the option to host my AppEngine app on a subdomain of the purchased domain! Please please please tell me I can also host it directly on the naked domain, i.e. something like http://myurl.com thx...jago --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Purchased domain via Google Apps. How to host my appengine app on this domain?
Hi, This is currently not possible: http://code.google.com/appengine/kb/commontasks.html#naked_domain -Marzia On Fri, Nov 7, 2008 at 4:59 PM, jago [EMAIL PROTECTED] wrote: I'd like to map my app to http://myurl.com (also known as a naked domain). I purchased a domain via Google Apps. As far as I can tell I only found the option to host my AppEngine app on a subdomain of the purchased domain! Please please please tell me I can also host it directly on the naked domain, i.e. something like http://myurl.com thx...jago --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Purchased domain via Google Apps. How to host my appengine app on this domain?
Why did I register this domain if I then can't host my app there? Has Google gone insane? I was possible for a long time! I cannot believe they did this :((( Any idea if it will ever be possible to host the app directly on a naked domain? On Nov 8, 2:02 am, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi, This is currently not possible:http://code.google.com/appengine/kb/commontasks.html#naked_domain -Marzia On Fri, Nov 7, 2008 at 4:59 PM, jago [EMAIL PROTECTED] wrote: I'd like to map my app tohttp://myurl.com(also known as a naked domain). I purchased a domain via Google Apps. As far as I can tell I only found the option to host my AppEngine app on a subdomain of the purchased domain! Please please please tell me I can also host it directly on the naked domain, i.e. something likehttp://myurl.com thx...jago --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Observing GAE Scalability (or trying to ...)
David Underhill wrote: Fair enough -- so would a better test mean a database with many fewer rows? No. Then the reqs/sec would have to be pretty high to stress out the PC doing simple queries ... but still seems like it should be possible in principle. I don't see why you think testing the scalability of a single PC is useful. It will hit some limit or another and then start dropping requests. That means any solution limited to using just one PC has *no* scalability. If you're really asking if it would be better to host your application on a PC in your basement or on Google App Engine, then it depends on what your application does. If your application needs to scale to handle an unbounded number of requests then GAE is likely to be the better choice. If your application is compute heavy or needs to perform a complex series of queries and updates then GAE may not be able to handle a single request. Ross Ridge --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Purchased domain via Google Apps. How to host my appengine app on this domain?
I guess part of the reason is dns does not support domain name cname. Even google.com itself is just a redirect to www.google.com On Nov 7, 8:33 pm, jago [EMAIL PROTECTED] wrote: Why did I register this domain if I then can't host my app there? Has Google gone insane? I was possible for a long time! I cannot believe they did this :((( Any idea if it will ever be possible to host the app directly on a naked domain? On Nov 8, 2:02 am, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi, This is currently not possible:http://code.google.com/appengine/kb/commontasks.html#naked_domain -Marzia On Fri, Nov 7, 2008 at 4:59 PM, jago [EMAIL PROTECTED] wrote: I'd like to map my app tohttp://myurl.com(alsoknown as a naked domain). I purchased a domain via Google Apps. As far as I can tell I only found the option to host my AppEngine app on a subdomain of the purchased domain! Please please please tell me I can also host it directly on the naked domain, i.e. something likehttp://myurl.com thx...jago --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Purchased domain via Google Apps. How to host my appengine app on this domain?
just to help you a bit with the anger management: While it was possible, it was never recommended (by those I would consider experts), because only with subdomains you had geolocation distributed / optimized service (with naked domain it was statically wired to the servers) regards Roberto On Nov 7, 11:33 pm, jago [EMAIL PROTECTED] wrote: Why did I register this domain if I then can't host my app there? Has Google gone insane? I was possible for a long time! I cannot believe they did this :((( Any idea if it will ever be possible to host the app directly on a naked domain? On Nov 8, 2:02 am, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi, This is currently not possible:http://code.google.com/appengine/kb/commontasks.html#naked_domain -Marzia On Fri, Nov 7, 2008 at 4:59 PM, jago [EMAIL PROTECTED] wrote: I'd like to map my app tohttp://myurl.com(alsoknown as a naked domain). I purchased a domain via Google Apps. As far as I can tell I only found the option to host my AppEngine app on a subdomain of the purchased domain! Please please please tell me I can also host it directly on the naked domain, i.e. something likehttp://myurl.com thx...jago --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Purchased domain via Google Apps. How to host my appengine app on this domain?
On Sat, Nov 8, 2008 at 12:02 AM, jago wrote: At least from my tests so far Google Apps does not allow me to host the AppEngine app directly on www.example.com but enforces me to define a subdomain. Am I wrong? yes. there are many app engine apps out there using a www subdomain. this is perfectly possible. and since we are on this, anybody knows the technical reasons why it is not possible to have a *.domain.com pointing to a app in app engine? i tried a silly workaround, pointing www.domain.com to google, and then pointing *.domain.com to www.domain.com, but it didn't work. silly because afaik it is not possible to point wildcard subdomains to cnames. :-P do you think this will be possible anytime in the future? i wanted to setup an app using user1.domain.com, user2.domain.com etc, like others here (see issue #113: http://code.google.com/p/googleappengine/issues/detail?id=113) -- 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Purchased domain via Google Apps. How to host my appengine app on this domain?
okok...I know. Google calls them 'access URLs' but a common although wrong term is subdomain. let me rephrase my question: Is it possible if I purchased www.example.com from Google to directly make my AppEngine app accessible if people type in there URL field: www.example.com ? However they should not be re-directed to www.myapp.example.com but directly stay at www.example.com where the AppEngine app is. Is this possible? How? So far Google Apps only allows me to make my AppEngine app accessible at: www.myapp.example.com Thanks...jago On Nov 8, 3:06 am, Roberto Saccon [EMAIL PROTECTED] wrote: I think you don't know what a subdomain is: www.example.comis a subdomain --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Observing GAE Scalability (or trying to ...)
Here's my take on what David is really asking: Is there any black box test we as users can design, right now, to prove app engine can handle higher loads than a commodity PC. While it may not be super useful, it is an interesting thought experiment. For all we know, each of our apps is running on a PC in marzia's basement :) Does the app engine team share any stories they can share about internal load tests they've done, and how many millions of simultaneous requests their app was serving? On Nov 7, 8:49 pm, Ross Ridge [EMAIL PROTECTED] wrote: David Underhill wrote: Fair enough -- so would a better test mean a database with many fewer rows? No. Then the reqs/sec would have to be pretty high to stress out the PC doing simple queries ... but still seems like it should be possible in principle. I don't see why you think testing the scalability of a single PC is useful. It will hit some limit or another and then start dropping requests. That means any solution limited to using just one PC has *no* scalability. If you're really asking if it would be better to host your application on a PC in your basement or on Google App Engine, then it depends on what your application does. If your application needs to scale to handle an unbounded number of requests then GAE is likely to be the better choice. If your application is compute heavy or needs to perform a complex series of queries and updates then GAE may not be able to handle a single request. Ross Ridge --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Purchased domain via Google Apps. How to host my appengine app on this domain?
On Sat, Nov 8, 2008 at 12:20 AM, jago wrote: let me rephrase my question: Is it possible if I purchased www.example.com from Google to directly make my AppEngine app accessible if people type in there URL field: www.example.com ? However they should not be re-directed to www.myapp.example.com but directly stay at www.example.com where the AppEngine app is. Is this possible? How? set the domain you want to point in the service settings for the the app, as described here: http://www.google.com/support/a/bin/answer.py?hl=enanswer=91080 -- 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Purchased domain via Google Apps. How to host my appengine app on this domain?
Just set url to www in your app setting. On Nov 7, 9:20 pm, jago [EMAIL PROTECTED] wrote: okok...I know. Google calls them 'access URLs' but a common although wrong term is subdomain. let me rephrase my question: Is it possible if I purchasedwww.example.com from Google to directly make my AppEngine app accessible if people type in there URL field:www.example.com? However they should not be re-directed towww.myapp.example.combut directly stay atwww.example.com where the AppEngine app is. Is this possible? How? So far Google Apps only allows me to make my AppEngine app accessible at:www.myapp.example.com Thanks...jago On Nov 8, 3:06 am, Roberto Saccon [EMAIL PROTECTED] wrote: I think you don't know what a subdomain is: www.example.comisa subdomain --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Purchased domain via Google Apps. How to host my appengine app on this domain?
On Nov 8, 3:29 am, Rodrigo Moraes [EMAIL PROTECTED] wrote: On Sat, Nov 8, 2008 at 12:20 AM, jago wrote: let me rephrase my question: Is it possible if I purchasedwww.example.com from Google to directly make my AppEngine app accessible if people type in there URL field:www.example.com? However they should not be re-directed towww.myapp.example.combut directly stay atwww.example.com where the AppEngine app is. Is this possible? How? set the domain you want to point in the service settings for the the app, as described here: http://www.google.com/support/a/bin/answer.py?hl=enanswer=91080 Thanks but I know this like already and also the service settings page. It is impossible to directly make my AppEngine app accessible at: www.example.com I can only make it accessible at some longer access URL like: www.myapp.example.com Please proof me wrong, I would honestly appreciate it. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Question about Shell (Featured App)
I'm really sorry if it sounded that way, so please do not take it this way. I have made some changes according to my above comments and it looks like it is working as expected. Now I am not really sure the changes are perfectly 'pythonic' (as I'm no expert), but here is what I've done: FrontPageHandler: def get(self): if not users.get_current_user(): return self.error(403) # set up the session. TODO: garbage collect old shell sessions session_key = self.request.get('session') if session_key: session = Session.get(session_key) if not session_key or not session: # create a new session session = Session() session.unpicklables = [db.Text(line) for line in INITIAL_UNPICKLABLES] session_key = session.put() self.redirect(ROOT_PATH + '/shell?session=%s' % session_key) # rest is identical def post(self): user = users.get_current_user() if not user: return self.error(403) session_key = self.request.get('session') if session_key: Session.get(session_key).delete() self.redirect(users.create_logout_url(ROOT_PATH + '/shell')) and plugged the post method to the Logout action. Indeed the post method should check if the session object actually exists before attempting to delete it. I'm opened to all comments, opinions and ideas. ./alex On Nov 8, 5:33 am, yejun [EMAIL PROTECTED] wrote: Your expectation on a sample is a little bit too high. On Nov 7, 9:59 pm, Alex Popescu [EMAIL PROTECTED] wrote: I was looking at Shell, the Featured app available here [1] and I have a couple of questions related to its 'Session' management. 1. I think that the FrontPageHandler should redirect to the URL containing the newly created 'Session' session key, otherwise any page refresh would lead to a new 'Session' 2. it looks like the Sessions are persisted forever in the storage and there is no way to clean them out (automatically). It looks like the only way to do it is to run at the end of your 'scripting' session a db.delete(Session.all().fetch(10)). Maybe there should be a 'Logout' button that also takes care of this clean up. Thanks in advance for your comments, ./alex [1]http://code.google.com/p/google-app-engine-samples/downloads/list --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google App Engine bloggers?
Jens has a good blog: http://blog.appenginefan.com/ These blogs aren't really updated anymore: http://kupuguy.blogspot.com/ http://appengineguy.com/ The cookbook and articles at the main App Engine site, though, are the best resources IMHO. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Where should I report a persistent 500 Server error?
I am wondering where should I report a persisting 500 Server error: [quote] Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please report your problem and mention this error message and the query that caused it. [/quote] I have deployed a new major version of my app and I've tried to test it either by using the versioned url and then by making this new version the default one. Both attempts are resulting in the above error. Any ideas? ./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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google App Engine bloggers?
Just type appengine at blogsearch.google.com and subscribr with your feed reader at the resulting URL, you will get anything posted about appengine (it is not that much right now with that query) regards Roberto On Nov 8, 2:04 am, Bill [EMAIL PROTECTED] wrote: Jens has a good blog:http://blog.appenginefan.com/ These blogs aren't really updated anymore:http://kupuguy.blogspot.com/http://appengineguy.com/ The cookbook and articles at the main App Engine site, though, are the best resources IMHO. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Observing GAE Scalability (or trying to ...)
David Underhill wrote: Exactly. It is just a simple thought experiment. It seems utterly pointless to me. Google App Engine has the potential to scale, a single PC doesn't. There's your thought experiment. You haven't observed anything about GAE's scalability by testing the performance of a PC. (Which I thought was real, not imaginary.) Ross Ridge --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: entity number
On Fri, Nov 7, 2008 at 7:27 PM, lws68825 [EMAIL PROTECTED] wrote: Can anyone help me on getting the number of entity of a certain model? Please search this list for sharded counter. Dave. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Where should I report a persistent 500 Server error?
Did you check the error log in your admin control panel? On Nov 8, 3:05 pm, Alex Popescu [EMAIL PROTECTED] wrote: I am wondering where should I report a persisting 500 Server error: [quote] Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please report your problem and mention this error message and the query that caused it. [/quote] I have deployed a new major version of my app and I've tried to test it either by using the versioned url and then by making this new version the default one. Both attempts are resulting in the above error. Any ideas? ./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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to upload file from local directory?
It seems, this because the current appengine use older than Django 1.0? GAE has Django 0.96 built-in and it looks like newforms in 0.96 doesn't have the FileField. If you want it you should include Django 1.0 with your project. You can use app-engine-patch to ease the process. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: validation of GET/POST data in URL handlers
I will learn about those, thanks. But there's still an AppEngine-specific version of the question: does Django as supported on AppEngine have any useful validation features, or are they in the part of Django that is not supported? Anyone got examples that prevent attacks? I validated most things with JavaScript, which helps the real user, but I see that it won't do any good against a malicious user. On Nov 7, 7:59 pm, Peter Recore [EMAIL PROTECTED] wrote: This question is not app engine specific. Users can request a GET or POST with whatever values they want regardless of the underlying technology. You should google Cross Site Scripting and SQL Injection to learn about the various evil things users can do to you if you don't validate your inputs. most web frameworks have forms libraries that can simplify much of the validation. -peter On Nov 7, 4:14 pm, adrian [EMAIL PROTECTED] wrote: Every URL an app-engine app handles is public since it appears in the URL bar in the browser. So even if it begins with _ or is strangely spelled a user could use the back button or history and directly edit a URL, then submit it and likely cause an error unless everything is validated. Is it good practice to validate every piece of data coming in to a URL handler by GET or POST and not assume anything? Or accept a small number of errors when people do stupid things. I can certainly validate everything but it obscures the code. 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: validation of GET/POST data in URL handlers
On Fri, Nov 7, 2008 at 9:35 PM, adrian [EMAIL PROTECTED] wrote: I will learn about those, thanks. But there's still an AppEngine-specific version of the question: does Django as supported on AppEngine have any useful validation features, or are they in the part of Django that is not supported? Anyone got examples that prevent attacks? Django is not App Engine-specific. Dave. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google App Engine bloggers?
Thanks for the responses. I will check them out. --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: indexes for and queries
In ext/search On Nov 8, 1:24 am, Andy Freeman [EMAIL PROTECTED] wrote: Where is Searchable defined? (Windows explorer search won't look at contents of .py files) On Nov 6, 2:30 am, dobee [EMAIL PROTECTED] wrote: if i do this to find any entities that match house and dog i do Searchable.all().filter('content_type =', 'something').filter('words =', 'house').filter('words =', 'dog'). order('c_time') is it right that i need an index for every number of words? so if i want to support searches for cats dogs pets i need an additional index? get_data failed no matching index found. This query needs this index: - kind: Searchable properties: - name: content_type - name: words - name: words - name: c_time direction: desc thx, in advance, bernd --~--~-~--~~~---~--~~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---