[google-appengine] Re: is it possible to clear error logs

2008-11-04 Thread Alexander Kojevnikov

 My question is if it is posible to delete some error logs. Prior
 versions of my application had bugs but now they are fixed and even if
 I delete the version and re-upload the app old logs are still there.
 It should be great clearing that windows of old stuff

You cannot delete entries from the error log. However, if you change
the version in the app.yaml, upload your app, and make the new version
default - you will get a clean log.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Crappiest Product from Google

2008-11-04 Thread Kannaiyan

Feris:

Next time when I'm any Google Developer or Python Developer house for
lunch, I will go with my own plates. I doubt they will have their own
plates in their house. :)

I'm sure I entered into wrong time assuming Google development
environment will be friendly enough with less docs.
Looks like New comers need to run here and there to get their
application working.

This is to discuss problems we are facing and the users experience for
Google to understand. I hope I expressed the same.
I don't understand what you mean by Productive?

/Kans

On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote:
 Hi Kannaiyan,
 This is not a productive discussions. If you feel not right with Google
 Apps, then it is not for you, ok ? Go with something else like Amazon EC2.

 On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote:
  Never worked with Python Guys. (Once I complete Python, Google will go
  for Cobra :) )

 Regards,

 Feris
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: is it possible to clear error logs

2008-11-04 Thread mawei1981

oh,really;
when I can release a beta version, I will be change the version.

On Nov 4, 4:22 pm, Alexander Kojevnikov [EMAIL PROTECTED]
wrote:
  My question is if it is posible to delete some error logs. Prior
  versions of my application had bugs but now they are fixed and even if
  I delete the version and re-upload the app old logs are still there.
  It should be great clearing that windows of old stuff

 You cannot delete entries from the error log. However, if you change
 the version in the app.yaml, upload your app, and make the new version
 default - you will get a clean log.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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 get ManyToMany fields

2008-11-04 Thread mawei1981

I hava ManyToMany field in a entity

class Memory(db.Model):
author = db.UserProperty()
title = db.StringProperty()
content = db.StringProperty(multiline=True)
year = db.StringProperty()
date = db.DateTimeProperty(auto_now_add=True)
friends = db.ListProperty(db.Key)

class Friends(db.Model):
friend_type = db.StringProperty()
email = db.EmailProperty()
name = db.StringProperty()

@property
def memories(self):
return Memory.gql(where friends = :1,self.key())

-

memory_query = Memory.all().order('-date')

-

h1My Memory/h1
hr
{% for memory in memories %}
  {% if memory.author %}
b{{ memory.author.nickname }}/b wrote:
  {% else %}
   An anonymous person wrote:
  {% endif %}
  blockquote{{ [EMAIL PROTECTED]/blockquote
p
{% for friend in memory.friends %}
{{friend.Key}}
{{friend.name}}
{{friend.email}}
{%endfor%}
/p
p{{memory.content}}/p
{% endfor %}


-

I could not get the friends info/


-

appengine dataviewer show the following:

[datastore_types.Key.from_path('Friends', 202L, _app=u'myom'),
datastore_types.Key.from_path('Friends', 8L, _app=u'myom')]
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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 ManyToMany fields

2008-11-04 Thread Alexander Kojevnikov

db.ListProperty(db.Key) does not automatically de-reference entities,
you will need to do it yourself before passing them to the template.

On Nov 4, 7:13 pm, mawei1981 [EMAIL PROTECTED] wrote:
 I hava ManyToMany field in a entity

 class Memory(db.Model):
         author = db.UserProperty()
         title = db.StringProperty()
         content = db.StringProperty(multiline=True)
         year = db.StringProperty()
         date = db.DateTimeProperty(auto_now_add=True)
         friends = db.ListProperty(db.Key)

 class Friends(db.Model):
         friend_type = db.StringProperty()
         email = db.EmailProperty()
         name = db.StringProperty()

         @property
         def memories(self):
                 return Memory.gql(where friends = :1,self.key())

 -

                 memory_query = Memory.all().order('-date')

 -

         h1My Memory/h1
         hr
     {% for memory in memories %}
       {% if memory.author %}
         b{{ memory.author.nickname }}/b wrote:
       {% else %}
        An anonymous person wrote:
       {% endif %}
       blockquote{{ [EMAIL PROTECTED]/blockquote
 p
         {% for friend in memory.friends %}
 {{friend.Key}}
 {{friend.name}}
 {{friend.email}}
         {%endfor%}
 /p
 p{{memory.content}}/p
 {% endfor %}

 -

 I could not get the friends info/

 -

 appengine dataviewer show the following:

 [datastore_types.Key.from_path('Friends', 202L, _app=u'myom'),
 datastore_types.Key.from_path('Friends', 8L, _app=u'myom')]
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Google App Engine Roadmap - Now Published

2008-11-04 Thread Sudhir

Yeah, John has a point... when the billing system is implemented, will
you guys relax the limits on CPU optimization per request? Avoiding
infinite loops or deadlocks is fine, but there are resource hungry
calculations we have to do... I'm gonna need to calculate the centers
and distributions of tens of thousands of map points, and its  a no
starter / course in advanced mathematics and algorithms if I can't
just use brute force.

Sudhir

On Nov 4, 3:14 am, johnP [EMAIL PROTECTED] wrote:
 I still don't understand one aspect of Google's approach - regarding
 CPU limits.  For example, consider my application, a personal
 organizer.  Each page view needs to tie together disparate entities;
 there are lots of writes; etc.  The final result of the application is
 the creation of reports (using reportlab).  Here, I need to make some
 queries, perform some calculations, etc.

 In setting up the organizer, there are several tasks that are somewhat
 large. I get CPU warnings  for being, say, 3-5 times over the average
 limit.  Some common pageviews are right around the limit (1.0, 1.1
 times over the limit).

 Finally, when generating reports, I might get some warnings that my
 app is 4-5 times over the limit.

 The question is: is an application of my sort suitable for Appengine?
 Obviously, I'll optimize, and hope to get a majority of my common
 pageviews into limits.  But it is inevitable that a significant
 percentage of requests will exceed CPU quotas.

 I am willing to pay money for exceeding quotas...

 There is still a significant amount of development ahead.  If it
 appears that my task is a non-starter for Appengine, I'd prefer to
 switch to pure django earlier rather than later.

 Can anyone provide some enlightenment for my dilemma?  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 ManyToMany fields

2008-11-04 Thread mawei1981

the friends is a sub-list of memory entity.
Why not load the list on lazy mode.

Faint, I will manual get the lists .
But how can I put the sub-list to the object.

does google provide sample code on this.

On Nov 4, 4:30 pm, Alexander Kojevnikov [EMAIL PROTECTED]
wrote:
 db.ListProperty(db.Key) does not automatically de-reference entities,
 you will need to do it yourself before passing them to the template.

 On Nov 4, 7:13 pm, mawei1981 [EMAIL PROTECTED] wrote:

  I hava ManyToMany field in a entity

  class Memory(db.Model):
          author = db.UserProperty()
          title = db.StringProperty()
          content = db.StringProperty(multiline=True)
          year = db.StringProperty()
          date = db.DateTimeProperty(auto_now_add=True)
          friends = db.ListProperty(db.Key)

  class Friends(db.Model):
          friend_type = db.StringProperty()
          email = db.EmailProperty()
          name = db.StringProperty()

          @property
          def memories(self):
                  return Memory.gql(where friends = :1,self.key())

  -

                  memory_query = Memory.all().order('-date')

  -

          h1My Memory/h1
          hr
      {% for memory in memories %}
        {% if memory.author %}
          b{{ memory.author.nickname }}/b wrote:
        {% else %}
         An anonymous person wrote:
        {% endif %}
        blockquote{{ [EMAIL PROTECTED]/blockquote
  p
          {% for friend in memory.friends %}
  {{friend.Key}}
  {{friend.name}}
  {{friend.email}}
          {%endfor%}
  /p
  p{{memory.content}}/p
  {% endfor %}

  -

  I could not get the friends info/

  -

  appengine dataviewer show the following:

  [datastore_types.Key.from_path('Friends', 202L, _app=u'myom'),
  datastore_types.Key.from_path('Friends', 8L, _app=u'myom')]
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Crappiest Product from Google

2008-11-04 Thread Kannaiyan

Don't think you are just given simply to enjoy the platform. That is
one side of it.

Google evaluates every user experience which in turns gives them a
business metrics to improve their business.
You are partly denoting your time for free to improve Google's
business whether you make any productive application or not.

/Kans


On Nov 4, 6:07 am, Sudhir [EMAIL PROTECTED] wrote:
 Besides, app engine was obviously designed for us lesser mortals who
 picked up python only two months ago and are happily writing code that
 works really well, hosting it on a free platform that gives really
 good response times and on an API that lets us do quite a lot, and
 with a little creative pushing, anything we want.

 Obviously, we're stupid.

 Besides, its not fair that google is only providing a platform that
 lets you build your ideas any way you want, experiment to your heart's
 content, and charges you only long after your app has become
 profitable. They ought to send people to cook my meals and clean my
 room too.

 BTW, @The AppEngine Team, can I get a Google plate for the undying
 support I'm giving you guys? I might have people over for lunch :D

 On Nov 4, 6:57 pm, Sudhir [EMAIL PROTECTED] wrote:

  I'm not sure which language automatically loads all the possible
  classes and modules when every line of code is run I've been
  developing only a year or so, but a language that does that isn't
  something I'd use. Maybe we should rewrite C# to load all the .NET
  libraries automatically, and configure PHP to scan all the .php files
  on the hard disk and include them. I'm sure every command would then
  run without any further configuration :D

  While we're at it why not load the whole internet for every search
  query?

  On Nov 4, 1:26 pm, Kannaiyan [EMAIL PROTECTED] wrote:

   Feris:

   Next time when I'm any Google Developer or Python Developer house for
   lunch, I will go with my own plates. I doubt they will have their own
   plates in their house. :)

   I'm sure I entered into wrong time assuming Google development
   environment will be friendly enough with less docs.
   Looks like New comers need to run here and there to get their
   application working.

   This is to discuss problems we are facing and the users experience for
   Google to understand. I hope I expressed the same.
   I don't understand what you mean by Productive?

   /Kans

   On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote:

Hi Kannaiyan,
This is not a productive discussions. If you feel not right with Google
Apps, then it is not for you, ok ? Go with something else like Amazon 
EC2.

On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote:
 Never worked with Python Guys. (Once I complete Python, Google will go
 for Cobra :) )

Regards,

Feris
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Crappiest Product from Google

2008-11-04 Thread Kannaiyan

If you don't wish to listen you can go away.

I will explain my experience and the difficulties I faced around. If
you think that is troubling you, you need to stay away from this list.
I'm sure many more to come. Take care of your time.

Thanks.

/Kans

On Nov 3, 11:50 pm, David Symonds [EMAIL PROTECTED] wrote:
 On Mon, Nov 3, 2008 at 11:42 PM, Kannaiyan [EMAIL PROTECTED] wrote:
  I hope you all understand my intention.

 Yes, it seems your intention is to cause trouble. Please go away.

 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: newbie question : multiline field ... Where are the br

2008-11-04 Thread dme69

Nobody can help me ? Is it a real stupid question ?
Well I will search again.

On 3 nov, 15:17, dme69 [EMAIL PROTECTED] wrote:
 Hello all,

 I'm really new to python and GAE. I'm trying the guestbook tutorial
 and My question is about the display result of the content.
 This is a multiline field but when it is displayed, the
 return (br/br) at the end of each line is replaced by a space
 character.

 How can I display multi-lines as i have write multi-lines when signing
 the guestbook ?

 Thanks for your help.
 Dominique.

 PS : Sorry for my english. I'm working on it too ! ;-)
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Crappiest Product from Google

2008-11-04 Thread Kannaiyan

Sudhir:

Your understanding it wrong.

I'm not asking gdata to work without importing gdata to the
application.

The crappy work which we do we here is, everyone is downloading the
source and attaching to their own application.
Have you ever done anything on Gdata with AppEngine?

It is not just the statement  import gadata alone. You also need to
include the source for it too.

/Kans

On Nov 4, 5:57 am, Sudhir [EMAIL PROTECTED] wrote:
 I'm not sure which language automatically loads all the possible
 classes and modules when every line of code is run I've been
 developing only a year or so, but a language that does that isn't
 something I'd use. Maybe we should rewrite C# to load all the .NET
 libraries automatically, and configure PHP to scan all the .php files
 on the hard disk and include them. I'm sure every command would then
 run without any further configuration :D

 While we're at it why not load the whole internet for every search
 query?

 On Nov 4, 1:26 pm, Kannaiyan [EMAIL PROTECTED] wrote:

  Feris:

  Next time when I'm any Google Developer or Python Developer house for
  lunch, I will go with my own plates. I doubt they will have their own
  plates in their house. :)

  I'm sure I entered into wrong time assuming Google development
  environment will be friendly enough with less docs.
  Looks like New comers need to run here and there to get their
  application working.

  This is to discuss problems we are facing and the users experience for
  Google to understand. I hope I expressed the same.
  I don't understand what you mean by Productive?

  /Kans

  On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote:

   Hi Kannaiyan,
   This is not a productive discussions. If you feel not right with Google
   Apps, then it is not for you, ok ? Go with something else like Amazon EC2.

   On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote:
Never worked with Python Guys. (Once I complete Python, Google will go
for Cobra :) )

   Regards,

   Feris
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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] is it possible to clear error logs

2008-11-04 Thread Aramaki

My question is if it is posible to delete some error logs. Prior
versions of my application had bugs but now they are fixed and even if
I delete the version and re-upload the app old logs are still there.
It should be great clearing that windows of old stuff
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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 Zipfile, Django 1.0, GAE Django Helper

2008-11-04 Thread Dylan Lorimer

Hi Kosei -

Any idea why I can't import newforms in your package?

On Nov 3, 10:38 pm, Kitahara [EMAIL PROTECTED] wrote:
 Hi Dylan.

 I think ,it will work for you.http://github.com/Surgo/django-on-gae/
 it work for zip archiveddjango1.0 onGAEwith Helper.

 thank you.

 Kosei.

 On Nov 3, 2:07 pm, Dylan Lorimer [EMAIL PROTECTED] wrote:

  So I'm trying to get the app enginedjangohelper working with the
  zipfile example fordjango1.0, and running into a problem.

  I should also mention that I'm using the bootstrap method in theGAE
 djangohelper readme. I'm also using version 66 of thedjangohelper
  (pulled via svn.)

  I created thedjango.zip following the exact instructions 
  athttp://code.google.com/appengine/articles/django10_zipimport.html.

  So, the trouble I'm having is that after dropping indjango.zip into
  the root level of my application folder, I start the app server, and
  in the browser see the following error(s):

  
  Traceback (most recent call last):
    File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
  GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
  google/appengine/tools/dev_appserver.py, line 2413, in _HandleRequest
      base_env_dict=env_dict)
    File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
  GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
  google/appengine/tools/dev_appserver.py, line 348, in Dispatch
      base_env_dict=base_env_dict)
    File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
  GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
  google/appengine/tools/dev_appserver.py, line 1848, in Dispatch
      self._module_dict)
    File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
  GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
  google/appengine/tools/dev_appserver.py, line 1766, in ExecuteCGI
      reset_modules = exec_script(handler_path, cgi_path, hook)
    File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
  GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
  google/appengine/tools/dev_appserver.py, line 1664, in
  ExecuteOrImportScript
      script_module.main()
    File /Users/edylan/Development/JaceyPhotographs2/main.py, line 48,
  in main
      util.run_wsgi_app(application)
    File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
  GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
  google/appengine/ext/webapp/util.py, line 76, in run_wsgi_app
      result = application(env, _start_response)
    File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/
  core/handlers/wsgi.py, line 228, in __call__
    File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/
  core/handlers/base.py, line 40, in load_middleware
      continue
  ImproperlyConfigured: Error importing middleware
 django.contrib.auth.middleware: No module named
  contrib.auth.middleware

  
  looks like the error is in mydjango.zip that I'm creating, but I'm
  not sure how to fix this. Any ideas?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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] DataStore examples, reference, tutorial

2008-11-04 Thread Ian Bambury
I can't seem to find much on this which explains how to do anything more
complicated that saving/returning a single entity.
I've got a GWT app up and running on GAE, and I can save and retrieve data
no problem, but I need to be able to add the kind of functionality that
JOINs let you do in SQL

Does anyone have any links to good references or tutorials?

So for example, I have (in a relational DB) a customer table, an order table
and an order-line table (i.e.a product id and a quantity)  - how would I go
about doing this in the DataStore?

The customer has signed in and wants to see all outstanding orders for a
certain product.

Sorry if this is a question which comes up twice a week here, but I can't
find the answer

Cheers,

Ian

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Google App Engine Roadmap - Now Published

2008-11-04 Thread Rodrigo Moraes

On Mon, Nov 3, 2008 at 8:14 PM, johnP wrote:
 There is still a significant amount of development ahead.  If it
 appears that my task is a non-starter for Appengine, I'd prefer to
 switch to pure django earlier rather than later.

 Can anyone provide some enlightenment for my dilemma?  Thanks.

I think this is a common concern. I don't want my app offline because
I'm exceeding limits. Instead, I'd like to pay to be allowed to exceed
limits - and it is on Google plans to give us this option (from the
roadmap: Billing: developers can pay for more resource usage). I
have great expectations and I'm waiting for it.

-- rodrigo

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Doubts regarding Datstore Object backward computability

2008-11-04 Thread [EMAIL PROTECTED]

Hi,
 I would like to know the possibility in Google App Engine Datastore
to accommodate with my existing Database.

 Here is my common doubts:
1. Does Datastore has a backward capability to import the existing
DB(say MySQL for instance) structure and convert it to work with
Bigtable ?
2. Does Datstore gives any flexibility to export the Datstore objects
(So we can use it with other DB) ?

I eagerly waiting for the replay to see how this going to work..

Regards
Madhavan C

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Datastore Entity

2008-11-04 Thread Rodrigo Moraes

 On Oct 25, 2:49 am, yejun wrote:
 Actually, you still need to supply a empty dict object
 anykind = type(KindName, (db.Expando,), dict())

 obj1 = anykind()
 obj1.put()

 Here anykind is just a variable name, it is not necessary to match
 KindName, but KindName is the name used for datastore.

hey, interesting stuff here. couple of questions:

1. is there a way to retrieve a list of kinds used by an app, or we
need to keep track of them?

2. i have a case where about 300 users have entity collections from
various models. these collections vary in size from 10 to 10
thousand records, depending on the user. i don't need to fetch data
from all users at any point. so, from a performance perspective, is it
better to give each user its own kind (say user1_kindname,
user2_kindname etc), and fetch directly from them depending on the
user, or it doesn't matter and i can just use a single kind for each
model, plus a reference property to the user? hope this makes sense.
:-)

thanks,
-- rodrigo

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Bug in dev_appserver.py and email dispatching?

2008-11-04 Thread pr3d4t0r

Greetings.

If I update the code that dispatches an email from the app while
running in the dev_appserver.py without re-starting the server, the
next few calls to the same method start throwing the errors below.
Can you please explain what is happening and why this part of the App
Engine is sensitive to changes, whereas others don't care?  The error
is unrecoverable and once it occurs it's necessary to re-start the
devevelopment app server. Errors immediately below, source code
after.  Thanks in advance.

INFO 2008-11-04 16:20:39,058 dev_appserver.py] GET /static/
email_bookmark.html?8|Time%20Magazine|http%3A//cruzapp.com/|
[EMAIL PROTECTED] HTTP/1.1 200 -
INFO 2008-11-04 16:20:39,089 dev_appserver.py] GET /favicon.ico
HTTP/1.1 200 -
INFO 2008-11-04 16:20:39,118 dev_appserver.py] GET /styles/
bookmarksbin.css HTTP/1.1 200 -
INFO 2008-11-04 16:20:39,149 dev_appserver.py] GET /images/
BookmarksBin-logo.gif HTTP/1.1 200 -
INFO 2008-11-04 16:20:40,243 bookmarksbin.py] action = share
INFO 2008-11-04 16:20:40,271 mail_stub.py] MailService.Send
INFO 2008-11-04 16:20:40,272 mail_stub.py]   From: [EMAIL PROTECTED]
INFO 2008-11-04 16:20:40,272 mail_stub.py]   To: [EMAIL PROTECTED]
INFO 2008-11-04 16:20:40,272 mail_stub.py]   Subject: BookmarksBin
shared link
INFO 2008-11-04 16:20:40,272 mail_stub.py]   Body:
INFO 2008-11-04 16:20:40,273 mail_stub.py] Content-type: text/
plain
INFO 2008-11-04 16:20:40,273 mail_stub.py] Data length: 112
INFO 2008-11-04 16:20:40,273 mail_stub.py] -

   Hello,

   A BookmarksBin user thought you may enjoy
   reading this:
   http://cruzapp.com/
-
ERROR2008-11-04 16:20:40,298 __init__.py] Traceback (most recent
call last):
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
default.bundle/Contents/Resources/google_appengine/google/appengine/
ext/webapp/__init__.py, line 501, in __call__
handler.post(*groups)
  File /Users/ciurana/development/AppEngine/bookmarksbin/
bookmarksbin.py, line 223, in post
bookmarks = self._processAction()
  File /Users/ciurana/development/AppEngine/bookmarksbin/
bookmarksbin.py, line 203, in _processAction
self._shareBookmark()
  File /Users/ciurana/development/AppEngine/bookmarksbin/
bookmarksbin.py, line 184, in _shareBookmark
self._dispatchEmailTo(email, nID)
  File /Users/ciurana/development/AppEngine/bookmarksbin/
bookmarksbin.py, line 176, in _dispatchEmailTo
message.send()
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
default.bundle/Contents/Resources/google_appengine/google/appengine/
api/mail.py, line 474, in send
make_sync_call('mail', self._API_CALL, message, response)
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
default.bundle/Contents/Resources/google_appengine/google/appengine/
api/apiproxy_stub_map.py, line 46, in MakeSyncCall
stub.MakeSyncCall(service, call, request, response)
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
default.bundle/Contents/Resources/google_appengine/google/appengine/
api/mail_stub.py, line 62, in MakeSyncCall
attr(request, response)
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
default.bundle/Contents/Resources/google_appengine/google/appengine/
api/mail_stub.py, line 217, in _Send
self._SendSMTP(mime_message, smtp_lib)
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
default.bundle/Contents/Resources/google_appengine/google/appengine/
api/mail_stub.py, line 153, in _SendSMTP
smtp.sendmail(mime_message['From'], tos, str(mime_message))
  File /System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/email/message.py, line 116, in __str__
return self.as_string(unixfrom=True)
  File /System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/email/message.py, line 128, in as_string
from email.Generator import Generator
SystemError: Parent module 'email' not loaded

INFO 2008-11-04 16:20:40,314 dev_appserver.py] POST / HTTP/1.1
500

The code that dispatches the email:

  def _dispatchEmailTo(self, email, nID):
owner = Owner.getCurrent()
bookmark = memcache.get(self._bookmarkKey(nID))

if bookmark is None:
  bookmark = Bookmark.get_by_id(nID, owner)
  memcache.set(self._bookmarkKey(nID), bookmark)

message = mail.EmailMessage(
sender = owner.email,
subject = BookmarksBin shared link)

message.to = email
message.body = 
   Hello,

   A BookmarksBin user thought you may enjoy
   reading this:
   


[google-appengine] Re: newbie question : multiline field ... Where are the br

2008-11-04 Thread Ian Bambury
It is not a stupid question.
There are no br tags in the text (why don't you just display the text to
see what you get?)

There are certainly no /br tags because they are not legal - it's br or
br/ or br / - but anyway, they are not there.

A text area *should* return CRLF (h0d0a) but some browsers and/or *nix OSs
will return just a LF so you have to strip out the CRs and convert LFs to
brs (HTML) or br/s (XHTML) though in your case I think you can just
replace \n's with the br

Ian

http://examples.roughian.com

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: DataStore examples, reference, tutorial

2008-11-04 Thread David Symonds

On Mon, Nov 3, 2008 at 9:07 PM, Ian Bambury [EMAIL PROTECTED] wrote:

 I can't seem to find much on this which explains how to do anything more
 complicated that saving/returning a single entity.
 I've got a GWT app up and running on GAE, and I can save and retrieve data
 no problem, but I need to be able to add the kind of functionality that
 JOINs let you do in SQL

There is no such thing as JOINs for the datastore. You need to do what
is called denormalisation, which is effectively duplicating data and
putting it everywhere you need it.

 The customer has signed in and wants to see all outstanding orders for a 
 certain product.

That doesn't sound like it needs a JOIN anyway. You'd get the current
customer ID, get that production ID, and them filter on the orders.

If you flesh out your example a bit more, we can help you further.


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: more complicated counters/ratings (sorting?)

2008-11-04 Thread Jay Freeman (saurik)

If I don't use transactions (with the ratings in the same entity groups as 
the shards they are being served by) then I can't be guaranteed I don't 
accidentally drop or double count ratings in the case of errors. :( Is the 
idea that you are recommending I just say oh well, its a drop in the 
bucket? -J

--
From: Alexander Kojevnikov [EMAIL PROTECTED]
Sent: Tuesday, November 04, 2008 1:12 AM
To: Google App Engine google-appengine@googlegroups.com
Subject: [google-appengine] Re: more complicated counters/ratings (sorting?)

...
 I would use shards to track the ratings (but without using
 transactions) and from time to time re-calculate the average from the
 shards and keep it with the product. This would allow indexing by the
 average rating, without many sacrifices.
... 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Google App Engine Roadmap - Now Published

2008-11-04 Thread johnP



On Nov 4, 5:08 am, Rodrigo Moraes [EMAIL PROTECTED] wrote:
 On Mon, Nov 3, 2008 at 8:14 PM, johnP wrote:

 roadmap: Billing: developers can pay for more resource usage). I


 -- rodrigo


It's not clear what paying for more resource usage means.  Yes, you
can buy more traffic, storage, etc.  It is *not* clear that apps
exceeding quotas for CPU-intensive tasks will not be taken offline.

I hope the Google folks can give us a clear answer here.  We need to
to understand if the platform is suitable for our needs.  I am willing
to deal with BigTable datastore limitations if my application is
ultimately viable for the platform.  If not, I'd prefer to develop
with all the capabilities of SQL at my disposal.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Bug in dev_appserver.py and email dispatching?

2008-11-04 Thread Marzia Niccolai
Hi,

This was a reported issue,
http://code.google.com/p/googleappengine/issues/detail?id=182, but I had
believed it was fixed.  What version of the SDK are you using? Is this with
1.1.5?

-Marzia

On Tue, Nov 4, 2008 at 8:37 AM, pr3d4t0r [EMAIL PROTECTED] wrote:


 Greetings.

 If I update the code that dispatches an email from the app while
 running in the dev_appserver.py without re-starting the server, the
 next few calls to the same method start throwing the errors below.
 Can you please explain what is happening and why this part of the App
 Engine is sensitive to changes, whereas others don't care?  The error
 is unrecoverable and once it occurs it's necessary to re-start the
 devevelopment app server. Errors immediately below, source code
 after.  Thanks in advance.

 INFO 2008-11-04 16:20:39,058 dev_appserver.py] GET /static/
 email_bookmark.html?8|Time%20Magazine|http%3A//cruzapp.com/|http://cruzapp.com/%7C
 [EMAIL PROTECTED] HTTP/1.1 200 -
 INFO 2008-11-04 16:20:39,089 dev_appserver.py] GET /favicon.ico
 HTTP/1.1 200 -
 INFO 2008-11-04 16:20:39,118 dev_appserver.py] GET /styles/
 bookmarksbin.css HTTP/1.1 200 -
 INFO 2008-11-04 16:20:39,149 dev_appserver.py] GET /images/
 BookmarksBin-logo.gif HTTP/1.1 200 -
 INFO 2008-11-04 16:20:40,243 bookmarksbin.py] action = share
 INFO 2008-11-04 16:20:40,271 mail_stub.py] MailService.Send
 INFO 2008-11-04 16:20:40,272 mail_stub.py]   From: [EMAIL PROTECTED]
 INFO 2008-11-04 16:20:40,272 mail_stub.py]   To: [EMAIL PROTECTED]
 INFO 2008-11-04 16:20:40,272 mail_stub.py]   Subject: BookmarksBin
 shared link
 INFO 2008-11-04 16:20:40,272 mail_stub.py]   Body:
 INFO 2008-11-04 16:20:40,273 mail_stub.py] Content-type: text/
 plain
 INFO 2008-11-04 16:20:40,273 mail_stub.py] Data length: 112
 INFO 2008-11-04 16:20:40,273 mail_stub.py] -

   Hello,

   A BookmarksBin user thought you may enjoy
   reading this:
   http://cruzapp.com/
 -
 ERROR2008-11-04 16:20:40,298 __init__.py] Traceback (most recent
 call last):
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
 GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
 default.bundle/Contents/Resources/google_appengine/google/appengine/
 ext/webapp/__init__.py, line 501, in __call__
handler.post(*groups)
  File /Users/ciurana/development/AppEngine/bookmarksbin/
 bookmarksbin.py, line 223, in post
bookmarks = self._processAction()
  File /Users/ciurana/development/AppEngine/bookmarksbin/
 bookmarksbin.py, line 203, in _processAction
self._shareBookmark()
  File /Users/ciurana/development/AppEngine/bookmarksbin/
 bookmarksbin.py, line 184, in _shareBookmark
self._dispatchEmailTo(email, nID)
  File /Users/ciurana/development/AppEngine/bookmarksbin/
 bookmarksbin.py, line 176, in _dispatchEmailTo
message.send()
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
 GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
 default.bundle/Contents/Resources/google_appengine/google/appengine/
 api/mail.py, line 474, in send
make_sync_call('mail', self._API_CALL, message, response)
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
 GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
 default.bundle/Contents/Resources/google_appengine/google/appengine/
 api/apiproxy_stub_map.py, line 46, in MakeSyncCall
stub.MakeSyncCall(service, call, request, response)
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
 GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
 default.bundle/Contents/Resources/google_appengine/google/appengine/
 api/mail_stub.py, line 62, in MakeSyncCall
attr(request, response)
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
 GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
 default.bundle/Contents/Resources/google_appengine/google/appengine/
 api/mail_stub.py, line 217, in _Send
self._SendSMTP(mime_message, smtp_lib)
  File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/
 GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-
 default.bundle/Contents/Resources/google_appengine/google/appengine/
 api/mail_stub.py, line 153, in _SendSMTP
smtp.sendmail(mime_message['From'], tos, str(mime_message))
  File /System/Library/Frameworks/Python.framework/Versions/2.5/lib/
 python2.5/email/message.py, line 116, in __str__
return self.as_string(unixfrom=True)
  File /System/Library/Frameworks/Python.framework/Versions/2.5/lib/
 python2.5/email/message.py, line 128, in as_string
from email.Generator import Generator
 SystemError: Parent module 'email' not loaded

 INFO 2008-11-04 16:20:40,314 dev_appserver.py] POST / HTTP/1.1
 500

 The code that dispatches the email:

  def _dispatchEmailTo(self, email, nID):
owner = Owner.getCurrent()
bookmark = memcache.get(self._bookmarkKey(nID))

if bookmark is None:
  

[google-appengine] Re: DataStore examples, reference, tutorial

2008-11-04 Thread Ian Bambury
Hi David,
Thanks for the reply.

I realise there is no JOIN, hence the question.

Let's say I am converting an existing SQL-type app

There are tables for

Customer
Order
OrderLine
Product

and I need to extract all order lines for a customer for a particular
product

Acme Ltd - Order 123 - Quantity 24 - Desciption: Can Of Beer
Acme Ltd - Order 132 - Quantity 12 - Desciption: Can Of BeerAcme Ltd - Order
155 - Quantity 48 - Desciption: Can Of Beer

All this information is in different tables. You say to keep all the data
duplicated in one place, which is OK, but what if Can Of Beer was a typo and
needs to be changed to Can Of Lager?

The real app will have many hundreds of thousands of records which will need
to be updated and updating the status of a few hundreds of emails on GMail
takes for ever

Ian

http://examples.roughian.com


2008/11/4 David Symonds [EMAIL PROTECTED]


 On Mon, Nov 3, 2008 at 9:07 PM, Ian Bambury [EMAIL PROTECTED] wrote:

  I can't seem to find much on this which explains how to do anything more
  complicated that saving/returning a single entity.
  I've got a GWT app up and running on GAE, and I can save and retrieve
 data
  no problem, but I need to be able to add the kind of functionality that
  JOINs let you do in SQL

 There is no such thing as JOINs for the datastore. You need to do what
 is called denormalisation, which is effectively duplicating data and
 putting it everywhere you need it.

  The customer has signed in and wants to see all outstanding orders for a
 certain product.

 That doesn't sound like it needs a JOIN anyway. You'd get the current
 customer ID, get that production ID, and them filter on the orders.

 If you flesh out your example a bit more, we can help you further.


 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: more complicated counters/ratings (sorting?)

2008-11-04 Thread Alexander Kojevnikov

I wouldn't put ratings into the same entity group as the product (or
its shards). If you're going to have 100K ratings per product, as you
said this will lead to high contention.

With so many ratings it would not make much difference if you don't
take all of them into account or if you don't provide real-time
average rating.

I would use shards to track the ratings (but without using
transactions) and from time to time re-calculate the average from the
shards and keep it with the product. This would allow indexing by the
average rating, without many sacrifices.

Now, the interesting part is how to trigger re-calculation. Until
Google fixes issue 6 there are only two obvious solutions: ping from
an external box or do your processing selectively in the usual request
handlers. An example of the latter would be updating the average on
each X rating and/or each Y seconds.

Hope any of this makes sense.

On Nov 3, 9:33 am, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote:
 Ok, so I've watched Brett's talk on Building Scalable Web Apps with App 
 Engine, and I've read tons now on entity groups and transactions, but I'm 
 just completely at a loss to come up with an efficient way to model what 
 seems like a very common scenario. :( If anyone is willing to chime in with 
 ideas I'd be really appreciative.

 Here's the basic idea:

 a number of products
 a number of users
 users rate products 1-5
 products have an average rating
 users can sort products by rating

 Equivalent, and closer to the existing examples:

 a number of blog posts
 a number of users
 users post (many, many) comments on blog posts
 blog posts have a comment count
 users can list sort posts by comment count

 The first problem is that the counter examples I've seen haven't actually 
 needed to count anything that also needed to be in the datastore. As near as 
 I can tell, to accurately count a set of ratings for a particular product I 
 would need to have an entity group per statistics shard that also contained 
 all of the actual user/product/rating entities. If a user also was able to 
 update their rating/comment this means that the assertion that it is easy to 
 later change the number of shards becomes false: if I were to break it up 
 into five groups (let's say) and get a hundred thousand ratings for some 
 product (very likely in my case) then each group is going to have 20,000 
 entities in it already (with high contention for those updates, even though 
 they don't affect the count), and I have no real way to (safely) move them 
 between shards later.

 The second problem is that the existing discussions I've seen of this problem 
 ignore sorting by these statistics. Example: not only might you want the 
 total number of comments posted on a blog, you also might want to find blog 
 entries most discussed (those with the most comments). The mechanisms of 
 using memcache to store a consistent/efficient count thereby no longer work 
 very well: you need to store the information in an indexed entity. Also, you 
 can't afford for the information to ever be out of date: if you have a few 
 thousand products in your product catalog and you don't have an up-to-date 
 count for any of them, it isn't an option to rebuild the master statistics 
 for all of them before running your query. This means you need to be 
 constantly maintaining the updated global counts as you change things, and if 
 you want them to be safe/accurate that will need to be done in a transaction, 
 which pretty much pulls the entire product/post into a single giant entity 
 group.

 Put these together and it seems like this very website concept simply 
 /requires/ a really slow implementation :(. Specifically: every product/post 
 gets a single entity group, and the comments/ratings are stored in it, with a 
 single master count stored on the product/post entity (updated via 
 transactions as comments/ratings added); thereby causing massive contention 
 as everyone immediately swoops in to put their comment/rating in. If this is 
 simply true then I'll just go ahead and build this and feel ok in that I 
 did everything I could, but as long as I have doubts I'm finding it difficult 
 to force myself to lock this scheme into my data ;P.

 -J
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: more complicated counters/ratings (sorting?)

2008-11-04 Thread yejun

You keep total rating values and number of users rated both in two
shard counters which are not belong to your product entity group. Then
update your average rating for your product's entity group
periodically like once every 100 request or 1000 request depends on
your need. So the concurrency level is only determined by the number
of shards not by number of users or products.

Even though the transfer data from shard counter to your entity group
is non-transactional, but the updating of raw records are
transactional, the data will be corrected next time when you update
average rate. Updating will only takes the time of a dozen of
datastore read and 1 put.


On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED]
wrote:
 If I don't use transactions (with the ratings in the same entity groups as
 the shards they are being served by) then I can't be guaranteed I don't
 accidentally drop or double count ratings in the case of errors. :( Is the
 idea that you are recommending I just say oh well, its a drop in the
 bucket? -J

 --
 From: Alexander Kojevnikov [EMAIL PROTECTED]
 Sent: Tuesday, November 04, 2008 1:12 AM
 To: Google App Engine google-appengine@googlegroups.com
 Subject: [google-appengine] Re: more complicated counters/ratings (sorting?)

 ... I would use shards to track the ratings (but without using
  transactions) and from time to time re-calculate the average from the
  shards and keep it with the product. This would allow indexing by the
  average rating, without many sacrifices.

 ...
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: more complicated counters/ratings (sorting?)

2008-11-04 Thread Jay Freeman (saurik)

Ok, but this model still involves having the products in the same entity 
group as the sharded ratings, right? That isn't what I read from use shards 
to track the ratings (but without using transactions). I can easily see how 
you don't need a transaction to sum the shards into the total, but you 
definitely need a transaction to add the new rating and add its weight to 
the shard. -J

--
From: yejun [EMAIL PROTECTED]
Sent: Tuesday, November 04, 2008 9:11 AM
To: Google App Engine google-appengine@googlegroups.com
Subject: [google-appengine] Re: more complicated counters/ratings (sorting?)


 You keep total rating values and number of users rated both in two
 shard counters which are not belong to your product entity group. Then
 update your average rating for your product's entity group
 periodically like once every 100 request or 1000 request depends on
 your need. So the concurrency level is only determined by the number
 of shards not by number of users or products.

 Even though the transfer data from shard counter to your entity group
 is non-transactional, but the updating of raw records are
 transactional, the data will be corrected next time when you update
 average rate. Updating will only takes the time of a dozen of
 datastore read and 1 put.


 On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED]
 wrote:
 If I don't use transactions (with the ratings in the same entity groups 
 as
 the shards they are being served by) then I can't be guaranteed I don't
 accidentally drop or double count ratings in the case of errors. :( Is 
 the
 idea that you are recommending I just say oh well, its a drop in the
 bucket? -J

 --
 From: Alexander Kojevnikov [EMAIL PROTECTED]
 Sent: Tuesday, November 04, 2008 1:12 AM
 To: Google App Engine google-appengine@googlegroups.com
 Subject: [google-appengine] Re: more complicated counters/ratings 
 (sorting?)

 ... I would use shards to track the ratings (but without using
  transactions) and from time to time re-calculate the average from the
  shards and keep it with the product. This would allow indexing by the
  average rating, without many sacrifices.

 ...
 
 

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: DataStore examples, reference, tutorial

2008-11-04 Thread David Symonds

On Tue, Nov 4, 2008 at 9:08 AM, Ian Bambury [EMAIL PROTECTED] wrote:

 Let's say I am converting an existing SQL-type app
 There are tables for
 Customer
 Order
 OrderLine
 Product
 and I need to extract all order lines for a customer for a particular
 product
 Acme Ltd - Order 123 - Quantity 24 - Desciption: Can Of Beer
 Acme Ltd - Order 132 - Quantity 12 - Desciption: Can Of Beer
 Acme Ltd - Order 155 - Quantity 48 - Desciption: Can Of Beer

 All this information is in different tables. You say to keep all the data
 duplicated in one place, which is OK, but what if Can Of Beer was a typo and
 needs to be changed to Can Of Lager?

A handy rule of thumb that I use is to duplicate the data that you
want to search or filter on. In this example, you don't need that, so
you can model it in the datastore in much the same way as you did in
an SQL-backed application.

In particular, your OrderLine model might look like this:

class OrderLine(db.Model):
  customer = db.ReferenceProperty(Customer)
  order = db.ReferenceProperty(Order)
  product = db.ReferenceProperty(Product)
  quantity = db.IntegerProperty()

Then you'd fetch all your lines like this:

lines = OrderLine.all().filter('customer =',
currentCustomer).filter('product =', theProduct)


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: Trouble with Zipfile, Django 1.0, GAE Django Helper

2008-11-04 Thread Kitahara

Hi Dylan.

Django 1.0 not support newforms.

plese read follow document.
http://docs.djangoproject.com/en/dev/releases/1.0-porting-guide/#use-django-forms-instead-of-newforms

replace from
  from django import newforms as forms
to
  from django import forms

Thanks.
Kosei.

On 11月5日, 午前1:20, Dylan Lorimer [EMAIL PROTECTED] wrote:
 Hi Kosei -

 Any idea why I can't import newforms in your package?

 On Nov 3, 10:38 pm, Kitahara [EMAIL PROTECTED] wrote:

  Hi Dylan.

  I think ,it will work for you.http://github.com/Surgo/django-on-gae/
  it work for zip archiveddjango1.0 onGAEwith Helper.

  thank you.

  Kosei.

  On Nov 3, 2:07 pm, Dylan Lorimer [EMAIL PROTECTED] wrote:

   So I'm trying to get the app enginedjangohelper working with the
   zipfile example fordjango1.0, and running into a problem.

   I should also mention that I'm using the bootstrap method in theGAE
  djangohelper readme. I'm also using version 66 of thedjangohelper
   (pulled via svn.)

   I created thedjango.zip following the exact instructions 
   athttp://code.google.com/appengine/articles/django10_zipimport.html.

   So, the trouble I'm having is that after dropping indjango.zip into
   the root level of my application folder, I start the app server, and
   in the browser see the following error(s):

   
   Traceback (most recent call last):
 File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
   GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
   google/appengine/tools/dev_appserver.py, line 2413, in _HandleRequest
   base_env_dict=env_dict)
 File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
   GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
   google/appengine/tools/dev_appserver.py, line 348, in Dispatch
   base_env_dict=base_env_dict)
 File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
   GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
   google/appengine/tools/dev_appserver.py, line 1848, in Dispatch
   self._module_dict)
 File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
   GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
   google/appengine/tools/dev_appserver.py, line 1766, in ExecuteCGI
   reset_modules = exec_script(handler_path, cgi_path, hook)
 File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
   GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
   google/appengine/tools/dev_appserver.py, line 1664, in
   ExecuteOrImportScript
   script_module.main()
 File /Users/edylan/Development/JaceyPhotographs2/main.py, line 48,
   in main
   util.run_wsgi_app(application)
 File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
   GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
   google/appengine/ext/webapp/util.py, line 76, in run_wsgi_app
   result = application(env, _start_response)
 File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/
   core/handlers/wsgi.py, line 228, in __call__
 File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/
   core/handlers/base.py, line 40, in load_middleware
   continue
   ImproperlyConfigured: Error importing middleware
  django.contrib.auth.middleware: No module named
   contrib.auth.middleware

   
   looks like the error is in mydjango.zip that I'm creating, but I'm
   not sure how to fix this. Any ideas?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Crappiest Product from Google

2008-11-04 Thread Dan Sanderson
On Mon, Nov 3, 2008 at 11:42 PM, Kannaiyan [EMAIL PROTECTED] wrote:

 As a software developer I would allow users to reuse the same code. I
 won't make million copies of the same code. (If used by millions of
 people). If Python does not allow such sharing model, then the
 language is a total CRAP.


Bundling a bunch of libraries with the runtime environment could be a bad
idea in the long run.  For example, consider the case where version 1 of the
runtime environment includes version 1.0 of module A and version 1.0 of
module B, and you write an app that uses these modules.  Then later, App
Engine releases version 2 of the runtime environment, which includes version
2.0 of module A and version 2.0 of module B.  Perhaps your app is
incompatible with module A v2.0 and would take several weeks to port, but
there's nothing in A v2.0 that you need so you'd prefer to just stay with A
v1.0.  But you desperately need a feature in module B v2.0.

Thankfully, in Python it's easy to stay with version 1 of the runtime
environment then add your own copy of B v2.0 to your app.  But you can
imagine that with many modules and many versions, this could get extremely
difficult to manage very quickly, and you'll soon be including all of your
dependencies with your app.

Bundled libraries make it easy to get started, and it's a good suggestion
for App Engine to include the gdata library with the runtime as a starting
point.  Feel free to create an issue in the issue tracker for this.  But
beyond getting started, you probably won't want to use bundled libraries.

-- Dan

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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] Stuck indexes

2008-11-04 Thread abridgedEdition

All my indexes are stuck on Building.  Would someone at Google move
them to Error so I can vacuum them?

Also, my understanding is that the known issue that causes indexes to
count against application quota even after they have been vacuumed is
still present.  Could I get my index quota reset so I can re-upload?

app id drewsandbox

Thanks,

Drew Crawford
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Bug in dev_appserver.py and email dispatching?

2008-11-04 Thread pr3d4t0r

On Nov 4, 8:41 am, Marzia Niccolai [EMAIL PROTECTED] wrote:
 What version of the SDK are you using? Is this with
 1.1.5?

Hi Marzia!

Thanks for your quick response -- here are the versions:

Version 1.1.5 (1.1.5.151)
release:  1.1.5
timestamp: 1222740096
api_versions: ['1']

Have a fantastic day!

pr3d4t0r
http://eugeneciurana.com
http://isthesiteup.com

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Common View Component

2008-11-04 Thread Chris

What's the best practice for including a common dynamic view component
in every template? For example, say I want to include a short list of
links, dynamically queried from my datastore, on every page.

The default option seems to be adding this query to every request
handler, and use Django's template inheritance to reuse the display
logic. However, this still seems like a lot of work, so I decided to
create a linklist templatefilter to both query the data and retrieve
the template, and just add {{request|linklist}} to my base template.
This is simple, but seems like a hack. Is there a better way?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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] GAE vs. EC2

2008-11-04 Thread sal


Just curious to hear some opinions on this - especially from anyone
who has experience with Amazon's EC2 as well as GAE.

I just read a blog saying you can be up and running with EC2's
cheapest offering with no upfront cost and 79$ a month.  You get a
'real' virtualized Linux machine with 1.7GB of ram.  And by clicking a
button (there are free graphical admin tools now), as many more
instances/images as you need will pop up instantly using a system
image that you create to handle whatever load you have. (Your bill
goes just up as you click into more resources).

There are loads of 'public' images to pick from, some include Python
already. (Others have Java, PHP, etc).  By choosing one of these
images you'll have Python running, with full root access to a server
online that you can do whatever you like with.  I guess technically,
someone could just put the GAE SDK up on an EC2 box, with some tweaks,
and you could almost have your GAE app running there unmodified as
well?

I'm using GAE because of the zero, upfront cost currently... this is
great for toying around with neat ideas - but for 'real world',
demanding applications... you'll eventually have to pay even for GAE.
What do we have offered that something like EC2 doesn't?

Google has announced another language coming in a few months - but
again EC2 allows to use whichever is installed in your machine image
already - any language you can use in linux I suppose... not sure if
its enough to keep me onboard once my app goes over its quotas and I
have to start to pay for more.

looking forward to hear thoughts!


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: DataStore examples, reference, tutorial

2008-11-04 Thread Ian Bambury
Hi David,
That's really helpful, thanks. A big step on the way
So in 'lines' I'd have OrderLine objects.

Are there any useful sites/pages where this info is available, to save me
having to pester people like you?

If not...

What if I wanted to pull out a list where the quantity was over 1000 and
print the product description and the customer name?

Sorry for all the questions, but I'm pretty much OK on all the programming
side but I don't have anything much to closely relate to BigTables, so it's
a blind spot.

And to make it worse, I'm going to have to do something like pulling out the
first 100 customers in customer name order who *don't* have any orders for
product x

I appreciate your help in getting me up to speed here.

Ian

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Crappiest Product from Google

2008-11-04 Thread Peter Recore

I must be a sucker for drama, because I'm still reading this thread.
And after all the insults, whining, and negativity, I think this Kans
guy has finally explained what his actual issue is.  It sounds like he
wants the gdata libraries to be 'installed' as part of the python
environment our apps run in, just like django is 'pre installed' for
us.

Maybe now he'll go away, or at least stop being a jerk.

On Nov 4, 10:28 am, Kannaiyan [EMAIL PROTECTED] wrote:
 Don't think you are just given simply to enjoy the platform. That is
 one side of it.

 Google evaluates every user experience which in turns gives them a
 business metrics to improve their business.
 You are partly denoting your time for free to improve Google's
 business whether you make any productive application or not.

 /Kans

 On Nov 4, 6:07 am, Sudhir [EMAIL PROTECTED] wrote:

  Besides, app engine was obviously designed for us lesser mortals who
  picked up python only two months ago and are happily writing code that
  works really well, hosting it on a free platform that gives really
  good response times and on an API that lets us do quite a lot, and
  with a little creative pushing, anything we want.

  Obviously, we're stupid.

  Besides, its not fair that google is only providing a platform that
  lets you build your ideas any way you want, experiment to your heart's
  content, and charges you only long after your app has become
  profitable. They ought to send people to cook my meals and clean my
  room too.

  BTW, @The AppEngine Team, can I get a Google plate for the undying
  support I'm giving you guys? I might have people over for lunch :D

  On Nov 4, 6:57 pm, Sudhir [EMAIL PROTECTED] wrote:

   I'm not sure which language automatically loads all the possible
   classes and modules when every line of code is run I've been
   developing only a year or so, but a language that does that isn't
   something I'd use. Maybe we should rewrite C# to load all the .NET
   libraries automatically, and configure PHP to scan all the .php files
   on the hard disk and include them. I'm sure every command would then
   run without any further configuration :D

   While we're at it why not load the whole internet for every search
   query?

   On Nov 4, 1:26 pm, Kannaiyan [EMAIL PROTECTED] wrote:

Feris:

Next time when I'm any Google Developer or Python Developer house for
lunch, I will go with my own plates. I doubt they will have their own
plates in their house. :)

I'm sure I entered into wrong time assuming Google development
environment will be friendly enough with less docs.
Looks like New comers need to run here and there to get their
application working.

This is to discuss problems we are facing and the users experience for
Google to understand. I hope I expressed the same.
I don't understand what you mean by Productive?

/Kans

On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote:

 Hi Kannaiyan,
 This is not a productive discussions. If you feel not right with 
 Google
 Apps, then it is not for you, ok ? Go with something else like Amazon 
 EC2.

 On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote:
  Never worked with Python Guys. (Once I complete Python, Google will 
  go
  for Cobra :) )

 Regards,

 Feris
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Crappiest Product from Google

2008-11-04 Thread Kannaiyan

Dan Sanderson:

Thanks for the nice feedback and understanding.

We need to have a smart way of maintaining versions.
What if Google Upgrades the version of Python Intrepreter to a higher
version when the code is written for lower version?

We see Deprecated modules changing between higher versions.
You think we need to store our own Python binaries of that version to
keep it running?

I have a very basic question,

What happens if there is a bug (BETA) in GData module and the website
is not updated with that gdata update.

1. Do they have to shut the website down?
2. What if someone exploits of a known bug and misuse the poor website
infrastructure, why you make the user as a victim of such happenings.

If someone want to use higher version of the API, we need to come up
with a solution of Managing different versions.

like,

import gdata2

to use the extra facilities offered by gdata higher versions.

I'm not discussing about integrating a third party module.
It is their own services and accessing their own products, mounting
extra work to it in the user side in maintaining the version of the
code. What a service :)

/Kannaiyan

On Nov 4, 9:23 am, Dan Sanderson [EMAIL PROTECTED] wrote:
 On Mon, Nov 3, 2008 at 11:42 PM, Kannaiyan [EMAIL PROTECTED] wrote:
  As a software developer I would allow users to reuse the same code. I
  won't make million copies of the same code. (If used by millions of
  people). If Python does not allow such sharing model, then the
  language is a total CRAP.

 Bundling a bunch of libraries with the runtime environment could be a bad
 idea in the long run.  For example, consider the case where version 1 of the
 runtime environment includes version 1.0 of module A and version 1.0 of
 module B, and you write an app that uses these modules.  Then later, App
 Engine releases version 2 of the runtime environment, which includes version
 2.0 of module A and version 2.0 of module B.  Perhaps your app is
 incompatible with module A v2.0 and would take several weeks to port, but
 there's nothing in A v2.0 that you need so you'd prefer to just stay with A
 v1.0.  But you desperately need a feature in module B v2.0.

 Thankfully, in Python it's easy to stay with version 1 of the runtime
 environment then add your own copy of B v2.0 to your app.  But you can
 imagine that with many modules and many versions, this could get extremely
 difficult to manage very quickly, and you'll soon be including all of your
 dependencies with your app.

 Bundled libraries make it easy to get started, and it's a good suggestion
 for App Engine to include the gdata library with the runtime as a starting
 point.  Feel free to create an issue in the issue tracker for this.  But
 beyond getting started, you probably won't want to use bundled libraries.

 -- Dan
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: more complicated counters/ratings (sorting?)

2008-11-04 Thread yejun

You can save your individual rating anywhere, you just need it for the
record.
Put you update your total rating and total user record in a
transaction counter. For average rating you only need total rating and
total user counter, you don't need individual record.

On Nov 4, 12:15 pm, Jay Freeman \(saurik\) [EMAIL PROTECTED]
wrote:
 Ok, but this model still involves having the products in the same entity
 group as the sharded ratings, right? That isn't what I read from use shards
 to track the ratings (but without using transactions). I can easily see how
 you don't need a transaction to sum the shards into the total, but you
 definitely need a transaction to add the new rating and add its weight to
 the shard. -J

 --
 From: yejun [EMAIL PROTECTED]
 Sent: Tuesday, November 04, 2008 9:11 AM
 To: Google App Engine google-appengine@googlegroups.com
 Subject: [google-appengine] Re: more complicated counters/ratings (sorting?)



  You keep total rating values and number of users rated both in two
  shard counters which are not belong to your product entity group. Then
  update your average rating for your product's entity group
  periodically like once every 100 request or 1000 request depends on
  your need. So the concurrency level is only determined by the number
  of shards not by number of users or products.

  Even though the transfer data from shard counter to your entity group
  is non-transactional, but the updating of raw records are
  transactional, the data will be corrected next time when you update
  average rate. Updating will only takes the time of a dozen of
  datastore read and 1 put.

  On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED]
  wrote:
  If I don't use transactions (with the ratings in the same entity groups
  as
  the shards they are being served by) then I can't be guaranteed I don't
  accidentally drop or double count ratings in the case of errors. :( Is
  the
  idea that you are recommending I just say oh well, its a drop in the
  bucket? -J

  --
  From: Alexander Kojevnikov [EMAIL PROTECTED]
  Sent: Tuesday, November 04, 2008 1:12 AM
  To: Google App Engine google-appengine@googlegroups.com
  Subject: [google-appengine] Re: more complicated counters/ratings
  (sorting?)

  ... I would use shards to track the ratings (but without using
   transactions) and from time to time re-calculate the average from the
   shards and keep it with the product. This would allow indexing by the
   average rating, without many sacrifices.

  ...
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Stuck indexes

2008-11-04 Thread abridgedEdition

Looks like marzi took care of it.  Thanks!

On Nov 4, 11:25 am, abridgedEdition [EMAIL PROTECTED]
wrote:
 All my indexes are stuck on Building.  Would someone at Google move
 them to Error so I can vacuum them?

 Also, my understanding is that the known issue that causes indexes to
 count against application quota even after they have been vacuumed is
 still present.  Could I get my index quota reset so I can re-upload?

 app id drewsandbox

 Thanks,

 Drew Crawford
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Doubts regarding Datstore Object backward computability

2008-11-04 Thread Peter Recore

BigTable is not a SQL database.  There is no way to automatically
convert a SQL schema into an App Engine datastore design.Some
applications are easier to model in the datastore than others.  The
best way to find out is to try it, and then ask here with specific
questions and examples.

You can read about the datastore here:

http://code.google.com/appengine/docs/datastore/overview.html

On Nov 4, 9:16 am, [EMAIL PROTECTED]
[EMAIL PROTECTED] wrote:
 Hi,
  I would like to know the possibility in Google App Engine Datastore
 to accommodate with my existing Database.

  Here is my common doubts:
 1. Does Datastore has a backward capability to import the existing
 DB(say MySQL for instance) structure and convert it to work with
 Bigtable ?
 2. Does Datstore gives any flexibility to export the Datstore objects
 (So we can use it with other DB) ?

 I eagerly waiting for the replay to see how this going to work..

 Regards
 Madhavan C
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Crappiest Product from Google

2008-11-04 Thread Kannaiyan

Issue already added to the tracker list.

http://code.google.com/p/googleappengine/issues/detail?id=208


On Nov 4, 9:48 am, Kannaiyan [EMAIL PROTECTED] wrote:
 Dan Sanderson:

 Thanks for the nice feedback and understanding.

 We need to have a smart way of maintaining versions.
 What if Google Upgrades the version of Python Intrepreter to a higher
 version when the code is written for lower version?

 We see Deprecated modules changing between higher versions.
 You think we need to store our own Python binaries of that version to
 keep it running?

 I have a very basic question,

 What happens if there is a bug (BETA) in GData module and the website
 is not updated with that gdata update.

 1. Do they have to shut the website down?
 2. What if someone exploits of a known bug and misuse the poor website
 infrastructure, why you make the user as a victim of such happenings.

 If someone want to use higher version of the API, we need to come up
 with a solution of Managing different versions.

 like,

 import gdata2

 to use the extra facilities offered by gdata higher versions.

 I'm not discussing about integrating a third party module.
 It is their own services and accessing their own products, mounting
 extra work to it in the user side in maintaining the version of the
 code. What a service :)

 /Kannaiyan

 On Nov 4, 9:23 am, Dan Sanderson [EMAIL PROTECTED] wrote:



  On Mon, Nov 3, 2008 at 11:42 PM, Kannaiyan [EMAIL PROTECTED] wrote:
   As a software developer I would allow users to reuse the same code. I
   won't make million copies of the same code. (If used by millions of
   people). If Python does not allow such sharing model, then the
   language is a total CRAP.

  Bundling a bunch of libraries with the runtime environment could be a bad
  idea in the long run.  For example, consider the case where version 1 of the
  runtime environment includes version 1.0 of module A and version 1.0 of
  module B, and you write an app that uses these modules.  Then later, App
  Engine releases version 2 of the runtime environment, which includes version
  2.0 of module A and version 2.0 of module B.  Perhaps your app is
  incompatible with module A v2.0 and would take several weeks to port, but
  there's nothing in A v2.0 that you need so you'd prefer to just stay with A
  v1.0.  But you desperately need a feature in module B v2.0.

  Thankfully, in Python it's easy to stay with version 1 of the runtime
  environment then add your own copy of B v2.0 to your app.  But you can
  imagine that with many modules and many versions, this could get extremely
  difficult to manage very quickly, and you'll soon be including all of your
  dependencies with your app.

  Bundled libraries make it easy to get started, and it's a good suggestion
  for App Engine to include the gdata library with the runtime as a starting
  point.  Feel free to create an issue in the issue tracker for this.  But
  beyond getting started, you probably won't want to use bundled libraries.

  -- Dan- 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: more complicated counters/ratings (sorting?)

2008-11-04 Thread Jay Freeman (saurik)

I'm sorry, I said products in the same, I meant individual ratings in the 
same, although I think you got it.

I definitely need to have the individual ratings in the same entity group as 
the sharded counts or I lost safety updating them. Example: I might commit a 
rating (so the user sees his rating if he looks) but fail to update the 
count. If he later goes and changes the rating I would be removing the old 
total (which never got counted) and adding the new one, which is obviously 
wrong.

This is the comment I was making earlier: these examples of using sharded 
counters seem to be completely missing on the idea that the thing you are 
counting has to be in the same entity group as the sharded count or your 
risk double or zero counting it. The actual example from Brett is immune 
because he doesn't actually have anything he's counting (just button 
pushes), but if it were blog posts or comments then those items need to be 
in the same entity group so you can update the shard's count and add the 
post as a single, atomic transaction.

-J

--
From: yejun [EMAIL PROTECTED]
Sent: Tuesday, November 04, 2008 9:52 AM
To: Google App Engine google-appengine@googlegroups.com
Subject: [google-appengine] Re: more complicated counters/ratings (sorting?)


 You can save your individual rating anywhere, you just need it for the
 record.
 Put you update your total rating and total user record in a
 transaction counter. For average rating you only need total rating and
 total user counter, you don't need individual record.

 On Nov 4, 12:15 pm, Jay Freeman \(saurik\) [EMAIL PROTECTED]
 wrote:
 Ok, but this model still involves having the products in the same entity
 group as the sharded ratings, right? That isn't what I read from use 
 shards
 to track the ratings (but without using transactions). I can easily see 
 how
 you don't need a transaction to sum the shards into the total, but you
 definitely need a transaction to add the new rating and add its weight to
 the shard. -J

 --
 From: yejun [EMAIL PROTECTED]
 Sent: Tuesday, November 04, 2008 9:11 AM
 To: Google App Engine google-appengine@googlegroups.com
 Subject: [google-appengine] Re: more complicated counters/ratings 
 (sorting?)



  You keep total rating values and number of users rated both in two
  shard counters which are not belong to your product entity group. Then
  update your average rating for your product's entity group
  periodically like once every 100 request or 1000 request depends on
  your need. So the concurrency level is only determined by the number
  of shards not by number of users or products.

  Even though the transfer data from shard counter to your entity group
  is non-transactional, but the updating of raw records are
  transactional, the data will be corrected next time when you update
  average rate. Updating will only takes the time of a dozen of
  datastore read and 1 put.

  On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED]
  wrote:
  If I don't use transactions (with the ratings in the same entity 
  groups
  as
  the shards they are being served by) then I can't be guaranteed I 
  don't
  accidentally drop or double count ratings in the case of errors. :( Is
  the
  idea that you are recommending I just say oh well, its a drop in the
  bucket? -J

  --
  From: Alexander Kojevnikov [EMAIL PROTECTED]
  Sent: Tuesday, November 04, 2008 1:12 AM
  To: Google App Engine google-appengine@googlegroups.com
  Subject: [google-appengine] Re: more complicated counters/ratings
  (sorting?)

  ... I would use shards to track the ratings (but without using
   transactions) and from time to time re-calculate the average from 
   the
   shards and keep it with the product. This would allow indexing by 
   the
   average rating, without many sacrifices.

  ...
 
 

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread yejun

I feel this comparison is similar to raw meat vs cooked dinner.

On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:
 Just curious to hear some opinions on this - especially from anyone
 who has experience with Amazon's EC2 as well as GAE.

 I just read a blog saying you can be up and running with EC2's
 cheapest offering with no upfront cost and 79$ a month.  You get a
 'real' virtualized Linux machine with 1.7GB of ram.  And by clicking a
 button (there are free graphical admin tools now), as many more
 instances/images as you need will pop up instantly using a system
 image that you create to handle whatever load you have. (Your bill
 goes just up as you click into more resources).

 There are loads of 'public' images to pick from, some include Python
 already. (Others have Java, PHP, etc).  By choosing one of these
 images you'll have Python running, with full root access to a server
 online that you can do whatever you like with.  I guess technically,
 someone could just put the GAE SDK up on an EC2 box, with some tweaks,
 and you could almost have your GAE app running there unmodified as
 well?

 I'm using GAE because of the zero, upfront cost currently... this is
 great for toying around with neat ideas - but for 'real world',
 demanding applications... you'll eventually have to pay even for GAE.
 What do we have offered that something like EC2 doesn't?

 Google has announced another language coming in a few months - but
 again EC2 allows to use whichever is installed in your machine image
 already - any language you can use in linux I suppose... not sure if
 its enough to keep me onboard once my app goes over its quotas and I
 have to start to pay for more.

 looking forward to hear thoughts!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: more complicated counters/ratings (sorting?)

2008-11-04 Thread yejun

When someone changes the rating, you just need to calculate the delta
and update the total rating accordingly.

Update individual record and average rating can not be atomically
synced. Entity group need to be small, because read or write on an
entity group will cause the entire group being serialized and
deserialized.

Also the average will at most have 3 significant figures, one wrong
update on 1 of a million record won't affect your average value at
all.

On Nov 4, 1:01 pm, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote:
 I'm sorry, I said products in the same, I meant individual ratings in the
 same, although I think you got it.

 I definitely need to have the individual ratings in the same entity group as
 the sharded counts or I lost safety updating them. Example: I might commit a
 rating (so the user sees his rating if he looks) but fail to update the
 count. If he later goes and changes the rating I would be removing the old
 total (which never got counted) and adding the new one, which is obviously
 wrong.

 This is the comment I was making earlier: these examples of using sharded
 counters seem to be completely missing on the idea that the thing you are
 counting has to be in the same entity group as the sharded count or your
 risk double or zero counting it. The actual example from Brett is immune
 because he doesn't actually have anything he's counting (just button
 pushes), but if it were blog posts or comments then those items need to be
 in the same entity group so you can update the shard's count and add the
 post as a single, atomic transaction.

 -J

 --
 From: yejun [EMAIL PROTECTED]
 Sent: Tuesday, November 04, 2008 9:52 AM
 To: Google App Engine google-appengine@googlegroups.com
 Subject: [google-appengine] Re: more complicated counters/ratings (sorting?)



  You can save your individual rating anywhere, you just need it for the
  record.
  Put you update your total rating and total user record in a
  transaction counter. For average rating you only need total rating and
  total user counter, you don't need individual record.

  On Nov 4, 12:15 pm, Jay Freeman \(saurik\) [EMAIL PROTECTED]
  wrote:
  Ok, but this model still involves having the products in the same entity
  group as the sharded ratings, right? That isn't what I read from use
  shards
  to track the ratings (but without using transactions). I can easily see
  how
  you don't need a transaction to sum the shards into the total, but you
  definitely need a transaction to add the new rating and add its weight to
  the shard. -J

  --
  From: yejun [EMAIL PROTECTED]
  Sent: Tuesday, November 04, 2008 9:11 AM
  To: Google App Engine google-appengine@googlegroups.com
  Subject: [google-appengine] Re: more complicated counters/ratings
  (sorting?)

   You keep total rating values and number of users rated both in two
   shard counters which are not belong to your product entity group. Then
   update your average rating for your product's entity group
   periodically like once every 100 request or 1000 request depends on
   your need. So the concurrency level is only determined by the number
   of shards not by number of users or products.

   Even though the transfer data from shard counter to your entity group
   is non-transactional, but the updating of raw records are
   transactional, the data will be corrected next time when you update
   average rate. Updating will only takes the time of a dozen of
   datastore read and 1 put.

   On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED]
   wrote:
   If I don't use transactions (with the ratings in the same entity
   groups
   as
   the shards they are being served by) then I can't be guaranteed I
   don't
   accidentally drop or double count ratings in the case of errors. :( Is
   the
   idea that you are recommending I just say oh well, its a drop in the
   bucket? -J

   --
   From: Alexander Kojevnikov [EMAIL PROTECTED]
   Sent: Tuesday, November 04, 2008 1:12 AM
   To: Google App Engine google-appengine@googlegroups.com
   Subject: [google-appengine] Re: more complicated counters/ratings
   (sorting?)

   ... I would use shards to track the ratings (but without using
transactions) and from time to time re-calculate the average from
the
shards and keep it with the product. This would allow indexing by
the
average rating, without many sacrifices.

   ...
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: HTTP 404 - File not found

2008-11-04 Thread Toney

Thank you very much shday and Alexander.  That fixed it.

On Nov 4, 2:00 am, Alexander Kojevnikov [EMAIL PROTECTED]
wrote:
  Hi shday, I added the '_init_.py' file as suggested.  I now receive
  the error below.

  type 'exceptions.ImportError': Could not find module
  scripts1.helloworld2

 It's double underscores: __init__.py, not _init_.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: GAE vs. EC2

2008-11-04 Thread sal


Point taken, in the scenario that you might have to make your own
image, possibly...

But assume that someone signs up for EC2, and just chooses an existing
image with Python in it.  Really there isn't much cooking involved
correct?  You should have a working server up pretty quickly...

(a few other considerations: within GAE your serverside RAM can be
invalidated at-random, as well as the memcache... and we're limited to
using a sortof limited Datastore, rather than the full RDBMS you could
have in an EC2 image)  Maybe a bit like a free dinner without a fork?
=)

On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:
 I feel this comparison is similar to raw meat vs cooked dinner.

 On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

  Just curious to hear some opinions on this - especially from anyone
  who has experience with Amazon's EC2 as well as GAE.

  I just read a blog saying you can be up and running with EC2's
  cheapest offering with no upfront cost and 79$ a month.  You get a
  'real' virtualized Linux machine with 1.7GB of ram.  And by clicking a
  button (there are free graphical admin tools now), as many more
  instances/images as you need will pop up instantly using a system
  image that you create to handle whatever load you have. (Your bill
  goes just up as you click into more resources).

  There are loads of 'public' images to pick from, some include Python
  already. (Others have Java, PHP, etc).  By choosing one of these
  images you'll have Python running, with full root access to a server
  online that you can do whatever you like with.  I guess technically,
  someone could just put the GAE SDK up on an EC2 box, with some tweaks,
  and you could almost have your GAE app running there unmodified as
  well?

  I'm using GAE because of the zero, upfront cost currently... this is
  great for toying around with neat ideas - but for 'real world',
  demanding applications... you'll eventually have to pay even for GAE.
  What do we have offered that something like EC2 doesn't?

  Google has announced another language coming in a few months - but
  again EC2 allows to use whichever is installed in your machine image
  already - any language you can use in linux I suppose... not sure if
  its enough to keep me onboard once my app goes over its quotas and I
  have to start to pay for more.

  looking forward to hear thoughts!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: 300ms maximum avg. request

2008-11-04 Thread Mahmoud

 going over 300ms/req
 consistently results in a a nasty over-quota error immediately upon
 every request

Are you sure it results in an actual error? I was under the impression
that anything under 8000ms resulted in a warning, not an all out quota
denial error.

My understanding is that you get a CPU cycles warning for requests
that are over 2x the average response time of your requests. If most
of your requests finish within 300ms, you will probably get warnings
for requests that take over 600ms.

-Mahmoud
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread yejun

Of course, you can have someone cook the raw meat to dinner. There's
no actual difference in the end.

The difficulty to EC2 for small project is the scaling part, you need
either buy or write your own management code for an almost real
cluster minus hardware. You need to monitor server load, and start new
EC2 instance when load gets high and terminate extra unused servers.
You need to take care way more possible exceptions then GAE.

On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:
 Point taken, in the scenario that you might have to make your own
 image, possibly...

 But assume that someone signs up for EC2, and just chooses an existing
 image with Python in it.  Really there isn't much cooking involved
 correct?  You should have a working server up pretty quickly...

 (a few other considerations: within GAE your serverside RAM can be
 invalidated at-random, as well as the memcache... and we're limited to
 using a sortof limited Datastore, rather than the full RDBMS you could
 have in an EC2 image)  Maybe a bit like a free dinner without a fork?
 =)

 On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:

  I feel this comparison is similar to raw meat vs cooked dinner.

  On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

   Just curious to hear some opinions on this - especially from anyone
   who has experience with Amazon's EC2 as well as GAE.

   I just read a blog saying you can be up and running with EC2's
   cheapest offering with no upfront cost and 79$ a month.  You get a
   'real' virtualized Linux machine with 1.7GB of ram.  And by clicking a
   button (there are free graphical admin tools now), as many more
   instances/images as you need will pop up instantly using a system
   image that you create to handle whatever load you have. (Your bill
   goes just up as you click into more resources).

   There are loads of 'public' images to pick from, some include Python
   already. (Others have Java, PHP, etc).  By choosing one of these
   images you'll have Python running, with full root access to a server
   online that you can do whatever you like with.  I guess technically,
   someone could just put the GAE SDK up on an EC2 box, with some tweaks,
   and you could almost have your GAE app running there unmodified as
   well?

   I'm using GAE because of the zero, upfront cost currently... this is
   great for toying around with neat ideas - but for 'real world',
   demanding applications... you'll eventually have to pay even for GAE.
   What do we have offered that something like EC2 doesn't?

   Google has announced another language coming in a few months - but
   again EC2 allows to use whichever is installed in your machine image
   already - any language you can use in linux I suppose... not sure if
   its enough to keep me onboard once my app goes over its quotas and I
   have to start to pay for more.

   looking forward to hear thoughts!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread sal


 Of course, you can have someone cook the raw meat to dinner. There's
 no actual difference in the end.

These were my thoughts too... if its the same difference in the end...
I'm looking for reasons as to why one would stick with GAE long-term.


 The difficulty to EC2 for small project is the scaling part, you need
 either buy or write your own management code for an almost real
 cluster minus hardware. You need to monitor server load, and start new
 EC2 instance when load gets high and terminate extra unused servers.
 You need to take care way more possible exceptions then GAE.

It seems there are images you can choose for EC2 which automatically
load balance/scale when you boot new instances...


 On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:

  Point taken, in the scenario that you might have to make your own
  image, possibly...

  But assume that someone signs up for EC2, and just chooses an existing
  image with Python in it.  Really there isn't much cooking involved
  correct?  You should have a working server up pretty quickly...

  (a few other considerations: within GAE your serverside RAM can be
  invalidated at-random, as well as the memcache... and we're limited to
  using a sortof limited Datastore, rather than the full RDBMS you could
  have in an EC2 image)  Maybe a bit like a free dinner without a fork?
  =)

  On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:

   I feel this comparison is similar to raw meat vs cooked dinner.

   On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

Just curious to hear some opinions on this - especially from anyone
who has experience with Amazon's EC2 as well as GAE.

I just read a blog saying you can be up and running with EC2's
cheapest offering with no upfront cost and 79$ a month.  You get a
'real' virtualized Linux machine with 1.7GB of ram.  And by clicking a
button (there are free graphical admin tools now), as many more
instances/images as you need will pop up instantly using a system
image that you create to handle whatever load you have. (Your bill
goes just up as you click into more resources).

There are loads of 'public' images to pick from, some include Python
already. (Others have Java, PHP, etc).  By choosing one of these
images you'll have Python running, with full root access to a server
online that you can do whatever you like with.  I guess technically,
someone could just put the GAE SDK up on an EC2 box, with some tweaks,
and you could almost have your GAE app running there unmodified as
well?

I'm using GAE because of the zero, upfront cost currently... this is
great for toying around with neat ideas - but for 'real world',
demanding applications... you'll eventually have to pay even for GAE.
What do we have offered that something like EC2 doesn't?

Google has announced another language coming in a few months - but
again EC2 allows to use whichever is installed in your machine image
already - any language you can use in linux I suppose... not sure if
its enough to keep me onboard once my app goes over its quotas and I
have to start to pay for more.

looking forward to hear thoughts!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: DataStore examples, reference, tutorial

2008-11-04 Thread Ian Bambury
Thanks David,


  What if I wanted to pull out a list where the quantity was over 1000 and
  print the product description and the customer name?

 You don't. App Engine isn't designed for grabbing a large amount of
 data. Users of a web application are really not going to want 1000
 pieces of data in one go.


I meant that the order quantity was over 1000, not the number of pieces of
data. I'd be quite happy with 25 returned matches


  And to make it worse, I'm going to have to do something like pulling out
 the
  first 100 customers in customer name order who *don't* have any orders
 for
  product x

 App Engine is designed for scalable web applications, not for bulk
 order processing systems. I think there's a bit of a mismatch in the
 expectations.


It's not bulk order processing - I was trying to find a parallel in the
example I gave for what I am trying to do.

Perhaps I have a system which has users who record what films/movies they
see and the system keeps an up-to-date list of all movies as they are
released.

What if the user wants to see a list of all the movies which came out last
month which they *haven't* seen. Is there a way to do that? I can see from
your answer before that I can limit the list to ones which the user has
added to their list of viewed films, but is it possible to get the
complimentary data set?

Thanks,

Ian

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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 while sending 250 emails

2008-11-04 Thread Wooble



On Nov 3, 4:09 am, Yogi [EMAIL PROTECTED] wrote:
 Okai if this is the case, should it be done by through multiple http
 requests or it can be done by giving a delay of 60 secs after sending
 5 emails inside in a single http request!!

Almost certainly it should be done by not sending mass emails from a
web application.  The quotas are set up such that it's really only
practical to send users email messages in response to their own
actions, not to mass mail everyone on your site.  You'll probably get
better results by having your app just send you a list of email
addresses that you can use as a mailing list for mass emails from a
non-appengine mail sending program.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread Arash

There is a point which you are missing here. Firing up more images in
EC2 does not makes your application scalable. There is lots and lots
of other issues here. With EC2 you have to use S3 etc etc.
there might be some point to consider working with GAE but in short I
think there is much more to do if you want a scalable application in
EC2.


On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote:
  Of course, you can have someone cook the raw meat to dinner. There's
  no actual difference in the end.

 These were my thoughts too... if its the same difference in the end...
 I'm looking for reasons as to why one would stick with GAE long-term.



  The difficulty to EC2 for small project is the scaling part, you need
  either buy or write your own management code for an almost real
  cluster minus hardware. You need to monitor server load, and start new
  EC2 instance when load gets high and terminate extra unused servers.
  You need to take care way more possible exceptions then GAE.

 It seems there are images you can choose for EC2 which automatically
 load balance/scale when you boot new instances...



  On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:

   Point taken, in the scenario that you might have to make your own
   image, possibly...

   But assume that someone signs up for EC2, and just chooses an existing
   image with Python in it.  Really there isn't much cooking involved
   correct?  You should have a working server up pretty quickly...

   (a few other considerations: within GAE your serverside RAM can be
   invalidated at-random, as well as the memcache... and we're limited to
   using a sortof limited Datastore, rather than the full RDBMS you could
   have in an EC2 image)  Maybe a bit like a free dinner without a fork?
   =)

   On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:

I feel this comparison is similar to raw meat vs cooked dinner.

On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

 Just curious to hear some opinions on this - especially from anyone
 who has experience with Amazon's EC2 as well as GAE.

 I just read a blog saying you can be up and running with EC2's
 cheapest offering with no upfront cost and 79$ a month.  You get a
 'real' virtualized Linux machine with 1.7GB of ram.  And by clicking a
 button (there are free graphical admin tools now), as many more
 instances/images as you need will pop up instantly using a system
 image that you create to handle whatever load you have. (Your bill
 goes just up as you click into more resources).

 There are loads of 'public' images to pick from, some include Python
 already. (Others have Java, PHP, etc).  By choosing one of these
 images you'll have Python running, with full root access to a server
 online that you can do whatever you like with.  I guess technically,
 someone could just put the GAE SDK up on an EC2 box, with some tweaks,
 and you could almost have your GAE app running there unmodified as
 well?

 I'm using GAE because of the zero, upfront cost currently... this is
 great for toying around with neat ideas - but for 'real world',
 demanding applications... you'll eventually have to pay even for GAE.
 What do we have offered that something like EC2 doesn't?

 Google has announced another language coming in a few months - but
 again EC2 allows to use whichever is installed in your machine image
 already - any language you can use in linux I suppose... not sure if
 its enough to keep me onboard once my app goes over its quotas and I
 have to start to pay for more.

 looking forward to hear thoughts!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread Andrew Badera
You don't have to use S3 with EC2 ... ... what are you talking about?

You CAN use S3 ... or SimpleDB ... or any third party storage service ...

There are plenty of third-party tools (Rightscale comes to mind) that make
scaling EC2 a breeze.

Thanks-
- Andy Badera
- [EMAIL PROTECTED]
- (518) 641-1280

- http://higherefficiency.net/
- http://changeroundup.com/

- http://flipbitsnotburgers.blogspot.com/
- http://andrew.badera.us/

- Google me: http://www.google.com/search?q=andrew+badera



On Tue, Nov 4, 2008 at 2:25 PM, Arash [EMAIL PROTECTED] wrote:


 There is a point which you are missing here. Firing up more images in
 EC2 does not makes your application scalable. There is lots and lots
 of other issues here. With EC2 you have to use S3 etc etc.
 there might be some point to consider working with GAE but in short I
 think there is much more to do if you want a scalable application in
 EC2.


 On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote:
   Of course, you can have someone cook the raw meat to dinner. There's
   no actual difference in the end.
 
  These were my thoughts too... if its the same difference in the end...
  I'm looking for reasons as to why one would stick with GAE long-term.
 
 
 
   The difficulty to EC2 for small project is the scaling part, you need
   either buy or write your own management code for an almost real
   cluster minus hardware. You need to monitor server load, and start new
   EC2 instance when load gets high and terminate extra unused servers.
   You need to take care way more possible exceptions then GAE.
 
  It seems there are images you can choose for EC2 which automatically
  load balance/scale when you boot new instances...
 
 
 
   On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:
 
Point taken, in the scenario that you might have to make your own
image, possibly...
 
But assume that someone signs up for EC2, and just chooses an
 existing
image with Python in it.  Really there isn't much cooking involved
correct?  You should have a working server up pretty quickly...
 
(a few other considerations: within GAE your serverside RAM can be
invalidated at-random, as well as the memcache... and we're limited
 to
using a sortof limited Datastore, rather than the full RDBMS you
 could
have in an EC2 image)  Maybe a bit like a free dinner without a fork?
=)
 
On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:
 
 I feel this comparison is similar to raw meat vs cooked dinner.
 
 On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:
 
  Just curious to hear some opinions on this - especially from
 anyone
  who has experience with Amazon's EC2 as well as GAE.
 
  I just read a blog saying you can be up and running with EC2's
  cheapest offering with no upfront cost and 79$ a month.  You get
 a
  'real' virtualized Linux machine with 1.7GB of ram.  And by
 clicking a
  button (there are free graphical admin tools now), as many more
  instances/images as you need will pop up instantly using a system
  image that you create to handle whatever load you have. (Your
 bill
  goes just up as you click into more resources).
 
  There are loads of 'public' images to pick from, some include
 Python
  already. (Others have Java, PHP, etc).  By choosing one of these
  images you'll have Python running, with full root access to a
 server
  online that you can do whatever you like with.  I guess
 technically,
  someone could just put the GAE SDK up on an EC2 box, with some
 tweaks,
  and you could almost have your GAE app running there unmodified
 as
  well?
 
  I'm using GAE because of the zero, upfront cost currently... this
 is
  great for toying around with neat ideas - but for 'real world',
  demanding applications... you'll eventually have to pay even for
 GAE.
  What do we have offered that something like EC2 doesn't?
 
  Google has announced another language coming in a few months -
 but
  again EC2 allows to use whichever is installed in your machine
 image
  already - any language you can use in linux I suppose... not sure
 if
  its enough to keep me onboard once my app goes over its quotas
 and I
  have to start to pay for more.
 
  looking forward to hear thoughts!
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread Andrew Badera
Or EBS for that matter too (S3, SimpleDB, EBS)



On Tue, Nov 4, 2008 at 2:28 PM, Andrew Badera [EMAIL PROTECTED] wrote:

 You don't have to use S3 with EC2 ... ... what are you talking about?

 You CAN use S3 ... or SimpleDB ... or any third party storage service ...

 There are plenty of third-party tools (Rightscale comes to mind) that make
 scaling EC2 a breeze.

 Thanks-
 - Andy Badera
 - [EMAIL PROTECTED]
 - (518) 641-1280

 - http://higherefficiency.net/
 - http://changeroundup.com/

 - http://flipbitsnotburgers.blogspot.com/
 - http://andrew.badera.us/

 - Google me: http://www.google.com/search?q=andrew+badera




 On Tue, Nov 4, 2008 at 2:25 PM, Arash [EMAIL PROTECTED] wrote:


 There is a point which you are missing here. Firing up more images in
 EC2 does not makes your application scalable. There is lots and lots
 of other issues here. With EC2 you have to use S3 etc etc.
 there might be some point to consider working with GAE but in short I
 think there is much more to do if you want a scalable application in
 EC2.


 On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote:
   Of course, you can have someone cook the raw meat to dinner. There's
   no actual difference in the end.
 
  These were my thoughts too... if its the same difference in the end...
  I'm looking for reasons as to why one would stick with GAE long-term.
 
 
 
   The difficulty to EC2 for small project is the scaling part, you need
   either buy or write your own management code for an almost real
   cluster minus hardware. You need to monitor server load, and start new
   EC2 instance when load gets high and terminate extra unused servers.
   You need to take care way more possible exceptions then GAE.
 
  It seems there are images you can choose for EC2 which automatically
  load balance/scale when you boot new instances...
 
 
 
   On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:
 
Point taken, in the scenario that you might have to make your own
image, possibly...
 
But assume that someone signs up for EC2, and just chooses an
 existing
image with Python in it.  Really there isn't much cooking involved
correct?  You should have a working server up pretty quickly...
 
(a few other considerations: within GAE your serverside RAM can be
invalidated at-random, as well as the memcache... and we're limited
 to
using a sortof limited Datastore, rather than the full RDBMS you
 could
have in an EC2 image)  Maybe a bit like a free dinner without a
 fork?
=)
 
On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:
 
 I feel this comparison is similar to raw meat vs cooked dinner.
 
 On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:
 
  Just curious to hear some opinions on this - especially from
 anyone
  who has experience with Amazon's EC2 as well as GAE.
 
  I just read a blog saying you can be up and running with EC2's
  cheapest offering with no upfront cost and 79$ a month.  You get
 a
  'real' virtualized Linux machine with 1.7GB of ram.  And by
 clicking a
  button (there are free graphical admin tools now), as many more
  instances/images as you need will pop up instantly using a
 system
  image that you create to handle whatever load you have. (Your
 bill
  goes just up as you click into more resources).
 
  There are loads of 'public' images to pick from, some include
 Python
  already. (Others have Java, PHP, etc).  By choosing one of these
  images you'll have Python running, with full root access to a
 server
  online that you can do whatever you like with.  I guess
 technically,
  someone could just put the GAE SDK up on an EC2 box, with some
 tweaks,
  and you could almost have your GAE app running there unmodified
 as
  well?
 
  I'm using GAE because of the zero, upfront cost currently...
 this is
  great for toying around with neat ideas - but for 'real world',
  demanding applications... you'll eventually have to pay even for
 GAE.
  What do we have offered that something like EC2 doesn't?
 
  Google has announced another language coming in a few months -
 but
  again EC2 allows to use whichever is installed in your machine
 image
  already - any language you can use in linux I suppose... not
 sure if
  its enough to keep me onboard once my app goes over its quotas
 and I
  have to start to pay for more.
 
  looking forward to hear thoughts!
 



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: User login

2008-11-04 Thread Alexander Kojevnikov

  i develope a site than-gam.appspot.com in that i need to keep users login
 in front page of my own html ,i wont need google users login could it
 possible ?

Check this thread discussing custom authentication options:
http://groups.google.com/group/google-appengine/browse_thread/thread/6d04d8b69e89d361/641e9565b6ad7071
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Crappiest Product from Google

2008-11-04 Thread Dan Sanderson
On Tue, Nov 4, 2008 at 9:48 AM, Kannaiyan [EMAIL PROTECTED] wrote:

 We need to have a smart way of maintaining versions.
 What if Google Upgrades the version of Python Intrepreter to a higher
 version when the code is written for lower version?


Runtime environments are versioned, and you control which version your app
uses in the app.yaml configuration file.  Right now, there is only one
version of the Python runtime: 1.  Changes made to an existing version of
the runtime environment are intended to be backwards compatible.  If there
is ever a non-backwards compatible change, it will be released in a new
version of the runtime.  When a new version of the runtime is released, an
app will continue to use the original version until the app owner changes
the app.yaml file.

The biggest example of this would be upgrading Python itself.  Version 1 of
the runtime uses Python 2.5.  If App Engine were to support a later version
of Python, it would have to be in a later version of the runtime
environment.  You wouldn't want the version of the Python language to change
automatically.

Upgrading an app to a new runtime environment is likely to be non-trivial
for everyone, so it's better if new non-backwards compatible versions are
few and far between.  This is one of many reasons you don't want lots of
libraries bundled with the runtime.  Consider that the runtime bundles
Django 0.96; updating this to Django 1.0 would require a new version of the
runtime.  I'd recommend to anyone wanting to use Django on App Engine to add
Django 1.0 to their app instead of using the bundled 0.96 and waiting for a
new version of the runtime.  Thankfully, this is easy to do.


 What happens if there is a bug (BETA) in GData module and the website
 is not updated with that gdata update.


It sounds like you're asking about what would happen if we bundled the GData
library in the runtime, and a bug were discovered in the library.  In this
case, if the bug fix is backwards compatible, the library would be upgraded
in place with a minor release of the runtime environment, and all apps using
that version of the runtime would see the fix automatically, just as with
fixes in the API libraries.

-- Dan

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: DataStore examples, reference, tutorial

2008-11-04 Thread David Symonds

On Tue, Nov 4, 2008 at 11:15 AM, Ian Bambury [EMAIL PROTECTED] wrote:
 Thanks David,

  What if I wanted to pull out a list where the quantity was over 1000 and
  print the product description and the customer name?

 You don't. App Engine isn't designed for grabbing a large amount of
 data. Users of a web application are really not going to want 1000
 pieces of data in one go.

 I meant that the order quantity was over 1000, not the number of pieces of
 data. I'd be quite happy with 25 returned matches

Oh, that's easy then. Just add a .filter('quantity ', 1000) to what I
wrote previously.

 What if the user wants to see a list of all the movies which came out last
 month which they *haven't* seen. Is there a way to do that? I can see from
 your answer before that I can limit the list to ones which the user has
 added to their list of viewed films, but is it possible to get the
 complimentary data set?

That's a fair bit harder to do in a single query. The simplest way for
a smallish number of movies would be to just fetch all the movies from
the last month, then fetch all the user's movies, and then compute the
set difference in Python.


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: GAE vs. EC2

2008-11-04 Thread Sal

I think the scaling issue here is understated. Compared to traditional
scaling strategies that organizations use to perform, GAE provides
alot of transparency. The premise of GAE is to put focus on
development of applications. Thus, GAE is more developer focused. EC2
is a more general solution. Furthermore, I imagine instantiating more
VMs is a form of network administration that doesn't exist in GAE ...
unless your application is so advanced that it comes with logic to
efficiently instantiate and shutdown VMs on its own.

On Nov 4, 11:20 am, sal [EMAIL PROTECTED] wrote:
  EC2 also has a lot other usage than hosting a web site. You can use it
  for scientific computing, video transcoding, data mining and etc.

 I agree - you have a little more freedom / computing power / resources
 than you do with GAE, and its pretty cheap.  A quick lookthrough on
 Amazon's site shows EC2's lowend costing $0.10 per hour (ten cents an
 hour) to use.  And you can shut it down/start it up whenever you want
 so you don't incur much cost while 'playing around' in the beginning.

 I did like being able to 'dive in' to GAE just using my Google login
 and start playing around - but EC2 seems more practical for real world
 use yet.  There needs to be more to make GAE something viable... or
 maybe Google's not really aiming to compete on the 'high end' cloud
 computing arena, more just to give a place for people to create Google
 Gadgets?  (In that case it should be named 'Google Gadget Engine'!!)
 But I don't think that's the case, I must be missing something =)
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread yejun

Has anyone compared SDB and google datastore?

On Nov 4, 2:29 pm, Andrew Badera [EMAIL PROTECTED] wrote:
 Or EBS for that matter too (S3, SimpleDB, EBS)

 On Tue, Nov 4, 2008 at 2:28 PM, Andrew Badera [EMAIL PROTECTED] wrote:
  You don't have to use S3 with EC2 ... ... what are you talking about?

  You CAN use S3 ... or SimpleDB ... or any third party storage service ...

  There are plenty of third-party tools (Rightscale comes to mind) that make
  scaling EC2 a breeze.

  Thanks-
  - Andy Badera
  - [EMAIL PROTECTED]
  - (518) 641-1280

  -http://higherefficiency.net/
  -http://changeroundup.com/

  -http://flipbitsnotburgers.blogspot.com/
  -http://andrew.badera.us/

  - Google me:http://www.google.com/search?q=andrew+badera

  On Tue, Nov 4, 2008 at 2:25 PM, Arash [EMAIL PROTECTED] wrote:

  There is a point which you are missing here. Firing up more images in
  EC2 does not makes your application scalable. There is lots and lots
  of other issues here. With EC2 you have to use S3 etc etc.
  there might be some point to consider working with GAE but in short I
  think there is much more to do if you want a scalable application in
  EC2.

  On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote:
Of course, you can have someone cook the raw meat to dinner. There's
no actual difference in the end.

   These were my thoughts too... if its the same difference in the end...
   I'm looking for reasons as to why one would stick with GAE long-term.

The difficulty to EC2 for small project is the scaling part, you need
either buy or write your own management code for an almost real
cluster minus hardware. You need to monitor server load, and start new
EC2 instance when load gets high and terminate extra unused servers.
You need to take care way more possible exceptions then GAE.

   It seems there are images you can choose for EC2 which automatically
   load balance/scale when you boot new instances...

On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:

 Point taken, in the scenario that you might have to make your own
 image, possibly...

 But assume that someone signs up for EC2, and just chooses an
  existing
 image with Python in it.  Really there isn't much cooking involved
 correct?  You should have a working server up pretty quickly...

 (a few other considerations: within GAE your serverside RAM can be
 invalidated at-random, as well as the memcache... and we're limited
  to
 using a sortof limited Datastore, rather than the full RDBMS you
  could
 have in an EC2 image)  Maybe a bit like a free dinner without a
  fork?
 =)

 On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:

  I feel this comparison is similar to raw meat vs cooked dinner.

  On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

   Just curious to hear some opinions on this - especially from
  anyone
   who has experience with Amazon's EC2 as well as GAE.

   I just read a blog saying you can be up and running with EC2's
   cheapest offering with no upfront cost and 79$ a month.  You get
  a
   'real' virtualized Linux machine with 1.7GB of ram.  And by
  clicking a
   button (there are free graphical admin tools now), as many more
   instances/images as you need will pop up instantly using a
  system
   image that you create to handle whatever load you have. (Your
  bill
   goes just up as you click into more resources).

   There are loads of 'public' images to pick from, some include
  Python
   already. (Others have Java, PHP, etc).  By choosing one of these
   images you'll have Python running, with full root access to a
  server
   online that you can do whatever you like with.  I guess
  technically,
   someone could just put the GAE SDK up on an EC2 box, with some
  tweaks,
   and you could almost have your GAE app running there unmodified
  as
   well?

   I'm using GAE because of the zero, upfront cost currently...
  this is
   great for toying around with neat ideas - but for 'real world',
   demanding applications... you'll eventually have to pay even for
  GAE.
   What do we have offered that something like EC2 doesn't?

   Google has announced another language coming in a few months -
  but
   again EC2 allows to use whichever is installed in your machine
  image
   already - any language you can use in linux I suppose... not
  sure if
   its enough to keep me onboard once my app goes over its quotas
  and I
   have to start to pay for more.

   looking forward to hear thoughts!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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 

[google-appengine] Re: GAE vs. EC2

2008-11-04 Thread sal


 There is a point which you are missing here. Firing up more images in
 EC2 does not makes your application scalable.

It seems to depend on the image you choose -  looks like images are
available that co-operate and automatically load balance at they
startup and autodetect each other.

Probably the same way the Google app cluster works - except instead of
someone in Google adding nodes you can do it yourself.

 There is lots and lots
 of other issues here. With EC2 you have to use S3 etc etc.
 there might be some point to consider working with GAE but in short I
 think there is much more to do if you want a scalable application in
 EC2.

Remember there is a lot to do to make a scalable app in GAE also.
There are numerous posts on this list where people can't even get a
simple 'web counter' to work.  The counter-argument (no pun intended)
is that the GAE app will scale in the long run due to this 'additional
effort' that we have to go through.  So ec2 and GAE both require
'effort' to make something scalable.  In GAE is via painful
limitations in Python, in EC2 its by choosing images

If only someone at Google would stumble across Xen (http://
www.xen.org/) which is free/opensource, the tech that Amazon uses for
EC2 and port it to their own 'Googleware', and offer some free logins
to that system, it would be a true competitor!!


 On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote:

   Of course, you can have someone cook the raw meat to dinner. There's
   no actual difference in the end.

  These were my thoughts too... if its the same difference in the end...
  I'm looking for reasons as to why one would stick with GAE long-term.

   The difficulty to EC2 for small project is the scaling part, you need
   either buy or write your own management code for an almost real
   cluster minus hardware. You need to monitor server load, and start new
   EC2 instance when load gets high and terminate extra unused servers.
   You need to take care way more possible exceptions then GAE.

  It seems there are images you can choose for EC2 which automatically
  load balance/scale when you boot new instances...

   On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:

Point taken, in the scenario that you might have to make your own
image, possibly...

But assume that someone signs up for EC2, and just chooses an existing
image with Python in it.  Really there isn't much cooking involved
correct?  You should have a working server up pretty quickly...

(a few other considerations: within GAE your serverside RAM can be
invalidated at-random, as well as the memcache... and we're limited to
using a sortof limited Datastore, rather than the full RDBMS you could
have in an EC2 image)  Maybe a bit like a free dinner without a fork?
=)

On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:

 I feel this comparison is similar to raw meat vs cooked dinner.

 On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

  Just curious to hear some opinions on this - especially from anyone
  who has experience with Amazon's EC2 as well as GAE.

  I just read a blog saying you can be up and running with EC2's
  cheapest offering with no upfront cost and 79$ a month.  You get a
  'real' virtualized Linux machine with 1.7GB of ram.  And by 
  clicking a
  button (there are free graphical admin tools now), as many more
  instances/images as you need will pop up instantly using a system
  image that you create to handle whatever load you have. (Your bill
  goes just up as you click into more resources).

  There are loads of 'public' images to pick from, some include Python
  already. (Others have Java, PHP, etc).  By choosing one of these
  images you'll have Python running, with full root access to a server
  online that you can do whatever you like with.  I guess technically,
  someone could just put the GAE SDK up on an EC2 box, with some 
  tweaks,
  and you could almost have your GAE app running there unmodified as
  well?

  I'm using GAE because of the zero, upfront cost currently... this is
  great for toying around with neat ideas - but for 'real world',
  demanding applications... you'll eventually have to pay even for 
  GAE.
  What do we have offered that something like EC2 doesn't?

  Google has announced another language coming in a few months - but
  again EC2 allows to use whichever is installed in your machine image
  already - any language you can use in linux I suppose... not sure if
  its enough to keep me onboard once my app goes over its quotas and I
  have to start to pay for more.

  looking forward to hear thoughts!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this 

[google-appengine] Indexing does not work

2008-11-04 Thread Richie

Hello,

my user base is increasing that's why I wanted to index my tables.

index.yaml is not updated automatically on my windows machine (I tried
a lot of things, including deleting it, etc.) that's why I updated it
manually.

I uploaded my app (did not change the version) but appspot still
states You have not created indexes for this application. 

Could someone please tell me how to index my datastore?


Thanks in advance,

Richie
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread sal


 I think the scaling issue here is understated. Compared to traditional
 scaling strategies that organizations use to perform, GAE provides
 alot of transparency. The premise of GAE is to put focus on
 development of applications. Thus, GAE is more developer focused. EC2
 is a more general solution. Furthermore, I imagine instantiating more
 VMs is a form of network administration that doesn't exist in GAE ...

I wouldn't assume this yet, as I'm sure you'll have to perform some
sort of verification/configuration to 'scale up' with GAE also.
Google likely wont just let your app spike though all the funds in
your bank account - you'll have to login to some kind of console to
configure how much resources you want to pay for.  EC2 has the same
thing basically - you just go to a web page and control how many
instances are running.

 unless your application is so advanced that it comes with logic to
 efficiently instantiate and shutdown VMs on its own.

There are already free utilities that do this with EC2 it seems.


 On Nov 4, 11:20 am, sal [EMAIL PROTECTED] wrote:

   EC2 also has a lot other usage than hosting a web site. You can use it
   for scientific computing, video transcoding, data mining and etc.

  I agree - you have a little more freedom / computing power / resources
  than you do with GAE, and its pretty cheap.  A quick lookthrough on
  Amazon's site shows EC2's lowend costing $0.10 per hour (ten cents an
  hour) to use.  And you can shut it down/start it up whenever you want
  so you don't incur much cost while 'playing around' in the beginning.

  I did like being able to 'dive in' to GAE just using my Google login
  and start playing around - but EC2 seems more practical for real world
  use yet.  There needs to be more to make GAE something viable... or
  maybe Google's not really aiming to compete on the 'high end' cloud
  computing arena, more just to give a place for people to create Google
  Gadgets?  (In that case it should be named 'Google Gadget Engine'!!)
  But I don't think that's the case, I must be missing something =)
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread Peter Recore

What would really make this conversation interesting would be a
nontrivial example app that someone had written and deployed on both
systems, to see where the gotcha's are, and at what levels of demand
you really need to worry about various scaling problems.

Another thing that no one has directly mentioned yet is the size of
the developer community and ecosystems around each project.  If you're
using App Engine, you can ask any other app engine developer a
question about the datastore, and they'll know what you're talking
about.  If you use the EC2 image for mysql/python 2.5/django, you
might not get help from someone using the postgres/python 2.6/cherrpy
image.  On the other hand, you could have the entire mysql community
to draw help from if you had a pure mysql question.

-peter

On Nov 4, 2:48 pm, sal [EMAIL PROTECTED] wrote:
  There is a point which you are missing here. Firing up more images in
  EC2 does not makes your application scalable.

 It seems to depend on the image you choose -  looks like images are
 available that co-operate and automatically load balance at they
 startup and autodetect each other.

 Probably the same way the Google app cluster works - except instead of
 someone in Google adding nodes you can do it yourself.

  There is lots and lots
  of other issues here. With EC2 you have to use S3 etc etc.
  there might be some point to consider working with GAE but in short I
  think there is much more to do if you want a scalable application in
  EC2.

 Remember there is a lot to do to make a scalable app in GAE also.
 There are numerous posts on this list where people can't even get a
 simple 'web counter' to work.  The counter-argument (no pun intended)
 is that the GAE app will scale in the long run due to this 'additional
 effort' that we have to go through.  So ec2 and GAE both require
 'effort' to make something scalable.  In GAE is via painful
 limitations in Python, in EC2 its by choosing images

 If only someone at Google would stumble across Xen (http://www.xen.org/) 
 which is free/opensource, the tech that Amazon uses for
 EC2 and port it to their own 'Googleware', and offer some free logins
 to that system, it would be a true competitor!!



  On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote:

Of course, you can have someone cook the raw meat to dinner. There's
no actual difference in the end.

   These were my thoughts too... if its the same difference in the end...
   I'm looking for reasons as to why one would stick with GAE long-term.

The difficulty to EC2 for small project is the scaling part, you need
either buy or write your own management code for an almost real
cluster minus hardware. You need to monitor server load, and start new
EC2 instance when load gets high and terminate extra unused servers.
You need to take care way more possible exceptions then GAE.

   It seems there are images you can choose for EC2 which automatically
   load balance/scale when you boot new instances...

On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:

 Point taken, in the scenario that you might have to make your own
 image, possibly...

 But assume that someone signs up for EC2, and just chooses an existing
 image with Python in it.  Really there isn't much cooking involved
 correct?  You should have a working server up pretty quickly...

 (a few other considerations: within GAE your serverside RAM can be
 invalidated at-random, as well as the memcache... and we're limited to
 using a sortof limited Datastore, rather than the full RDBMS you could
 have in an EC2 image)  Maybe a bit like a free dinner without a fork?
 =)

 On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:

  I feel this comparison is similar to raw meat vs cooked dinner.

  On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

   Just curious to hear some opinions on this - especially from 
   anyone
   who has experience with Amazon's EC2 as well as GAE.

   I just read a blog saying you can be up and running with EC2's
   cheapest offering with no upfront cost and 79$ a month.  You get a
   'real' virtualized Linux machine with 1.7GB of ram.  And by 
   clicking a
   button (there are free graphical admin tools now), as many more
   instances/images as you need will pop up instantly using a system
   image that you create to handle whatever load you have. (Your bill
   goes just up as you click into more resources).

   There are loads of 'public' images to pick from, some include 
   Python
   already. (Others have Java, PHP, etc).  By choosing one of these
   images you'll have Python running, with full root access to a 
   server
   online that you can do whatever you like with.  I guess 
   technically,
   someone could just put the GAE SDK up on an EC2 box, with some 
   tweaks,
   and you could almost have your GAE app running there 

[google-appengine] Re: GAE vs. EC2

2008-11-04 Thread yejun

On EC2 you can make your own image, but that's not the point. I
believe no one in their right mind would use a public image for their
production system, it is just not safe by any means.

You need to do a lot more than by lanching an image. You need to
manage them just like a real operating system, security auditing,
patching, debugging. Of course you can also simply terminate any image
which causing problems.

I think it's still too early to say which cloud computing product will
succeed in the end though. They may coexist for ever just like grocery
store and restaurant.

On Nov 4, 2:57 pm, sal [EMAIL PROTECTED] wrote:
  I think the scaling issue here is understated. Compared to traditional
  scaling strategies that organizations use to perform, GAE provides
  alot of transparency. The premise of GAE is to put focus on
  development of applications. Thus, GAE is more developer focused. EC2
  is a more general solution. Furthermore, I imagine instantiating more
  VMs is a form of network administration that doesn't exist in GAE ...

 I wouldn't assume this yet, as I'm sure you'll have to perform some
 sort of verification/configuration to 'scale up' with GAE also.
 Google likely wont just let your app spike though all the funds in
 your bank account - you'll have to login to some kind of console to
 configure how much resources you want to pay for.  EC2 has the same
 thing basically - you just go to a web page and control how many
 instances are running.

  unless your application is so advanced that it comes with logic to
  efficiently instantiate and shutdown VMs on its own.

 There are already free utilities that do this with EC2 it seems.



  On Nov 4, 11:20 am, sal [EMAIL PROTECTED] wrote:

EC2 also has a lot other usage than hosting a web site. You can use it
for scientific computing, video transcoding, data mining and etc.

   I agree - you have a little more freedom / computing power / resources
   than you do with GAE, and its pretty cheap.  A quick lookthrough on
   Amazon's site shows EC2's lowend costing $0.10 per hour (ten cents an
   hour) to use.  And you can shut it down/start it up whenever you want
   so you don't incur much cost while 'playing around' in the beginning.

   I did like being able to 'dive in' to GAE just using my Google login
   and start playing around - but EC2 seems more practical for real world
   use yet.  There needs to be more to make GAE something viable... or
   maybe Google's not really aiming to compete on the 'high end' cloud
   computing arena, more just to give a place for people to create Google
   Gadgets?  (In that case it should be named 'Google Gadget Engine'!!)
   But I don't think that's the case, I must be missing something =)
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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] user login problem

2008-11-04 Thread Richie

Hello,

my application is http://www.eaglefeed.me

Login from there works like a charme, but login from http://eaglefeed.me
does not.

from my sourcecode users.get_current_user() seem to return None after
login.


what can I do about this?

any help is appreciated. maybe someone could tell me, how to redirect
my users as a work around.


Thanks in advance,

Richie
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: user login problem

2008-11-04 Thread yejun

Naked domain is no longer supported by google. I think you'd better
redirect anyone use naked domain to www.

On Nov 4, 3:13 pm, Richie [EMAIL PROTECTED] wrote:
 Hello,

 my application ishttp://www.eaglefeed.me

 Login from there works like a charme, but login fromhttp://eaglefeed.me
 does not.

 from my sourcecode users.get_current_user() seem to return None after
 login.

 what can I do about this?

 any help is appreciated. maybe someone could tell me, how to redirect
 my users as a work around.

 Thanks in advance,

 Richie
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: JSONP Gateway

2008-11-04 Thread Richie

funny thing, I just wrote something like this for myself one week
ago. :-)

On 31 Okt., 21:00, Malte Ubl [EMAIL PROTECTED] wrote:
 Hey,

 I've just released a very simple application that can be used to turn
 any JSON webservice into a JSONP webservice.
 It takes an url parameter, fetches that url, validates the json and
 then returns it wrapped in a callback function.

 Is this ok with the terms of service? Do you think the problems with
 respect to security are too serious to leave this online?
 An example is 
 here:http://jsonpgateway.appspot.com/?url=http%3A//search.yahooapis.com/Im...

 Bye
 Malte
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Indexing does not work

2008-11-04 Thread yejun

Only compound queries need index. Single column properties are already
implicitly indexed.

On Nov 4, 2:54 pm, Richie [EMAIL PROTECTED] wrote:
 Hello,

 my user base is increasing that's why I wanted to index my tables.

 index.yaml is not updated automatically on my windows machine (I tried
 a lot of things, including deleting it, etc.) that's why I updated it
 manually.

 I uploaded my app (did not change the version) but appspot still
 states You have not created indexes for this application. 

 Could someone please tell me how to index my datastore?

 Thanks in advance,

 Richie
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread sal



On Nov 4, 3:08 pm, yejun [EMAIL PROTECTED] wrote:
 On EC2 you can make your own image, but that's not the point. I
 believe no one in their right mind would use a public image for their
 production system, it is just not safe by any means.

You have to trust the Google admins with your data and code also. At
least with EC2 you have direct access and create an encrypted
filesystem / etc.  That even the admins wouldn't be able to 'poke
around' into.  So I don't buy the security argument...

 You need to do a lot more than by lanching an image. You need to
 manage them just like a real operating system, security auditing,
 patching, debugging. Of course you can also simply terminate any image
 which causing problems.

 I think it's still too early to say which cloud computing product will
 succeed in the end though. They may coexist for ever just like grocery
 store and restaurant.

I agree - and likely there will be lots of competition, which is
good.  EC2 already seems pretty exciting, if something comes out even
cheaper and easier to use, it will be a Good Thing.

But at this point in time I'm not sure if there are enough reasons to
invest lots of effort into developing for GAE, as there are huge
limitations and not yet enough evidence that it is a cheaper or better
option for the 'long term'.  Although I am openminded, and like to go
with Google as a company as they have a reputation for doing some
positive things, such as supporting free/opensource communities, so
I'm willing to keep considering their options.

Just that GAE in its current state isn't showing signs as a good
platform, technically speaking... other than it being free to start
off with, I'm looking for some stronger (hopefully technical) reasons
to invest much time into it as a 'real world' application platform
over EC2.


 On Nov 4, 2:57 pm, sal [EMAIL PROTECTED] wrote:

   I think the scaling issue here is understated. Compared to traditional
   scaling strategies that organizations use to perform, GAE provides
   alot of transparency. The premise of GAE is to put focus on
   development of applications. Thus, GAE is more developer focused. EC2
   is a more general solution. Furthermore, I imagine instantiating more
   VMs is a form of network administration that doesn't exist in GAE ...

  I wouldn't assume this yet, as I'm sure you'll have to perform some
  sort of verification/configuration to 'scale up' with GAE also.
  Google likely wont just let your app spike though all the funds in
  your bank account - you'll have to login to some kind of console to
  configure how much resources you want to pay for.  EC2 has the same
  thing basically - you just go to a web page and control how many
  instances are running.

   unless your application is so advanced that it comes with logic to
   efficiently instantiate and shutdown VMs on its own.

  There are already free utilities that do this with EC2 it seems.

   On Nov 4, 11:20 am, sal [EMAIL PROTECTED] wrote:

 EC2 also has a lot other usage than hosting a web site. You can use it
 for scientific computing, video transcoding, data mining and etc.

I agree - you have a little more freedom / computing power / resources
than you do with GAE, and its pretty cheap.  A quick lookthrough on
Amazon's site shows EC2's lowend costing $0.10 per hour (ten cents an
hour) to use.  And you can shut it down/start it up whenever you want
so you don't incur much cost while 'playing around' in the beginning.

I did like being able to 'dive in' to GAE just using my Google login
and start playing around - but EC2 seems more practical for real world
use yet.  There needs to be more to make GAE something viable... or
maybe Google's not really aiming to compete on the 'high end' cloud
computing arena, more just to give a place for people to create Google
Gadgets?  (In that case it should be named 'Google Gadget Engine'!!)
But I don't think that's the case, I must be missing something =)
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread sal



On Nov 4, 3:09 pm, Peter Recore [EMAIL PROTECTED] wrote:
 What would really make this conversation interesting would be a
 nontrivial example app that someone had written and deployed on both
 systems, to see where the gotcha's are, and at what levels of demand
 you really need to worry about various scaling problems.

I would be interested to hear from some EC2 users on this list also!

 image.  On the other hand, you could have the entire mysql community
 to draw help from if you had a pure mysql question.

This is a huge point.  Not only can you draw from all the communities
of existing developers, you have access to the droves of existing
libraries written for all those mature platform that you can
leverage.  Say you need to integrate a Forum, content management
system, billing / shopping cart, etc.  Whereas with GAE you are
writing your own usually.  (And from the numerous posts on how to
create a 'Web Counter' with GAE, its evident that some of the normally
simple tasks are not so simple.

(not trying to slam GAE, just hoping to find some good valid opinions
pro-GAE, especially technical reasons!)


 -peter

 On Nov 4, 2:48 pm, sal [EMAIL PROTECTED] wrote:

   There is a point which you are missing here. Firing up more images in
   EC2 does not makes your application scalable.

  It seems to depend on the image you choose -  looks like images are
  available that co-operate and automatically load balance at they
  startup and autodetect each other.

  Probably the same way the Google app cluster works - except instead of
  someone in Google adding nodes you can do it yourself.

   There is lots and lots
   of other issues here. With EC2 you have to use S3 etc etc.
   there might be some point to consider working with GAE but in short I
   think there is much more to do if you want a scalable application in
   EC2.

  Remember there is a lot to do to make a scalable app in GAE also.
  There are numerous posts on this list where people can't even get a
  simple 'web counter' to work.  The counter-argument (no pun intended)
  is that the GAE app will scale in the long run due to this 'additional
  effort' that we have to go through.  So ec2 and GAE both require
  'effort' to make something scalable.  In GAE is via painful
  limitations in Python, in EC2 its by choosing images

  If only someone at Google would stumble across Xen (http://www.xen.org/) 
  which is free/opensource, the tech that Amazon uses for
  EC2 and port it to their own 'Googleware', and offer some free logins
  to that system, it would be a true competitor!!

   On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote:

 Of course, you can have someone cook the raw meat to dinner. There's
 no actual difference in the end.

These were my thoughts too... if its the same difference in the end...
I'm looking for reasons as to why one would stick with GAE long-term.

 The difficulty to EC2 for small project is the scaling part, you need
 either buy or write your own management code for an almost real
 cluster minus hardware. You need to monitor server load, and start new
 EC2 instance when load gets high and terminate extra unused servers.
 You need to take care way more possible exceptions then GAE.

It seems there are images you can choose for EC2 which automatically
load balance/scale when you boot new instances...

 On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:

  Point taken, in the scenario that you might have to make your own
  image, possibly...

  But assume that someone signs up for EC2, and just chooses an 
  existing
  image with Python in it.  Really there isn't much cooking involved
  correct?  You should have a working server up pretty quickly...

  (a few other considerations: within GAE your serverside RAM can be
  invalidated at-random, as well as the memcache... and we're limited 
  to
  using a sortof limited Datastore, rather than the full RDBMS you 
  could
  have in an EC2 image)  Maybe a bit like a free dinner without a 
  fork?
  =)

  On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:

   I feel this comparison is similar to raw meat vs cooked dinner.

   On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

Just curious to hear some opinions on this - especially from 
anyone
who has experience with Amazon's EC2 as well as GAE.

I just read a blog saying you can be up and running with EC2's
cheapest offering with no upfront cost and 79$ a month.  You 
get a
'real' virtualized Linux machine with 1.7GB of ram.  And by 
clicking a
button (there are free graphical admin tools now), as many more
instances/images as you need will pop up instantly using a 
system
image that you create to handle whatever load you have. (Your 
bill
goes just up as you click into more resources).

There are loads 

[google-appengine] Bulkloading CSV files - Internal Server Error 500

2008-11-04 Thread Ed

Hi,
My previously working CSV bulk-loading scripts are now getting code
500 internal server errors everytime I run them.  Any suggestions
please as to why and on how to get around them.  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] REST Routing in CherryPy GAE

2008-11-04 Thread Angel

Three blog posts showing routing in CherryPy. First is the default
routes in CherryPy:

http://appmecha.wordpress.com/2008/10/21/cherrypy-routing-1/

The RoutesDispatcher onin CherryPy 3.1.0
http://appmecha.wordpress.com/2008/10/27/cherrypy-gae-routing-2/

And how to handle RESTful routing :
http://appmecha.wordpress.com/2008/11/04/restful-routing-cherrypy-gae/

The final one has an application at:
http://listmecha.appspot.com/

I'll be extending this to handle REST requests for XML and JSON feeds
and making it a bit prettier as time goes on. Enjoy!

-angel
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Modeling Hierarchical Data

2008-11-04 Thread Chris Tan

@Anthony
Very nice method that seems to work better than storing the hierarchy
in a string.  I'll have to look into that.

@Marzia
Thanks for the advice =)

It doesn't suit my particular use case, since my layout displays
nested comments that are ~10-20 deep, but I'm sure many people will
find the lazy-loading style useful.

@Steve
I've been experimenting with pickling a highly nested tree.  Seems
like I ran into a problem with the recursion limit in the pickle
module.

The way I solved this was to flatten the tree, however, you could also
use a patched pickle which uses generators instead of recursion.

It's posted at: http://gist.github.com/22217


On Nov 1, 7:31 am, Steve Schwarz [EMAIL PROTECTED] wrote:
 On Fri, Oct 31, 2008 at 5:41 PM, Chris Tan [EMAIL PROTECTED] wrote:

  Hi Steve,

  I was thinking along the same lines.  Having the root comment or
  thread hold a
  cache of the whole tree, which would be updated whenever an entity is
  updated, added
  or removed seems like the most efficient way for large hierarchies.

  You could have your cached tree represented using nested dictionary
  objects on your root
  object using a PickleProperty (see:
 http://groups.google.com/group/google-appengine/msg/8433525107a8bb92)
  to be converted to XML as required.

  The comment class could have a path property (e.g. id1/id2/id3)
  which could be
  quickly traversed to retrieve or update child comments.  Since it
  doesn't need to be indexed,
  it can be a TextProperty() which isn't limited to 500 bytes.

  CRUD operations could be overridden in your Model class:

  class Comment(db.Model):
     path = TextProperty()
     def put(self):
         # update root comment
         super(Comment, self).save()

     def delete(self):
         # update root comment
         super(Comment, self).delete()

  Pros:
  - Reads only need to fetch 1 (root tree) or 2 entities (look-up child
  path  return sub-tree from root)
  - Not limited by depth

  Cons:
  - Writes update 2 entities.
  - Pickling/Unpickling could be resource intensive

 Chris,
 Now that I've read Marzia's comments and rewatched the video the saving
 grace for a comment system where you get too many comments to grab in one
 go you could switch to paging. Whatever the GAE limiting factor is once you
 near it you could introduce paging to keep each request under the limit. If
 that was 200 or 1000 comments would anyone really want to scroll through
 them all on a single page?

 On the other hand if you are providing a data feed or a big XML doc like I'm
 contemplating then getting only a portion of the data wouldn't be useable.
 But now that I think of it there is no reason the tree couldn't be
 partitioned and at the cost of some additional gets (which could be cached)
 this becomes as sharded assembly of the larger XML document. Just like
 comments could be put in entity groups based on user, I could split the XML
 doc based on the values of a discriminant attribute and work with smaller
 entity groups. The assembly of those entities into the final document would
 involve a relatively small number of gets (a couple dozen). I'll have to
 look into pickling vs. storing XML fragments from a speed/space tradeoff
 perspective.

 Thanks for your assistance,
 Steve
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread Angel

You'll be interested to know that someone is working on an app engine
port to EC2:

http://appdrop.com/

Currently the link to view uploaded apps is down LOL.

-angel

On Nov 4, 3:34 pm, sal [EMAIL PROTECTED] wrote:
 On Nov 4, 3:09 pm, Peter Recore [EMAIL PROTECTED] wrote:

  What would really make this conversation interesting would be a
  nontrivial example app that someone had written and deployed on both
  systems, to see where the gotcha's are, and at what levels of demand
  you really need to worry about various scaling problems.

 I would be interested to hear from some EC2 users on this list also!

  image.  On the other hand, you could have the entire mysql community
  to draw help from if you had a pure mysql question.

 This is a huge point.  Not only can you draw from all the communities
 of existing developers, you have access to the droves of existing
 libraries written for all those mature platform that you can
 leverage.  Say you need to integrate a Forum, content management
 system, billing / shopping cart, etc.  Whereas with GAE you are
 writing your own usually.  (And from the numerous posts on how to
 create a 'Web Counter' with GAE, its evident that some of the normally
 simple tasks are not so simple.

 (not trying to slam GAE, just hoping to find some good valid opinions
 pro-GAE, especially technical reasons!)



  -peter

  On Nov 4, 2:48 pm, sal [EMAIL PROTECTED] wrote:

There is a point which you are missing here. Firing up more images in
EC2 does not makes your application scalable.

   It seems to depend on the image you choose -  looks like images are
   available that co-operate and automatically load balance at they
   startup and autodetect each other.

   Probably the same way the Google app cluster works - except instead of
   someone in Google adding nodes you can do it yourself.

There is lots and lots
of other issues here. With EC2 you have to use S3 etc etc.
there might be some point to consider working with GAE but in short I
think there is much more to do if you want a scalable application in
EC2.

   Remember there is a lot to do to make a scalable app in GAE also.
   There are numerous posts on this list where people can't even get a
   simple 'web counter' to work.  The counter-argument (no pun intended)
   is that the GAE app will scale in the long run due to this 'additional
   effort' that we have to go through.  So ec2 and GAE both require
   'effort' to make something scalable.  In GAE is via painful
   limitations in Python, in EC2 its by choosing images

   If only someone at Google would stumble across Xen (http://www.xen.org/) 
   which is free/opensource, the tech that Amazon uses for
   EC2 and port it to their own 'Googleware', and offer some free logins
   to that system, it would be a true competitor!!

On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote:

  Of course, you can have someone cook the raw meat to dinner. There's
  no actual difference in the end.

 These were my thoughts too... if its the same difference in the end...
 I'm looking for reasons as to why one would stick with GAE long-term.

  The difficulty to EC2 for small project is the scaling part, you 
  need
  either buy or write your own management code for an almost real
  cluster minus hardware. You need to monitor server load, and start 
  new
  EC2 instance when load gets high and terminate extra unused servers.
  You need to take care way more possible exceptions then GAE.

 It seems there are images you can choose for EC2 which automatically
 load balance/scale when you boot new instances...

  On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:

   Point taken, in the scenario that you might have to make your own
   image, possibly...

   But assume that someone signs up for EC2, and just chooses an 
   existing
   image with Python in it.  Really there isn't much cooking involved
   correct?  You should have a working server up pretty quickly...

   (a few other considerations: within GAE your serverside RAM can be
   invalidated at-random, as well as the memcache... and we're 
   limited to
   using a sortof limited Datastore, rather than the full RDBMS you 
   could
   have in an EC2 image)  Maybe a bit like a free dinner without a 
   fork?
   =)

   On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:

I feel this comparison is similar to raw meat vs cooked dinner.

On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

 Just curious to hear some opinions on this - especially from 
 anyone
 who has experience with Amazon's EC2 as well as GAE.

 I just read a blog saying you can be up and running with EC2's
 cheapest offering with no upfront cost and 79$ a month.  You 
 get a
 'real' virtualized Linux machine with 1.7GB of ram.  And by 
 clicking a
 

[google-appengine] Re: Common View Component

2008-11-04 Thread Daniel O'Brien (Google)

Django has some features to simplify this via RequestContext and
context processors: http://docs.djangoproject.com/en/dev/ref/templates/api/#id1

Alternatively, if you don't want to pull in Django, you could do all
the heavy lifting (i.e.datastore calls, memcache) in your main()
method, then expose the results either using Python global variables
or memcache.

Either approach is probably preferable over using a custom filter,
since datastore operations open up a number of error cases that you
may want to deal with before actually rendering your template.

Daniel

On Nov 4, 9:29 am, Chris [EMAIL PROTECTED] wrote:
 What's the best practice for including a common dynamic view component
 in every template? For example, say I want to include a short list of
 links, dynamically queried from my datastore, on every page.

 The default option seems to be adding this query to every request
 handler, and use Django's template inheritance to reuse the display
 logic. However, this still seems like a lot of work, so I decided to
 create a linklist templatefilter to both query the data and retrieve
 the template, and just add {{request|linklist}} to my base template.
 This is simple, but seems like a hack. Is there a better way?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Chat room about Google App Engine...

2008-11-04 Thread bvelasquez

Thanks Calvin,

Did you happen to check out TaPingYa?  Not much traffic, I know, but
your feedback on the site would be appreciated.

Thanks

Barry

On Oct 31, 3:42 am, Calvin Spealman [EMAIL PROTECTED] wrote:
 the general rule on irc is to lurk, ask questions when you have them,
 and respond when you see someone else. i can only say that adding
 different channels or chatrooms wont help to increase the traffic in
 any of them.



 On Fri, Oct 31, 2008 at 1:59 AM, bvelasquez [EMAIL PROTECTED] wrote:

  I went to the channel after setting up Chatzilla, and saw no acivity.
  Maybe it's a slow night.  What times is more activity seen in the
  channel so I know when to login.

  Thanks

  On Oct 30, 7:33 pm, Calvin Spealman [EMAIL PROTECTED] wrote:
  There is already an active channel, #appengine on freenode.net IRC.

  On Thu, Oct 30, 2008 at 8:22 PM, bvelasquez [EMAIL PROTECTED] wrote:

   If anyone is interested, I put up a room on TaPingYa (which is my use
   of Google App Engine), to chat live about Google App Engine
   development.  Of course, I'd love any feedback on the site also.

  http://tapingya.appspot.com/room?room_id=3704

   If anyone has had issues with high CPU usage, or knows more about it,
   I would be interested in chatting with you.  No amount of optimization
   seems to help and I got my first google app is over its quota
   message today.. for a call that doesn't do that much.

   Regards,

   Barry

  --
  Read my blog! I depend on your acceptance of my opinion! I am 
  interesting!http://techblog.ironfroggy.com/
  Follow me if you're into that sort of 
  thing:http://www.twitter.com/ironfroggy

 --
 Read my blog! I depend on your acceptance of my opinion! I am 
 interesting!http://techblog.ironfroggy.com/
 Follow me if you're into that sort of thing:http://www.twitter.com/ironfroggy
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: DataStore examples, reference, tutorial

2008-11-04 Thread Ian Bambury
2008/11/4 David Symonds [EMAIL PROTECTED]


 On Tue, Nov 4, 2008 at 11:15 AM, Ian Bambury [EMAIL PROTECTED] wrote:
  Thanks David,
 
   What if I wanted to pull out a list where the quantity was over 1000
 and
   print the product description and the customer name?
 
  You don't. App Engine isn't designed for grabbing a large amount of
  data. Users of a web application are really not going to want 1000
  pieces of data in one go.
 
  I meant that the order quantity was over 1000, not the number of pieces
 of
  data. I'd be quite happy with 25 returned matches

 Oh, that's easy then. Just add a .filter('quantity ', 1000) to what I
 wrote previously.


But where would I pick up the customer name and product description?

I imagine that

lines = OrderLine.all().filter('quantity ', 1000)

will return me OrderLines so I now have a list of all the order lines in the
system (or up to 1000 anyway) where the order quantity for that product is
over 1000 units but I don't have the customer name or the
product description which will differ for every line

I had looked all through the Developer's Guide before I asked the question,
and as I said, there are examples of adding your pet details to the
DataStore (type=cat name=Fluffy) but there aren't any examples for
adding

Country-Racecourse-Date-Race-Horse-Trainer-Owner-Jockey-Weight-Going-Odds-Report-Reporter

or anything that even gives a simple example you can extrapolate from.




  What if the user wants to see a list of all the movies which came out
 last
  month which they *haven't* seen. Is there a way to do that? I can see
 from
  your answer before that I can limit the list to ones which the user has
  added to their list of viewed films, but is it possible to get the
  complimentary data set?

 That's a fair bit harder to do in a single query. The simplest way for
 a smallish number of movies would be to just fetch all the movies from
 the last month, then fetch all the user's movies, and then compute the
 set difference in Python.



Mmm. I dare say that would work for most situations, but it's not what you'd
call a neat solution, it's brute force, and it relies on the number of
matches being less than 1000 or the results will be incomplete. If you
wanted to find out how many DVDs were never rented from a video rental
service over the last year, you'd have more than 1000 titles and even if you
didn't, you'd have to try to match them all up with all the rentals one at a
time.

So it seems that it might be scalable in the sense that everyone in the
universe can look up the name of their cat at the same time, but it doesn't
seem to scale well if your video rental shop has more than 1000 videos or
your company has more than 1000 order lines, etc.

It looks like GAE might not be capable of being a real-world business
solution for anything with more than noddy requirements from what you say.

In SQL you could do the whole thing, 10,000,000 records in one hit. It might
take a moment or two, though, but it would do it.

Or is there something big that I've not discovered yet? I hope there is.

Ian

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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] Support for profit sharing in web 2.0 sites

2008-11-04 Thread Amir Michail

Hi,

I think Google (and the app engine in particular) should provide easy
support for profit sharing to encourage more user participation in web
2.0 sites.

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: user login problem

2008-11-04 Thread Richie

do you have any information on how to do this?

Richie

On 4 Nov., 21:14, yejun [EMAIL PROTECTED] wrote:
 Naked domain is no longer supported by google. I think you'd better
 redirect anyone use naked domain to www.

 On Nov 4, 3:13 pm, Richie [EMAIL PROTECTED] wrote:

  Hello,

  my application ishttp://www.eaglefeed.me

  Login from there works like a charme, but login fromhttp://eaglefeed.me
  does not.

  from my sourcecode users.get_current_user() seem to return None after
  login.

  what can I do about this?

  any help is appreciated. maybe someone could tell me, how to redirect
  my users as a work around.

  Thanks in advance,

  Richie
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: DataStore examples, reference, tutorial

2008-11-04 Thread David Symonds

On Tue, Nov 4, 2008 at 9:40 AM, Ian Bambury [EMAIL PROTECTED] wrote:
 Hi David,
 That's really helpful, thanks. A big step on the way
 So in 'lines' I'd have OrderLine objects.
 Are there any useful sites/pages where this info is available, to save me
 having to pester people like you?

It's all throughout the http://code.google.com/appengine/docs/ pages.
I'd suggest going through the tutorial you'll find there, as well as
skimming through the sample applications.

 What if I wanted to pull out a list where the quantity was over 1000 and
 print the product description and the customer name?

You don't. App Engine isn't designed for grabbing a large amount of
data. Users of a web application are really not going to want 1000
pieces of data in one go.

 And to make it worse, I'm going to have to do something like pulling out the
 first 100 customers in customer name order who *don't* have any orders for
 product x

App Engine is designed for scalable web applications, not for bulk
order processing systems. I think there's a bit of a mismatch in the
expectations.


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: Crappiest Product from Google

2008-11-04 Thread Sudhir

I'm not sure which language automatically loads all the possible
classes and modules when every line of code is run I've been
developing only a year or so, but a language that does that isn't
something I'd use. Maybe we should rewrite C# to load all the .NET
libraries automatically, and configure PHP to scan all the .php files
on the hard disk and include them. I'm sure every command would then
run without any further configuration :D

While we're at it why not load the whole internet for every search
query?

On Nov 4, 1:26 pm, Kannaiyan [EMAIL PROTECTED] wrote:
 Feris:

 Next time when I'm any Google Developer or Python Developer house for
 lunch, I will go with my own plates. I doubt they will have their own
 plates in their house. :)

 I'm sure I entered into wrong time assuming Google development
 environment will be friendly enough with less docs.
 Looks like New comers need to run here and there to get their
 application working.

 This is to discuss problems we are facing and the users experience for
 Google to understand. I hope I expressed the same.
 I don't understand what you mean by Productive?

 /Kans

 On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote:

  Hi Kannaiyan,
  This is not a productive discussions. If you feel not right with Google
  Apps, then it is not for you, ok ? Go with something else like Amazon EC2.

  On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote:
   Never worked with Python Guys. (Once I complete Python, Google will go
   for Cobra :) )

  Regards,

  Feris
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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] IP addresses from which webservice requests can come from

2008-11-04 Thread John

I need to use a third party webservice that authenticates requests as
coming from specific IP addresses (yes, I know... how 20th century.
Can't help it, third party, you know.)

Is there a known list of IP addresses of gateways that appengine
requests can be coming from, so I can provide that list to this
provider?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: GAE vs. EC2

2008-11-04 Thread yejun

EC2 also has a lot other usage than hosting a web site. You can use it
for scientific computing, video transcoding, data mining and etc.

On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote:
 Point taken, in the scenario that you might have to make your own
 image, possibly...

 But assume that someone signs up for EC2, and just chooses an existing
 image with Python in it.  Really there isn't much cooking involved
 correct?  You should have a working server up pretty quickly...

 (a few other considerations: within GAE your serverside RAM can be
 invalidated at-random, as well as the memcache... and we're limited to
 using a sortof limited Datastore, rather than the full RDBMS you could
 have in an EC2 image)  Maybe a bit like a free dinner without a fork?
 =)

 On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote:

  I feel this comparison is similar to raw meat vs cooked dinner.

  On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote:

   Just curious to hear some opinions on this - especially from anyone
   who has experience with Amazon's EC2 as well as GAE.

   I just read a blog saying you can be up and running with EC2's
   cheapest offering with no upfront cost and 79$ a month.  You get a
   'real' virtualized Linux machine with 1.7GB of ram.  And by clicking a
   button (there are free graphical admin tools now), as many more
   instances/images as you need will pop up instantly using a system
   image that you create to handle whatever load you have. (Your bill
   goes just up as you click into more resources).

   There are loads of 'public' images to pick from, some include Python
   already. (Others have Java, PHP, etc).  By choosing one of these
   images you'll have Python running, with full root access to a server
   online that you can do whatever you like with.  I guess technically,
   someone could just put the GAE SDK up on an EC2 box, with some tweaks,
   and you could almost have your GAE app running there unmodified as
   well?

   I'm using GAE because of the zero, upfront cost currently... this is
   great for toying around with neat ideas - but for 'real world',
   demanding applications... you'll eventually have to pay even for GAE.
   What do we have offered that something like EC2 doesn't?

   Google has announced another language coming in a few months - but
   again EC2 allows to use whichever is installed in your machine image
   already - any language you can use in linux I suppose... not sure if
   its enough to keep me onboard once my app goes over its quotas and I
   have to start to pay for more.

   looking forward to hear thoughts!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: more complicated counters/ratings (sorting?)

2008-11-04 Thread Alexander Kojevnikov

 If I don't use transactions (with the ratings in the same entity groups as
 the shards they are being served by) then I can't be guaranteed I don't
 accidentally drop or double count ratings in the case of errors. :( Is the
 idea that you are recommending I just say oh well, its a drop in the
 bucket? -J

Exactly!

Consider this example:

Let's say you had 100,000 ratings for a product, and 3% of them were
lost (I bet the real failure of db.put() is much less than that).

In the extreme case when the ratings that were saved were all '5's,
and the lost ones were all '1' we get:

Real average rating: 4.88
Calculated average rating: 5.00

Now this was the most extreme case possible, this scenario is more
real:

put() failure rate: 1%
saved ratings: '5'
lost ratings: '4'

real average: 4.99
calculated average: 5.00

If you visualise your ratings with stars your users won't see any
difference even in the most extreme case.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: user login problem

2008-11-04 Thread yejun

Google's official word is that you should leave redirect to your
domain registrar.
But your domain ready naked I think you can test
os.environ[''HTTP_HOST''] to see whether it is naked or not in your
request handler, then do a http 301 redirect.

On Nov 4, 5:19 pm, Richie [EMAIL PROTECTED] wrote:
 do you have any information on how to do this?

 Richie

 On 4 Nov., 21:14, yejun [EMAIL PROTECTED] wrote:

  Naked domain is no longer supported by google. I think you'd better
  redirect anyone use naked domain to www.

  On Nov 4, 3:13 pm, Richie [EMAIL PROTECTED] wrote:

   Hello,

   my application ishttp://www.eaglefeed.me

   Login from there works like a charme, but login fromhttp://eaglefeed.me
   does not.

   from my sourcecode users.get_current_user() seem to return None after
   login.

   what can I do about this?

   any help is appreciated. maybe someone could tell me, how to redirect
   my users as a work around.

   Thanks in advance,

   Richie
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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 ManyToMany fields

2008-11-04 Thread Alexander Kojevnikov

 the friends is a sub-list of memory entity.
 Why not load the list on lazy mode.

 Faint, I will manual get the lists .
 But how can I put the sub-list to the object.

 does google provide sample code on this.

It's Python, you can create a member variable dynamically any time by
assigning to it:

memory.fetched_friends = my_fetched_entities

I suggest caching the friend entities in a dictionary to avoid
fetching the same one multiple times:

memories = Memory.all().order('-date').fetch(limit=X)
friends = {}
for memory in memories:
memory.fetched_friends = []
for friend_key in memory.friends:
if not friend_key in friends:
friends[friend_key] = Friends.get(friend_key)
memory.fetched_friends.append(friends[friend_key])

You can better this code by passing an array of keys to Friends.get()
to fetch all friend entities at once.

--
Get notified when artists you like release new albums
http://www.muspy.com
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Indexing does not work

2008-11-04 Thread Alexander Kojevnikov

 Only compound queries need index. Single column properties are already
 implicitly indexed.

Just a small clarification, only ASCENDING single-column indices are
automatically created:
http://code.google.com/appengine/docs/datastore/queriesandindexes.html#Defining_Indexes_With_index_yaml
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Bulkloading CSV files - Internal Server Error 500

2008-11-04 Thread Alexander Kojevnikov

 My previously working CSV bulk-loading scripts are now getting code
 500 internal server errors everytime I run them.  Any suggestions
 please as to why and on how to get around them.  Thanks.

You can check the error log from the admin interface. If it still
doesn't explain the error, copy/paste the error here.


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Policy on Adult Content

2008-11-04 Thread dunbin

Hi,

Does anyone know what is Google's definition of _pornographic_ in
regard to the App Engine's Program Policies?
http://code.google.com/appengine/program_policies.html

What I'm interested in developing is a community site for kinky
people, where among other things they'd be able to upload profile
photos, that would likely be offensive to some but would only be
viewable after registering, a site similar in nature to bondage.com or
rubberpal.com

Would a site of this nature have a chance of living on the App Engine?

/Dunbin

On Oct 30, 7:18 am, Paul Kinlan [EMAIL PROTECTED] wrote:
 The terms and conditions don't mention it, bower the program policiy  
 document mentions the pornographic content is not allowed.  Not sure  
 if that restricts link to adult material.

 Paul

 On 30 Oct 2008, at 01:50, Pete [EMAIL PROTECTED] wrote:





  Hi,

  I've looked through the TC, and I'm pretty sure the application I'd
  like to run is allowable, but I was wondering if anyone could back
  this up...

  I'm writing a search engine that indexes adult content - specifically
  pornographic images and videos. The site would link to other sites,
  rather than host any adult content itself, although the site is, by
  its nature, adult, and would contain (moderated) non-pornographic
  previews.

  As far as I can tell, this should be fine. Can anyone offer any more
  clarity on this?

  Thanks

  P

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: user login problem

2008-11-04 Thread Daniel O'Brien (Google)

The problem you'll encounter with naked domains is random TCP errors.
Testing within your actual app won't work as a result, since the
request never gets that far.

yejun is correct that you'll need to manage redirects through your
actual registrar. How you go about doing so depends on the registrar.

Daniel

On Nov 4, 2:55 pm, yejun [EMAIL PROTECTED] wrote:
 Google's official word is that you should leave redirect to your
 domain registrar.
 But your domain ready naked I think you can test
 os.environ[''HTTP_HOST''] to see whether it is naked or not in your
 request handler, then do a http 301 redirect.

 On Nov 4, 5:19 pm, Richie [EMAIL PROTECTED] wrote:

  do you have any information on how to do this?

  Richie

  On 4 Nov., 21:14, yejun [EMAIL PROTECTED] wrote:

   Naked domain is no longer supported by google. I think you'd better
   redirect anyone use naked domain to www.

   On Nov 4, 3:13 pm, Richie [EMAIL PROTECTED] wrote:

Hello,

my application ishttp://www.eaglefeed.me

Login from there works like a charme, but login fromhttp://eaglefeed.me
does not.

from my sourcecode users.get_current_user() seem to return None after
login.

what can I do about this?

any help is appreciated. maybe someone could tell me, how to redirect
my users as a work around.

Thanks in advance,

Richie
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: user login problem

2008-11-04 Thread Daniel O'Brien (Google)

On the original problem, the naked domain issue shouldn't affect users
being able to log in.

Have you checked which website your login cookies are being associated
with? That is, login cookies from www.eaglefeed.me aren't accessible
by eaglefeed.me, which may explain the problem you're running into.

Daniel

On Nov 4, 12:13 pm, Richie [EMAIL PROTECTED] wrote:
 Hello,

 my application ishttp://www.eaglefeed.me

 Login from there works like a charme, but login fromhttp://eaglefeed.me
 does not.

 from my sourcecode users.get_current_user() seem to return None after
 login.

 what can I do about this?

 any help is appreciated. maybe someone could tell me, how to redirect
 my users as a work around.

 Thanks in advance,

 Richie
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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] Help: Problem using WSGIApplication to automatically generate error page

2008-11-04 Thread Alok

I am trying to use webapp.WSGIApplication to automatically map urls
that are not otherwise mapped to a special 'not_found_handler' which
would render a 'Page Not Found' response. My app.yaml maps all urls to
a main.py which includes the following webapp.WSGIApplication. I have
tested it but it does not work. Can anyone tell me what I am doing
wrong?

application = webapp.WSGIApplication([
  ('/', MainPage),
  ('/other_page',
other_page_handler),
  ('/another_page',
anothe_page_handler),
  (r'/(.*)', not_found_handler)],
  debug=True)

[You can also see the error yourself by visiting
proshortsetf.appspot.com]

thanks,
Alok
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Help: Problem using WSGIApplication to automatically generate error page

2008-11-04 Thread Alexander Kojevnikov

Your code looks fine to me. Could you paste here your app.yaml file?

On Nov 5, 11:20 am, Alok [EMAIL PROTECTED] wrote:
 I am trying to use webapp.WSGIApplication to automatically map urls
 that are not otherwise mapped to a special 'not_found_handler' which
 would render a 'Page Not Found' response. My app.yaml maps all urls to
 a main.py which includes the following webapp.WSGIApplication. I have
 tested it but it does not work. Can anyone tell me what I am doing
 wrong?

 application = webapp.WSGIApplication([
                                       ('/', MainPage),
                                       ('/other_page',
 other_page_handler),
                                       ('/another_page',
 anothe_page_handler),
                                       (r'/(.*)', not_found_handler)],
                                       debug=True)

 [You can also see the error yourself by visiting
 proshortsetf.appspot.com]

 thanks,
 Alok
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: DataStore examples, reference, tutorial

2008-11-04 Thread David Symonds

On Tue, Nov 4, 2008 at 1:52 PM, Ian Bambury [EMAIL PROTECTED] wrote:

 Oh, that's easy then. Just add a .filter('quantity ', 1000) to what I
 wrote previously.

 But where would I pick up the customer name and product description?

You talked about current customer and a particular product; it's
up to you where those values come from.

If you don't want to filter that way, but want the data for *all*
customers, just get rid of the .filter('customer =', theCustomer) bit.
You can then access the customer object through the OrderLine's
customer property.

 Mmm. I dare say that would work for most situations, but it's not what you'd
 call a neat solution, it's brute force, and it relies on the number of
 matches being less than 1000 or the results will be incomplete. If you
 wanted to find out how many DVDs were never rented from a video rental
 service over the last year, you'd have more than 1000 titles and even if you
 didn't, you'd have to try to match them all up with all the rentals one at a
 time.

If that's a common operation, you'd keep a running tally on the DVD
record that gets incremented every time someone borrows it, and then
filter on that property.

There's usually ways to do these kind of filterings; you just have to
think creatively sometimes. SQL hides the horrible inefficiency of the
JOIN operator, so switching to App Engine requires you to think
through how exactly these things have to happen.

 In SQL you could do the whole thing, 10,000,000 records in one hit. It might
 take a moment or two, though, but it would do it.

There's stuff coming down the pipeline (search around this list for
the roadmap) that should help with those kind of things. But really,
App Engine is primarily (at least at the moment) about scalable web
applications, and scalable web applications almost never have a need
for serving 10,000,000 records on one request.


Dave.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Google App Engine Roadmap - Now Published

2008-11-04 Thread Marzia Niccolai
Hi,

Billing will allow you to scale your application to your heart's content.
So, in general, most quotas will no longer exist when billing is enabled.
However, the per-request High CPU limits in App Engine are in place to
protect the stability and responsiveness of the cluster as a whole. We know
that this solution is not great, and we are working hard on fixing this, so
that your apps don't hit this stumbling block. To be clear, we consider
limiting how much CPU you can use in a single request to be a bug, and we're
working hard on fixing this issue for everyone.

So, the short answer is: the per-request CPU usage limits is *very* much on
our radar, and while we may not have a solution in time for the release of
Billing, we're working hard on it!

As for the question of uploading and storing large files - the example
given, uploading large files in a form, is definitely something we are
planning on supporting.

-Marzia

On Tue, Nov 4, 2008 at 8:46 AM, johnP [EMAIL PROTECTED] wrote:




 On Nov 4, 5:08 am, Rodrigo Moraes [EMAIL PROTECTED] wrote:
  On Mon, Nov 3, 2008 at 8:14 PM, johnP wrote:

  roadmap: Billing: developers can pay for more resource usage). I

 
  -- rodrigo


 It's not clear what paying for more resource usage means.  Yes, you
 can buy more traffic, storage, etc.  It is *not* clear that apps
 exceeding quotas for CPU-intensive tasks will not be taken offline.

 I hope the Google folks can give us a clear answer here.  We need to
 to understand if the platform is suitable for our needs.  I am willing
 to deal with BigTable datastore limitations if my application is
 ultimately viable for the platform.  If not, I'd prefer to develop
 with all the capabilities of SQL at my disposal.
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: DataStore examples, reference, tutorial

2008-11-04 Thread Andy Freeman

On Nov 4, 1:52 pm, Ian Bambury [EMAIL PROTECTED] wrote:
 But where would I pick up the customer name and product description?

 I imagine that

 lines = OrderLine.all().filter('quantity ', 1000)

 will return me OrderLines so I now have a list of all the order lines in the
 system (or up to 1000 anyway) where the order quantity for that product is
 over 1000 units but I don't have the customer name or the
 product description which will differ for every line

So?  Someone has to get that data.  In SQL, the DB will.  In App
Engine, you have to write the code.

As a programmer, you have two choices, you can either put things
together so they can be accessed at the same time or you can do some
processing to combine multiple pieces of data.  Since the latter is
exactly what SQL joins do

  If you
 wanted to find out how many DVDs were never rented from a video rental
 service over the last year, you'd have more than 1000 titles and even if you
 didn't, you'd have to try to match them all up with all the rentals one at a
 time.

Why?  If each dvd has a unique key and a last rental time, it's
trivial to write a query that will find the ones that weren't rented
last year.  You do have to manage the 1000 problem, but that's not
terribly difficult.  And, if this sort of query is common, you can
even precompute some things during the rent-movie operation that will
make it fairly fast.

 In SQL you could do the whole thing, 10,000,000 records in one hit. It might
 take a moment or two, though, but it would do it.

10 million records at 100 bytes/record is 1 billion bytes.  That
doesn't happen in a moment or two.

And, if you've got lots of users doing operations that hit 1 billion
bytes, you're pretty much hosed unless they're hitting the same bytes
at almost the same time (or you're hitting a giant server farm).

SQL is not a magic bullet.  At some level, it just writes joins for
you.  Queries that look at at lots of records (or bytes) are going to
be slow no matter who writes the joins.

App Engine does penalize slow queries, but that's a good thing for
user-facing code.

What App Engine does need is a way to perform off-line processing.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: DataStore examples, reference, tutorial

2008-11-04 Thread Ian Bambury
Thanks Dave,
I have more questions, but rather than taxing your patience any more, I'll
go back to the Empirical Development Methodology for a while (a.k.a. Trial
And Error)

You've given me a lot of good pointers, thanks again

Ian

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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: Help: Problem using WSGIApplication to automatically generate error page

2008-11-04 Thread Alok

Here is my app.yaml:

application: proshortsetf
version: 1
runtime: python
api_version: 1

handlers:
- url: /blueprint
  static_dir: blueprint
- url: /candlestick
  static_dir: candlestick
- url: /.*
  script: main.py

I have also posted the main.py code here: 
http://pastie.textmate.org/private/hqnkofw3tnzmfy45wbdpw

On Nov 4, 7:27 pm, Alexander Kojevnikov [EMAIL PROTECTED]
wrote:
 Your code looks fine to me. Could you paste here your app.yaml file?

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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] understanding the profiling output

2008-11-04 Thread Ben Nevile

Hi - I have a request that's sometimes taking more than 1000 mcycles,
and I'd like to use the profiler to figure out what's taking so long.
I implemented the profiling successfully, but the output doesn't help
me too much because I can't match a lot of the function names up with
parts of the API.  For instance, what is
google3.apphosting.runtime._apphosting_runtime___python__apiproxy.Wait ?

Anyone got any insight they can lend into the below profile?

Thanks,
Ben



Profile data:
 75037 function calls (70686 primitive calls) in 0.341 CPU
seconds

   Ordered by: internal time
   List reduced from 699 to 80 due to restriction 80

   ncalls  tottime  percall  cumtime  percall
filename:lineno(function)
   150.1710.0110.1860.012
{google3.apphosting.runtime._apphosting_runtime___python__apiproxy.Wait}
  2520.0220.0000.0220.000 {method '__reduce_ex__'
of 'object' objects}
   2575/30.0150.0000.0860.029 /base/python_dist/lib/
python2.5/pickle.py:263(save)
   439/580.0070.0000.0150.000
{google3.net.proto._net_proto___parse__python.MergeFromString}
 13050.0060.0000.0120.000 /base/python_dist/lib/
python2.5/pickle.py:221(memoize)
   247/420.0050.0000.0770.002 /base/python_dist/lib/
python2.5/pickle.py:649(_batch_setitems)
   252/470.0030.0000.0800.002 /base/python_dist/lib/
python2.5/pickle.py:339(save_reduce)
 51270.0030.0000.0030.000 {method 'get' of 'dict'
objects}
   110.0030.0000.0220.002 /base/python_dist/lib/
python2.5/pickle.py:839(load)
 45510.0030.0000.0030.000 {len}
   220.0030.0000.0030.000 /base/python_lib/
versions/1/google/appengine/datastore/entity_pb.py:3477(__init__)
   182/910.0020.0000.0030.000
{google3.net.proto._net_proto___parse__python.Encode}
 53570.0020.0000.0020.000 {id}
 49100.0020.0000.0020.000 {method 'read' of
'cStringIO.StringO' objects}
   290.0020.0000.0020.000 {__import__}
   210.0020.0000.0040.000 /base/python_lib/
versions/1/django/utils/html.py:53(urlize)
 45630.0020.0000.0020.000 {method 'write' of
'cStringIO.StringO' objects}
 13050.0020.0000.0030.000 /base/python_dist/lib/
python2.5/pickle.py:244(put)
  2460.0020.0000.0030.000 /base/python_dist/lib/
python2.5/pickle.py:1253(encode_long)
   150.0020.0000.0020.000
{google3.apphosting.runtime._apphosting_runtime___python__apiproxy.MakeCall}
   220.0020.0000.0120.001 /base/python_lib/
versions/1/google/appengine/api/datastore.py:502(_FromPb)
 11550.0020.0000.0020.000 /base/python_dist/lib/
python2.5/struct.py:54(pack)
  978/8610.0020.0000.0020.000 {getattr}
  2870.0010.0000.0060.000 /base/python_dist/lib/
python2.5/pickle.py:486(save_unicode)
   210.0010.0000.0050.000 /base/python_lib/
versions/1/django/template/defaultfilters.py:198(urlizetrunc)
  2520.0010.0000.0040.000 /base/python_lib/
versions/1/google/appengine/api/datastore_types.py:
1012(ValidateProperty)
  6020.0010.0000.0010.000 {method 'encode' of
'unicode' objects}
  3750.0010.0000.0050.000 /base/python_dist/lib/
python2.5/pickle.py:474(save_string)
   206/420.0010.0000.0780.002 /base/python_dist/lib/
python2.5/pickle.py:634(save_dict)
 17980.0010.0000.0010.000 {chr}
   210.0010.0000.0020.000 /base/python_lib/
versions/1/django/template/defaultfilters.py:438(timesince)
   439/580.0010.0000.0160.000 /base/python_lib/
versions/1/google/net/proto/ProtocolBuffer.py:61(MergeFromString)
  1480.0010.0000.0030.000 /base/python_lib/
versions/1/django/template/__init__.py:617(resolve_variable)
 33750.0010.0000.0010.000 {method 'append' of
'list' objects}
  6550.0010.0000.0010.000 {built-in method match}
   140.0010.0000.0010.000 {method 'clear' of
'dict' objects}
  5050.0010.0000.0030.000 /base/python_dist/lib/
python2.5/pickle.py:1166(load_long_binput)
 19480.0010.0000.0010.000 {isinstance}
  7370.0010.0000.0020.000 /base/python_dist/lib/
python2.5/pickle.py:254(get)
   820.0010.0000.0080.000 /base/python_dist/lib/
python2.5/pickle.py:684(save_inst)
 11540.0010.0000.0010.000 {repr}
  2520.0010.0000.0040.000 /base/python_dist/lib/
python2.5/pickle.py:526(save_tuple)
  3010.0010.0000.0020.000 /base/python_lib/
versions/1/google/appengine/api/datastore_types.py:77(ValidateString)
  2460.0010.0000.0040.000 /base/python_dist/lib/

[google-appengine] Re: Trouble with Zipfile, Django 1.0, GAE Django Helper

2008-11-04 Thread Daniel O'Brien (Google)

It sounds as if you've found an alternate solution, but regarding the
error you ran into while following the article, the following as part
of step 4 should resolve the problem:

zip -r django.zip django/contrib/__init__.py django/contrib/auth
django/contrib/sessions

Note that you may also need to adjust MIDDLEWARE_CLASSES in
settings.py to enable
'django.contrib.sessions.middleware.SessionMiddleware', since auth
depends on it.

Daniel

On Nov 2, 9:07 pm, Dylan Lorimer [EMAIL PROTECTED] wrote:
 So I'm trying to get the app engine django helper working with the
 zipfile example for django 1.0, and running into a problem.

 I should also mention that I'm using the bootstrap method in the GAE
 django helper readme. I'm also using version 66 of the django helper
 (pulled via svn.)

 I created the django.zip following the exact instructions 
 athttp://code.google.com/appengine/articles/django10_zipimport.html.

 So, the trouble I'm having is that after dropping in django.zip into
 the root level of my application folder, I start the app server, and
 in the browser see the following error(s):

 
 Traceback (most recent call last):
   File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
 GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
 google/appengine/tools/dev_appserver.py, line 2413, in _HandleRequest
 base_env_dict=env_dict)
   File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
 GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
 google/appengine/tools/dev_appserver.py, line 348, in Dispatch
 base_env_dict=base_env_dict)
   File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
 GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
 google/appengine/tools/dev_appserver.py, line 1848, in Dispatch
 self._module_dict)
   File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
 GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
 google/appengine/tools/dev_appserver.py, line 1766, in ExecuteCGI
 reset_modules = exec_script(handler_path, cgi_path, hook)
   File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
 GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
 google/appengine/tools/dev_appserver.py, line 1664, in
 ExecuteOrImportScript
 script_module.main()
   File /Users/edylan/Development/JaceyPhotographs2/main.py, line 48,
 in main
 util.run_wsgi_app(application)
   File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/
 GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
 google/appengine/ext/webapp/util.py, line 76, in run_wsgi_app
 result = application(env, _start_response)
   File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/
 core/handlers/wsgi.py, line 228, in __call__
   File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/
 core/handlers/base.py, line 40, in load_middleware
 continue
 ImproperlyConfigured: Error importing middleware
 django.contrib.auth.middleware: No module named
 contrib.auth.middleware

 
 looks like the error is in my django.zip that I'm creating, but I'm
 not sure how to fix this. Any ideas?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
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
-~--~~~~--~~--~--~---



  1   2   >