[google-appengine] Re: beginner need for help about Cookie!
It seems work while test by dev_appserver.py but when I upload it to GAE. I always need to re-login in about 1 minute. whether the cookie expired in 1 minute? how can I do? Thanks Following is my code: #create new cookie while login and response for user request: new_sid = sha.new(repr(time.time())).hexdigest() cookie = Cookie.SimpleCookie() cookie['sid'] = new_sid cookie['sid']['expires'] = 24*60*60 h = re.compile('^Set-Cookie: ').sub('', cookie.output(), count=1) .. self.response.headers.add_header('Set-Cookie', str(h)) self.response.out.write(webdata) #retrieve the cookie while user make new request, and response again for new page: sid = self.request.cookies.get('sid') cookie['sid'] = sid cookie['sid']['expires'] = 24*60*60 h = re.compile('^Set-Cookie: ').sub('', cookie.output(), count=1) .. self.response.headers.add_header('Set-Cookie', str(h)) self.response.out.write(webdata) ## On Oct 4, 3:29 am, Anh Hai Trinh wrote: > > NEW_SID = > > sha.new(repr(time.time())).hexdigest()cookie=Cookie.SimpleCookie()cookie['s > > id'] = NEW_SIDcookie['sid']['expires'] = 24*60*60 > > I believe you can do > > > > > self.response.out.write(cookie.output()) --~--~-~--~~~---~--~~ 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] What are your top three issues in appengine?
I was looking at the issue list the other day. There is a lot rubbish in there (support c#!) but what do people who are actively using app engine want fixed? If you had to pick three issues what would they be? Link to issues only, don't give a "why app engine sucks" rant. :-) Here are my top three: 1) More granular accounting of how datastore space is used http://code.google.com/p/googleappengine/issues/detail?id=1396 This one should be easy, the information is being pulled from somewhere already. Right now storage usage is a total black hole. 2) SSL/HTTPS Support on Google Apps domains http://code.google.com/p/googleappengine/issues/detail?id=792 I know it's a hard problem, but it is really holding gae back. 3) SLA http://code.google.com/p/googleappengine/issues/detail?id=501 Release it already, and give us a paid SLA, and a pony. --~--~-~--~~~---~--~~ 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: missing logs
Hi Neil, On Tue, Oct 6, 2009 at 1:00 AM, neil souza wrote: > > thanks nick, responses in line (hope they come through right, i don't > really know how to use groups) > > On Sep 30, 2:57 am, "Nick Johnson (Google)" > wrote: > > Hi Neil, > > > > Sorry for the delay responding. Responses inline. > > > > > > > > > > > > On Sat, Sep 26, 2009 at 1:40 PM, neil souza > wrote: > > > > > the issue: it looks like we may not be getting all of our log entries > > > when when pull the logs from app engine. > > > > > first, a little context. there's a lot here, so bear with me. > > > > > we need to record event lines for metrics. normally, we would write > > > the lines to a local file on each app server and then pull those logs > > > every few minutes from the metrics system. we found this to be the > > > most stable and scalable architecture. > > > > > however, in app engine land, we can't write to a file. so we wrote the > > > event lines to the logs, set up a script to pull them in 10 minute > > > intervals, and loaded them into the stats system. > > > > > to be clear, the process goes like this: > > > > > 1.) an event happens on the server that we'd like to record. we write > > > a line to the log using logging.info(...) in python > > > > > 2.) every 10 minutes, a job starts on a metrics server, which requests > > > the next batch of logs by calling appcfg.py. the last log in the new > > > batch is kept in a append file to use as the 'sentinel' for the next > > > fetch. > > > > > 3.) the new log file is parsed for event lines, which are written to > > > another 'event' file. > > > > > 4.) a few minutes later, another job grabs new event files and loads > > > the events into the metrics system. > > > > > everything seemed to work great. until we realized that we were > > > missing events. a lot of them. between 20-50%. > > > > > there are some events that need to be shared with other systems. for > > > one if those event types, i was feeling lazy, so i just fired http > > > hits at the other system as the event happen. at some point, we > > > compared these numbers - and found them to be drastically different. > > > > > i ran tests today comparing the number of events recorded 'through' > > > the logs system and the same events recorded by http hit during > > > runtime. the percent of 'missing' events ranged from 18-56%, and the > > > percent missing appeared to be significantly higher when the frequency > > > of events was higher (during peak). > > > > > i've done a significant amount of work that points to the logs being > > > missing by the point that appcfg.py records them. i've reasonably > > > verified that all the event lines that appcfg.py pulls down make it > > > into the metrics system. oh, and all the numbers are being run on > > > unique user counts, so there's no way that the counts could be > > > mistakenly large (accidentally reading an event twice does not produce > > > a new unique user id). > > > > > my questions / issues: > > > > > 1.) should we be getting all of our logged lines from appcfg.py's > > > request_logs command? is this a known behavior? recall that we are > > > missing 20-50% of events - this is not a small discrepancy. > > > > App Engine has a fixed amount of space available for logs; it's > essentially > > a circular buffer. When it runs out of space, it starts replacing older > > logs. > > > well, i'm going to guess that's the culprit. > > > > > > > 2.) we're pulling our logs every 10 minutes. seeing as the > > > request_logs command lets you specify the time you want in days, i > > > imagine this as more frequent than intended. could this be causing an > > > issue? > > > > How much traffic are you getting? What's the size of 10 minutes' worth of > > logs? > > > we're at maybe avg. 200 request and looks like we're recording 1.25 > events per request, so perhaps 250 log lines / sec? that's in addition > to all the other junk getting spilled out there - i didn't know that > space was limited, there's prob some debug output, then the > exceptions, etc... > There's a limit on the total amount of logs stored - the logs are effectively stored in a circular buffer, so old data is overwritten as needed to make space for new data. > > > > > > > 3.) we switch major versions of the app every time we push, which can > > > be several times each day. this doesn't make sense as an issue since > > > the numbers are know to be wrong over periods where there have been no > > > version changes, but i wanted to mention it. > > > > > 4.) can you suggest a better solution for getting data to offline > > > processing? right now we getting the correct numbers using the async > > > http requests without ever calling get_result() or the like as a 'fire- > > > and-forget' http hit (not even sure if we're supposed to use it like > > > this, but seems to work). however, this approach has serious > > > drawbacks: > > > > You could log to the datastore, and read and delete old entries using > > remote_api
[google-appengine] JAVA - How to Save Image to datastore
Hi All, I am getting the URL address of an Image in the servlet, now how can I store the actual Image in the datastore? Currently I am able to store the Image path (i.e. url of the image) in the datastore. I want to know how the Image object can be created to store it in a datastore? Please help asap. Thanks, Nitin Joshi. --~--~-~--~~~---~--~~ 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: Job in Task Queue using up all my CPU, how to stop?
Hi Kevin, Have you tried using "appcfg.py update_queues" to upload a queue configuration that severely limits the execution rate of your queues? -Nick Johnson On Mon, Oct 5, 2009 at 6:24 PM, Kevin wrote: > > Hello, > > I have a Job in Task Queue that is using all my CPU within an a hour > after the quota reset. The problem is my quota resets at like 5am in > the morning for me. Is the only way for me to stop the Job is to wake > up at 5am and do it? > > The Job is setup to infinitely add jobs to the queue, so the only way > I know how to stop it is to redeploy my add with the queue xml setting > set to stop. And, I can't seem to redeploy when I've reached the Quota > maximum. > > Thanks in advance, > Kevin. > > > -- Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: What are your top three issues in appengine?
I was one of the ones who starred C# support since C# has LINQ. LINQ gives you joins and aggregations, two features that are really needed in the app engine. C# is a serious request. On Oct 6, 10:04 am, Kenneth wrote: > I was looking at the issue list the other day. There is a lot rubbish > in there (support c#!) but what do people who are actively using app > engine want fixed? If you had to pick three issues what would they > be? Link to issues only, don't give a "why app engine sucks" > rant. :-) > > Here are my top three: > > 1) More granular accounting of how datastore space is > usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396 > > This one should be easy, the information is being pulled from > somewhere already. Right now storage usage is a total black hole. > > 2) SSL/HTTPS Support on Google Apps > domainshttp://code.google.com/p/googleappengine/issues/detail?id=792 > > I know it's a hard problem, but it is really holding gae back. > > 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501 > > Release it already, and give us a paid SLA, and a pony. --~--~-~--~~~---~--~~ 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 are your top three issues in appengine?
mine are... 1) Built-in Paging (no issues, but it's in roadmap and coming soon) Currently we have to re-implement or re-think paging for every situation. 2) Full-text search API (http://code.google.com/p/googleappengine/issues/detail?id=217) No-brainer. Much needed and required by almost all kinds of apps. 3) Subdomain management API (http://code.google.com/p/googleappengine/issues/detail?id=2214 and http://code.google.com/p/googleappengine/issues/detail?id=113) It's a Google Apps issue, but very related to GAE. We can't have http://my-customer-id.my-domain.com without manual intervention, which is terrible. -- rodrigo --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: What are your top three issues in appengine?
On Tue, Oct 6, 2009 at 6:04 AM, Kenneth wrote: > 1) More granular accounting of how datastore space is used > http://code.google.com/p/googleappengine/issues/detail?id=1396 > > This one should be easy, the information is being pulled from > somewhere already. Right now storage usage is a total black hole. btw, this one is coming probably in 1.2.6. -- rodrigo --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: What are your top three issues in appengine?
My top top issues are... 1) SSL/HTTPS Support on Google Apps domains http://code.google.com/p/googleappengine/issues/detail?id=792 I couldn't agree more. This is a huge problem for people who want to develop real e-commerce applications. If Google wants to encourage and grow their paid AppEngine customers, being able to actually collect money from end users is a huge priority. I'm writing a fairly sophisticated e-Commerce store on AppEngine at the moment, but I'm having to use PayPal, which is far from ideal. 2) Allow resizing images that are bigger than 1 Mb http://code.google.com/p/googleappengine/issues/detail?id=1422 Most average users are hard pressed enough to work out how to upload an image, let alone understand why/how to reduce the sizes of their images. The 1 MB limit hurts so much I've actually opted to remove it from my application rather than have to support people who don't know how to resize. --~--~-~--~~~---~--~~ 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 are your top three issues in appengine?
1. Billable Task Queue API. 2. Full-text search API 3. SSL/HTTPS Support on Google Apps domains --~--~-~--~~~---~--~~ 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 it possible to read gmail from appengine project?
AppEngine applications are only allowed to have outgoing network connections on port 80 or 443. One possible approach would be to use the Gmail Atom feed (https://mail.google.com/mail/feed/atom) to access the new messages in a Gmail Inbox. Also -- and I am not recommending this -- you could try making a regular HTTPS connection to Gmail and screen-scraping. --~--~-~--~~~---~--~~ 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 are your top three issues in appengine?
1) Full text search 2) Full text search 3) Incoming email handling support --~--~-~--~~~---~--~~ 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 are your top three issues in appengine?
1. User login from multiple Google Apps domains, or deployment across multiple Google Apps domains. 2. BOSH transport (layer under XMPP) for transparent server-to-client messaging. 3. Full text search. On Oct 6, 10:16 am, vivpuri wrote: > 1. Billable Task Queue API. > > 2. Full-text search API > > 3. SSL/HTTPS Support on Google Apps domains --~--~-~--~~~---~--~~ 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 are your top three issues in appengine?
1) DataStore Timeout 2) Full Text : attribute and Document Full Text (word, excel) 3) New billing options (monthly, Euro,...) : http://code.google.com/p/googleappengine/issues/detail?id=1999 On 6 oct, 11:04, Kenneth wrote: > I was looking at the issue list the other day. There is a lot rubbish > in there (support c#!) but what do people who are actively using app > engine want fixed? If you had to pick three issues what would they > be? Link to issues only, don't give a "why app engine sucks" > rant. :-) > > Here are my top three: > > 1) More granular accounting of how datastore space is > usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396 > > This one should be easy, the information is being pulled from > somewhere already. Right now storage usage is a total black hole. > > 2) SSL/HTTPS Support on Google Apps > domainshttp://code.google.com/p/googleappengine/issues/detail?id=792 > > I know it's a hard problem, but it is really holding gae back. > > 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501 > > Release it already, and give us a paid SLA, and a pony. --~--~-~--~~~---~--~~ 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 are your top three issues in appengine?
Second to "Full text search" Second to "Timeout" Second to "SSL" --~--~-~--~~~---~--~~ 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: Optimizing BigTable queries for a timestamped class
Anyone? Is manipulating key structure to order them properly in BigTable a good idea? How to structure my queries to do prefix/range scans on those keys? Thanks! Erem On Oct 4, 12:57 pm, Erem wrote: > 3 questions about optimizing BigTable datastore queries on a > timestamped class. I'm using JDO on the Java runtime. > > SOME CONTEXT > My class, Event, requires speedy scans on time windows. An Event's > timestamp is immutable. > > Given that (1) BigTable physically stores rows in lexicographic order > by rowkey, and (2) what I specify as PrimaryKey directly maps to > BigTable rowkey (after appending to appID, etc), I will set up my > PrimaryKeys to be lexicographically ordered in time followed by an > entity-unique ID. > > Some example keys, where entity is identified by its UTCDate+millis > +unique ID. > UTCDATE ::TIME ::UNIQUE ID > 2000-12-01::13:15:00.000::1 //Dec 01, 2000, at 1:15PM > 2001-12-01::13:15:00.000::2 //Dec 01, 2001, same time > 2002-12-01::13:15:00.000::3 //Dec 01, 2002, same time > > This key structure allows me to do useful, dense prefix- and range- > scans directly on the entities table. For example > (not syntactic GQL. See Question 2.) > WHERE key MATCHES '2000*' //all events from the year 2000 > WHERE key MATCHES '2000-12*' //all from month of December, 2000 > WHERE key MATCHES '2000-12-01*' //all from Dec 01, 2000 > WHERE key > '2000-12-01' //between Dec 1 and Christmas, 2000 > && key < '2000-12-25' > > 3 QUESTIONS IN ORDER OF PRAGMATIC TO OBSCURE > (1) Am I actually optimizing anything by doing this, or am I wasting > time? Should I expect this to be super-fast because it's performing a > dense read on 1 or 2 BigTable Tablets? > > (2) I need to use range- and prefix- scan against the key in order to > take advantage of these optimizations. How do I use them in the Java > API? Is range-scan as simple as "WHERE key > :bottomRange and key > < :topRange"? What about prefix-scan? > > (3) BigTable guarantees that entities are stored in order by RowKey. > Its specifications also say that SSTables, once written, are > immutable. In this case, what happens when the following sequence > happens: > (i) an SSTable is written that contains rowkeys = 1,2,3,5; > (ii) I commit an entity with rowkey 4. > Does the SSTable get deleted and recreated? Is guarantee 1 broken and > my entity(key=4) written to a different SSTable? The answer to this > effects how optimized this approach really is. > > thanks in advance for the advice you datastore ninjas 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Running computationally intensive processes
Our app keeps running into trouble from the Engine; it calls a few pretty intensive processes and we often end up with the app being disabled. We've tried breaking up the app into atomic processes as much as possible but it still is considerably complex. Is there any way to increase the limits on cpu usage? --~--~-~--~~~---~--~~ 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: Running computationally intensive processes
Do you know about the pay service google offers to increase the usage? Or did you want a faster processor? On Oct 6, 12:56 pm, Steven Harrington wrote: > Our app keeps running into trouble from the Engine; it calls a few > pretty intensive processes and we often end up with the app being > disabled. We've tried breaking up the app into atomic processes as > much as possible but it still is considerably complex. > Is there any way to increase the limits on cpu usage? --~--~-~--~~~---~--~~ 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] App Engine as data relay for an Android application
Is it allowed to use app engine as a relay to enable communication between instances/users of an Android application? --~--~-~--~~~---~--~~ 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] App Engine, Ubuntu Linux, remote programming
Hi I have a home server running Ubuntu Linux, which is, of course, accessible to all the machines at my place, and will be accessible via the internet as soon as i pay for the static ip. My dream is to install Google App Engine Java on that server and to be able to write programs on it remotely (probably using ssh and emacs or Eclipse, if it is possible (in the local network at least)). However, I found it quite difficult to install it under Ubuntu in the first place. And here are the questions that arose in this connection: • Is it possible to install GAE under Ubuntu and where can i find the relevant instructions (i did try googling for that) • Is it possible to run webapps on GAE on machines in the local networks, like, e.g. "http://myhomeserver.local:8080";? • Is it possible to use Eclipse to edit the code of an application on another machine, in particular, is it possible to make the Google Plugin create new files and compile existing ones on another machine running a different OS? Or is it possible to make the Plugin interact with the GAE API on that machine to that effect? OR: Is there a better way of doing all those things? :) Thank you in advance. -- Best Regards, Timofey Danshin. --~--~-~--~~~---~--~~ 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] can i download the application from Google App Engine
i have uploaded a application to Google App Engine. now i want to download the application from Google App Engine. how do i download the application? 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: Child Objects and Relationships (JDO)
have your objects been detached already? detached objects cannot access any "child" objects that havent been fetched by default, consider them laziliy fetched (default fetchgroups usually contains primitives + String parameters only). in order to retrieve other child objects you must fetch them before detaching the object form datatstore, so your choices are either: * Modify the fecthgroup * access the child object before detaching (any call should trigger a fetch from DB). hope this helps, Juan On Oct 5, 2:09 pm, Prashant wrote: > the inheritance problem??? --~--~-~--~~~---~--~~ 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] java jsf
Friends, good afternoon, need your help, I'm trying to create my first application on GAME, using JAVA JSF, By following the tutorial, http://submundojava.com.br/wordpress/2007/08/27/java-server-faces-12- hello-world / and the recommendations of the link https: / / sites.google.com/a/wildstartech.com/adventures-in-java/Java-Platform- Enterprise-Edition/JavaServer-Faces/sun-javaserver-faces- reference- implementation/configuring-jsf-20-to-run-on-the-google-appengine. Yet when trying to stop my page \ faces \ index.jsp is shown me the error: HTTP ERROR: 500 jsp.error.beans.property.conversion RequestURI = / faces / index.jsp Caused by: org.apache.jasper.JasperException: jsp.error.beans.property.conversion at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager (JspRuntimeLibrary.java: 885) at org.apache.jsp.index_jsp._jspx_meth_h_inputText_0 (index_jsp.java: 193) You can help me? I added the following jar to the lib folder of the web-inf: api1.1.jar el-el-impl-1.1.jar, jsf-api.jar, jsf-impl.jar the web-xml like this: http://java.sun.com/xml/ns/javaee"; xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"; xsi: schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/webapp_2_5.xsd "> com.sun.faces.enableThreading false When enabled, the default runtime initialization and ResourceHandler implementation will use threads to perform their functions. Set this value to false if threads are not desired (as in the case of running within the Google Application Engine). Note that when this option is disabled, the ResourceHandler will not pick up new versions of resources when ProjectStage is development. javax.faces.PROJECT_STAGE Production javax.faces.STATE_SAVING_METHOD client com.sun.faces.expressionFactory com.sun.el.ExpressionFactoryImpl com.sun.faces.verifyObjects true com.sun.faces.validateXml true javax.faces.STATE_SAVING_METHOD client Faces Servlet javax.faces.webapp.FacesServlet HelloWorld 1 Faces Servlet / faces / * faces / index.jsp index.jsp <%...@page contentType="text/html"%><%...@page pageEncoding="UTF-8"%> <%...@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%...@taglib prefix="h" uri="http://java.sun.com/jsf/html"%> Java Server Faces Tutorial Nome: very tks Victor --~--~-~--~~~---~--~~ 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: Optimizing BigTable queries for a timestamped class
Brett Slatkin gave a fantastic talk on this type problem/solution. http://code.google.com/events/io/sessions/BuildingScalableComplexApps.html He suggests using a ListProperty and exploding the date into it, then a range can be selected by using set membership. Watching this video it is worth every minute. On Tue, Oct 6, 2009 at 10:56 AM, Erem wrote: > > Anyone? Is manipulating key structure to order them properly in > BigTable a good idea? How to structure my queries to do prefix/range > scans on those keys? > Thanks! > > Erem > > On Oct 4, 12:57 pm, Erem wrote: > > 3 questions about optimizing BigTable datastore queries on a > > timestamped class. I'm using JDO on the Java runtime. > > > > SOME CONTEXT > > My class, Event, requires speedy scans on time windows. An Event's > > timestamp is immutable. > > > > Given that (1) BigTable physically stores rows in lexicographic order > > by rowkey, and (2) what I specify as PrimaryKey directly maps to > > BigTable rowkey (after appending to appID, etc), I will set up my > > PrimaryKeys to be lexicographically ordered in time followed by an > > entity-unique ID. > > > > Some example keys, where entity is identified by its UTCDate+millis > > +unique ID. > > UTCDATE ::TIME ::UNIQUE ID > > 2000-12-01::13:15:00.000::1 //Dec 01, 2000, at 1:15PM > > 2001-12-01::13:15:00.000::2 //Dec 01, 2001, same time > > 2002-12-01::13:15:00.000::3 //Dec 01, 2002, same time > > > > This key structure allows me to do useful, dense prefix- and range- > > scans directly on the entities table. For example > > (not syntactic GQL. See Question 2.) > > WHERE key MATCHES '2000*' //all events from the year 2000 > > WHERE key MATCHES '2000-12*'//all from month of December, 2000 > > WHERE key MATCHES '2000-12-01*' //all from Dec 01, 2000 > > WHERE key > '2000-12-01'//between Dec 1 and Christmas, 2000 > > && key < '2000-12-25' > > > > 3 QUESTIONS IN ORDER OF PRAGMATIC TO OBSCURE > > (1) Am I actually optimizing anything by doing this, or am I wasting > > time? Should I expect this to be super-fast because it's performing a > > dense read on 1 or 2 BigTable Tablets? > > > > (2) I need to use range- and prefix- scan against the key in order to > > take advantage of these optimizations. How do I use them in the Java > > API? Is range-scan as simple as "WHERE key > :bottomRange and key > > < :topRange"? What about prefix-scan? > > > > (3) BigTable guarantees that entities are stored in order by RowKey. > > Its specifications also say that SSTables, once written, are > > immutable. In this case, what happens when the following sequence > > happens: > > (i) an SSTable is written that contains rowkeys = 1,2,3,5; > > (ii) I commit an entity with rowkey 4. > > Does the SSTable get deleted and recreated? Is guarantee 1 broken and > > my entity(key=4) written to a different SSTable? The answer to this > > effects how optimized this approach really is. > > > > thanks in advance for the advice you datastore ninjas you. > > > -- Kevin Pierce Software Architect VendAsta Technologies Inc. kpie...@vendasta.com (306)955.5512 ext 103 www.vendasta.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] Opinions on my SSL workaround
I wanted your opinions on an SSL workaround I'm planning for my medical app. Let's say my medical app is www.mymedical.com. The front-end is written in GWT and served from AppEngine via HTTP from www.mymedical.com. It does not even use the datastore. The back-end is a JSON data API at mymedical.appspot.com. It has all the important stuff: db of users, their medical data, etc. It only responds to HTTPS. Question: How do we make secure requests for sensitive data without the loss of branding that occurs when mymedical.appspot.com appears on the address bar? Answer: Serve all pages from www.mymedical.com, and have those pages execute asynchronous API calls to mymedical.appspot.com. Retrieve responses by having the server output JSONP (http://bob.pythonmac.org/ archives/2005/12/05/remote-json-jsonp/) rather than plain JSON. Do any of you guys currently do this? How does it work for you? Erem --~--~-~--~~~---~--~~ 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: Pagination with Ranking
Thanks Nick. That library looks terrific. However, I notice that it primarily uses: from google.appengine.api import datastore for accessing the appengine datastore, where as most of the documentation at: http://code.google.com/appengine/docs/python/datastore/ uses: from google.appengine.ext import db I'm having trouble finding good documentation on google.appengine.api.datastore, can someone point me in the right direction? Thanks! Josh On Oct 5, 6:46 am, "Nick Johnson (Google)" wrote: > Hi Josh, > You might want to look into the 'ranklist' library. It'll allow you to keep > a large (much larger than 1000) set of records in ranked order, and > efficiently answer queries like 'what is the value of the 235th entry?' and > 'where would a score of 500 place me?'. > > http://code.google.com/p/google-app-engine-ranklist/ > > -Nick Johnson > > > > > > On Fri, Oct 2, 2009 at 10:40 PM, Josh wrote: > > > Hi all, > > > I've seen a number of interesting discussions on how to do efficient > > pagination on appengine, but one thing that I haven't seen addressed, > > which I would like, is how to efficiently compute ranking information > > for the items that are paginated. > > > Let me motivate this discussion by considering a leader board. We > > have a model like so: > > > class Player(db.Model): > > name = db.StringProperty() > > score = db.IntegerProperty() > > last_updated = db.DateTimeProperty(auto_now=True) > > > We may have hundreds of thousands of Players and we want to be able to > > rank them by their score. > > > How could we used the previously discussed pagination techniques > > (http://code.google.com/appengine/articles/paging.html) to efficiently > > page through the leader board and not only show the Players in order > > by score, but also assign a rank value to each player. > > > Many thanks for your thoughts and input. > > > Cheers, > > Josh > > -- > Nick Johnson, Developer Programs Engineer, App Engine > Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: > 368047 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: What are your top three issues in appengine?
define 3in1 workui integrated vcs,edits and deployments http://code.google.com/p/googleappengine/issues/detail?id=2136 internationalisation and localisation http://code.google.com/p/googleappengine/issues/detail?id=2134 3rd, use yaml for everything trivial --~--~-~--~~~---~--~~ 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: [appengine-java] Re: XMPP and MessageBuilder.withFromJid()
Hi, XMPP api supports receiving messages on *.*@appspot.combut throws *Invalid jabber ID* error while sending message from the same. Please fix/support this. 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: Pagination with Ranking
count > 1000 split according to time or any, example improvable with dynamical increment (make dependant dayinc) def get(self):#sums > 1000 import time from datetime import datetime, timedelta inc = datetime.now ()-timedelta(days = 1000) dayinc = 10 #ok while return < 1000 every 10 days sum = 0 while(inc < datetime.now()): ads = Ad.all().filter("modified <", inc + timedelta(days = dayinc)).filter("modified >", inc).count() inc = inc + timedelta (days = dayinc) sum=sum+ads self.response.out.write(sum) and sorting in pure python with one's own order always works or use the pattern called "comparable", --~--~-~--~~~---~--~~ 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 i download the application from Google App Engine
You can't. It's a webserver, not a revision control system. On Oct 6, 6:53 am, 610 wrote: > i have uploaded a application to Google App Engine. > now i want to download the application from Google App Engine. > how do i download the application? > 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] Google app-engine hello world problem
C:\Program Files\Google\google_appengine\google\appengine\tools \appcfg.py:41: DeprecationWarning: the sha module is deprecated; use the hashlib module instead import sha C:\Program Files\Google\google_appengine\google\appengine\api \datastore_file_stub.py:40: DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5 C:\Program Files\Google\google_appengine\google\appengine\api \validation.py:64: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 self.message = message C:\Program Files\Google\google_appengine\google\appengine\api \validation.py:68: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 return str(self.message) ERROR2009-10-06 17:21:28,313 dev_appserver_main.py:442] Fatal error when loading application configuration: Repeated items must be , but found 'url:/.* script:helloworld.py'. in "C:\Users\taitos\workspace\helloworld\src\app.yaml", line 8, column 23 i use python,windows vista , eclipse --~--~-~--~~~---~--~~ 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 i download the application from Google App Engine
you cannot - it is "one way ticket" use svn 2009/10/6 610 : > > i have uploaded a application to Google App Engine. > now i want to download the application from Google App Engine. > how do i download the application? > 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: What are your top three issues in appengine?
1) More efficient writing/reading to/from the datastore. Currently its too expensive in terms api_cpu. This would make GAE much more suited to dynamic apps that write/read the datastore regularly. 2)Built-in Paging 3) SSL/HTTPS support --~--~-~--~~~---~--~~ 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: Recently Built Indexes are Incomplete
Hi Scott, Yes your transactional get fits the bill. Unfortunately it seems that the differences in query results are not the result of partially applied jobs, but it seems like these indexes need to be rebuilt. I can do this for you and I'll keep you updated via email since this is isolated to your app. Thank you, Jeff On Thu, Oct 1, 2009 at 4:38 PM, Scott wrote: > > SELECT * FROM UserItem where user = 'scott' and lang = 'ja' and style > = 'both' and part = 'rune' order by last desc > > I just checked this one, and I still only get 308 (counting from the > data viewer in the dashboard). Some of these items had changes made to > the values when I was using the site, so I assume the difference is > those items that weren't previously in the index were added to it when > their values were altered in the datastore. > > I could go through the table of useritems and put them, but that's an > awful lot of entities. These few hundred are just mine and there are a > lot of users with a lot more. > > When you say starting a new transaction on the entity, what do you > mean exactly? I wasn't sure but I tried running the following code in > the remote console. > > def getanything(): > ... ui = db.get(key) > ... > >>> db.run_in_transaction(getanything) > >>> uis = models.UserItem.all().filter('user =','scott').filter('lang > =','ja').filter('style =','both').filter('part > =','rune').order('-last').fetch(1000) > >>> len(uis) > 308 > > -Scott > > > On Oct 1, 6:22 pm, "Jeff S (Google)" wrote: > > Hi Scott, > > > > Could you try these queries again and check the differences in the result > > counts? I'm wondering if the issue was that the writes for the new > entities > > were partially applied to the indexes. The datastore backend sweeps for > > partially applied jobs (also you can also trigger a roll-forward on the > > index by starting a new transaction on the entity - even if it is just a > > get). Instances of this are rare but it's the first thing that comes to > > mind. > > > > Thank you, > > > > Jeff > > > > On Wed, Sep 30, 2009 at 3:30 PM, Jeff S (Google) > wrote: > > > > > Hi Scott, > > > > > Thank you for the report, we're investigating this now. I'll keep you > > > posted. > > > > > -Jeff > > > > > On Wed, Sep 30, 2009 at 2:29 PM, Scott wrote: > > > > >> I just recently built a few more indexes. They were built much faster > > >> than before. > > > > >> But it seems like not everything that ought to be in the index is in > > >> the index. Take for example this one: > > > > >> - kind: UserItem > > >> properties: > > >> - name: lang > > >> - name: part > > >> - name: style > > >> - name: user > > >> - name: last > > >>direction: desc > > > > >> I just built that one to replace this one which was built a long time > > >> ago: > > > > >> - kind: UserItem > > >> properties: > > >> - name: part > > >> - name: style > > >> - name: user > > >> - name: last > > >>direction: desc > > > > >> Now if I want to look at my UserItems on the data viewer I put in this > > >> query: > > > > >> SELECT * FROM UserItem where user = 'scott' and lang = 'ja' and style > > >> = 'both' and part = 'rune' order by last desc > > > > >> But this ends up giving me 289 entities. If I use the old index: > > > > >> SELECT * FROM UserItem where user = 'scott' and style = 'both' and > > >> part = 'rune' order by last desc > > > > >> Or I use no index: > > > > >> SELECT * FROM UserItem where user = 'scott' and style = 'both' and > > >> part = 'rune' > > > > >> I get 478 entities. I checked over these and they all have 'last' and > > >> 'lang' values so they should be in the index (and only three of them > > >> have lang != 'ja'). I can't figure out any particular common theme > > >> behind the items that aren't in the index that should be in the index. > > > > >> The same thing happened with indexes: > > > > >> - kind: UserItem > > >> properties: > > >> - name: lang > > >> - name: part > > >> - name: style > > >> - name: user > > >> - name: rtd > > > > >> - kind: UserItem > > >> properties: > > >> - name: lang > > >> - name: part > > >> - name: style > > >> - name: user > > >> - name: time > > >>direction: desc > > > > >> All three of these indexes were built in the last three or four days. > > >> The ones that do work were built early in August, I believe. > > > > >> Appengine ID: skrit > > > > >> Note: the numbers may vary as I continue to use the site. But those > > >> are the numbers that I have now. > > > > >> - Scott > > > --~--~-~--~~~---~--~~ 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: Optimizing BigTable queries for a timestamped class
Thanks for the link, Kevin. Just watched it and it definitely informs how I structure my data model. The strength of Relation Indexes and Merge Join seem to be in the case where you know an exact day/hour/second/etc that you're requesting, but not as much for requesting a timespan. A question that's still unanswered for me is how to maximize the efficiency of that timespan query. It still seems to me that if the entities are sorted chronologically in BigTable you would be able to use a range-scan on the entity table itself to grab them all in one go. But I don't know how to do that range-scan! On Oct 6, 10:08 am, Kevin Pierce wrote: > Brett Slatkin gave a fantastic talk on this type problem/solution. > > http://code.google.com/events/io/sessions/BuildingScalableComplexApps... > > He suggests using a ListProperty and exploding the date into it, then a > range can be selected by using set membership. > > Watching this video it is worth every minute. > > > > On Tue, Oct 6, 2009 at 10:56 AM, Erem wrote: > > > Anyone? Is manipulating key structure to order them properly in > > BigTable a good idea? How to structure my queries to do prefix/range > > scans on those keys? > > Thanks! > > > Erem > > > On Oct 4, 12:57 pm, Erem wrote: > > > 3 questions about optimizing BigTable datastore queries on a > > > timestamped class. I'm using JDO on the Java runtime. > > > > SOME CONTEXT > > > My class, Event, requires speedy scans on time windows. An Event's > > > timestamp is immutable. > > > > Given that (1) BigTable physically stores rows in lexicographic order > > > by rowkey, and (2) what I specify as PrimaryKey directly maps to > > > BigTable rowkey (after appending to appID, etc), I will set up my > > > PrimaryKeys to be lexicographically ordered in time followed by an > > > entity-unique ID. > > > > Some example keys, where entity is identified by its UTCDate+millis > > > +unique ID. > > > UTCDATE ::TIME ::UNIQUE ID > > > 2000-12-01::13:15:00.000::1 //Dec 01, 2000, at 1:15PM > > > 2001-12-01::13:15:00.000::2 //Dec 01, 2001, same time > > > 2002-12-01::13:15:00.000::3 //Dec 01, 2002, same time > > > > This key structure allows me to do useful, dense prefix- and range- > > > scans directly on the entities table. For example > > > (not syntactic GQL. See Question 2.) > > > WHERE key MATCHES '2000*' //all events from the year 2000 > > > WHERE key MATCHES '2000-12*' //all from month of December, 2000 > > > WHERE key MATCHES '2000-12-01*' //all from Dec 01, 2000 > > > WHERE key > '2000-12-01' //between Dec 1 and Christmas, 2000 > > > && key < '2000-12-25' > > > > 3 QUESTIONS IN ORDER OF PRAGMATIC TO OBSCURE > > > (1) Am I actually optimizing anything by doing this, or am I wasting > > > time? Should I expect this to be super-fast because it's performing a > > > dense read on 1 or 2 BigTable Tablets? > > > > (2) I need to use range- and prefix- scan against the key in order to > > > take advantage of these optimizations. How do I use them in the Java > > > API? Is range-scan as simple as "WHERE key > :bottomRange and key > > > < :topRange"? What about prefix-scan? > > > > (3) BigTable guarantees that entities are stored in order by RowKey. > > > Its specifications also say that SSTables, once written, are > > > immutable. In this case, what happens when the following sequence > > > happens: > > > (i) an SSTable is written that contains rowkeys = 1,2,3,5; > > > (ii) I commit an entity with rowkey 4. > > > Does the SSTable get deleted and recreated? Is guarantee 1 broken and > > > my entity(key=4) written to a different SSTable? The answer to this > > > effects how optimized this approach really is. > > > > thanks in advance for the advice you datastore ninjas you. > > -- > Kevin Pierce > Software Architect > VendAsta Technologies Inc. > kpie...@vendasta.com > (306)955.5512 ext 103www.vendasta.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: Google app-engine hello world problem
For one thing, you should be using python 2.5; 2.6 doesn't work. However, I suspect you have a problem in your app.yaml. On Oct 6, 1:27 pm, TaiT OS wrote: > C:\Program Files\Google\google_appengine\google\appengine\tools > \appcfg.py:41: DeprecationWarning: the sha module is deprecated; use > the hashlib module instead > import sha > C:\Program Files\Google\google_appengine\google\appengine\api > \datastore_file_stub.py:40: DeprecationWarning: the md5 module is > deprecated; use hashlib instead > import md5 > C:\Program Files\Google\google_appengine\google\appengine\api > \validation.py:64: DeprecationWarning: BaseException.message has been > deprecated as of Python 2.6 > self.message = message > C:\Program Files\Google\google_appengine\google\appengine\api > \validation.py:68: DeprecationWarning: BaseException.message has been > deprecated as of Python 2.6 > return str(self.message) > ERROR 2009-10-06 17:21:28,313 dev_appserver_main.py:442] Fatal > error when loading application configuration: > Repeated items must be , > but found 'url:/.* script:helloworld.py'. > in "C:\Users\taitos\workspace\helloworld\src\app.yaml", line 8, > column 23 > > i use python,windows vista , eclipse --~--~-~--~~~---~--~~ 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: Using transactions to avoid stale memcache entries.
Short version. When, exactly, are apiproxy_errors.ApplicationErrors with .application_error == datastore_pb.Error.CONCURRENT_TRANSACTION raised. --~--~-~--~~~---~--~~ 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 app-engine hello world problem
ok i will try python 2.5 --~--~-~--~~~---~--~~ 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] Using transactions to avoid stale memcache entries.
# I'd like to use memcache to store db.Model instances but I'd like to # guarantee that memcache entries do not stay stale for very long. At # the same time, I'd like to use long memcache timeouts, significantly # longer than the staleness constraint. # For the purposes of discussion, I've defined five models, T1-T5, # with different implementations of upd(), the method that updates the # datastore for a given instance, and latest, which is supposed to get # the latest version of such an instance from either memcache or the # datastore. # I defined these models because they're useful in describing the # problems that I've run into. Each one comes with some questions # about how transactions work. # T1 and T3 do not satisfy my "not too stale" requirement due to race # conditions which I describe in-line. T2, T4, and T5 are my attempts # to eliminate those races. # Note - caching all db.get() results violates my "not very stale" # requirement. The discussion for T3 below shows why/how. # I'm reasonably confident that T2 satisfies my "not too stale" # requirement but it isn't as effective at keeping entries in memcache # as T4 or T5. However, I don't know if T4 satisfies that # requirement. If T4 doesn't satisfy that requirement, I don't know # if it's possible to have something that both satisfies that # requirement and is more effective than T2 without doing something # like T5. # As I discuss below, T5 may not work either and isn't applicable in # many circumstances. # FWIW, the specific data types in these examples are just to help me # describe the issues. Hacks which use characteristics of said data # types to meet the requirement are cool and everything, but the data # types that I care about are different, so from google.appengine.ext import db from google.appengine.api import memcache # Common code for T1-T4. class TBase(db.Model): num_updates = db.IntegerProperty(default=0) @classmethod def run_txn(cls, fn): # This succeeds or a deadline error happens. Let's ignore the # latter. return db.run_in_transaction_custom_retries(1 << 20, fn) @classmethod def memcache_key(cls, key): return str(key) @classmethod def from_cache(cls, key): return memcache.get(cls.memcache_key(key)) _memcache_key = property(lambda self: self.memcache_key(self.key ())) def from_ds(self): return self.get(self.key()) def cache(self): # I assume that any previous entry is deleted if memcache.set # fails. If that's not true, uncomment the next line. # self.flush() memcache.set(self._memcache_key, self) def flush(self): memcache.delete(self._memcache_key) # T1 doesn't work because there's a race in upd() after the transaction. class T1(TBase): # Yes, self is stale after upd(). def upd(self): def txn(): # and self may be stale before upd, so s = self.from_ds() s.num_updates += 1 s.put() return s # Calls to cache() doesn't necessarily complete in the same # order as calls to the corresponding put(). self.run_txn(txn).cache() # Want instance with latest num_updates for key. @classmethod def latest(cls, key): obj = cls.from_cache(key) if not obj: obj = cls.get(key) return obj # T2 works if consistency related exceptions only occur during # datastore operations and continue to occur until a transaction # succeeds. In other words, T2 works if any transaction that # completes its datastore put() is guaranteed to complete the cache() # before any other instance completes its datatore put(). # However, T2 only writes newly updated entries into memcache. Once # entries expire, they're not cached again. class T2(TBase): # self is still stale after upd(). def upd(self): def txn(): s = self.from_ds() s.num_updates += 1 s.put() # Are these calls to cache() guaranteed to occur in the # same order as successful calls to put()? s.cache() self.run_txn(txn) @classmethod def latest(cls, key): obj = cls.from_cache(key) if not obj: obj = cls.get(key) return obj # Suppose that T2 works, but we want to cache only those entries that # are being actively read. (Refreshing the cache from a datastore # read also helps with entries that fall out of memcache for some # reason.) One way to satisfy that "want" is to memcache instances # that were read from the datastore outside of upd(). # T3 is a naive attempt to implement that "want". It doesn't work # because there's a race between upd() and latest(). # We could use timeouts for the memcache write in latest() to limit # the lifetime of potentially stale entries. (This assumes that # memcache timeouts actually work.) However, the tighter the limit
[google-appengine] Re: Authenticating to application to access REST services
Hi Devraj, Yes you can use ClientLogin (which sends the user's username and password over SSL in exchange for an auth token) to obtain a cookie which is used by App Engine's users API to determine the current user. I wrote a small open source Python library to accomplish this (based on the gdata-python-client) and I wrote up a description on my personal blog: http://blog.jeffscudder.com/2009/08/test-client-for-app-engine.html You could build a non-browser-based client library like this is just about any language. Happy coding, Jeff On Sun, Oct 4, 2009 at 10:15 PM, Devraj Mukherjee wrote: > > Hi all, > > My AppEngine application (written in Python) provides a REST API that > is used by a jQuery based web front end. Users are required to > authenticate themselves to use my application and obviously I am able > protect both my REST services and the UI parts setting login: required > in app.yaml > > I wish to now write a consumer for my REST API to ship as a client > library (preferred languages Python and/or Objective-C). How should I > go about handling the authentication? > > Should authenticating using the GData libraries work? > > Thanks for any pointers. > > -- > "The secret impresses no-one, the trick you use it for is everything" > - Alfred Borden (The Prestiege) > > > > --~--~-~--~~~---~--~~ 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] Some people can't access to my app.
Hi, I could not find any answer in the forum, if there is, tell me plz. My app : http://www.comeego.com/ Some people can't access to it (around 30% of the people I guess), and I don't know why. It is run by appengine. The pb they have : "Cannot find http://www.comeego.com"; - DNS-error, server cannot be found. Is it due to Appengine or not at all ? That's bad, thx if you can help. Romain --~--~-~--~~~---~--~~ 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: [appengine-java] Incoming email support
It should be available within the next couple of weeks. - Jason On Mon, Oct 5, 2009 at 7:03 PM, Prashant wrote: > And, when it is scheduled/expected to release? > > > > --~--~-~--~~~---~--~~ 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 are your top three issues in appengine?
1) _Efficient_ writing/reading to/from the datastore, it is _way_ too expensive in terms api_cpu. 2) User login from multiple Google Apps domains, or actual deployment of an app to multiple Google Apps domains so I do not need a separate app for each client. 3) SSL/HTTPS Support on Google Apps domains On Tue, Oct 6, 2009 at 2:17 PM, herbie <4whi...@o2.co.uk> wrote: > > 1) More efficient writing/reading to/from the datastore. Currently > its too expensive in terms api_cpu. > This would make GAE much more suited to dynamic apps that write/read > the datastore regularly. > > 2)Built-in Paging > > 3) SSL/HTTPS support > > > --~--~-~--~~~---~--~~ 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: TyphoonAE alpha released
Hi Brian, On Oct 5, 7:15 pm, bFlood wrote: > this is excellent work Tobias, thanks. this could certainly help with > smaller sites that need to keep at least a single instance handler > hot, have you tried it on EC2 yet? Thanks :) I've not yet tested it on EC2, but it's definitely on my schedule. We're planning to release appliances for Xen and VMware. Cheers, Tobias --~--~-~--~~~---~--~~ 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: [appengine-python] Re: [appengine-java] Re: XMPP and MessageBuilder.withFromJid()
Please file a new feature request. http://code.google.com/p/googleappengine/issues/list - Jason On Tue, Oct 6, 2009 at 11:42 AM, Prashant wrote: > Hi, > > XMPP api supports receiving messages on *.*@appspot.combut > throws > *Invalid jabber ID* error while sending message from the same. > > Please fix/support this. > > 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: What are your top three issues in appengine?
1) More control over how Memcache evict entries. More information on Memcache usage (how big, how many entries, how it scale with more traffic). Allow us to purchase more memcache space/slots? Allow us to run some code, call some url, or write data to datastore upon eviction. Basically, anything that help reduce write to datastore. Anything that make memcache as a write-behind cache. 2) Less expensive writes to datastore (api_cpu) 3) Better admin tools for managing data (for Java at least) 0) Making certain task able to run over 30 secs (this is probably on top of everyone list but nobody say it because it most likely won't be allowed) On Oct 6, 2:04 am, Kenneth wrote: > I was looking at the issue list the other day. There is a lot rubbish > in there (support c#!) but what do people who are actively using app > engine want fixed? If you had to pick three issues what would they > be? Link to issues only, don't give a "why app engine sucks" > rant. :-) > > Here are my top three: > > 1) More granular accounting of how datastore space is > usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396 > > This one should be easy, the information is being pulled from > somewhere already. Right now storage usage is a total black hole. > > 2) SSL/HTTPS Support on Google Apps > domainshttp://code.google.com/p/googleappengine/issues/detail?id=792 > > I know it's a hard problem, but it is really holding gae back. > > 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501 > > Release it already, and give us a paid SLA, and a pony. --~--~-~--~~~---~--~~ 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: Some people can't access to my app.
www.comeego.com if powered by appengine, doesnt appear to be using the proper DNS config. http://www.google.com/support/a/bin/answer.py?hl=en&answer=47283 2009/10/6 arbi : > > Hi, > > I could not find any answer in the forum, if there is, tell me plz. > My app : http://www.comeego.com/ > Some people can't access to it (around 30% of the people I guess), and > I don't know why. It is run by appengine. > > The pb they have : "Cannot find http://www.comeego.com"; - DNS-error, > server cannot be found. > Is it due to Appengine or not at all ? > That's bad, thx if you can help. > > Romain > > > -- 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: What are your top three issues in appengine?
1. XMPP and WebSockets 2. XMPP and Flash 3. XMPP and ways to connect to our bots from inside the browser. On Oct 6, 5:04 am, Kenneth wrote: > I was looking at the issue list the other day. There is a lot rubbish > in there (support c#!) but what do people who are actively using app > engine want fixed? If you had to pick three issues what would they > be? Link to issues only, don't give a "why app engine sucks" > rant. :-) > > Here are my top three: > > 1) More granular accounting of how datastore space is > usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396 > > This one should be easy, the information is being pulled from > somewhere already. Right now storage usage is a total black hole. > > 2) SSL/HTTPS Support on Google Apps > domainshttp://code.google.com/p/googleappengine/issues/detail?id=792 > > I know it's a hard problem, but it is really holding gae back. > > 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501 > > Release it already, and give us a paid SLA, and a pony. --~--~-~--~~~---~--~~ 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] Generate cryptographically secure random number
Python random uses the Mersenne Twister RNG, which is "completely unsuitable for cryptographic purposes." [1] AppEngine also includes pyCrypto.randpool, but it needs access to '/ dev/random' because "if it can't get entropy from the OS, it silently produces predictable output." [2] (plus it will be deprecated) So my question is, is it possible to generate cryptographically secure random number in AppEngine? Reference = [1] http://docs.python.org/library/random.html [2] http://lists.dlitz.net/pipermail/pycrypto/2008q3/00.html --~--~-~--~~~---~--~~ 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 are your top three issues in appengine?
1. SSL for custom domains. 2. Reliability. What's disturbing is that the same application can work reliably for a while, then it starts working unreliably - based on changes Google makes on the server. 3. A online backup methodology: the ability for us to maintain snapshots of our data, with the ability to roll back to the snapshots as needed. On Oct 6, 5:22 pm, PointBreak wrote: > 1. XMPP and WebSockets > 2. XMPP and Flash > 3. XMPP and ways to connect to our bots from inside the browser. > > On Oct 6, 5:04 am, Kenneth wrote: > > > I was looking at the issue list the other day. There is a lot rubbish > > in there (support c#!) but what do people who are actively using app > > engine want fixed? If you had to pick three issues what would they > > be? Link to issues only, don't give a "why app engine sucks" > > rant. :-) > > > Here are my top three: > > > 1) More granular accounting of how datastore space is > > usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396 > > > This one should be easy, the information is being pulled from > > somewhere already. Right now storage usage is a total black hole. > > > 2) SSL/HTTPS Support on Google Apps > > domainshttp://code.google.com/p/googleappengine/issues/detail?id=792 > > > I know it's a hard problem, but it is really holding gae back. > > > 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501 > > > Release it already, and give us a paid SLA, and a pony. --~--~-~--~~~---~--~~ 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: Opinions on my SSL workaround
Google folks in the past mentioned this as the most likely way to accomplish this task. But it's a real bummer that we need to engage in such hackery... It's like buying a car - then having a lively discussion on a forum - "I have a great idea how to stop it. How 'bout you cut a hole in the floor, and this way, when you need to stop, you can stick your foot on the ground and drag it to a stop..." And then the consensus opinion is "This would work - as long as you bought shoes with thick soles..." On Oct 6, 10:14 am, Erem wrote: > I wanted your opinions on an SSL workaround I'm planning for my > medical app. > > Let's say my medical app iswww.mymedical.com. > > The front-end is written in GWT and served from AppEngine via HTTP > fromwww.mymedical.com. It does not even use the datastore. > > The back-end is a JSON data API at mymedical.appspot.com. It has all > the important stuff: db of users, their medical data, etc. It only > responds to HTTPS. > > Question: How do we make secure requests for sensitive data without > the loss of branding that occurs when mymedical.appspot.com appears on > the address bar? > > Answer: Serve all pages fromwww.mymedical.com, and have those pages > execute asynchronous API calls to mymedical.appspot.com. Retrieve > responses by having the server output JSONP (http://bob.pythonmac.org/ > archives/2005/12/05/remote-json-jsonp/) rather than plain JSON. > > Do any of you guys currently do this? How does it work for you? > > Erem --~--~-~--~~~---~--~~ 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: Generate cryptographically secure random number
Yep. You can write anything you want in python. Need a random number... Try this... Perform a database transform 18 times, take the execution times of these, find the min execution time, and Max execution time. Assign the longest time to be 100% and the shortest to be 0% the remaining 16 passes are then converted to 0 if they are closer to 0 and 1 if closer to 100 Construct a 16 bit number from the 0's and 1's This method, assuming you pick a database or other operation that has an expected time frame which is predictable, but follows a natural distribution, will create truly random 16 bit numbers. Depending on how many bit number you need you can increase the number of numbers generated. If you need a longer random number in low volume you can do a hash of the most recent page added to digg. Construct a random number based on the difference in system time between your server and the client making the request. Suitability for cryptography is a stupid blanket statement: If you need one 128 bit random number you could ask 128 people 1 or 0 and have a suitable number. But because of the way people work if you did that 1 million times you'd find that you don't get good distribution of 1s and 0s. If instead you said give me a number between 1 and 100 and assigned even numbers a 0 and odds a 1 you would get a more random number suitable for 100's of thousands of crypto keys. If you instead took the temperature of 128 people and if the thermometer said an even decimal assigned that a 0 and odd decimals a 1, you would have a random number that would be suitable for millions of random numbers. If you took the hash of a password some one gave you, you'd be good for a few thousand random numbers but would find some passwords came up more than statistically random should.. -Brandon Wirtz Blackwaterops.com -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of Anh Hai Trinh Sent: Tuesday, October 06, 2009 8:31 PM To: Google App Engine Subject: [google-appengine] Generate cryptographically secure random number Python random uses the Mersenne Twister RNG, which is "completely unsuitable for cryptographic purposes." [1] AppEngine also includes pyCrypto.randpool, but it needs access to '/ dev/random' because "if it can't get entropy from the OS, it silently produces predictable output." [2] (plus it will be deprecated) So my question is, is it possible to generate cryptographically secure random number in AppEngine? Reference = [1] http://docs.python.org/library/random.html [2] http://lists.dlitz.net/pipermail/pycrypto/2008q3/00.html --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---