[google-appengine] SEO
Hello developers, I develope a app in GAE(asterixmobile.in), its a static app i won't have clear idea abt indexing but i upload the index.yaml which automatically generated by GAE when i run in local host ,by using the command appcfg.py update_indexes it ask user id and pass ,but it didn't show the file whether its right? or i want to add any other details in index.yaml And i want to make my site first if any one search in google ,for that i think indexing should be complesary ,if my application index google can able to crawl the data so plz guide me Thanks jaikumar --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] application error
Hello Developers, I upload the code of mail sending, its working for my application ,if i moved the same code to another gmail id its not working ,i change the application title and generate the new .yaml file,html pages are visible and send mail is on problem ,it says errors as Traceback (most recent call last): File "/base/python_lib/versions/1/google/appengine/ext/webapp/ __init__.py", line 501, in __call__ handler.post(*groups) File "/base/data/home/apps/jai20/1.329883414291921018/main.py", line 36, in post mail.send_mail(user_email,sender_address,subject,body) File "/base/python_lib/versions/1/google/appengine/api/mail.py", line 205, in send_mail message.send(make_sync_call) File "/base/python_lib/versions/1/google/appengine/api/mail.py", line 477, in send raise ERROR_MAP[e.application_error](e.error_detail) InvalidSenderError could any one help me to solve this problem Thanks in advance jaikumar.cn --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: ClientLogin error
The AuthSub documentation URL should be: http://code.google.com/apis/accounts/docs/AuthSub.html#AuthProcess Thank you, Jeff On Dec 10, 5:45 pm, Jeff S <[EMAIL PROTECTED]> wrote: > Hi Tom, > > I find that the best way to understand AuthSub is to go through the > authorization flow a few times. A good place to see this in action > ishttp://gdata-feedfetcher.appspot.com/, sign in, click on a link under > "Feeds which require authorization" and observe the auth flow. > > To start over with a clean slate, click the link "To erase your stored > tokens, click here" > > Now for the details. > > When you first visit the page which requires an auth token, there is > no auth token present, so the code generates a link to authorize this > app to access the desired resources. > > After you click the "Grant Access" button > onhttps://www.google.com/accounts/AuthSubRequest... > you are taken back to the app, but the URL now has some addition > information: ...&token=CKasdk... Since the app sees the token in the > request URL, it does not need to generate the authorization link. > > Documentation on AuthSub can be found > here:http://jscudder:6346/apis/accounts/docs/AuthSub.html#AuthProcess > > Re. your assumptions on request routing: > > When a request comes in for the app, the configuration in app.yaml is > checked first. > > http://code.google.com/p/google-app-engine-samples/source/browse/trun... > > The first matching regular expression dictates which script is run or > which file is served. In this case, visiting anything beginning > with /... will cause feedfetcher.py to run. > > http://code.google.com/p/google-app-engine-samples/source/browse/trun... > > In feedfetcher.py, the statment webapp.WSGIApplication([('/', > Fetcher),...]) sets request routing rules within this script and > directs the request to the desired RequestHandler class (in this case > Fetcher). > > Since the browser is performing an HTTP GET, the get method in Fetcher > is invoked, and the get method examines the currently requested URL > for additional information. I hope this helps, I feel like this may be > a lot :) > > Happy coding, > > Jeff > > On Dec 9, 10:40 pm, Tom <[EMAIL PROTECTED]> wrote: > > > > > Hi Jeff, > > > you are right . thanks. > > > i have anothe question for you > > i couldnt figure out how the below line of code works > > > auth_token = gdata.auth.extract_auth_sub_token_from_url > > (self.request.uri) > > > i suppose only GenerateAuthSubURL() function can generate the url > > with tokens but i have seen the > > above line of code before calling GenerateAuthSubURL() in the > > example:http://code.google.com/appengine/articles/gdata.html > > > how come we receive the auth_token from the requirest uri? (its just > > the application uri without any token right?) > > > please share links to essential tutorials if you think i am missing > > some vital information, i am new to html > > (and for that matter, to python also :-) ) > > > here is my assumption: > > based on the app.yaml file client request will be routed to the script > > and > > it will call the get function of the class assigned for handling that > > particular uri parameter .. > > correct me if i am wrong. > > > Thank you, > > Tom. > > > On Dec 8, 8:28 pm, Jeff S <[EMAIL PROTECTED]> wrote: --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: ClientLogin error
Hi Tom, I find that the best way to understand AuthSub is to go through the authorization flow a few times. A good place to see this in action is http://gdata-feedfetcher.appspot.com/ , sign in, click on a link under "Feeds which require authorization" and observe the auth flow. To start over with a clean slate, click the link "To erase your stored tokens, click here" Now for the details. When you first visit the page which requires an auth token, there is no auth token present, so the code generates a link to authorize this app to access the desired resources. After you click the "Grant Access" button on https://www.google.com/accounts/AuthSubRequest... you are taken back to the app, but the URL now has some addition information: ...&token=CKasdk... Since the app sees the token in the request URL, it does not need to generate the authorization link. Documentation on AuthSub can be found here: http://jscudder:6346/apis/accounts/docs/AuthSub.html#AuthProcess Re. your assumptions on request routing: When a request comes in for the app, the configuration in app.yaml is checked first. http://code.google.com/p/google-app-engine-samples/source/browse/trunk/gdata_feedfetcher/app.yaml The first matching regular expression dictates which script is run or which file is served. In this case, visiting anything beginning with /... will cause feedfetcher.py to run. http://code.google.com/p/google-app-engine-samples/source/browse/trunk/gdata_feedfetcher/feedfetcher.py In feedfetcher.py, the statment webapp.WSGIApplication([('/', Fetcher),...]) sets request routing rules within this script and directs the request to the desired RequestHandler class (in this case Fetcher). Since the browser is performing an HTTP GET, the get method in Fetcher is invoked, and the get method examines the currently requested URL for additional information. I hope this helps, I feel like this may be a lot :) Happy coding, Jeff On Dec 9, 10:40 pm, Tom <[EMAIL PROTECTED]> wrote: > Hi Jeff, > > you are right . thanks. > > i have anothe question for you > i couldnt figure out how the below line of code works > > auth_token = gdata.auth.extract_auth_sub_token_from_url > (self.request.uri) > > i suppose only GenerateAuthSubURL() function can generate the url > with tokens but i have seen the > above line of code before calling GenerateAuthSubURL() in the > example:http://code.google.com/appengine/articles/gdata.html > > how come we receive the auth_token from the requirest uri? (its just > the application uri without any token right?) > > please share links to essential tutorials if you think i am missing > some vital information, i am new to html > (and for that matter, to python also :-) ) > > here is my assumption: > based on the app.yaml file client request will be routed to the script > and > it will call the get function of the class assigned for handling that > particular uri parameter .. > correct me if i am wrong. > > Thank you, > Tom. > > On Dec 8, 8:28 pm, Jeff S <[EMAIL PROTECTED]> wrote: --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: ImportError: No module named feedparser
I thought feedparser is in SDK. ^_^ I have to copy feedparse.py into my folder! On Dec 11, 9:16 am, L <[EMAIL PROTECTED]> wrote: > Hi, i use the latest sdk and (i install feedparse in my computer and i > canimportin the python shell) but meet the error in subject! when i > use dev_appserver.py --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: url.fetch DNS cache (IP server changes)
Hi, my app (tigrillotigrillotigrillo) is having this issue with last.fm submission url : http://post.audioscrobbler.com/ What can I do?? Thanx Julian On 10 dic, 19:55, Marzia Niccolai <[EMAIL PROTECTED]> wrote: > Hi, > > Our engineering team looked at it, and it seems that this is now resolved > (again). Thanks for your patience. > > -Marzia > > On Wed, Dec 10, 2008 at 12:24 AM, Sylvain <[EMAIL PROTECTED]> wrote: > > > Hi, > > > Since yesterday, the error is back. > > > from google.appengine.api import urlfetch > > resp = urlfetch.fetch('http://www.hordes.fr/') > > > -> DownloadError: ApplicationError: 5 > > > But it should work > > > I think, urlfetch is fetching the bad IP server. > > > Currently, I can't use the IP adress. So my app is down again > > > Regards > > > Sylvain > > > On 8 déc, 10:38, Sylvain <[EMAIL PROTECTED]> wrote: > > > Hi Jeff, > > > > Thank you for your help. > > > I've checked my site saturday morning (UTC) and it was working again. > > > > Good news ;) > > > > Regards > > > > Sylvain > > > > On 6 déc, 02:26, Jeff S <[EMAIL PROTECTED]> wrote: > > > > > Hi again Sylvain, > > > > > We've fixed the cache issue, urlfetch should now get from the correct > > > > server (though mirrorrr will still show the incorrect content at the > > > > moment because we didn't reset it's page cache). I verified on > > > > shell.appspot.com. > > > > > from google.appengine.api import urlfetch > > > > resp = urlfetch.fetch('http://www.hordes.fr/') > > > > resp.content > > > > > Thank you, > > > > > Jeff > > > > > On Dec 5, 11:51 am, Jeff S <[EMAIL PROTECTED]> wrote: > > > > > > Hi Sylvain, > > > > > > Thank you for reporting this. We have been looking into this issue. > > > > > Would it be possible to replace the hostname with the new IP address > > > > > until this is resolved to avoid the DNS lookup? > > > > > > Cheers, > > > > > > Jeff > > > > > > On Dec 4, 7:06 am, Sylvain <[EMAIL PROTECTED]> wrote: > > > > > > > Hi, > > > > > > > My application fetches this url :http://www.hordes.fr > > > > > > > But monday, the IP for this server (www.hordes.fr) has changed > > (they > > > > > > moved), but currently I always fetch the bad URL/bad server. > > > > > > > I've tested with different applications in appspot and it is the > > same > > > > > > error : > > > > > > > Here what appspot see :http://www.mirrorrr.com/www.hordes.fr > > > > > > Here what it should be :http://www.hordes.fr > > > > > > > So now, my app does not work anymore. > > > > > > > Could you check/reset,... your DNS ? > > > > > > > Thank you. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] ImportError: No module named feedparser
Hi, i use the latest sdk and (i install feedparse in my computer and i can import in the python shell) but meet the error in subject! when i use dev_appserver.py --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: url.fetch DNS cache (IP server changes)
Hi, Our engineering team looked at it, and it seems that this is now resolved (again). Thanks for your patience. -Marzia On Wed, Dec 10, 2008 at 12:24 AM, Sylvain <[EMAIL PROTECTED]> wrote: > > Hi, > > Since yesterday, the error is back. > > from google.appengine.api import urlfetch > resp = urlfetch.fetch('http://www.hordes.fr/') > > -> DownloadError: ApplicationError: 5 > > But it should work > > I think, urlfetch is fetching the bad IP server. > > Currently, I can't use the IP adress. So my app is down again > > Regards > > Sylvain > > > > On 8 déc, 10:38, Sylvain <[EMAIL PROTECTED]> wrote: > > Hi Jeff, > > > > Thank you for your help. > > I've checked my site saturday morning (UTC) and it was working again. > > > > Good news ;) > > > > Regards > > > > Sylvain > > > > On 6 déc, 02:26, Jeff S <[EMAIL PROTECTED]> wrote: > > > > > Hi again Sylvain, > > > > > We've fixed the cache issue, urlfetch should now get from the correct > > > server (though mirrorrr will still show the incorrect content at the > > > moment because we didn't reset it's page cache). I verified on > > > shell.appspot.com. > > > > > from google.appengine.api import urlfetch > > > resp = urlfetch.fetch('http://www.hordes.fr/') > > > resp.content > > > > > Thank you, > > > > > Jeff > > > > > On Dec 5, 11:51 am, Jeff S <[EMAIL PROTECTED]> wrote: > > > > > > Hi Sylvain, > > > > > > Thank you for reporting this. We have been looking into this issue. > > > > Would it be possible to replace the hostname with the new IP address > > > > until this is resolved to avoid the DNS lookup? > > > > > > Cheers, > > > > > > Jeff > > > > > > On Dec 4, 7:06 am, Sylvain <[EMAIL PROTECTED]> wrote: > > > > > > > Hi, > > > > > > > My application fetches this url :http://www.hordes.fr > > > > > > > But monday, the IP for this server (www.hordes.fr) has changed > (they > > > > > moved), but currently I always fetch the bad URL/bad server. > > > > > > > I've tested with different applications in appspot and it is the > same > > > > > error : > > > > > > > Here what appspot see :http://www.mirrorrr.com/www.hordes.fr > > > > > Here what it should be :http://www.hordes.fr > > > > > > > So now, my app does not work anymore. > > > > > > > Could you check/reset,... your DNS ? > > > > > > > Thank you. > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: dynamic plotting & matplotlib
I think that Tutorial 4 is good to do for GAE. http://teethgrinder.co.uk/open-flash-chart-2/tutorial-4.php The HTML part is generated with a template. Just like a normal request result. When the page is rendered by the browser it will request a JSON file that describes the graph to draw. In the download is a version of ofc.py. in the forum for OFC in the section about python I have uploaded an extended version that uses django-simple-json. 2008/12/10 gratefulfrog <[EMAIL PROTECTED]>: > > Hi! > Thanks for the suggestion, but I'm sorry to say that I don't > understand how to make it work with the app-engine? Could you tell me > how to get the hellow world example to work? what do you put in the > app.yaml and in the page template to get it to display on the SDK > server? > > Thanks, > GF. > > On Dec 3, 10:29 pm, djidjadji <[EMAIL PROTECTED]> wrote: >> Or you can have a look if "Open Flash Chart 2" can be used. >> It uses a JSON file to format the chart, there is a python file to >> help constructing this JSON structure. >> >> http://teethgrinder.co.uk/open-flash-chart-2/ >> >> 2008/12/3 Jonk <[EMAIL PROTECTED]>: >> >> >> >> > On 3 joulu, 12:56, gratefulfrog <[EMAIL PROTECTED]> wrote: >> >> >> about google charts? Is it possible to create custom charts from that, >> >> somehow? My application is really about charting, alas... >> >> >http://code.google.com/apis/chart/ >> >> >jK > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Isolated Application Deployment Instances
Your day is currently made. Your customers sets up a google apps or gae account, and then add you as a developer. They "own" the account - billing, data, management is all their responsibility, and it is as well insulated from other customers of yours as from any other random GAE user. As a developer you can upload new versions of the app. Note the "currently" in my first sentence. At the moment there is no way to download your code from GAE, so your code cannot be retrieved by your customers. However, many, many people have railed against this - they have mangled their local code somehow and want to get the production code back off GAE. The accepted wisdom is that any developer who doesn't use version control and backups obviously doesn't place any value on their code, and so neither should anyone else. And those of us who do value our code actually prefer the security of there not being any way to download it from GAE. Your situation is another argument in favour of leaving the status quo. Cheers! Greg. On Dec 11, 10:57 am, rvjcallanan <[EMAIL PROTECTED]> wrote: > Thanks Roberto, > > You have almost made my day :) > > Can you clarify to what extent I can "isolate" app instances for each > of my customers? > > For example... > > Is it feasible to maintain separate "table sets" for 1000s of > customer? > > Is it possible for one misbehaving customer "instance" to adversely > affect other customers? > > Regards, > rvjcallanan > > On Dec 10, 8:28 pm, Roberto Saccon <[EMAIL PROTECTED]> wrote: > > > AFAIK, the answer is yes only to some of your points listed below: > > > On Dec 10, 4:38 pm, rvjcallanan <[EMAIL PROTECTED]> wrote: > > > > Thanks James, > > > > I may have gotten the wrong end of the stick here. > > > I've been playing around with the SDK up to now but have not actually > > > deployed yet. > > > > Are you basically saying that I can... > > > > 1. Allow 1000s of Google Apps account holders to easily deploy > > > *isolated instances* of my app: > > > Well, they are not isolated, you have to write your code to isolated > > them (based on detecting the custom domain) > > > > 2. Protect my app code from inspection by said Google Apps account > > > holders. > > > Yes. > > > > 3. Assign responsibility for hosting cost of app instances to said > > > Google Apps account holders (when the service is eventually monetised) > > > again, you have to track traffic for each deployed app (based on > > detecting the custom domain) and do your own billing, unless Google > > will roll out a billings service based on deployed app domains (that > > of course would be great) and not just on consumption per developer > > account. > > > > 4. Roll-out software updates automatically to each Google Apps account > > > holder who uses my app. > > > Yes > > > > If the answer is "YES" to each of the above, then you will have made > > > my day!! > > > regards > > Roberto > > > > On Dec 10, 6:28 pm, James Ashley <[EMAIL PROTECTED]> wrote: > > > > > Maybe I'm missing something. But it doesn't seem like it would take > > > > much effort to write a script to automate it. > > > > > Something along the lines of: > > > > > instance_names = ('a', 'b', 'c',...) > > > > > for name in instance_names: > > > > # change the instance name in app.yaml > > > > > # call appcfg.py > > > > > You'd probably want to keep the instance names in a database, to > > > > associate with billing, etc, but that could be something for later > > > > down the road. > > > > > On Dec 10, 5:25 am, rvjcallanan <[EMAIL PROTECTED]> wrote: > > > > > > I am new to GAE (who isn't?) and this subject has been touched on > > > > > before in a number of guises but I think we could all benefit from a > > > > > little more clarity. > > > > > > I am developing a "proof-of-concept" business app which can benefit > > > > > hugely from the GAE framework. My ideal scenario is to deploy the app > > > > > to each customer as a separate isolated instance, integrated within > > > > > his managed Google Apps business account. > > > > > > The main reasons for this preference are: > > > > > > 1. I would like to keep customer data and bugs isolated > > > > > > 2. Each customer is an island as far as the application data model is > > > > > concerned. One big database would require all tables and queries to be > > > > > qualified by a customer ID, adding an unnecessary layer of complexity > > > > > and impacting performance. > > > > > > 3. I would like each customer to take individual responsibility for > > > > > hosting costs > > > > > > 4. I wish to leverage the Google Apps for managing user accounts > > > > > within each organisation. > > > > > > 5. I wish to expose my own API to allow for customisation. > > > > > > Bear in mind that each app instance may have to support a few thousand > > > > > users at most (but probably not millions). > > > > > > Right now, deploying individual app instances in the way described > > > > > above is kludgy at best. While it may be feasible to do
[google-appengine] Re: How to delete my app
> > New to here, and cannot find it in HELP... > > How to delete a created app. Thanks > > You can't delete an application ID. The most you can do (at present) > is disable it by uploading a blank app. > Also, star this issue: http://code.google.com/p/googleappengine/issues/detail?id=335 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Superclass.get_by_key_name(subclass_instance.key_name) doesn't work
On Dec 10, 3:38 pm, theillustratedlife <[EMAIL PROTECTED]> wrote: > Thanks Andy. It's nice to know all the hidden features. =) > > If the datastore doesn't know about subclasses, I'm not sure they're > worth using. Couldn't I give Question all the properties I might > need, but only provide values to the ones each instance uses? Is > there any sort of penalty for declaring properties in a model, but not > using them? Any indexable property will cost a couple million cpu cycle when you put a new entity. You should set them to text or blob to avoid index penalty. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Isolated Application Deployment Instances
Thanks Marzia, For now I could live with manual deployment to each Google App account if I thought deployment could be automated in the future. However, the possibility you raised of Google changing its policy to allow retrieval of hosted application code is disturbing. If Google was indeed to allow code retrieval, it should at least allow the possibility for third-party developers to "stamp" their code as protected. At a more general level, I think the GAE initiative has spawned many more questions than it has answered. This is in itself an indication of the enthusiasm of developers. I think it is high time that Google put together a *detailed* strategy and roadmap on issues like deployment so that developers can move beyond experimentation and work to a set of concrete goals. Strategically speaking, GAE developers are currently working blind or at least taking a punt on likely outcomes. This aspect needs to be tightened up! Yes we are an insatiable lot and I guess Google is working flat out on this...but that's the price of progress :) Many thanks, rvjcallanan On Dec 10, 9:05 pm, Marzia Niccolai <[EMAIL PROTECTED]> wrote: > Hi, > > The scenario that you've described isn't yet perfectly achievable. I think > what you are essentially looking for is something along the lines of Google > Apps Labs for > developers:http://www.google.com/enterprise/marketplace/viewVendorListings?vendo... > > This is definitely something we would like to explore expanding in the > future, but there is no specific roadmap for such a thing. > > Right now to approximate such a thing you would need each of your customers > to have an App Engine account for their domain, and add you as a developer > to their account. You could then deploy your application to their website, > but they could handle all of the billing details for that account. > > This would require that you be the person to deploy new instances of that > app to individual clients. And though they wouldn't have direct access to > your code, because both you and them would be developers of the application, > it's not certain this would never change in the future (developers being > able to retrieve the code of the apps they own from App Engine). > > -Marzia > > On Wed, Dec 10, 2008 at 11:38 AM, rvjcallanan <[EMAIL PROTECTED]> wrote: > > > Thanks James, > > > I may have gotten the wrong end of the stick here. > > I've been playing around with the SDK up to now but have not actually > > deployed yet. > > > Are you basically saying that I can... > > > 1. Allow 1000s of Google Apps account holders to easily deploy > > *isolated instances* of my app: > > > 2. Protect my app code from inspection by said Google Apps account > > holders. > > > 3. Assign responsibility for hosting cost of app instances to said > > Google Apps account holders (when the service is eventually monetised) > > > 4. Roll-out software updates automatically to each Google Apps account > > holder who uses my app. > > > If the answer is "YES" to each of the above, then you will have made > > my day!! > > > On Dec 10, 6:28 pm, James Ashley <[EMAIL PROTECTED]> wrote: > > > Maybe I'm missing something. But it doesn't seem like it would take > > > much effort to write a script to automate it. > > > > Something along the lines of: > > > > instance_names = ('a', 'b', 'c',...) > > > > for name in instance_names: > > > # change the instance name in app.yaml > > > > # call appcfg.py > > > > You'd probably want to keep the instance names in a database, to > > > associate with billing, etc, but that could be something for later > > > down the road. > > > > On Dec 10, 5:25 am, rvjcallanan <[EMAIL PROTECTED]> wrote: > > > > > I am new to GAE (who isn't?) and this subject has been touched on > > > > before in a number of guises but I think we could all benefit from a > > > > little more clarity. > > > > > I am developing a "proof-of-concept" business app which can benefit > > > > hugely from the GAE framework. My ideal scenario is to deploy the app > > > > to each customer as a separate isolated instance, integrated within > > > > his managed Google Apps business account. > > > > > The main reasons for this preference are: > > > > > 1. I would like to keep customer data and bugs isolated > > > > > 2. Each customer is an island as far as the application data model is > > > > concerned. One big database would require all tables and queries to be > > > > qualified by a customer ID, adding an unnecessary layer of complexity > > > > and impacting performance. > > > > > 3. I would like each customer to take individual responsibility for > > > > hosting costs > > > > > 4. I wish to leverage the Google Apps for managing user accounts > > > > within each organisation. > > > > > 5. I wish to expose my own API to allow for customisation. > > > > > Bear in mind that each app instance may have to support a few thousand > > > > users at most (but probably not millions). > > > > > Right now, deploying individual app in
[google-appengine] Re: YAPT - Yet Another Paging Topic
> > The primary purpose is a user may want to go back several pages just > to > see what's there. This is what I figured - so then, instead of selecting 11 stories at a time, select say, 51 stories, adjust the offset accordingly, and the user can navigate to the next/prev 3 pages. Or up it to 91 and you'll get 5 pages. I still imagine the datastore overhead would be minimal for this (although I haven't verified this and it may depend on the situation). Cheers, Michael --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Superclass.get_by_key_name(subclass_instance.key_name) doesn't work
Thanks Andy. For now, I think I'm going to roll all the subclasses into the superclass. I only have 4 subclasses anyway, and they each only have an additional property or two. That seems to me to be the cleanest solution. You've been very helpful/informative. Good man. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to delete my app
On Thu, Dec 11, 2008 at 12:47 AM, Bob <[EMAIL PROTECTED]> wrote: > New to here, and cannot find it in HELP... > How to delete a created app. Thanks You can't delete an application ID. The most you can do (at present) is disable it by uploading a blank app. Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Superclass.get_by_key_name(subclass_instance.key_name) doesn't work
> If the datastore doesn't know about subclasses, I'm not sure they're > worth using. I find that they help me with my code, but YMMV. (In particular, I often define db.ReferenceProperty s that only accept a base class and always fill them in with in instance of some subclass. That's better for me than untyped db.ReferenceProperty s or not using specialized subclasses.) > Couldn't I give Question all the properties I might > need, but only provide values to the ones each instance uses? Yes > Is > there any sort of penalty for declaring properties in a model, but not > using them? I don't think so. See http://code.google.com/appengine/docs/datastore/entitiesandmodels.html "Unlike relational databases, the App Engine datastore does not require that all entities of a given kind have the same properties. The application can specify and enforce its data models using the model API." If you want to get theoretical, google "universal relation". (Then you'd only have one entity class and almost all of the fields would be optional, filled it as appropriate on an instance-specific basis.) > add some sort notation of which subclass it is in the key_name and That's what I'd do, but then I have 10s of db.Model subclasses so the iterative query approach simply won't work for me. (However, I'm typically working with actual db.Key s so I don't run into this problem.) On Dec 10, 12:38 pm, theillustratedlife <[EMAIL PROTECTED]> wrote: > Thanks Andy. It's nice to know all the hidden features. =) > > If the datastore doesn't know about subclasses, I'm not sure they're > worth using. Couldn't I give Question all the properties I might > need, but only provide values to the ones each instance uses? Is > there any sort of penalty for declaring properties in a model, but not > using them? > > It looks like my other options is to build a helper function that gets > a Question instance from a key_name, like one of thses: > > instance = None > subclasses = [ShortAnswerQuestion, MultipleChoiceQuestion, ] > while instance is None: > instance = subclasses.pop().get_by_key_name(key_name) > > or add some sort notation of which subclass it is in the key_name and > > instance = None > subclass = None > > if key_name_fragment == 'sa': > subclass = ShortAnswerQuestion > elif key_name_fragment == 'mc': > subclass = MultipleChoiceQuestion > > instance = subclass.get_by_key_name(key_name) > > So now I need to decide if it's even worth using subclasses, and if > so, how to go about turning a key_name into an instance. Advice? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Isolated Application Deployment Instances
Thanks Roberto, You have almost made my day :) Can you clarify to what extent I can "isolate" app instances for each of my customers? For example... Is it feasible to maintain separate "table sets" for 1000s of customer? Is it possible for one misbehaving customer "instance" to adversely affect other customers? Regards, rvjcallanan On Dec 10, 8:28 pm, Roberto Saccon <[EMAIL PROTECTED]> wrote: > AFAIK, the answer is yes only to some of your points listed below: > > On Dec 10, 4:38 pm, rvjcallanan <[EMAIL PROTECTED]> wrote: > > > Thanks James, > > > I may have gotten the wrong end of the stick here. > > I've been playing around with the SDK up to now but have not actually > > deployed yet. > > > Are you basically saying that I can... > > > 1. Allow 1000s of Google Apps account holders to easily deploy > > *isolated instances* of my app: > > Well, they are not isolated, you have to write your code to isolated > them (based on detecting the custom domain) > > > > > 2. Protect my app code from inspection by said Google Apps account > > holders. > > Yes. > > > > > 3. Assign responsibility for hosting cost of app instances to said > > Google Apps account holders (when the service is eventually monetised) > > again, you have to track traffic for each deployed app (based on > detecting the custom domain) and do your own billing, unless Google > will roll out a billings service based on deployed app domains (that > of course would be great) and not just on consumption per developer > account. > > > 4. Roll-out software updates automatically to each Google Apps account > > holder who uses my app. > > Yes > > > > > If the answer is "YES" to each of the above, then you will have made > > my day!! > > regards > Roberto > > > > > On Dec 10, 6:28 pm, James Ashley <[EMAIL PROTECTED]> wrote: > > > > Maybe I'm missing something. But it doesn't seem like it would take > > > much effort to write a script to automate it. > > > > Something along the lines of: > > > > instance_names = ('a', 'b', 'c',...) > > > > for name in instance_names: > > > # change the instance name in app.yaml > > > > # call appcfg.py > > > > You'd probably want to keep the instance names in a database, to > > > associate with billing, etc, but that could be something for later > > > down the road. > > > > On Dec 10, 5:25 am, rvjcallanan <[EMAIL PROTECTED]> wrote: > > > > > I am new to GAE (who isn't?) and this subject has been touched on > > > > before in a number of guises but I think we could all benefit from a > > > > little more clarity. > > > > > I am developing a "proof-of-concept" business app which can benefit > > > > hugely from the GAE framework. My ideal scenario is to deploy the app > > > > to each customer as a separate isolated instance, integrated within > > > > his managed Google Apps business account. > > > > > The main reasons for this preference are: > > > > > 1. I would like to keep customer data and bugs isolated > > > > > 2. Each customer is an island as far as the application data model is > > > > concerned. One big database would require all tables and queries to be > > > > qualified by a customer ID, adding an unnecessary layer of complexity > > > > and impacting performance. > > > > > 3. I would like each customer to take individual responsibility for > > > > hosting costs > > > > > 4. I wish to leverage the Google Apps for managing user accounts > > > > within each organisation. > > > > > 5. I wish to expose my own API to allow for customisation. > > > > > Bear in mind that each app instance may have to support a few thousand > > > > users at most (but probably not millions). > > > > > Right now, deploying individual app instances in the way described > > > > above is kludgy at best. While it may be feasible to do this manually > > > > for a small number of high-value customers, it is certainly not a > > > > scalable solution. There is also the issue of protecting intellectual > > > > property. > > > > > I am wondering if there is anything in the "unofficial" roadmap to > > > > address this requirement in the future. I would like to start > > > > developing now on the basis that deployment of individual app > > > > instances (and updates) will eventually be a single-click operation. > > > > > Is this wishful thinking? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Isolated Application Deployment Instances
Hi, The scenario that you've described isn't yet perfectly achievable. I think what you are essentially looking for is something along the lines of Google Apps Labs for developers: http://www.google.com/enterprise/marketplace/viewVendorListings?vendorId=1012 This is definitely something we would like to explore expanding in the future, but there is no specific roadmap for such a thing. Right now to approximate such a thing you would need each of your customers to have an App Engine account for their domain, and add you as a developer to their account. You could then deploy your application to their website, but they could handle all of the billing details for that account. This would require that you be the person to deploy new instances of that app to individual clients. And though they wouldn't have direct access to your code, because both you and them would be developers of the application, it's not certain this would never change in the future (developers being able to retrieve the code of the apps they own from App Engine). -Marzia On Wed, Dec 10, 2008 at 11:38 AM, rvjcallanan <[EMAIL PROTECTED]> wrote: > > Thanks James, > > I may have gotten the wrong end of the stick here. > I've been playing around with the SDK up to now but have not actually > deployed yet. > > Are you basically saying that I can... > > 1. Allow 1000s of Google Apps account holders to easily deploy > *isolated instances* of my app: > > 2. Protect my app code from inspection by said Google Apps account > holders. > > 3. Assign responsibility for hosting cost of app instances to said > Google Apps account holders (when the service is eventually monetised) > > 4. Roll-out software updates automatically to each Google Apps account > holder who uses my app. > > If the answer is "YES" to each of the above, then you will have made > my day!! > > On Dec 10, 6:28 pm, James Ashley <[EMAIL PROTECTED]> wrote: > > Maybe I'm missing something. But it doesn't seem like it would take > > much effort to write a script to automate it. > > > > Something along the lines of: > > > > instance_names = ('a', 'b', 'c',...) > > > > for name in instance_names: > > # change the instance name in app.yaml > > > > # call appcfg.py > > > > You'd probably want to keep the instance names in a database, to > > associate with billing, etc, but that could be something for later > > down the road. > > > > On Dec 10, 5:25 am, rvjcallanan <[EMAIL PROTECTED]> wrote: > > > > > I am new to GAE (who isn't?) and this subject has been touched on > > > before in a number of guises but I think we could all benefit from a > > > little more clarity. > > > > > I am developing a "proof-of-concept" business app which can benefit > > > hugely from the GAE framework. My ideal scenario is to deploy the app > > > to each customer as a separate isolated instance, integrated within > > > his managed Google Apps business account. > > > > > The main reasons for this preference are: > > > > > 1. I would like to keep customer data and bugs isolated > > > > > 2. Each customer is an island as far as the application data model is > > > concerned. One big database would require all tables and queries to be > > > qualified by a customer ID, adding an unnecessary layer of complexity > > > and impacting performance. > > > > > 3. I would like each customer to take individual responsibility for > > > hosting costs > > > > > 4. I wish to leverage the Google Apps for managing user accounts > > > within each organisation. > > > > > 5. I wish to expose my own API to allow for customisation. > > > > > Bear in mind that each app instance may have to support a few thousand > > > users at most (but probably not millions). > > > > > Right now, deploying individual app instances in the way described > > > above is kludgy at best. While it may be feasible to do this manually > > > for a small number of high-value customers, it is certainly not a > > > scalable solution. There is also the issue of protecting intellectual > > > property. > > > > > I am wondering if there is anything in the "unofficial" roadmap to > > > address this requirement in the future. I would like to start > > > developing now on the basis that deployment of individual app > > > instances (and updates) will eventually be a single-click operation. > > > > > Is this wishful thinking? > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Trouble with Multiple StringListProperty() + Django Templates
Hi, I´m planning to do something very similar, but I´m not sure if the datastore will return both lists in the same order at every request. Does anyone knows what is the expected behavior? I don´t mean to hijack your thread, Dylan, as I thought this would be a nice thread to ask, because my question might be useful for you as well. Thanks, On Dec 10, 4:38 am, Dylan Lorimer <[EMAIL PROTECTED]> wrote: > Hi, > > Perhaps this is more of a design issue than anything, but here's the > dilemma I'm up against: > > I have a model class that has 2 GAE StringList properties,'images' and > 'snippets'. 'images' contains a list of URLs pointing to images, and > snippets has corresponding image descriptions. > > For clarity's sake, snippets[0] goes with images[0]. > > I can't for the life of me figure out how to iterate through both > images and snippets in a Django template to output the image URL + > associated snippet. > > Any ideas? I'd be up for a better way to store both image URLs + > snippets if that made the most sense, but I don't see a better way. > Ideally I could store a dictionary but the GAE doesn't support > dictionaries as database types, right? > > Your help is kindly appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] just looking to start a simple iGoogle page...
I'm by no means a "coder" or anything. I have relatively basic HTML and networking skills, and understnd the majority of the terminology here...I'm just looking to make a simple and easily editable page. I've got the project set up on Google Code, but I do not understand how to upload an XML file to get it "hosted" or anything like that. The resources provided are great, but I don't really feel that they're written for a complete novice, albeit easy to understand. Is there a basic step-by-step tutorial out there? I'm not looking to build and gadgets for the time being, just a simple page. Thanks for any help anyone can provide. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Trouble with Multiple StringListProperty() + Django Templates
Hi, I´m planning to do something very similar, but I´m not sure if the datastore will return both lists in the same order at every request. Does anyone knows what is the expected behavior? I don´t mean to hijack your thread, Dylan, as I thought this would be a nice thread to ask, because my question might be useful for you as well. Thanks, On Dec 10, 4:38 am, Dylan Lorimer <[EMAIL PROTECTED]> wrote: > Hi, > > Perhaps this is more of a design issue than anything, but here's the > dilemma I'm up against: > > I have a model class that has 2 GAE StringList properties,'images' and > 'snippets'. 'images' contains a list of URLs pointing to images, and > snippets has corresponding image descriptions. > > For clarity's sake, snippets[0] goes with images[0]. > > I can't for the life of me figure out how to iterate through both > images and snippets in a Django template to output the image URL + > associated snippet. > > Any ideas? I'd be up for a better way to store both image URLs + > snippets if that made the most sense, but I don't see a better way. > Ideally I could store a dictionary but the GAE doesn't support > dictionaries as database types, right? > > Your help is kindly appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Superclass.get_by_key_name(subclass_instance.key_name) doesn't work
Thanks Andy. It's nice to know all the hidden features. =) If the datastore doesn't know about subclasses, I'm not sure they're worth using. Couldn't I give Question all the properties I might need, but only provide values to the ones each instance uses? Is there any sort of penalty for declaring properties in a model, but not using them? It looks like my other options is to build a helper function that gets a Question instance from a key_name, like one of thses: instance = None subclasses = [ShortAnswerQuestion, MultipleChoiceQuestion, ] while instance is None: instance = subclasses.pop().get_by_key_name(key_name) or add some sort notation of which subclass it is in the key_name and instance = None subclass = None if key_name_fragment == 'sa': subclass = ShortAnswerQuestion elif key_name_fragment == 'mc': subclass = MultipleChoiceQuestion instance = subclass.get_by_key_name(key_name) So now I need to decide if it's even worth using subclasses, and if so, how to go about turning a key_name into an instance. Advice? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Isolated Application Deployment Instances
AFAIK, the answer is yes only to some of your points listed below: On Dec 10, 4:38 pm, rvjcallanan <[EMAIL PROTECTED]> wrote: > Thanks James, > > I may have gotten the wrong end of the stick here. > I've been playing around with the SDK up to now but have not actually > deployed yet. > > Are you basically saying that I can... > > 1. Allow 1000s of Google Apps account holders to easily deploy > *isolated instances* of my app: Well, they are not isolated, you have to write your code to isolated them (based on detecting the custom domain) > > 2. Protect my app code from inspection by said Google Apps account > holders. Yes. > > 3. Assign responsibility for hosting cost of app instances to said > Google Apps account holders (when the service is eventually monetised) > again, you have to track traffic for each deployed app (based on detecting the custom domain) and do your own billing, unless Google will roll out a billings service based on deployed app domains (that of course would be great) and not just on consumption per developer account. > 4. Roll-out software updates automatically to each Google Apps account > holder who uses my app. Yes > > If the answer is "YES" to each of the above, then you will have made > my day!! regards Roberto > > On Dec 10, 6:28 pm, James Ashley <[EMAIL PROTECTED]> wrote: > > > Maybe I'm missing something. But it doesn't seem like it would take > > much effort to write a script to automate it. > > > Something along the lines of: > > > instance_names = ('a', 'b', 'c',...) > > > for name in instance_names: > > # change the instance name in app.yaml > > > # call appcfg.py > > > You'd probably want to keep the instance names in a database, to > > associate with billing, etc, but that could be something for later > > down the road. > > > On Dec 10, 5:25 am, rvjcallanan <[EMAIL PROTECTED]> wrote: > > > > I am new to GAE (who isn't?) and this subject has been touched on > > > before in a number of guises but I think we could all benefit from a > > > little more clarity. > > > > I am developing a "proof-of-concept" business app which can benefit > > > hugely from the GAE framework. My ideal scenario is to deploy the app > > > to each customer as a separate isolated instance, integrated within > > > his managed Google Apps business account. > > > > The main reasons for this preference are: > > > > 1. I would like to keep customer data and bugs isolated > > > > 2. Each customer is an island as far as the application data model is > > > concerned. One big database would require all tables and queries to be > > > qualified by a customer ID, adding an unnecessary layer of complexity > > > and impacting performance. > > > > 3. I would like each customer to take individual responsibility for > > > hosting costs > > > > 4. I wish to leverage the Google Apps for managing user accounts > > > within each organisation. > > > > 5. I wish to expose my own API to allow for customisation. > > > > Bear in mind that each app instance may have to support a few thousand > > > users at most (but probably not millions). > > > > Right now, deploying individual app instances in the way described > > > above is kludgy at best. While it may be feasible to do this manually > > > for a small number of high-value customers, it is certainly not a > > > scalable solution. There is also the issue of protecting intellectual > > > property. > > > > I am wondering if there is anything in the "unofficial" roadmap to > > > address this requirement in the future. I would like to start > > > developing now on the basis that deployment of individual app > > > instances (and updates) will eventually be a single-click operation. > > > > Is this wishful thinking? > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Isolated Application Deployment Instances
Thanks James, I may have gotten the wrong end of the stick here. I've been playing around with the SDK up to now but have not actually deployed yet. Are you basically saying that I can... 1. Allow 1000s of Google Apps account holders to easily deploy *isolated instances* of my app: 2. Protect my app code from inspection by said Google Apps account holders. 3. Assign responsibility for hosting cost of app instances to said Google Apps account holders (when the service is eventually monetised) 4. Roll-out software updates automatically to each Google Apps account holder who uses my app. If the answer is "YES" to each of the above, then you will have made my day!! On Dec 10, 6:28 pm, James Ashley <[EMAIL PROTECTED]> wrote: > Maybe I'm missing something. But it doesn't seem like it would take > much effort to write a script to automate it. > > Something along the lines of: > > instance_names = ('a', 'b', 'c',...) > > for name in instance_names: > # change the instance name in app.yaml > > # call appcfg.py > > You'd probably want to keep the instance names in a database, to > associate with billing, etc, but that could be something for later > down the road. > > On Dec 10, 5:25 am, rvjcallanan <[EMAIL PROTECTED]> wrote: > > > I am new to GAE (who isn't?) and this subject has been touched on > > before in a number of guises but I think we could all benefit from a > > little more clarity. > > > I am developing a "proof-of-concept" business app which can benefit > > hugely from the GAE framework. My ideal scenario is to deploy the app > > to each customer as a separate isolated instance, integrated within > > his managed Google Apps business account. > > > The main reasons for this preference are: > > > 1. I would like to keep customer data and bugs isolated > > > 2. Each customer is an island as far as the application data model is > > concerned. One big database would require all tables and queries to be > > qualified by a customer ID, adding an unnecessary layer of complexity > > and impacting performance. > > > 3. I would like each customer to take individual responsibility for > > hosting costs > > > 4. I wish to leverage the Google Apps for managing user accounts > > within each organisation. > > > 5. I wish to expose my own API to allow for customisation. > > > Bear in mind that each app instance may have to support a few thousand > > users at most (but probably not millions). > > > Right now, deploying individual app instances in the way described > > above is kludgy at best. While it may be feasible to do this manually > > for a small number of high-value customers, it is certainly not a > > scalable solution. There is also the issue of protecting intellectual > > property. > > > I am wondering if there is anything in the "unofficial" roadmap to > > address this requirement in the future. I would like to start > > developing now on the basis that deployment of individual app > > instances (and updates) will eventually be a single-click operation. > > > Is this wishful thinking? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Searching shortish strings for auto-completion
Thanks Adam. While the dataset in this case is pretty small (I can't imagine a user adding *that* many different things to this field), I don't want to have an arbitrary and potentially confounding cutoff when matching. Further, if it's all done in JS, I'll have to (a) load and dump out a bunch of data from the datastore with every request and (b) maintain that list client-side as it changes across ajax requests by either (1) getting a new copy of the list with every request or (2) manually updating it with new items, spilling my logic for maintaining the list into two places. My main concern is the large number of writes to enable in-word matches and the potentially large index that would result. Matching speed, as far as I can tell, should not be a problem because it's a single read over a sequential block of entities. I think I'm going to compromise a bit here and only enable beginning- of-word matches: "sa" would match "Sam" and "Sally" but not "Alyssa." That will dramatically reduce the number of writes, the size of the index and the number of matches. Thanks, Taylor On Dec 10, 12:32 pm, Adam <[EMAIL PROTECTED]> wrote: > I'd use javascript. > > Scriptaculous Autocompleter.Local > > Push the entire list of previously typed strings to the client on page > refresh. (Or keep the last N if the list gets too big). > > With appropriate flags the javascript will take care of mid-word > matching etc. > > If you try to do this kind of matching on the server it probably won't > be fast enough, and you'll have to deal with lots of edge cases where > you get the autocomplete response after the user has submitted the > form. > > A > > On Dec 9, 8:16 pm, Taylor Hughes <[EMAIL PROTECTED]> wrote: > > > Hi, > > > So I'm building an input field in my app that will give suggestions as > > a user types with things the user has previously entered. The strings > > will be relatively short (<25 characters probably), and I'd like to > > match any substring, e.g. typing "sa" might bring up "John Sanderson" > > as well as "Sam Smith." > > > I've implemented it a certain way, and I'm looking for thoughts/ > > suggestions/potential failings of the implementation if you have some > > time to take a look. > > > Right now, I have two db.Models: > > > class NameIndex(db.Model): > > index = db.StringProperty() > > names = db.StringListProperty() > > > class Name(db.Model): > > name = db.StringProperty() > > last_used_at = db.DateTimeProperty(auto_now_add=True) > > > When a name is entered, I check to see if an existing Name entity > > exists and simply update the last_used_at field if so. If not, I add > > the Name and also add NameIndex entries, one entry for the substring > > starting at every character position in the string to the end of the > > string: > > > "John Smith" becomes: > > > johnsmith > > ohnsmith > > hnsmith > > nsmith > > ... > > etc., each with a property pointing back to "John Smith" (and other > > matching entries if two full names have the same indexed substring). > > > Then, as a user types, I take the substring and look for NameIndex > > entries where index >= :substring and index < :substring + ' ...', > > which accurately returns the entries with a matching substring. > > > I have a couple of questions about this approach: > > > - Will this create too many entities? Is this something to worry > > about? > > - Is writing len(str) entries to the datastore with every new name > > going to be a problem? > > - Is there a better way? > > > Thanks for reading, > > > Taylor Hughes --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: UnboundLocalError: local variable 'before_path' referenced before assignment
Hi, I've had no luck replicating this on my machine (Mac OS 10.5) with the current 1.1.7 SDK, so this may be system or SDK related. For what it's worth, this is the code i'm using (I just chose a random non- english character in this case): class MainHandler(webapp.RequestHandler): def get(self): path = os.path.join(os.path.dirname(__file__), 'templates/ hello.html') self.response.out.write(template.render(path, self.request.str_GET, True)) def main(): application = webapp.WSGIApplication([(urllib.quote('/ᄨᄨᄨ'), MainHandler)], debug=True) wsgiref.handlers.CGIHandler().run(application) if __name__ == '__main__': main() Can you provide your system details? Or is anyone else seeing this? Have you tried to upload this to App Engine? -Marzia On Dec 9, 5:28 pm, giginim <[EMAIL PROTECTED]> wrote: > Here is my code. > > > class MainHandler(webapp.RequestHandler): > > def get(self): > path = os.path.join(os.path.dirname(__file__), 'templates/ > main.html') > self.response.out.write(template.render(path, > self.request.str_GET, True)) > > def main(): > application = webapp.WSGIApplication([(urllib.quote('/XX'), > MainHandler)], > debug=os.environ > ['SERVER_SOFTWARE'].startswith('Dev')) > wsgiref.handlers.CGIHandler().run(application) > > if __name__ == '__main__': > main() > > > > the '/XX' is a chinese string. > > when I access the urlhttp://localhost:8080/XX, > the error occurs sometime. > > Thanks > > On 12月10日, 午前1:07, Marzia Niccolai <[EMAIL PROTECTED]> wrote: > > > Hi, > > > Can you please provide the code that is running when you see this error? And > > some more information as to what kinds of requests are causing it? > > > Thanks, > > Marzia > > > On Tue, Dec 9, 2008 at 1:14 AM, giginim <[EMAIL PROTECTED]> wrote: > > > > My app got an error: > > > > ERROR 2008-12-09 09:03:56,780 dev_appserver.py] Exception > > > encountered handling request > > > Traceback (most recent call last): > > > File "C:\Program Files\Google\google_appengine\google\appengine\tools > > > \dev_appserver.py", line 2443, in _HandleRequest > > > base_env_dict=env_dict) > > > File "C:\Program Files\Google\google_appengine\google\appengine\tools > > > \dev_appserver.py", line 353, in Dispatch > > > base_env_dict=base_env_dict) > > > File "C:\Program Files\Google\google_appengine\google\appengine\tools > > > \dev_appserver.py", line 1869, in Dispatch > > > self._module_dict) > > > File "C:\Program Files\Google\google_appengine\google\appengine\tools > > > \dev_appserver.py", line 1809, in ExecuteCGI > > > sys.path[:] = before_path > > > UnboundLocalError: local variable 'before_path' referenced before > > > assignment > > > > It occurs several times, but I can not reproduce it every time. > > > I think that it is caused by unicode url. > > > > Can anyone help me? > > > > Thanks --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: dynamic plotting & matplotlib
Hi! Thanks for the suggestion, but I'm sorry to say that I don't understand how to make it work with the app-engine? Could you tell me how to get the hellow world example to work? what do you put in the app.yaml and in the page template to get it to display on the SDK server? Thanks, GF. On Dec 3, 10:29 pm, djidjadji <[EMAIL PROTECTED]> wrote: > Or you can have a look if "Open Flash Chart 2" can be used. > It uses a JSON file to format the chart, there is a python file to > help constructing this JSON structure. > > http://teethgrinder.co.uk/open-flash-chart-2/ > > 2008/12/3 Jonk <[EMAIL PROTECTED]>: > > > > > On 3 joulu, 12:56, gratefulfrog <[EMAIL PROTECTED]> wrote: > > >> about google charts? Is it possible to create custom charts from that, > >> somehow? My application is really about charting, alas... > > >http://code.google.com/apis/chart/ > > > jK --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Searching shortish strings for auto-completion
I'd use javascript. Scriptaculous Autocompleter.Local Push the entire list of previously typed strings to the client on page refresh. (Or keep the last N if the list gets too big). With appropriate flags the javascript will take care of mid-word matching etc. If you try to do this kind of matching on the server it probably won't be fast enough, and you'll have to deal with lots of edge cases where you get the autocomplete response after the user has submitted the form. A On Dec 9, 8:16 pm, Taylor Hughes <[EMAIL PROTECTED]> wrote: > Hi, > > So I'm building an input field in my app that will give suggestions as > a user types with things the user has previously entered. The strings > will be relatively short (<25 characters probably), and I'd like to > match any substring, e.g. typing "sa" might bring up "John Sanderson" > as well as "Sam Smith." > > I've implemented it a certain way, and I'm looking for thoughts/ > suggestions/potential failings of the implementation if you have some > time to take a look. > > Right now, I have two db.Models: > > class NameIndex(db.Model): > index = db.StringProperty() > names = db.StringListProperty() > > class Name(db.Model): > name = db.StringProperty() > last_used_at = db.DateTimeProperty(auto_now_add=True) > > When a name is entered, I check to see if an existing Name entity > exists and simply update the last_used_at field if so. If not, I add > the Name and also add NameIndex entries, one entry for the substring > starting at every character position in the string to the end of the > string: > > "John Smith" becomes: > > johnsmith > ohnsmith > hnsmith > nsmith > ... > etc., each with a property pointing back to "John Smith" (and other > matching entries if two full names have the same indexed substring). > > Then, as a user types, I take the substring and look for NameIndex > entries where index >= :substring and index < :substring + ' ...', > which accurately returns the entries with a matching substring. > > I have a couple of questions about this approach: > > - Will this create too many entities? Is this something to worry > about? > - Is writing len(str) entries to the datastore with every new name > going to be a problem? > - Is there a better way? > > Thanks for reading, > > Taylor Hughes --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Isolated Application Deployment Instances
Maybe I'm missing something. But it doesn't seem like it would take much effort to write a script to automate it. Something along the lines of: instance_names = ('a', 'b', 'c',...) for name in instance_names: # change the instance name in app.yaml # call appcfg.py You'd probably want to keep the instance names in a database, to associate with billing, etc, but that could be something for later down the road. On Dec 10, 5:25 am, rvjcallanan <[EMAIL PROTECTED]> wrote: > I am new to GAE (who isn't?) and this subject has been touched on > before in a number of guises but I think we could all benefit from a > little more clarity. > > I am developing a "proof-of-concept" business app which can benefit > hugely from the GAE framework. My ideal scenario is to deploy the app > to each customer as a separate isolated instance, integrated within > his managed Google Apps business account. > > The main reasons for this preference are: > > 1. I would like to keep customer data and bugs isolated > > 2. Each customer is an island as far as the application data model is > concerned. One big database would require all tables and queries to be > qualified by a customer ID, adding an unnecessary layer of complexity > and impacting performance. > > 3. I would like each customer to take individual responsibility for > hosting costs > > 4. I wish to leverage the Google Apps for managing user accounts > within each organisation. > > 5. I wish to expose my own API to allow for customisation. > > Bear in mind that each app instance may have to support a few thousand > users at most (but probably not millions). > > Right now, deploying individual app instances in the way described > above is kludgy at best. While it may be feasible to do this manually > for a small number of high-value customers, it is certainly not a > scalable solution. There is also the issue of protecting intellectual > property. > > I am wondering if there is anything in the "unofficial" roadmap to > address this requirement in the future. I would like to start > developing now on the basis that deployment of individual app > instances (and updates) will eventually be a single-click operation. > > Is this wishful thinking? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: dynamic plotting & matplotlib
Alas, the google charts api looks too poor for my application. I need to put both lines and bars on a single chart with 2 Y axes, and different labels for the positive and negative side of each of the y- axes. I also need to be able to click on the chart elements to link to other the detailed charts for that data, i.e. drill down. Any help? Will "Open Flash Chart 2" as described in another post be accessible via the app engine? Thanks for all your help. GF On Dec 3, 12:53 pm, Jonk <[EMAIL PROTECTED]> wrote: > On 3 joulu, 12:56, gratefulfrog <[EMAIL PROTECTED]> wrote: > > > about google charts? Is it possible to create custom charts from that, > > somehow? My application is really about charting, alas... > > http://code.google.com/apis/chart/ > > jK --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Average CPU Warnings
There could be all kinds of things that cause random long periods of delay, depending on how the framework actually measures the time. For example: 1) Virtualization scheduling -- if they use something like Xen, it may at times pre-empt your entire kernel image and take time out. 2) Garbage collection -- if the process keeps running, at some point it will have accumulated enough garbage that it may need to stop-and- collect. 3) Some driver or interrupt handler -- if the measurement is in "wallclock" time, then any mis-behavior on the kernel part (flushing buffers synchronously, a driver that poll-waits for some timeout, etc) will show up as "yours." Without knowing more how the duration is calculated, and what the execution environment is in the cluster, it's really hard to focus on only one possible cause. Especially if you can't even get kernel log outputs or syslog type data from the (virtual?) machine itself. Sincerely, jw On Dec 9, 3:14 pm, Greg <[EMAIL PROTECTED]> wrote: > Thanks to those who responded. My observation that the blips occur at > apparently random times during the handler run lead me to be a little > suspicious of the new interpreter theory - I only do fairly minor > "from xxx import yyy" imports in some of the sections that have > included blips. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Deploying to multiple Google Apps domains
Hi, A Google App Engine app can be deployed on multiple domains. The only restriction is that if you restrict authentication to a particular Google Apps domain, you can only serve traffic on that domain (meaning currently, if you want only mydomain.com users to be able to log in to your app, the app must be served off of mydomain.com). If you are using Google Accounts for login, this is not an issue. If you had an issue linking your Google App Engine App to a Google Apps domain, it is possible this is due to some difficulties users have been having with the 'www' mapping. The general directions to linking your app to a Google Apps domain are here: http://code.google.com/appengine/articles/domains.html And if this fails for the 'www' mapping, see the instructions here: http://groups.google.com/group/google-appengine/web/deleting-existing-www-mapping-from-google-apps -Marzia On Tue, Dec 9, 2008 at 4:22 PM, Andrew <[EMAIL PROTECTED]> wrote: > > I've been exploring Google App Engine and working on an app, but I > envision the app being something that would be used by different > companies on their own Apps domains. That is, I'll want to use it on > my Google Apps domain, but other companies might like to deploy it on > their Apps domain as well. > > I created my app with the default setting where any Google user can > log in. Unsurprisingly I cannot log in when I use my Google Apps > account. I tried adding the app to my Google Apps account (since the > Dashboard has an "Add more services" link that allows the adding of AE > apps), but that didn't help at all. > > Now, I can easily create a new AE app and set it to be used on my Apps > domain instead of being universal. But that means I'm the only one who > can ever use the app, right? Is there any way to allow multiple Apps > domains to access the same AE app? I assumed that was Google's purpose > in including the "Add more services" option in Google Apps, but maybe > I'm missing something. > > Thanks for any insight. > > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Error code 29 in quota exceeded
Hi, This means you are requesting too frequently indexes to be built/deleted. Reducing the frequency of these requests will eliminate the error message. We are definitely working on giving more insight in to system quotas and what they mean. -Marzia On Wed, Dec 10, 2008 at 8:26 AM, app² <[EMAIL PROTECTED]> wrote: > > Sometimes I get a warning to quota exceeded, with this error code. > However, all quotas shown in the Dashboard are fine. Does someone know > what it means? > > ~Thiago > > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: 3 questions (about paging again)
Hi, There is no difference. In addition to the index for paging, you just have a tag property. So # or SearchableModel class MyProperty(db.Model): # For paging index = db.IntegerProperty() my_tags = db.StringListProperty() For the first page, you do a fetch like this: results = MyProperty.all().filter('my_tags =', tag).order('-index').fetch(11) if len(results) == 11: next_page = results[10].index So the next page you would fetch /tag/my_tag?start=[next_page] And the query for this would be: results = MyProperty.all().filter('my_tags =', tag).filter('index <=', next_page)order('-index').fetch(11) if len(results) == 11: next_page = results[10].index All adding tags does is introduce an additional property to filter on, along with the index for paging. -Marzia On Tue, Dec 9, 2008 at 6:41 PM, kang <[EMAIL PROTECTED]> wrote: > I've watched the video...my question is how to make paging index for tag > and term for search? > > > On Wed, Dec 10, 2008 at 1:25 AM, Marzia Niccolai <[EMAIL PROTECTED]> wrote: > >> Hi, >> >> By index I mean whatever index you are using for pagination, an integer >> property as described in the building scalable web applications talk: >> >> http://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine >> >> This should work to page searchable entities as well. Simply search for a >> specific term, and then filter on the paging index. >> >> -Marzia >> >> On Mon, Dec 8, 2008 at 5:01 PM, kang <[EMAIL PROTECTED]> wrote: >> >>> I haven't got it...what is the 'index' for in your code? For different >>> tags, they have different index for an object. >>> 3rd question is about search the model. >>> >>> On Tue, Dec 9, 2008 at 4:03 AM, Marzia Niccolai <[EMAIL PROTECTED]>wrote: >>> Hi, If you store the tags in a list, you should be able filter on that list using a simple equals filter, something like: MyProperty.all().filter('my tags =', tag).filter('index <=', starting_index).fetch(10) Assuming you don't have a large number of tags (a couple per entry), this shouldn't result in an exploding index. The third question, if I interpret it correctly, is about using the Google Search AJAX API? If you want to use the search API for your site, and page through the results on your site, it seems you can do pagination with their API, the docs are available here: http://code.google.com/apis/ajaxsearch/documentation/reference.html#_class_GSearch -Marzia On Sun, Dec 7, 2008 at 6:51 PM, lookon <[EMAIL PROTECTED]> wrote: > > I've got how to page to some extent..But I still have some problems > > 1.What's the best way to implement tag to a model > > 2.in this way, how to page the tag page? > > for example, http://a.appspot.com/tag/google, I need to show all model > whose tag is google, and I need to page it... > > 3.How to page the search result? > If I search Google, I will get all the result, and I don't know how to > page them. > > Thanks. > > >>> >>> >>> -- >>> Stay hungry,Stay foolish. >>> >>> >>> >> >> >> > > > -- > 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Django Helper + Mako + GAE = working?
Anyone get Django Helper and Mako templates working together on GAE? I'm getting a django / django_helper error when I try it. Mako compiles html templates into python code. I can get mako to work if I put the html in a string, but if the html is in a file then I get a django / django_helper error (see http://pastebin.com/m384339d8 -- the django (helper) error seems to be a 'ValueError' and the mako error that caused it seems to be an uncaught exception (line 19 in pastebin) for the exception 'mako.exceptions.CompileException'). Note: I set the module_directory to None so the error should not be caused by GAE trying to write a compiled .py file into the gae file system. I think mako and gae work together from these posts: http://groups.google.com/group/google-appengine/msg/42858dbd57dbc145 http://blog.pansapiens.com/2008/06/24/mako-templates-in-google-app-engine-seems-to-work-for-me/ but these posts don't use django / django helper. For django / mako integration, I use: http://code.google.com/p/django-mako/wiki/Usage My tech stack is: gae sdk 1.1.7 GAE Helper for Django r66 from trunk http://code.google.com/p/google-app-engine-django/source/checkout django v1.0 zipped file from http://github.com/Surgo/django-on-gae/tree/master and http://groups.google.com/group/google-appengine/msg/17479486c96a62b7 mako r430 from trunk djangomako 0.1.3 http://pypi.python.org/pypi/django-mako/0.1.3 Mako is a nice templating engine for programmers and it can work on gae. I'm hoping I can use it with django on gae... Also, I don't think django / django helper should produce a stack trace if the code for the django application has errors. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Error code 29 in quota exceeded
Sometimes I get a warning to quota exceeded, with this error code. However, all quotas shown in the Dashboard are fine. Does someone know what it means? ~Thiago --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Non-returning ajax upload
In part of my app the user uploads a file this is done using ajax; this file is processed and then uploaded to another website. My question is: if the user navigates away from the page while appengine is processing the file will it abort. In other words can appengine run more than one process from an app or will it abort as soon as a new request comes in? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] How to delete my app
New to here, and cannot find it in HELP... How to delete a created app. Thanks --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Login:admin will cause SystemError on SDK-1.1.7
Good Grief ! I had the very same problem. It was simply a typo in my app.yaml file - or actually my python program was named incorrectly. Regards Axel Magard --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Task Queues and Asynchronous Processing TODAY
gaeutilies has a cron functionality (also dependent on user interaction) also. http://code.google.com/p/gaeutilities/wiki/Cron On Dec 10, 9:26 am, Ben Nevile <[EMAIL PROTECTED]> wrote: > Hi Dennis - > > I am using an architecture similar to what you describe. Rather than > use a separate server to do the pinging, I use client-side JS to do > this dirty work. You need to have a fairly steady stream of users for > this technique to be reliable. :) > > Ben > > On Dec 9, 9:27 pm, Dennis <[EMAIL PROTECTED]> wrote: > > > I'm architecting my system to workaround the limited write ability in > > each gae request. > > > I'd like to use task queues (as in issue > > 109http://code.google.com/p/googleappengine/issues/detail?id=109), > > but that feature is not implemented yet. > > > I'm thinking about using the following: > > -the initial GAE request accepts the user's request and queues the > > task into Amazon Simple Queue Service (Amazon SQS) using a call to an > > external url. > > -a hosted system (external to GAE) polls the SQS queues. > > -when the hosted system finds a task, it makes API calls into GAE to > > do the actual asynchronous work inside GAE and it's datastore. > > > Just wondering if anyone else has used this type of architecture (or > > thought about it) and what their experience / opinion is. > > > The only post I could find about using Amazon's queues > > is:http://groups.google.com/group/google-appengine/msg/86368530077bc548 > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: YAPT - Yet Another Paging Topic
The primary reason I'd like the specific page number capability is for the format I'm going with, it's something users expect to see. Though, currently it looks like this is not going to be a possibility. The primary purpose is a user may want to go back several pages just to see what's there. I did see the other thread, that's what I've been working off of for my solution. Currently I'm switching my scores from integers to floats in order to make sure I can easily make each one unique. Scores are actually timestamps (in unix seconds) so by switching to a float I can add .001 to create unique instances. Using the caching library from gaeutilities, I plan to get the previous links working correctly also. The design is Request for list of stories with an option start index is made. Check cache for a list with that start index, return if it exists. Otherwise Fetch 11 stories using the index as a starting point. Popular a dictionary with something like {'next': results[-1].score, 'prev': results[0].score 'stories': results 0-9 } Cache and return it. End result is the cache keeps the previous and next indexes making it so you can page forward and backwards. If a story is added, or the order changes, delete all the cache entries. On Dec 10, 2:06 am, Michael Hart <[EMAIL PROTECTED]> wrote: > Out of interest, why is it a requirement that you can page to any > arbitrary page? How would a user know that they want to go to page 5 > specifically? > > How about just letting them go to a page in the next/prev n pages, > where n is, say, 3 - as well as the last and first pages. > > More on this here (although you've probably seen it): > > http://groups.google.com/group/google-appengine/browse_thread/thread/... > > On 10/12/2008, at 6:26 AM, [EMAIL PROTECTED] wrote: > > > > > I tried a sledgehammer approach to a paging issue I'm having (fetch > > (1000) page within it) and as expected, it's too heavy of an approach > > and I'm getting datastore timeouts. So, before I dive too deeply into > > approaching the situation I have, I thought I'd see if anyone else has > > run into this and came up with a solution they'd like to share. > > > The requirements I have are: > > - Must be able to page through entities based on a numerical score > > field that is not consecutive, though can be made unique if I convert > > it to a float. > > - Previous, Next, and ?page=# (ie: ?page=5) must all be handled. > > > The situation is that I'm working on a site that's similar to Digg in > > functionality. Stories are given a score by which they are ordered for > > presentation. This score can change through user interaction. > > > Now, I have already ready and figured out a solution for next/previous > > > results = fetch(11) > > ?nextstart=results[10].score&prevstart=results[0].score > > > This doesn't give me the ability to link to specific pages. As scores > > are changing and new entities can be created a rapid rate (bursts once > > an hour of 50+ entities) trying to index and keep track on submission/ > > score change would also lead to datastore timeouts. > > > Anyone have any ideas? I'm beginning to think I just can not meet the > > page number requirement using BigTable. > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Creating unique key names
A local count can be unique across URL requests that happen to hit the same process, but it can't be unique across processes. In that, a local count is like time. A datastore counter eliminates the dangling object problem because a single counter can be used to manage an arbitrarily large number of entity group types (when combined with time), but its update (once for every process that needs to generate unique names) is a bottleneck. Of course, that bottleneck can be addressed with multiple counters (so the count is actually a count/counter-name pair), reducing the problem to one of uniquely naming the counters, but that's easily solvable. (Figuring out when there's sufficient congestion to justify creating a new counter is a little tricky but it's good enough to create "more than enough" counters.) Thanks. On Dec 9, 10:01 am, yejun <[EMAIL PROTECTED]> wrote: > You don't have to use global data entity. For example use a datastore > backed global count as base number. > Your unique id can be generated by that count multiply by a big number > + a local count. > > On Dec 9, 11:57 am, Andy Freeman <[EMAIL PROTECTED]> wrote: > > > > > > The later > > > solution only requires one put during any given processes lifetime so > > > it shouldn't be a perf problem. > > > It introduces a clean-up problem. I can't delete such an object > > until after I delete all entity groups named using said object's key. > > (GAE is free to reused generated keys.) > > > I shouldn't have mentioned the overhead of puts. The real problem is > > cleanup and consistency, a problem that transactions are designed to > > solve. > > > On Nov 24, 7:18 pm, Josh Heitzman <[EMAIL PROTECTED]> wrote: > > > > Like Jon McAlister said either use a random number or create a new > > > entity when one of your modules is loaded and treat that entity's key > > > as the globally unique process ID (i.e. MAC address + pid). The later > > > solution only requires one put during any given processes lifetime so > > > it shouldn't be a perf problem. > > > > On Nov 22, 6:38 pm, Andy Freeman <[EMAIL PROTECTED]> wrote: > > > > > > Yes, I understand transactions and entity groups. Why do you need to > > > > > create an entity group *atomically*? > > > > > For the same reason that transactions are useful - incomplete groups > > > > are wrong (in my application) and I'd rather not deal with them. > > > > > > If you create a new entity, it will automatically be assigned a unique > > > > > key at the datastore level. What's wrong with just using that? > > > > > Each db.put has significant overhead. If I can generate a unique name > > > > without a db.put, I can reduce the number of db.puts that my > > > > application does by a factor of 2. > > > > > On Nov 22, 5:07 pm, "David Symonds" <[EMAIL PROTECTED]> wrote: > > > > > > On Sun, Nov 23, 2008 at 8:50 AM, Andy Freeman <[EMAIL PROTECTED]> > > > > > wrote: > > > > > >> > Suppose that I want to atomically create an entity group with two > > > > > >> > nodes, one the parent of the other. > > > > > >> But *why* exactly do you want to do this? > > > > > > > Because I want "a set of one or more entities that can be > > > > > > manipulated > > > > > > in a single transaction. Entity group relationships tell App Engine > > > > > > to > > > > > > store several entities in the same part of the distributed network. > > > > > > A > > > > > > transaction sets up datastore operations for an entity group, and > > > > > > all > > > > > > of the operations are applied as a group, or not at all if the > > > > > > transaction fails." > > > > > > Yes, I understand transactions and entity groups. Why do you need to > > > > > create an entity group *atomically*? > > > > > > > The fact that GAE uses many machines and concurrently is why the > > > > > > full > > > > > > hostname, IP, or MAC address or some other machine identifier is > > > > > > useful in creating a unique identifier on GAE. (If my application > > > > > > always ran on the same machine, the process id and time would be > > > > > > sufficient.) > > > > > > If you create a new entity, it will automatically be assigned a unique > > > > > key at the datastore level. What's wrong with just using that? > > > > > > Dave.- Hide quoted text - > > > > - Show quoted text -- Hide quoted text - > > - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Superclass.get_by_key_name(subclass_instance.key_name) doesn't work
While GAE application code may use subclasses, the GAE datastore does not have any knowledge of the relationship between different entity types. You can encode the class name/kind in your key name and then use db.class_for_kind to get the class. However, db.class_for_kind is not part of the documented API at this time. If you use it, you may want to request that it be documented (so it is more likely to continue to exist/work) by starring http://code.google.com/p/googleappengine/issues/detail?id=800&can=4&colspec=ID%20Type%20Status%20Priority%20Stars%20Owner%20Summary%20Log%20Component . Note that GAE keys know their kind. On Dec 10, 12:56 am, theillustratedlife <[EMAIL PROTECTED]> wrote: > I'm a Flash designer building an app in AppEngine. My knowledge of OO > principles is based on my experiences in Flash. > > Consider the following from models.py: > > class Question(BaseModel): > prompt = db.StringProperty(required = True) > > class ShortAnswerQuestion(Question): > multiline = db.BooleanProperty(default = True) > > class MultipleChoiceQuestion(Question): > choices = db.ListProperty(str) > > The properties that apply to all questions are in Question, with > subclasses to describe unique cases. Now if I know the key name of a > question, I ought to be able to do this: > > question = Question.get_by_key_name('question1') > > However, that doesn't work. question has been set to None. To get > the expected behavior, I have to use the particular subclass, like so: > > question = ShortAnswerQuestion.get_by_key_name('question1') > > For obvious reasons, I don't know what subclass the elements I'm > looking for are - I only know the key_name and that they descend from > the superclass Question. What is the correct way to convert a > key_name into an object in this situation? > > Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Task Queues and Asynchronous Processing TODAY
Hi Dennis - I am using an architecture similar to what you describe. Rather than use a separate server to do the pinging, I use client-side JS to do this dirty work. You need to have a fairly steady stream of users for this technique to be reliable. :) Ben On Dec 9, 9:27 pm, Dennis <[EMAIL PROTECTED]> wrote: > I'm architecting my system to workaround the limited write ability in > each gae request. > > I'd like to use task queues (as in issue > 109http://code.google.com/p/googleappengine/issues/detail?id=109), > but that feature is not implemented yet. > > I'm thinking about using the following: > -the initial GAE request accepts the user's request and queues the > task into Amazon Simple Queue Service (Amazon SQS) using a call to an > external url. > -a hosted system (external to GAE) polls the SQS queues. > -when the hosted system finds a task, it makes API calls into GAE to > do the actual asynchronous work inside GAE and it's datastore. > > Just wondering if anyone else has used this type of architecture (or > thought about it) and what their experience / opinion is. > > The only post I could find about using Amazon's queues > is:http://groups.google.com/group/google-appengine/msg/86368530077bc548 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to get root entities only?
The characteristics of entity groups that enable performance optimizations actually enable some fairly interesting operations. Unfortunately, these operations are not exposed in some cases. In this case, ancestor('__key__') should be trivial to support and not slow things down. I don't think that it necessarily enables any performance hacks, but it might. On Dec 10, 12:26 am, Lakshmi <[EMAIL PROTECTED]> wrote: > Yes :) > > I think Entity Groups are optimized more for performance and less for > function. (Another example to reinforce this statement is the need to > pass in the parent_id in get_by_id or the underlying assertion that > the id's may not be unique outside of the entity group) > > On Dec 9, 11:59 am, Andy Freeman <[EMAIL PROTECTED]> wrote: > > > > > > I also discovered that a root node is one that is its own ancestor. > > > too bad queries with ancestor('__key__') or with 'ANCESTOR is > > __key__' (or the bound equivalent) don't work. > > > On Dec 6, 6:49 pm,Lakshmi<[EMAIL PROTECTED]> wrote: > > > > Sorry I completely forgot about this thread. > > > > I added a is_root property to my model to work around this problem. > > > > I also discovered that a root node is one that is its own ancestor. > > > > On Oct 27, 11:02 am, "Vincent L." <[EMAIL PROTECTED]> wrote: > > > > > I have the same problem, did you find an answer ? > > > > > On 10 oct, 21:04,Lakshmi<[EMAIL PROTECTED]> wrote: > > > > > > Hello, > > > > > > If we take the following example: > > > > > > Comment > > > > > - post (reference to Post) > > > > > - text > > > > > - author > > > > > > where comments that are responded to become parents of other comments, > > > > > how can I get only therootentities - comments that are not > > > > > responses? > > > > > > Comment.gql("WHERE post=:post AND ANCESTOR IS None", post=) > > > > > does not work. I get a "Invalid WHERE condition at symbol None" > > > > > error. > > > > > > Thanks in advance > > > > >Lakshmi.- Hide quoted text - > > > > - Show quoted text -- Hide quoted text - > > - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to open .html in .py file?
Try this. handlers: - url: / static_files: static/index.html upload: static/index.html - url: / static_dir: static/ It autocalls the index.html and can read all static files, e.g. all links from index.html to another static htmls including from subdirectories. Think, it's enough to run static site on App Engine. good luck. On 10 дек, 13:41, Jonathan B <[EMAIL PROTECTED]> wrote: > On Dec 9, 5:12 pm, slatvick <[EMAIL PROTECTED]> wrote: > > > But current problem that index.html does not load automatically and > > you need to write full domain path :www.yourdomain.com/index.html > > In app.yaml you specify which script will execute (for example, > index.py). Inside index.py you need to return a 303 Redirect as a > response, telling the user's browser to go to "www.yourdomain.com/ > index.html". How you do this will depend on which web framework you > are using. In web2py, just use the redirect() global function. > > After a quick search, here's a hint on how it might work in Django: > > response = HttpResponseRedirect("www.yourdomain.com/index.html") > > For the full > documentation:http://docs.djangoproject.com/en/dev/ref/request-response/ > > Here's the documentation for plain Google App > Engine:http://code.google.com/appengine/docs/webapp/redirects.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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Task Queues and Asynchronous Processing TODAY
You might achieve this kind of functionality (and more) using AppRocket http://code.google.com/p/approcket Although it currently doesn't have a generic queuing service built in, it's very easy to simulate. Just setup an entity in AE for asynchronous tasks, for example QueueTask and have it replicated to a MySql table.Then on hosted system you can have a simple batch process that scans the table for new records and performs the neccessary actions. This is one way I personally levarage AR functionality. Another advantage is that you can actually update data in MySQL and it will be replicated back to AE automatically. This would let you forget about AE request constrains. Kaspars --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Can't verify my account... while actually received the SMS??
On Dec 9, 5:42 pm, maxxyme <[EMAIL PROTECTED]> wrote: > > But no feedback at the moment. Received an email from the App Engine Team yesterday at 8:50am (PST) telling me my account was enabled. Many thanks !!! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to open .html in .py file?
On Dec 9, 5:12 pm, slatvick <[EMAIL PROTECTED]> wrote: > But current problem that index.html does not load automatically and > you need to write full domain path :www.yourdomain.com/index.html In app.yaml you specify which script will execute (for example, index.py). Inside index.py you need to return a 303 Redirect as a response, telling the user's browser to go to "www.yourdomain.com/ index.html". How you do this will depend on which web framework you are using. In web2py, just use the redirect() global function. After a quick search, here's a hint on how it might work in Django: response = HttpResponseRedirect("www.yourdomain.com/index.html") For the full documentation: http://docs.djangoproject.com/en/dev/ref/request-response/ Here's the documentation for plain Google App Engine: http://code.google.com/appengine/docs/webapp/redirects.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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Isolated Application Deployment Instances
I am new to GAE (who isn't?) and this subject has been touched on before in a number of guises but I think we could all benefit from a little more clarity. I am developing a "proof-of-concept" business app which can benefit hugely from the GAE framework. My ideal scenario is to deploy the app to each customer as a separate isolated instance, integrated within his managed Google Apps business account. The main reasons for this preference are: 1. I would like to keep customer data and bugs isolated 2. Each customer is an island as far as the application data model is concerned. One big database would require all tables and queries to be qualified by a customer ID, adding an unnecessary layer of complexity and impacting performance. 3. I would like each customer to take individual responsibility for hosting costs 4. I wish to leverage the Google Apps for managing user accounts within each organisation. 5. I wish to expose my own API to allow for customisation. Bear in mind that each app instance may have to support a few thousand users at most (but probably not millions). Right now, deploying individual app instances in the way described above is kludgy at best. While it may be feasible to do this manually for a small number of high-value customers, it is certainly not a scalable solution. There is also the issue of protecting intellectual property. I am wondering if there is anything in the "unofficial" roadmap to address this requirement in the future. I would like to start developing now on the basis that deployment of individual app instances (and updates) will eventually be a single-click operation. Is this wishful thinking? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Memcache, get_stats() does not work anymore
Today, it works again. Maybe, we have to wait to initialize it. On 9 déc, 20:43, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > I'm using that on the gaeutilities session demo, and it is working > there > > http://gaeutilities.appspot.com/session > > On Dec 9, 8:18 am, Sylvain <[EMAIL PROTECTED]> wrote: > > > Hi, > > > I've many "objects" memcached. I can add or get them from memcache. > > > But if I try : memcache.get_stats(), it always returns None. > > I've tried with the shell.appspot.com, and it works but with my app > > (app_id : hordes), it doesn't work (always None) > > > Few days ago, it was working. > > > Any idea ? > > > Thank you > > > Regards --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Superclass.get_by_key_name(subclass_instance.key_name) doesn't work
I'm a Flash designer building an app in AppEngine. My knowledge of OO principles is based on my experiences in Flash. Consider the following from models.py: class Question(BaseModel): prompt = db.StringProperty(required = True) class ShortAnswerQuestion(Question): multiline = db.BooleanProperty(default = True) class MultipleChoiceQuestion(Question): choices = db.ListProperty(str) The properties that apply to all questions are in Question, with subclasses to describe unique cases. Now if I know the key name of a question, I ought to be able to do this: question = Question.get_by_key_name('question1') However, that doesn't work. question has been set to None. To get the expected behavior, I have to use the particular subclass, like so: question = ShortAnswerQuestion.get_by_key_name('question1') For obvious reasons, I don't know what subclass the elements I'm looking for are - I only know the key_name and that they descend from the superclass Question. What is the correct way to convert a key_name into an object in this situation? Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to get root entities only?
Yes :) I think Entity Groups are optimized more for performance and less for function. (Another example to reinforce this statement is the need to pass in the parent_id in get_by_id or the underlying assertion that the id's may not be unique outside of the entity group) On Dec 9, 11:59 am, Andy Freeman <[EMAIL PROTECTED]> wrote: > > I also discovered that a root node is one that is its own ancestor. > > too bad queries with ancestor('__key__') or with 'ANCESTOR is > __key__' (or the bound equivalent) don't work. > > On Dec 6, 6:49 pm,Lakshmi<[EMAIL PROTECTED]> wrote: > > > Sorry I completely forgot about this thread. > > > I added a is_root property to my model to work around this problem. > > > I also discovered that a root node is one that is its own ancestor. > > > On Oct 27, 11:02 am, "Vincent L." <[EMAIL PROTECTED]> wrote: > > > > I have the same problem, did you find an answer ? > > > > On 10 oct, 21:04,Lakshmi<[EMAIL PROTECTED]> wrote: > > > > > Hello, > > > > > If we take the following example: > > > > > Comment > > > > - post (reference to Post) > > > > - text > > > > - author > > > > > where comments that are responded to become parents of other comments, > > > > how can I get only therootentities - comments that are not > > > > responses? > > > > > Comment.gql("WHERE post=:post AND ANCESTOR IS None", post=) > > > > does not work. I get a "Invalid WHERE condition at symbol None" > > > > error. > > > > > Thanks in advance > > > >Lakshmi.- 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: url.fetch DNS cache (IP server changes)
Hi, Since yesterday, the error is back. from google.appengine.api import urlfetch resp = urlfetch.fetch('http://www.hordes.fr/') -> DownloadError: ApplicationError: 5 But it should work I think, urlfetch is fetching the bad IP server. Currently, I can't use the IP adress. So my app is down again Regards Sylvain On 8 déc, 10:38, Sylvain <[EMAIL PROTECTED]> wrote: > Hi Jeff, > > Thank you for your help. > I've checked my site saturday morning (UTC) and it was working again. > > Good news ;) > > Regards > > Sylvain > > On 6 déc, 02:26, Jeff S <[EMAIL PROTECTED]> wrote: > > > Hi again Sylvain, > > > We've fixed the cache issue, urlfetch should now get from the correct > > server (though mirrorrr will still show the incorrect content at the > > moment because we didn't reset it's page cache). I verified on > > shell.appspot.com. > > > from google.appengine.api import urlfetch > > resp = urlfetch.fetch('http://www.hordes.fr/') > > resp.content > > > Thank you, > > > Jeff > > > On Dec 5, 11:51 am, Jeff S <[EMAIL PROTECTED]> wrote: > > > > Hi Sylvain, > > > > Thank you for reporting this. We have been looking into this issue. > > > Would it be possible to replace the hostname with the new IP address > > > until this is resolved to avoid the DNS lookup? > > > > Cheers, > > > > Jeff > > > > On Dec 4, 7:06 am, Sylvain <[EMAIL PROTECTED]> wrote: > > > > > Hi, > > > > > My application fetches this url :http://www.hordes.fr > > > > > But monday, the IP for this server (www.hordes.fr) has changed (they > > > > moved), but currently I always fetch the bad URL/bad server. > > > > > I've tested with different applications in appspot and it is the same > > > > error : > > > > > Here what appspot see :http://www.mirrorrr.com/www.hordes.fr > > > > Here what it should be :http://www.hordes.fr > > > > > So now, my app does not work anymore. > > > > > Could you check/reset,... your DNS ? > > > > > Thank you. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Trouble with Multiple StringListProperty() + Django Templates
In your handler, pass: zip(entity.images, entity.snippets) ...to your template. Let's say the template variable is called "items". Then in the template you can do: {% for image, snippet in items %} Do something with {{ image }} and {{ snippet }}. {% endfor %) Above will work in Django 1.0. If you use the built-in Django 0.96, use this instead: {% for item in items %} Do something with {{ item.0 }} and {{ item.1 }}. {% endfor %) On Dec 10, 5:38 pm, Dylan Lorimer <[EMAIL PROTECTED]> wrote: > Hi, > > Perhaps this is more of a design issue than anything, but here's the > dilemma I'm up against: > > I have a model class that has 2 GAE StringList properties,'images' and > 'snippets'. 'images' contains a list of URLs pointing to images, and > snippets has corresponding image descriptions. > > For clarity's sake, snippets[0] goes with images[0]. > > I can't for the life of me figure out how to iterate through both > images and snippets in a Django template to output the image URL + > associated snippet. > > Any ideas? I'd be up for a better way to store both image URLs + > snippets if that made the most sense, but I don't see a better way. > Ideally I could store a dictionary but the GAE doesn't support > dictionaries as database types, right? > > Your help is kindly appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---