[google-appengine] Re: Entities question
Chen, Some differences between using an Ownership model and using a list of references to CDs in a User entity: 1) You can store info associated with Ownership as mentioned in my previous message. So if you want to print all the CD titles owned by a user, you could denormalize CD titles and duplicate that information in Ownership entities. Then, you do a query on Ownership entities filtering for a specific User and the titles would be fetched. In the list of references, you'd have to actually retrieve each CD title or store titles in the single User entity, which leads us to #2... 2) There's a cap on number of indexed properties. See http://groups.google.com/group/google-appengine/browse_thread/thread/d5f4dcb7d00ed4c6 I haven't tested this yet, but the cap on indexed properties will really hamper your ability to have huge reference lists within a User entity. However, you could pickle/serialize your CD data into a blob or text property which aren't indexed. If you start storing the CD lists as blobs, though, you lose the ability to do queries like "Show me all users that own CD X" On Jan 16, 11:05 pm, Chen Harel wrote: > Bill if I use an ownership model, > How do you fetch all the cds of a user? > you select on Ownership, then get the tuples with user id / cd id > Now you need to fetch many cd id from the CD entity.. > So what's the difference? > If you store them as a list of IDs in the User, you still have to go > over the CD and fetch for every ID, > This still doesn't allow you to properly index your data, does it? > > On Jan 16, 8:14 pm, Bill wrote: > > > > I'm not sure I've followed you with whole Ownership model.. > > > Isn't that a RDBMS approach to the data and not BigTable's? > > > The two approaches aren't mutually exclusive. In the case of User <-> > > CD, a User can have thousands or more CDs and a CD could be purchased > > by millions. Under those circumstances, storing the ownership > > relationship in a list of references under either User or CD entities > > will really impact performance. > > > In Rafe Kaplan's article he says: > > "Another more important one is that you want to avoid storing overly > > large lists of keys in a ListProperty." > > > The straightforward alternative is a separate Ownership model and now > > there's a separate issue of constructing a transaction that handles > > updating your genre counter upon a successful Ownership change. > > > It'll be interesting if someone comes up with another approach, maybe > > using multiple User entities (under one entity group) that all map to > > a single user, with each User entity holding a subset of all the CDs > > and genre counters. --~--~-~--~~~---~--~~ 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] Load Quota
I'm trying to understand if when the application will be public, it will exceed quota. At the moment I'm test it by myself and I get some concerning data from the Current Load panel in the Dashboard. In fact the main script of the app shows me the current data: Requests last 3 hrs Avg CPU last hr % CPU last 3 hrs 110 662 99% The % CPU is definitely concerning since I tested the application alone in few minutes and got to the 99% for the last 3hrs!!! Unfortunately the mentioned script returns more than 2k entities, each request returns 50 and they are executed as soon the client application start if the local cached data is older than a day. I understand that this kind of application/approach is not the most suitable for GAE CPU limits, and I for this reason I cache the results with memcache for an hour. I am definitely concerned about the suitability of GAE for this kind of application. What is your opinion? Is GAE gonna be able to handle it of I have to change totally approach? (loading lazily all the records) Thanks, chr --~--~-~--~~~---~--~~ 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: App Engine Gurus
Congrats to Alex & Bill. This is well deserved recognition. -- Alex http://sharp-developer.net/ On Jan 15, 8:12 pm, "Daniel O'Brien (Google)" wrote: > Hello everyone, > > Some of you may have noticed the recent addition of a "guru" listing > at the top of our main groups page. We've selected a few top > contributors to the App Engine community to act as App Engine Gurus. > Gurus will continue to post normally in the group, but are now > officially noted for their excellent contributions. The gurus were > selected based on their eagerness to participate in the App Engine > community as a whole and their advanced knowledge of the API. > > The newly appointed Gurus are: > > - Alexander Kojevnikov > - Bill Katz > > Google will continue posting normally alongside the gurus. Our primary > focus is to help developers using the API, and the gurus will help > with that focus by continuing to help provide knowledge and answers to > those who ask. Remember that this list isn't fixed. Gurus who stop > participating may be removed, and others who demonstrate the level of > expertise and willingness to participate may be added. > > If anyone has any questions, feel free to reply, contact me directly, > or send a message to the group's owners list. > > Daniel O'Brien --~--~-~--~~~---~--~~ 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: App Engine Gurus
great On Sat, Jan 17, 2009 at 8:56 PM, Sharp-Developer.Net < alexander.trakhime...@gmail.com> wrote: > > Congrats to Alex & Bill. > > This is well deserved recognition. > -- > Alex > http://sharp-developer.net/ > > On Jan 15, 8:12 pm, "Daniel O'Brien (Google)" wrote: > > Hello everyone, > > > > Some of you may have noticed the recent addition of a "guru" listing > > at the top of our main groups page. We've selected a few top > > contributors to the App Engine community to act as App Engine Gurus. > > Gurus will continue to post normally in the group, but are now > > officially noted for their excellent contributions. The gurus were > > selected based on their eagerness to participate in the App Engine > > community as a whole and their advanced knowledge of the API. > > > > The newly appointed Gurus are: > > > > - Alexander Kojevnikov > > - Bill Katz > > > > Google will continue posting normally alongside the gurus. Our primary > > focus is to help developers using the API, and the gurus will help > > with that focus by continuing to help provide knowledge and answers to > > those who ask. Remember that this list isn't fixed. Gurus who stop > > participating may be removed, and others who demonstrate the level of > > expertise and willingness to participate may be added. > > > > If anyone has any questions, feel free to reply, contact me directly, > > or send a message to the group's owners list. > > > > Daniel O'Brien > > > -- Stay hungry,Stay foolish. --~--~-~--~~~---~--~~ 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 Android developer curious about app engine
Yes, it seems like App Engine itself may be the way to go. It appears that Google sites has a limit to how many hits a site can receive , and there is no way to increase it, even through payment. I've installed python in my Eclipse IDE, and will play with the code and the tutorials. On Jan 16, 10:55 pm, Geoffrey Spear wrote: > Yes, you just need to use Google Apps rather than signing up for a > personal Sites account. > > On Jan 16, 10:02 am, madcoder wrote: > > > I'm impressed with what Google has done with their sites project! It > > looks as though they have made site development easy, WYSIWYG-style. > > > It seems to be perfect for what I'm looking for. A question about it > > though. Can I have my URL (e.g.,www.example.com) go to my Google > > Site? I found this: > > > Google Apps administrators can change the URL for any public site in > > Google Sites. Using "example.com" as the example domain, and example- > > site as the site, the standard URL for a site > > is,http://sites.google.com/a/example.com/example-site. This could be > > changed tohttp://www.example.comthroughthe Google Apps control > > panel. > > > 1. Access the Site Settings screen in the Google Apps control panel > > 2. Select the "Web Address mapping" tab > > 3. Select "Add a new web address" > > 4. Enter the location of the site you want to map (example-site in > > the example above) > > 5. Enter the sub-domain you wish to map it to (www in the example > > below) > > 6. Select add mapping and follow the instructions provided. > > Depending on your domain registrar you might need to make CNAME > > changes. You will be provided directions after you select "Add > > mapping" to do this if required. > > > Note: there can be up to a 24 hour delay for these changes to > > propagate. > > > This can be done for private sites as well, but users will be > > redirected to the standard URL. So users could access a private site > > viahttp://private-wiki.example.combutwould be redirected to the > > standard URL ofhttp://sites.google.com/a/example.com/private-wiki. > > > So am I able to have my (already purchased) domain name go > > automatically go to my Google generated site, or is this not possible? > > > Thanks for the great tip, I'll be looking further into 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] StingListProperty and bulkLoad
Documentation on bulkLoad is sparse. I have found a couple of blog posts that have been helpful and I have my bulkLoaders running. Where I am stuck is in how to bulkLoad a StringListProperty element. Is there a format that I can put in the CSV that will get parsed into a 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Is there any plan or schedule to support naked name
I have a link shortener on AppEngine at urlzen.com. Is that what you mean by a naked domain? On Jan 16, 8:31 am, zitiger wrote: > I try to create a site similar with tinyurl.com, but i found i can not > use a naked > domain. If i usewww.mydomain.com, it seems that is too long for me. > > if you are also interesting in this feather, pls vote it > athttp://code.google.com/p/googleappengine/issues/detail?id=777 --~--~-~--~~~---~--~~ 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 do it without using javascript?
On Sat, Jan 17, 2009 at 2:03 AM, arnie wrote: > > Using a wsgi application and without using javascript is it possible > to calculate the latitude and longitude of a physical address using > Google Maps API? Of course. > If yes then how? See my code below. > I have searched a lot but finds only javascript references. That's because they're doing it from the browser. You want to do it from the server. > My requirement is to fetch Latitude/Longitude values when the physical > address information is being saved in > datastore using a wsgi application I'm doing the exact same thing. Are you stealing my Million Dollar Idea? :-) > Any idea? Here's how I do it: def genGeocode(self): key=" Your Google Maps API Key goes here" url=' http://maps.google.com/maps/geo?q='+self.address+'&output=xml&key='+key result2 = urlfetch.fetch(url) dom2 = minidom.parseString(result2.content) geo_status =int(dom2.getElementsByTagName("code") [0].childNodes[0].data) #check to see if google was able to find the coordinates for the street address if geo_status == 200: coord = dom2.getElementsByTagName("coordinates") [0].childNodes[0].data split_coord = coord.rsplit(",") longitude=(split_coord[0]) latitude=(split_coord[1]) self.geoPoint=latitude+""+longitude self.geoHash = Geohash((latitude, longitude)) return 1 Any suggestion to improve my code are greatly appreciated. -- Faber Fedor Cloud Computing New Jersey http://cloudcomputingnj.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 do GqlQuery since OR is not supported
Hi, This is probably (hopefully!) simple and lack of caffeine has me lost. I want to do a query such as: select * from profile where (nickname >= searchname AND nickname < searchname+'z') OR (fullname >= searchname AND fullname < searchname +'z') my model is: class profile (db.Model): nickname = db.StringProperty() fullname = db.StringProperty() searchname would be something like 'dav' and the query would pick up all records such that: record 1: nickname = 'david', fullname = 'gus' record 2: nickname = 'gus', fullname = 'dave' record 3: nickname = 'phil', fullname = 'gus david'*** This may be asking for too much. Is it? Any help is greatly appreciated! thx, 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 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 Privacy
Hi Marzai, Thanks for the detailed response. It would be great to get those clarifications included in the terms of service and/or privacy policy. I can see from my post rating that some people don't share my concern, but data privacy is probably the number one barrier to commercial cloud adoption at the moment. Clear legal statements are always better than implied trust, or clarifications made in forums. I don't doubt that the constraints you have outlined are correct, but I read the privacy policy and terms of service to say something significantly different. The privacy policy explicitly lists content (including code) and says this - 'We use this information internally to deliver the best possible service to you, such as improving the Google App Engine user interface and maintaining a consistent and reliable user experience.' The terms of service say this (in section 8, which overrides any rights outlined in section 6) - 'By submitting, posting or displaying the Content on or through the Service you give Google a worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute such Content for the sole purpose of enabling Google to provide you with the Service in accordance with its privacy policy.' When you put these two statements together, Google is able to reproduce, adapt and modify developer contributed code to improve your UI, and explicitly *does not* require content owner's permission. Apparently that permission is given once the data is uploaded. I'm not trying to be difficult - that is actually what it says - and those documents are actually what business look at when making decisions. I realise that the terms of service and privacy policy are produced by the legal team and not the engineering team, and the legal guys have a responsibility to protect Google from liability and litigation. Perhaps the legal team isn't fully aware of the importance of data security to GAE adoption. It is probably the engineering team's responsibility to raise that awareness. It seems clear to me that Google's strategy is to market GAE applications to its Google Apps customers. Both offerings sustain each other, and the delivery of the reseller program is a hint that this ecosystem is well on its way to being opened up. If you want an abundance of vendor supplied, commercial quality applications in that ecosystem, then data security needs to be much more clearly respected in the legal documentation. Thanks, Colin On Jan 16, 5:23 pm, Marzia Niccolai wrote: > Hi, > > First let me say that everyone on the App Engine team takes data > privacy very seriously, and point you to Section 6 and 8 of the App > Engine terms of service (http://code.google.com/appengine/terms.html) > that deal explicitly with the issue of data ownership and copyright. > > Also, it is important to note that the only Google employees who have > the ability to access data pertaining to any App Engine app are > certain members of the App Engine engineering team, and the access is > limited to that which is necessary to perform their job role. > > The _only_ circumstances under which a member of the App Engine team > would access your application code and/or data is: > > - With the developer's permission, in order to troubleshoot a specific issue > - If your application is causing system wide instability > > Any modification to your app through the Admin Console (by any person) > is logged in the Admin Logs, that can be access > at:http://appengine.google.com/adminlogs?&app_id=YOURAPPID > Access logs are maintained by Google as well. > > -Marzia > > On Wed, Jan 14, 2009 at 1:06 PM, hawkett wrote: > > > Hi, > > > Just wanted to query the privacy policy, especially as it relates > > to code. Would I be right in thinking that the only thing stopping > > google stealing an app. or an idea for an app, or an algorithm or data > > structure or whatever, is that you are such good guys? > > > This is the privacy policy I am reading > > -http://code.google.com/appengine/privacy.html > > > I read the privacy policy to pretty much say you can do what you > > want with the code? i.e. 'We use this information internally to > > deliver the best possible service to you...' - you could interpret > > that to mean pretty much anything, including ripping off an idea and > > serving it back to us - (yeah, I know you are good guys). > > > A second question would be Google's policy for employees or > > contractors etc. looking at the code of app engine apps? Are there > > any internal controls? Do you maintain access logs? What are your > > criteria? > > > An obvious situation would be a google employee reading a group > > post, and saying 'Hey that's an interesting point, I wonder what app > > they are building... let me just go in and look at their code... wow > > that's cool... ... hey boss I have an idea for my 20% spare > > time, how about
[google-appengine] Re: typical scenario
I really don't know much about WSGI, but this works for me. As I understand it, you should probably have 1 WSGI app in the "root" folder. It will do whatever's appropriate to load whichever "sub-app" needs to run. Then they should both be able to import from the DB folder. i.e. / -- app.yaml | main.py + app_one | __init__.py | whatever.py + app_two | __init__.py | whatever.py + DB | __init__.py | model_one.py | model_two.py | model_three.py Set up app.yaml to dispatch requests to main.py (or whatever you want to call it). Have it examine REQUEST and dispatch into app_one or app_two as needed (`import app_one.whatever`). Then files in app_one or app_two should be able to `import DB.model_one` If it's anything more than a dead-simple app, I'd break it down further than that. But that's the idea I'm using. On Jan 14, 8:29 am, arnie wrote: > I am stuck in a very big problem and could not find any solution for > this > Writing import DB in the BusinessList folder's businesslist.py file > does not work. I have also added __init__.py file [empty] in the DB > folder but of no use. Also I have created PYTHONPATH environment > variable and gives it the path "C:/" but it seems to me that this > setting is not working too. I have to upload this folder structure to > GAE under one AppID > Can anybody suggest a solution? > 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: Can not delete entity using Data Viewer and a GQL query.
This sounds to me like something that should be reported as a bug. And whoever wrote that error message should be punished with at least 10 papercuts. But that's just me. On Jan 11, 3:33 pm, "murexconsult...@googlemail.com" wrote: > There was a bug in my app and some bad data got into the Datastore. > > So I want to delete some data. The models have a number of items so > rather than paging through them all 20 at a time to find it I ran the > GQL query: > SELECT * FROM UserUpdates > WHERE windAngle=328 > > This returns one row as expected. I then click on the tickbox beside > it and click on Delete. > > I then get a dialog box asking if I am sure to which I say yes. > > I then get the error displayed in a red box at the top saying "The URL > to forward to once the request is fulfilled" - Yes the error is a > partial sentence and makes no sense. > > The item is NOT deleted. > > This is happening to all 4 of my models. However 2 of them only have a > few hundred entries, so I was able to page through, find the item and > delete it. When I paged through, the deleting was successful. > > I think that there must be a bug in the data viewer when removing data > found using a gql query. > > 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: why the computer says "NameError: name 'execfile' is not defined"
Isn't production running 2.5.ish? On Jan 12, 8:39 pm, "bijiasuo2...@gmail.com" wrote: > you should install Python 2.6.1 > i have successful, but i don't know why. I don't know Python > --~--~-~--~~~---~--~~ 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 get url from fetchurl?
I want to know actual url, where i'm via fetchurl. Something like geturl in urllib2. for example if i've follow_redirects=True, then i want to know which url is the ending one. any idea? --~--~-~--~~~---~--~~ 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: OpenID, is it good?
On Jan 12, 9:06 pm, jay wrote: > I thought google was participating in Open ID now? Do our app engine > logins support OpenID's? OpenID still seems...fairly immature and not user friendly. Then again, it's been a while since I tried to use it. I probably have the terminology wrong. Last I checked, google was an Open ID "provider." If you try to log into a site that accepts Open ID logins, you should be able to use your google account. Or your facebook, myspace, yahoo, etc, etc account. The trouble is finding sites that accept Open ID logins from other providers. No idea why that is, unless it's just the pain of re-writing their user handling code. Well, that and figuring out a graceful way for the user to actually log in. I still haven't ever been able to figure it out, on the few sites I've seen. (Which, I think, is a crying shame. Then again, other people are terrified by the idea that leaking one single login could totally destroy their online "identity") > On Jan 10, 11:16 am, Mengsong Chen wrote: > > > I have just read something about OpenID. It seems a good solution, in > > particularly for mobile web apps. > > > I wonder what is the general feedback for it? > > How is it compare it Google Login? > > > Thanks, > > > M --~--~-~--~~~---~--~~ 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: OpenID, is it good?
On Sat, Jan 17, 2009 at 1:25 PM, James Ashley wrote: > On Jan 12, 9:06 pm, jay wrote: > > I thought google was participating in Open ID now? Do our app engine > > logins support OpenID's? > > OpenID still seems...fairly immature and not user friendly. Really? > Then again, it's been a while since I tried to use it. I probably > have the terminology wrong. You may want to try it again. I've been using it lately and I'm growing to like it. > The trouble is finding sites that accept Open ID logins from other > providers. I'm finding more and more as I surf. Granted, we still need many more, but it's a start. > No idea why that is, unless it's just the pain of re-writing their > user handling code. Well, that and figuring out a graceful way for > the user to actually log in. I still haven't ever been able to figure > it out, on the few sites I've seen. On the sites I've done it with, I've clicked "Log in with OpenID", it takes me to OpenId and it says "You're logging in over at fubar.com", I click "Okay" and I'm sent back to fubar.com and I'm logged in. There's a checkbox for staying logged in and you can set up profiles, but I haven't played with them yet. -- Faber Fedor Cloud Computing New Jersey http://cloudcomputingnj.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: OpenID, is it good?
You may also want to check out RPXNow.com, an OpenID service from Janrain that makes it simple to use a nice OpenID interface with any site. I'm using it on mashical.com based on a cookbook recipe ( http://appengine-cookbook.appspot.com/recipe/accept-google-aol-yahoo-myspace-facebook-and-openid-logins/?id=ahJhcHBlbmdpbmUtY29va2Jvb2tyqgELEgtSZWNpcGVJbmRleCJGYWhKaGNIQmxibWRwYm1VdFkyOXZhMkp2YjJ0eUhnc1NDRU5oZEdWbmIzSjVJaEJYWldKaGNIQWdSbkpoYldWM2IzSnJEQQwLEgZSZWNpcGUiR2FoSmhjSEJsYm1kcGJtVXRZMjl2YTJKdmIydHlIZ3NTQ0VOaGRHVm5iM0o1SWhCWFpXSmhjSEFnUm5KaGJXVjNiM0pyREE3DA ) and it works great. I even have it set up so you can associate multiple OpenIDs with the same account. Steve On Sat, Jan 17, 2009 at 1:50 PM, Faber Fedor wrote: > > > On Sat, Jan 17, 2009 at 1:25 PM, James Ashley wrote: > >> On Jan 12, 9:06 pm, jay wrote: >> > I thought google was participating in Open ID now? Do our app engine >> > logins support OpenID's? >> >> OpenID still seems...fairly immature and not user friendly. > > > Really? > > >> Then again, it's been a while since I tried to use it. I probably >> have the terminology wrong. > > > You may want to try it again. I've been using it lately and I'm growing to > like it. > > >> The trouble is finding sites that accept Open ID logins from other >> providers. > > > I'm finding more and more as I surf. Granted, we still need many more, but > it's a start. > > >> No idea why that is, unless it's just the pain of re-writing their >> user handling code. Well, that and figuring out a graceful way for >> the user to actually log in. I still haven't ever been able to figure >> it out, on the few sites I've seen. > > > On the sites I've done it with, I've clicked "Log in with OpenID", it takes > me to OpenId and it says "You're logging in over at fubar.com", I click > "Okay" and I'm sent back to fubar.com and I'm logged in. > > There's a checkbox for staying logged in and you can set up profiles, but I > haven't played with them yet. > > > -- > > Faber Fedor > Cloud Computing New Jersey > http://cloudcomputingnj.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] Exploding Index
I would like to request some clarification on whether the following model with the set of queries result in an exploding index. I am trying to build a quick stock notes application where we want to add some quick notes on stocks. Stocks and Tags are both list properties. But I will not make any query that include both tags and stocks at the same time. Only ONE at a time combined with created in desc order (to get last one first). I imposed a restriction of ONLY A MAX of 3 tags allowed for any row ( same is the case with 3 stocks, restricted to max of 3) class QuickNote(db.Model): description = db.StringProperty() author = db.StringProperty() status = db.StringProperty() tags = db.StringListProperty() stocks = db.StringListProperty() created = db.DateTimeProperty(auto_now_add=True) Index : - kind: QuickNote properties: - name: tag - name: created direction: desc - kind: QuickNote properties: - name: stock - name: created direction: desc 1. A single entity will never have more than 3 values in each list and never more than one list property is used in a single query. However, I need to combine with date in desc order to retrieve latest notes. (as shown above) 2. As a whole, we might have about 1000 stocks and similar range of tags. I would like to know if this data model with the given set of queries, will result in exploding index? Also, if I have 7 more (a total of 9) different List properties (similar to stocks and tags) each with the same restriction of 3 values in a list, and they are never combined (except with date in desc order), would that result in exploding index? At any time only 2 or 3 lists will have any values filled in. Thank you very much in advance for your inputs. Murali --~--~-~--~~~---~--~~ 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: Model.put() Override?
The "simple" answer seems to be "override the db class." That's totally off the top of my head, and it may be completely unrealistic. Something like (totally untested and almost definitely wrong. Consider it pseudo-code): class my_db(google.ext.db): def put(self, *objects, **kwargs): for o in objects: o.pre_put() super(google.ext.db, self).put(*objects, **kwargs) Then the models that were overriding put() could put that override code in pre_put() instead (and change put() to just call that before calling super().put()...). You'd have to juggle the nuances of things like post_put(), and any side-effects. But it seems like a reasonable compromise. On Jan 14, 2:22 pm, boson wrote: > That is a curious situation. I would like to know also if there is a > way to inject code into the put-stream regardless of method called, as > I have various put() overrides as well. > > On Jan 13, 9:45 pm, Devel63 wrote: > > > I overrode the put method on a class derived from Model, primarily > > because I wanted to do some accounting work when a new object was > > saved (in the simplest case, just keeping track of a counter). It > > does its work, then calls super. > > > It works fine. > > > Until I use db.put([ob1,obj2,obj3]) to save a bunch of these, and then > > of course the individual object.put() functions are never called. > > > Is there a best practice for this? I really liked having it in the > > "put", because then no caller needed to know about it, and it just > > took care of itself. Is the best thing to precede every "put" call > > with an explicit "put_prep" call? --~--~-~--~~~---~--~~ 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: typical scenario
http://groups.google.com/group/google-appengine/browse_thread/thread/2baa48709bb94bd3?hl=en has an excellent answer about dispatching to multiple WSGI apps. On Jan 17, 12:11 pm, James Ashley wrote: > I really don't know much about WSGI, but this works for me. > > As I understand it, you should probably have 1 WSGI app in the "root" > folder. It will do whatever's appropriate to load whichever "sub-app" > needs to run. Then they should both be able to import from the DB > folder. > > i.e. > > / -- app.yaml > | main.py > + app_one > | __init__.py > | whatever.py > + app_two > | __init__.py > | whatever.py > + DB > | __init__.py > | model_one.py > | model_two.py > | model_three.py > > Set up app.yaml to dispatch requests to main.py (or whatever you want > to call it). Have it examine REQUEST and dispatch into app_one or > app_two as needed (`import app_one.whatever`). > > Then files in app_one or app_two should be able to `import > DB.model_one` > > If it's anything more than a dead-simple app, I'd break it down > further than that. But that's the idea I'm using. > > On Jan 14, 8:29 am, arnie wrote: > > > I am stuck in a very big problem and could not find any solution for > > this > > Writing import DB in the BusinessList folder's businesslist.py file > > does not work. I have also added __init__.py file [empty] in the DB > > folder but of no use. Also I have created PYTHONPATH environment > > variable and gives it the path "C:/" but it seems to me that this > > setting is not working too. I have to upload this folder structure to > > GAE under one AppID > > Can anybody suggest a solution? > > 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: Data Privacy
> data privacy is probably the number one barrier to > commercial cloud adoption at the moment. Some supporting evidence would be nice because only one person is raising this concern. Maybe it's so huge a barrier that no one else is bothering, maybe the discussion is somewhere else, but > When you put these two statements together, Google is able to > reproduce, adapt and modify developer contributed code to improve your > UI, and explicitly *does not* require content owner's permission. Actually, there's nothing about the UI. However, there's something important missing from this discussion, namely "for the sole purpose of enabling Google to provide you with the Service in accordance with its privacy policy." How about some acceptable wording from a service that provides computation and storage resources, together with a link to the whole policy? On Jan 17, 9:17 am, hawkett wrote: > Hi Marzai, > > Thanks for the detailed response. It would be great to get those > clarifications included in the terms of service and/or privacy > policy. I can see from my post rating that some people don't share my > concern, but data privacy is probably the number one barrier to > commercial cloud adoption at the moment. Clear legal statements are > always better than implied trust, or clarifications made in forums. I > don't doubt that the constraints you have outlined are correct, but I > read the privacy policy and terms of service to say something > significantly different. The privacy policy explicitly lists content > (including code) and says this - > > 'We use this information internally to deliver the best possible > service to you, such as improving the Google App Engine user interface > and maintaining a consistent and reliable user experience.' > > The terms of service say this (in section 8, which overrides any > rights outlined in section 6) - > > 'By submitting, posting or displaying the Content on or through the > Service you give Google a worldwide, royalty-free, and non-exclusive > license to reproduce, adapt, modify, translate, publish, publicly > perform, publicly display and distribute such Content for the sole > purpose of enabling Google to provide you with the Service in > accordance with its privacy policy.' > > When you put these two statements together, Google is able to > reproduce, adapt and modify developer contributed code to improve your > UI, and explicitly *does not* require content owner's permission. > Apparently that permission is given once the data is uploaded. I'm > not trying to be difficult - that is actually what it says - and those > documents are actually what business look at when making decisions. > > I realise that the terms of service and privacy policy are produced by > the legal team and not the engineering team, and the legal guys have a > responsibility to protect Google from liability and litigation. > Perhaps the legal team isn't fully aware of the importance of data > security to GAE adoption. It is probably the engineering team's > responsibility to raise that awareness. > > It seems clear to me that Google's strategy is to market GAE > applications to its Google Apps customers. Both offerings sustain > each other, and the delivery of the reseller program is a hint that > this ecosystem is well on its way to being opened up. If you want an > abundance of vendor supplied, commercial quality applications in that > ecosystem, then data security needs to be much more clearly respected > in the legal documentation. Thanks, > > Colin > > On Jan 16, 5:23 pm, Marzia Niccolai wrote: > > > > > Hi, > > > First let me say that everyone on the App Engine team takes data > > privacy very seriously, and point you to Section 6 and 8 of the App > > Engine terms of service (http://code.google.com/appengine/terms.html) > > that deal explicitly with the issue of data ownership and copyright. > > > Also, it is important to note that the only Google employees who have > > the ability to access data pertaining to any App Engine app are > > certain members of the App Engine engineering team, and the access is > > limited to that which is necessary to perform their job role. > > > The _only_ circumstances under which a member of the App Engine team > > would access your application code and/or data is: > > > - With the developer's permission, in order to troubleshoot a specific issue > > - If your application is causing system wide instability > > > Any modification to your app through the Admin Console (by any person) > > is logged in the Admin Logs, that can be access > > at:http://appengine.google.com/adminlogs?&app_id=YOURAPPID > > Access logs are maintained by Google as well. > > > -Marzia > > > On Wed, Jan 14, 2009 at 1:06 PM, hawkett wrote: > > > > Hi, > > > > Just wanted to query the privacy policy, especially as it relates > > > to code. Would I be right in thinking that the only thing stopping > > > google stealing an app. or an idea for an app, or a
[google-appengine] import google.appengine.ext.db.polymodel : No module named polymodel
According to the documentation (http://code.google.com/appengine/docs/ python/datastore/polymodelclass.html), there should be a PolyModel class in google.appengine.ext.db.polymodel. However, the program ... from google.appengine.ext.db import polymodel ... fails at runtime with an exceptions.ImportError and the message "No module named polymodel" The simlar program ... import google.appengine.ext.db.polymodel ... fails in the same way, which is comforting I suppose. I have tried both the Linux and Mac SDKs. Is this unavailable on the SDK? Is it a withdrawn feature? --~--~-~--~~~---~--~~ 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] djangoforms refuses to validate unchecked boolean properties
Hi, The following snippet demonstrates the issue: class BooleanModel(db.Model): bool_prop = db.BooleanProperty(required=True, default=True) class BooleanModelForm(djangoforms.ModelForm): class Meta: model = BooleanModel view: def bool_form(request): if request.method == "POST": f = BooleanModelForm(request.POST) if f.is_valid(): return HttpResponseRedirect("http://www.google.com";) else: f = BooleanModelForm() t = loader.get_template("template.page") params = { 'form': f } return HttpResponse(t.render(Context(params))) template page: {{ form.bool_prop }} The template page generates a checkbox for bool_prop, which is fine. When you check the checkbox and submit the form, the form validates fine, bool_prop is set to True and you get redirect to google.com, but when you uncheck the checkbox, the form fails to validate with the error "bool_prop is required". Is this a known bug or am I doing something wrong? TIA -- Joe --~--~-~--~~~---~--~~ 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 Privacy
On Jan 17, 11:17 am, hawkett wrote: > Hi Marzai, > > Thanks for the detailed response. It would be great to get those > clarifications included in the terms of service and/or privacy > policy. I can see from my post rating that some people don't share my > concern, but data privacy is probably the number one barrier to > commercial cloud adoption at the moment. To whomever marked the OP down: he's right. This *is* an incredibly important consideration. However... > Clear legal statements BWAHAHAHA! It all depends on the meaning of the word "is." Sorry, I couldn't resist. :-) > are > always better than implied trust, or clarifications made in forums. I > don't doubt that the constraints you have outlined are correct, but I > read the privacy policy and terms of service to say something > significantly different. The privacy policy explicitly lists content > (including code) Actually, see section 5.1: * The term Content shall specifically exclude the web application that * you create using the Service and any source code written by you to * be used with the Service (collectively, the "Application"). > and says this - > > 'We use this information internally to deliver the best possible > service to you, A lawyer probably *could* stretch this to include making your private customer data public > such as improving the Google App Engine user interface > and maintaining a consistent and reliable user experience.' Lots of disagreement among lawyer types about phrases like "such as." Be careful of those. > The terms of service say this (in section 8, which overrides any > rights outlined in section 6) - > > 'By submitting, posting or displaying the Content on or through the > Service you give Google a worldwide, royalty-free, and non-exclusive > license to reproduce, adapt, modify, translate, publish, publicly > perform, publicly display and distribute such Content Note the term "Content" here. *Not* Application. Nothing about your source code. > for the sole > purpose of enabling Google to provide you with the Service in > accordance with its privacy policy.' IANAL, but that whole "sole purpose" thing seems to actually make this safer for us developers. Then again, lawyers have completely up-ended those silly "Congress shall not..." clauses in the Bill of Rights, so they could probably use this to justify publicizing your medical records. :-/ > When you put these two statements together, Google is able to > reproduce, adapt and modify developer contributed code Again, IANAL. But can you take individual pieces of an agreement like this out of context? > to improve your > UI, and explicitly *does not* require content Just to re-emphasize (yet again, from the Department of Redundancy Department): content seems [to me] to specifically be the user data. *Not* the source code. > owner's permission. > Apparently that permission is given once the data is uploaded. I'm > not trying to be difficult - that is actually what it says - and those > documents are actually what business look at when making decisions. And the details are extremely important. Especially when you have to break down and actually talk to the suits. > I realise that the terms of service and privacy policy are produced by > the legal team and not the engineering team, and the legal guys have a > responsibility to protect Google from liability and litigation. > Perhaps the legal team isn't fully aware of the importance of data > security to GAE adoption. I suspect you aren't giving enough credit to the legal team. It's their job to keep google from getting sued. When google does get sued (which it will), it's their job to ensure that google wins. This must balance against the marketing team's job to actually get people/developers/us to use the product. > It is probably the engineering team's > responsibility to raise that awareness. You could be right. In almost any other company, I'd agree with you. I'm willing to bet that google's lawyers are at least hip-deep when it comes to privacy concerns. As I understand it, google's business model is to analyze data and use that analysis to make a profit. This seems to be mostly through selling ads. I'm sure there are other forms of revenue (like the people who pay for premium service, enterprise search, etc). If you store data on GAE, you should expect google to be crawling it and making every penny they can out of it. The biggest risk (that I can see) might be google focusing ads from your competitors on your users. A secondary risk seems to be google actually analyzing your data and making it (and the analysis) public. I don't think the TOS allows that, but (yet again) IANAL. It could all happen "to deliver the best possible service to you." But I doubt it's the engineering team's responsibility. Maybe someone on that team should (I hate that word) step up to the plate and make sure the legal team appreciates your/our concerns, but you'd really be bet
[google-appengine] updating schema
I am following the fine article at http://code.google.com/appengine/articles/update_schema.html but have run into some difficulties as I am very new to this. I run this on my development system and it works fine, but when I tried to run it at appspot.com I get the error far below. I have just taken the requestHandler given in the article and added it to my map.py file? Below is my version of that requestHandler, which I named "Update" as you can see. The only change I made in the RequestHandler was to use my "date" field instead of the "name" field as done in the example. And my model is named Pin, not Picture, but I kept "pic" where the example used "pic", instead of my "pin". * # Request handler for the URL /update_datastore class Update(webapp.RequestHandler): def get(self): name = self.request.get('date', None) if name is None: # First request, just get the first name out of the datastore. pic = Pin.gql('ORDER BY name DESC').get() name = pic.name q = Pin.gql('WHERE name <= :1 ORDER BY name DESC', name) pics = q.fetch(limit=2) current_pic = pics[0] if len(pics) == 2: next_name = pics[1].name next_url = '/update_datastore?date=%s' % urllib.quote (next_name) else: next_name = 'FINISHED' next_url = '/' # Finished processing, go back to main page. # In this example, the default values of 0 for num_votes and avg_rating are # acceptable, so we don't need to do anything other than call put (). current_pic.put() context = { 'current_name': name, 'next_name': next_name, 'next_url': next_url, } self.response.out.write(template.render('update_datastore.html', context)) * I get the following error, where line 241 is this one above: current_pic.put() * Traceback (most recent call last): File "/base/python_lib/versions/1/google/appengine/ext/webapp/ __init__.py", line 498, in __call__ handler.get(*groups) File "/base/data/home/apps/carpoolfinder/2.330773714346785160/ maps.py", line 241, in get current_pic.put() File "/base/python_lib/versions/1/google/appengine/ext/db/ __init__.py", line 657, in put return datastore.Put(self._entity) File "/base/python_lib/versions/1/google/appengine/api/ datastore.py", line 162, in Put raise _ToDatastoreError(err) File "/base/python_lib/versions/1/google/appengine/api/ datastore.py", line 1637, in _ToDatastoreError raise errors[err.application_error](err.error_detail) Timeout: datastore timeout: operation took too long. * Can you please tell me what I am doing wrong? Thank you, Brian in Atlanta --~--~-~--~~~---~--~~ 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 do GqlQuery since OR is not supported
I beleive you should put the words into a StringListProperty. ie 'phil', 'gus', 'david' in case of record 3. and search on that field. Disclaimer: untested - but that is now understand would do it. 2009/1/17 Dave : > > Hi, > > This is probably (hopefully!) simple and lack of caffeine has me > lost. I want to do a query such as: > > select * from profile where (nickname >= searchname AND nickname < > searchname+'z') OR (fullname >= searchname AND fullname < searchname > +'z') > > my model is: > > class profile (db.Model): >nickname = db.StringProperty() >fullname = db.StringProperty() > > searchname would be something like 'dav' > > and the query would pick up all records such that: > > record 1: nickname = 'david', fullname = 'gus' > record 2: nickname = 'gus', fullname = 'dave' > record 3: nickname = 'phil', fullname = 'gus david'*** This may be > asking for too much. Is it? > > > Any help is greatly appreciated! > > thx, > > Dave > > > > > > -- Barry - www.nearby.org.uk - www.geograph.org.uk - --~--~-~--~~~---~--~~ 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 Privacy
On Jan 17, 2:54 pm, Andy Freeman wrote: > > data privacy is probably the number one barrier to > > commercial cloud adoption at the moment. > > Some supporting evidence would be nice because only one person is > raising this concern. Maybe it's so huge a barrier that no one else > is bothering, maybe the discussion is somewhere else, but I see this concern all the time. From every business-oriented point of view. I'm surprised that anyone else doubts this. I thought it could pretty much be considered a given. Businesses frequently consider data one of their most valuable assets. And they're reluctant to trust it with anyone else. > > When you put these two statements together, Google is able to > > reproduce, adapt and modify developer contributed code to improve your > > UI, and explicitly *does not* require content owner's permission. > > Actually, there's nothing about the UI. That's in there. Maybe it's a recent addition? > However, there's something > important missing from this discussion, namely "for the sole purpose > of enabling Google to provide you with the Service in accordance with > its privacy policy." Have I mentioned before that I really like that whole "sole purpose" phrase? I think I have. > How about some acceptable wording from a service that provides > computation and storage resources, together with a link to the whole > policy? Ooh, nice question! I <3 nearlyfreespeech.net (I'm completely unaffiliated...the guy who owns it probably hates me). But even they don't have anything as explicit as google's. > --~--~-~--~~~---~--~~ 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: import google.appengine.ext.db.polymodel : No module named polymodel
Installing 1.1.8 SDK eliminated the problem. On Jan 17, 4:36 pm, TLH wrote: > > import google.appengine.ext.db.polymodel > > ... fails in the same way, which is comforting I suppose. > > I have tried both the Linux and Mac SDKs. Is this unavailable on the > SDK? Is it a withdrawn feature? --~--~-~--~~~---~--~~ 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: djangoforms refuses to validate unchecked boolean properties
On Sun, Jan 18, 2009 at 05:25, Qian Qiao wrote: > [snip] Meh, I was being stupid, all I have to do is: from django import forms class BooleanModelForm(djangoforms,ModelForm): bool_prop = forms.BooleanField(required=False) class Meta: model = BooleanModel Posting the solution here so that if anyone run into the same problem in the future, they can look this thread up. -- Joe --~--~-~--~~~---~--~~ 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: updating schema
As reported in my previous message, I got error an error message. Upon reviewing the datastore, I saw that only one entity had been updated, but the others were expanded to have the additional fields with the filler "" in each position, so in a sense they were updated, but the default values were not inserted. So I proceeded to try to update my other data class, which failed also, but for a different reason. The reason was something more critical, like a field name I chose did not exist, but it was the same field name "date" which appears in both classes. But the good news is that my application is up and running again, with no apparent problems, *yet*. I would like to get this issue clarified, but am not under so much pressure anymore because the app is working. Brian in Atlanta --~--~-~--~~~---~--~~ 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 Privacy
> I see this concern all the time. From every business-oriented point > of view. I'm surprised that anyone else doubts this. > > I thought it could pretty much be considered a given. I was unclear - I was referring to AppEngine specific concerns. > Businesses frequently consider data one of their most valuable > assets. And they're reluctant to trust it with anyone else. And I've never said, suggested, or implied otherwise. We're discussing whether Google's stated policies (and previously technology) are "good enough for biz use" and possibly whether Google cares/wants them to be seen as such. While AppEngine as a whole may eventually make lots of money, the margins (and usage) may be such that biz applications don't make much money. If that's the case, Google may not want the hassle. To put it another way, Google may not be willing to accept a $50-100M risk for $3-50/month. Since that's the level of risk that Hawkett is suggesting (Yes, there is an indemnity clause in the App Engine agreement, but that's an agreement with the application vendor, not with the biz being served. Google, aka "deep pockets", will be sued.) > > Actually, there's nothing about the UI. > > That's in there. Maybe it's a recent addition? There's nothing about UI in Section 8, the section under discussion. The word "interface" only appears twice in http://code.google.com/appengine/terms.html , both times in Section 2, specifically in reference to not hacking Google's adminstrative console interface; that's not a reference to Google's use of an application's interface or the application and/or content to improve some (unspecified) user interface/experience.. There's a mention of user interface in http://code.google.com/appengine/privacy.html , which contains the following (quoted by Hawkett) "We use this information internally to deliver the best possible service to you, such as improving the Google App Engine user interface and maintaining a consistent and reliable user experience." however the information in question is"personal information" as used in http://www.google.com/privacypolicy.html and defined in http://www.google.com/privacy_faq.html#personalinfo - it has nothing to do with Content or Application. > Have I mentioned before that I really like that whole "sole purpose" > phrase? I think I have. Yes, you have. However, you didn't mention that "sole purpose" is used throughout Google documents, including in places where a "nonstandard interpretation" would cause Google considerable harm. If they're not already on (court) record with a strong interpretation, they soon will be. On Jan 17, 2:11 pm, James Ashley wrote: > On Jan 17, 2:54 pm, Andy Freeman wrote: > > > > data privacy is probably the number one barrier to > > > commercial cloud adoption at the moment. > > > Some supporting evidence would be nice because only one person is > > raising this concern. Maybe it's so huge a barrier that no one else > > is bothering, maybe the discussion is somewhere else, but > > I see this concern all the time. From every business-oriented point > of view. I'm surprised that anyone else doubts this. > > I thought it could pretty much be considered a given. > > Businesses frequently consider data one of their most valuable > assets. And they're reluctant to trust it with anyone else. > > > > When you put these two statements together, Google is able to > > > reproduce, adapt and modify developer contributed code to improve your > > > UI, and explicitly *does not* require content owner's permission. > > > Actually, there's nothing about the UI. > > That's in there. Maybe it's a recent addition? > > > However, there's something > > important missing from this discussion, namely "for the sole purpose > > of enabling Google to provide you with the Service in accordance with > > its privacy policy." > > Have I mentioned before that I really like that whole "sole purpose" > phrase? I think I have. > > > How about some acceptable wording from a service that provides > > computation and storage resources, together with a link to the whole > > policy? > > Ooh, nice question! > > I <3 nearlyfreespeech.net (I'm completely unaffiliated...the guy who > owns it probably hates me). But even they don't have anything as > explicit as google's. > > > > - 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: updating schema
The python db.Model definitions are not like database table definitions. Unlike SQL schema changes, changing these python definitions doesn't do anything to the entities in the datastore. In fact, if the python definitions are changed incorrectly, the supposedly corresponding entities become inaccessible in the sense that a query or db.get will throw an exception when it tries to create a python instance corresponding to the entity retrieved from the datastore. It's probably better to think of the properties in python db.Model definitions as telling the system how to serialize/deserialize objects. If you need objects to have certain fields, it's your responsibility to ensure that the ones in the database actually do have those fields. On Jan 17, 3:58 pm, thebrianschott wrote: > As reported in my previous message, I got error an error message. Upon > reviewing the datastore, I saw that only one entity had been updated, > but the others were expanded to have the additional fields with the > filler "" in each position, so in a sense they were updated, > but the default values were not inserted. > > So I proceeded to try to update my other data class, which failed > also, but for a different reason. The reason was something more > critical, like a field name I chose did not exist, but it was the same > field name "date" which appears in both classes. > > But the good news is that my application is up and running again, with > no apparent problems, *yet*. I would like to get this issue clarified, > but am not under so much pressure anymore because the app is working. > > Brian in Atlanta --~--~-~--~~~---~--~~ 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 url from fetchurl?
> I want to know actual url, where i'm via fetchurl. Something like > geturl in urllib2. > > for example if i've follow_redirects=True, then i want to know which > url is the ending one. > The corresponding issue 404 [1] is fixed however I don't see how we can retrieve the final URL. The headers property of the Response object that urlfetch.fetch() returns doesn't have it. Should the issue 404 be re-opened? [1] http://code.google.com/p/googleappengine/issues/detail?id=404 --~--~-~--~~~---~--~~ 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: Version 1.1.8 - January 7, 2008
Has anyone figured out if the cron stuff works yet? how to do it? On Fri, Jan 16, 2009 at 11:04 PM, Roberto Saccon wrote: > > Great ! > > I observed that this needs the ANTLR parser (for some stuff related to > cron ! Hopefully very soon now ...) > > Anyway, if you don't have it grab it at: > http://www.antlr.org/wiki/display/ANTLR3/Python+runtime > > Roberto > > On Jan 16, 11:01 pm, lookon wrote: > > it's cool for > > > > Get height and width of an image via the Images 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Generating cryptographically strong random numbers
According to the docs, "On a UNIX-like system this will query /dev/ urandom": http://docs.python.org/library/os.html These libraries may also be of interest to you: http://docs.python.org/library/crypto.html http://docs.python.org/library/random.html http://docs.python.org/library/uuid.html Personally, I'm using random.random() for CSRF tokens and it works great. I'm curious, what kind of application are you developing that requires this level of security? On Jan 16, 1:16 am, "Alexander Konovalenko" wrote: > Web applications that implement user accounts need to generate > unpredictable values for session cookies and anti-CSRF tokens. So > several questions about App Engine arise: > > 1. How is os.urandom() implemented in production? That is, what > entropy sources does it use? What RNG algorithm? > > 2. Is there a supported way to obtain some high-entropy bits (like > /dev/random in Linux)? > > 3. Are there any features that could help us generate > cryptographically strong random numbers? --~--~-~--~~~---~--~~ 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: Debug Console
Thanks, djidjadji. Works now. Operator trouble - my code was interfering with the url. On Jan 10, 7:03 am, djidjadji wrote: > For me it only works on the dev-server. > The production (appspot.com) server does not give an overlay. > > In your google_appengine/templates directory do you have? > 1 Javascript file: logging_console.js > 3 HTML files: logging_console_[footer|header|middle].html > > 2009/1/10 DocDay : > > > > > > > Of course, and that's the part that isn't working. I've not seen it on > > either the development or the Google server. > > > On Jan 9, 6:17 pm, djidjadji wrote: > >> Try this URL > >>http://localhost:8080/?debug > >> When there is a parameter called 'debug' you get an overlay console- 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: How to get url from fetchurl?
You can follow redirects manually like so: response = urlfetch.fetch(url, allow_truncated=True, follow_redirects=False) if 'Location' in response.headers: url = response.headers.get('Location') response = urlfetch.fetch(url, allow_truncated=True) You could also loop this to follow more than one redirect. On Jan 17, 10:18 am, ehmo wrote: > I want to know actual url, where i'm via fetchurl. Something like > geturl in urllib2. > > for example if i've follow_redirects=True, then i want to know which > url is the ending one. > > any idea? --~--~-~--~~~---~--~~ 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: what's this quota?
Have you deployed your app 250 times in the past day? On Jan 17, 5:06 pm, lookon wrote: > Your application is exceeding a quota: App Config Service Config App > Call Count > > how will I get this message? --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---