[google-appengine] Re: Create an application but not show in my account

2009-07-27 Thread ez

Nick,

Looks like there's a mix-up when a user on a Google Apps domain tries
to sign up for App Engine with a Google Account:

Step 1: Create a Google Apps domain and user account
Step 2: Try to sign up for App Engine at appengine.google.com - fails
because Google Apps user isn't a Google Account
Step 3: Create a Google Account for the Google Apps user
Step 4: Try to sign up for App Engine at appengine.google.com - now it
works
Step 5: Create an application
Step 6: Do SMS verification - App Engine returns the user to the
Create Application page, can't see dashboard or apps
Step 7: Try to create application again - fails because now name is
already in use
Step 8: Create a second application with a different name - again
returns user to the Create Application page, can't see dashboard or
apps
Step 9: Sign out of App Engine, and sign back in with
http://appengine.google.com/a/appsdomain.com - now I can see my 2
domains!
Step 10: Domain list shows 2 domains, and says I have 10 more left
(should be 8 more)
Step 11: Try to create a third application -- requires SMS
verification again (which won't work because the number has already
been used)

So is part of my account authenticated with the Google Account, and
part with the Google Apps account?

Thanks!

On Jul 3, 2:55 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Dot,

 Are you using the email address you posted from to create the apps? If
 so, you need to go tohttp://appengine.google.com/a/dotography.comto
 see (and create) your apps.

 -Nick Johnson





 On Thu, Jul 2, 2009 at 8:20 AM, Dotgadg...@dotography.com wrote:

  Hello,

  I have signed up and verified. Then try creating an application at
  this step:http://appengine.google.com/start/createapp.. The chosen
  name is available, after fill all the required field and Save, it
  returns to the welcome page and the created application is not shown
  in my list. But as testing the application name is already take.

  I have done another trial with the new application name and the
  problem is the same.

  Please help suggest what I do wrong. Thank you in advance.

  Best regards,

  Dot

 --
 Nick Johnson, App Engine Developer Programs Engineer
 Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
 Number: 368047

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



[google-appengine] newbie question: hosting native c++ utilities in google infrastructure

2009-07-27 Thread ni

Hi team,
i am evaluating google appengine for creating an application and was
wondering if there is a way to host a 3rd party open source C++
application / library in google appengine infrastructure. This
application / library may be invoked thru' jni call to perform data
processing and provide results that may be consumed by the datastore.
If this kind of application can not be hosted by google
infrastructure, what are the alternatives.

This is an important information for us to make a decision. Please
provide your expert advice. I searched all of google appengine forum
and could not find a solution. Any pointers in the right direction is
greatly appreciated.

Thanks.

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



[google-appengine] Account Activation

2009-07-27 Thread Jerry

I am trying to create a second application with my appengine ID, but
it's asking me to verify my account by SMS.  When I enter my phone
number, it tells me that the number has already been used too many
times.

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



[google-appengine] Re: Outdated Files Being Served?

2009-07-27 Thread hdanniel

I have a similar problem from one week ago. I upload a new version of
the application, then I run the app from the internet and get the
results as if they were from new version. F5 or CtrlF5 in firefox gave
me the results as the old version, and sometimes I get results as if
they were from an older version or with two versions in one separated
by OK Content-Type: text/html; charset=utf-8 Cache-Control: no-cache
Content-Length: xxx. I clear the browser cache with the same results.
Weirdest thing is that the data is dynamic, so I can see the new data,
but being processed in differents way according to the version of the
app. When I manually introduced an error, the error page is properly
displayed. I try with two differents apps.
Maybe a problem with the google cache?

Thanks,

Héctor


On 24 jul, 23:22, Devel63 danstic...@gmail.com wrote:
 When I upload a new site.css file, my browser sometimes seems to get
 the old version, or the new version, randomly with each call.

 I have cleared my browser cache, tried it on different computers,
 etc.

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



[google-appengine] Noob web programmer seeks Jedi guru

2009-07-27 Thread Mark Essel

Doing some simpe oauth stuff on the GAE and having a redirect merry go
round (doesn't happen with localhost).

Warning, just began using php a month ago, and dove into scala/lift/
java/python/GAE
please speak in simple words, a if you were explaining it to a child
(galaxy quest fans)

thanks ladies and gents in advance.
You'll be rewarded with the wonders of the virtual currency known as
gratitude

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



[google-appengine] How to set up app.yaml to handle URLs like www.mydomain.com/category/subcategory

2009-07-27 Thread Quim

Hi all.

I want my application to handle URLs like www.mydomian.com/category/subcategory.
I've set up my app.yaml like this:

- url: /category/subacategory
  script: home.py
- url: /.*
  script: home.py

It does not work with the developer server (I've not used production
server yet).
What am I doing wrong?

Thanks in advanced,
Quin.


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



[google-appengine] Google App Engine and Google Maps using GWT

2009-07-27 Thread Gopinath Prathapineni

I am getting the below error when I am trying to use google maps:

The Google Maps API server rejected your request.  This could be
because the API key used on this site was registered for a different
web site.  You can generate a new key for this web site at
http://code.google.com/apis/maps/

I have provided valid key in the module-xml file. You can access my
application at: http://movie-location.appspot.com/ and you can see the
error I am getting.

But my concern is the initial request was served which loads Hyderabad
centered map but the subsequent requests to geocode and all other
things did not work as expected when I deployed.

Has anybody faced the same problem? I searched in this group and found
zero results. Can somebody know the reason why it is behaving like
this?

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



[google-appengine] Re: When will we trust indexes?

2009-07-27 Thread sf

I still have a problem (July 25th 2009) with an index returning
different results.
When I query using a sort property that requires an index, I get
vastly fewer results than when I do an unsorted query that does not
use the index.

I have deleted the index and re-built it over the past week, and I
still have the same problem.

It can be reproduced 100% of the time with each query that uses the
index.

As an example, an unsorted query returns 640 results. The same query,
sorted, returns 329 results. Adding a sort order to the query
shouldn't shave more than a hundred results off (it should return
exactly the same number of results, but in sorted order).

sf



On Jun 9, 11:32 pm, Rodrigo Moraes rodrigo.mor...@gmail.com wrote:
 On Tue, Jun 9, 2009 at 8:13 PM, wrote:

  Just a note that all previous indexes that were broken by this bug
  should be fixed now, meaning they should be returning the expected
  results.

 Hi Jason,
 Thank you very much for the quick response. All my problematic indexes
 are all working fine now.

 -- rodrigo

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



[google-appengine] Filtering by ancestor using the JPA

2009-07-27 Thread Jason

I would like to use filters like ancestor is blank using the JPA
(and datanucleus, i suppose), but the ancestor is syntax doesn't
seem to be supported by the query parser. Is there a technique I
should be using to leverage this feature through the JPA? It doesn't
seem obvious to me.

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



[google-appengine] Building index stucked

2009-07-27 Thread Tito Garrido
Hi,

My application titogarrido has 3 indexes that are on Build state for more
than 5 days... What can I do to fix it?

Thanks in advance,

Tito

-- 

Linux User #387870
.
 _/_õ|__|
..º[ .-.___.-._| . . . .
.__( o)__( o).:___

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



[google-appengine] Mutation of instances and other facilities for modern system development.

2009-07-27 Thread aleReimondo

Hi,

It is my first post here, I have been searching a while but
 have not found any help on how to solve some of the
 functionality needed in evolvable systems of today.
What I am looking for is not new, it is something that
 I (and a lot of systems developers) have been using during
 last 20 years  more, known as instance mutation facilities.
 It is needed in any mediumbig application development
 while working with objects, not in the old way (+30years)
 of writing code and restarting programs.

I will put it in short questions and hope here will
 find experts to guide me to good references
 in documentation (sorry to ask, but I have not
 found it in the docs):
1.- How do you get a collection with all instances
 of a class present in the system (or running subspace) ?
2.- How do you change one instance with another (of the
 same species or not) while the system is running ?
 (all refering objects will see the new object where
 the old was pointed, as become operation
 or better... massive become)
3.- How do you change an object to one of other class?
 (e.g. anObject changeClassTo: aClass ) preserving identity
 but mutating (change of behavior and shape).
4.- Any support for Traits?
5.- Any support for continuations?

Don´t worry to give references in any language that can
 be used in appengine, or if it is required low level work.
Any guide or quick link will be really appreciated! [*]

thanks in advance,
Ale.

[*] please don't respond asking why I want/need to do

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



[google-appengine] Mutation of instances and other facilities for modern system development.

2009-07-27 Thread Alejandro F. Reimondo

Hi,

It is my first post here, I have been searching a while but
 have not found any help on how to solve some of the
 functionality needed in evolvable systems of today.
What I am looking for is not new, it is something that
 I (and a lot of systems developers) have been using during
 last 20 years  more, known as instance mutation facilities.
 It is needed in any mediumbig application development
 while working with objects, not in the old way (+30years)
 of writing code and restarting programs.

I will put it in short questions and hope here will
 find experts to guide me to good references
 in documentation (sorry to ask, but I have not
 found it in the docs):
1.- How do you get a collection with all instances
 of a class present in the system (or running subspace) ?
2.- How do you change one instance with another (of the
 same species or not) while the system is running ?
 (all refering objects will see the new object where
 the old was pointed, as become operation
 or better... massive become)
3.- How do you change an object to one of other class?
 (e.g. anObject changeClassTo: aClass ) preserving identity
 but mutating (change of behavior and shape).
4.- Any support for Traits?
5.- Any support for continuations?

Don´t worry to give references in any language that can
 be used in appengine, or if it is required low level work.
Any guide or quick link will be really appreciated! [*]

thanks in advance,
Ale.

[*] please don't respond asking why I want/need to do
 that nor suggesting to avoid the operations :-) 



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



[google-appengine] Re: How do Singletons in Google App Engine (or more generally in a distributed server environment) work?

2009-07-27 Thread vikramark singh
 I guess it should be handled using virtual vm's. There are many products in
market that offer Virtual VM example Terracotta. I am not sure how google is
handling this, but i believe they would be using similar concepts of Virtual
VMs.

On Sat, Jul 25, 2009 at 8:45 PM, Shane shanelstev...@gmail.com wrote:


 Hi,

 I am intrigued as to how singletons work in Google App Engine.  Given
 your application can be running in multiple processes (on multiple
 machines) at once, and requests can get routed all off the place, what
 actually happens under the hood when an app does something like:
 'CacheManager.getInstance()'?

 I'm just using the CacheManager as an example, but my point is, there
 is a single global application instance of a singleton somewhere, so
 where does it live? Is an RPC invoked?  In fact, how is global
 application state (like sessions) actually handled generally?

 Regards,
 Shane
 



-- 
Vikramark
http://www.vikramark.com

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



[google-appengine] how to learn more from google app engine

2009-07-27 Thread www.voguemalls.com

view more news and visit often


http://www.voguemalls.com

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



[google-appengine] Re: Information regarding 2 July 2009 outage

2009-07-27 Thread ramu

bump for those who missed this thread .. :-)

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



[google-appengine] Re: SMS Verfication Troubles

2009-07-27 Thread Jonathan Mayhak

I think that I'm having the same problem.

When I try to create a new application I'm told to enter my cell
number for verification purposes.  The verification fails because,
apparently, my number is already in use.

Could you activate my account as well?

I'm going to fill out this form as well: 
http://appengine.google.com/waitlist/sms_issues


On Jul 23, 6:16 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Vinci,

 I've activated your account.

 -Nick

 On Wed, Jul 22, 2009 at 3:12 PM, Vinci Amorim vinci.amo...@gmail.comwrote:



  Hi Nick Johnson,

  I´m having the same problem (Brazil).

  On Wed, Jul 22, 2009 at 9:52 AM, Nick Johnson (Google) 
  nick.john...@google.com wrote:

  Hi Nicolas,

  I've activated your account.

  -Nick Johnson

  On Mon, Jul 20, 2009 at 6:48 AM, Nicolasnlan...@gmail.com wrote:

   Hi, I'm having the same problem with movistar in Argentina, could you
   also help me?
   Thanks

   Nicolas

   On Jul 14, 6:51 am, Nick Johnson (Google) nick.john...@google.com
   wrote:
   Hi Aivar,

   I've manually activated your account.

   -Nick Johnson

   On Sat, Jul 11, 2009 at 8:04 PM, Aivaraivar.anna...@gmail.com wrote:

Nick, could you please help me too!

I tried to get verification code to 2 different Estonian carriers
  (EMT
and Tele2) without success (waited for 2 days).
I was also unable to report problem athttp://
  appengine.google.com/waitlist/sms_issues
- from there i got error message There were errors:    * Carrier

thanks in advance!

Aivar

   --
   Nick Johnson, App Engine Developer Programs Engineer
   Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
   Number: 368047

  --
  Nick Johnson, App Engine Developer Programs Engineer
  Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
  Number: 368047

  --
  Vinci Amorim
 http://vinci.blog.br

 --
 Nick Johnson, App Engine Developer Programs Engineer
 Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
 368047

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



[google-appengine] Data deletion

2009-07-27 Thread Habiba Khalid



I have a table in Google App Engine. Accessing the data through
python. And displaying in an iPhone App. When after data access i try
to delete the records, these don delete from Table but don show in
iPhone app too. ANy solution?
Does not work for both queries given below

TestDB.filter ('receiverPhoneId =', receiverid).get().delete()

Or

q = db.GqlQuery(SELECT * FROM TestDB WHERE receiverPhoneId = :1,
receiverid)
results = q.fetch(10)
for result in results:
  result.delete()

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



[google-appengine] Re: Problem with Verify Your Account by SMS

2009-07-27 Thread maroxe

Hi i have the same problem, can you activat my account pls?

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



[google-appengine] Re: Consuming OAuth requests in app engine

2009-07-27 Thread nolybab

Jaap,

See if this link has what you need:
http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine#Sending_and_verifying_signed_requests

That should help.

Good luck...
Terry

On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote:
 Hi all,

 I'm creating an opensocial widget on hyves.nl (a dutch social
 networking site). I'm calling a makeRequest with
 RequestParamters.AUTHORIZATION set to SIGNED. The GET call is enriched
 with several query string parameters like:
 * opensocial_owner_id
 * opensocial_viewer_id
 * opensocial_app_id
 * oauth_consumer_key
 * oauth_token (empty)
 * xoauth_signature_publickey
 * oauth_signature_method
 * oauth_nonce
 * oauth_timestamp
 * oauth_signature

 How do I verify that this request is coming from the hyves.nl
 opensocial container?
 I've found that GData does some oauth stuff, but that Api needs to
 fetch an oauth token, while I just want to verify that the SIGNED
 request is indeed coming from the container...

 Anyone any pointers to the right direction?

 Jaap

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



[google-appengine] Datastore quota usage far exceeds sum size of items in datastore

2009-07-27 Thread Calvin Slayden

Hello,

After noticing my app using far more of the datastore quota than I
expected, I conducted a little experiment with a toy app. The toy
creates records of the format:

class Record(db.Model):
int1 = db.IntegerProperty()
# ... repeated three more times

According to the App Engine documentation, IntegerProperty types in
the datastore are stored as 64-bit integers, so each record consists
of 8 * 4 = 32 bytes of payload, plus overhead (key size * number of
records, etc). I was hoping, with this experiment, to gain some
insight into what that overhead costs.

I uploaded 141,725 (sorry it's not a round number) of these records
and waited a day for my quota to update; it now shows me using 0.09GB
of my stored data quota. (In comparison, the amount of payload data
in the store is only 141,725 x 32 = 4,535,200 bytes, or ~0.004GB.)

I'm not sure whether it's best to compute overhead-per-property or
overhead-per-record (there is obviously a nontrivial cost to the
former, of course), and determining which is actually using the extra
quota would probably take more effort than it's worth, so I figured
I'd ask here.

Anyway, in terms of overhead, I'm observing (in this case)
approximately 600 bytes per record (in addition to the size of the
record's payload), or 150 bytes per property. In my particular case
(though I doubt this ratio is anything resembling constant), I'm
seeing 19 bytes of quota used for every byte of payload.

So I guess I have two big questions.

First, quota obviously measures something resembling the total size of
the datastore tables created by the user (their size on disk?), which,
due to indexing and such, is obviously going to be larger than the
size of the payload alone. Right?

Second, how can I minimize this? Is the primary cost the added
indices, such that if I disable indexing for properties I won't be
querying on, I'll save space? (Again, this is something I could
experiment with, but at this point, why not just ask?) What's the
overhead per record, regardless of indexing? Are there any other steps
I can take to minimize my datastore quota usage?

(The application I'm actually developing stores a few hundreds of
megabytes of data in three tables--two of them only necessary because
of the limitations on the types of queries datastore can handle--and
while when I was developing the application I estimated that we would
be able to stay well within an affordable amount of quota usage, it
now appears that we would be using something like 200GB of
datastore.)

Thanks,
Calvin

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



[google-appengine] Re: adding libraries to the application

2009-07-27 Thread Nuno
the same problem... but i'm importing another library but the jetty cant
find it classes.
Anybody could help?

On Thu, Jul 23, 2009 at 2:12 PM, ___daniel___ 
google-analyt...@historygames.de wrote:


 I've got the same problem :-(
 Any help?


 On 20 Jul., 09:26, mangrar mang...@gmail.com wrote:
  I'm trying usin Spring Framework with my google app engine app. In my
  eclipse project classpath I have the required libraries (spring-
  context.jar, spring-beans.jar, spring-web.jar...) but when the
  application start the class
  org.springframework.web.context.ContextLoaderListener cannot be found,
  I get aClassNotFoundException. I've tried copying the libraries in
  war/WEB-INF/lib, but I get the same message. Does anybody know what
  I'm doing wrong?

 



-- 
Quer aprender a programar? acompanhe:
Wants to learn GWT? Follow this blog -

http://tcninja.blogspot.com

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



[google-appengine] Reset Datastore Indices Count

2009-07-27 Thread bryan.burg...@gmail.com

My Datastore Indices Count needs to be reset. Can somebody help me? I
had several failing indexes, but they finally were able to be vacuumed
out, and I only have 6 indices now, but my dashboard says I'm over and
I get an error every time I try to add a new index.

My appid is 'snaplist'.

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



[google-appengine] mapping www.mydomain.com to my-app-id.appspot.com

2009-07-27 Thread Srikanth

This must have been discussed number of times.. but honestly i did so
much googling around but it is impossible find a proper answer.

First i built the app using appengine. Then I went to Versions and
tried to Add domain, which led me to buy the domain using google apps.
Once I bought it, i'm lost totally. How do I map my appengine
application to www.mydomain.com. I'm not asking about naked domain.
that is the least of my problem.

I can see myapp.appspot.com as a service under google apps account.
But, how do I map it to www.mydomain.com?

Please advice.


- Srikanth

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



[google-appengine] Re: Inifite redirect loop on login

2009-07-27 Thread Mark Essel

I ran into a similar problem. Code worked fine in the test localhost.
But as soon as I uploaded it I kept getting the redirect loop.
Would appreciate some insight.

On Jul 17, 10:30 pm, michael.maguire michael.magu...@gmail.com
wrote:
 This would appear to happen whenever I attempt to login to the app
 with any ID other than the one that actually owns the Google Apps
 account -- it does not matter that I have already added the non-owner
 account as a developer for the app

 On Jul 17, 5:43 pm, michael.maguire michael.magu...@gmail.com
 wrote:



  I am seeing this same error today attempting to log in to Google App
  Engine using a Google Apps account even though I am using 
  thehttp://appengine.google.com/a/yourdomain(actuallyhttp://appengine.goo...)
   suggestion from above.

  ---
  This web page has a redirect loop.

  The web page at null has resulted in too many redirects. Clearing your
  cookies for this site may fix the problem. If not, it is possibly a
  server configuration issue and not a problem with your computer.

  Here are some suggestions:
  Reload this web page later.
  Learn more about this problem.
  ---

  On May 21, 10:39 am, Nick Johnson (Google) nick.john...@google.com
  wrote:

   Hi jannick,

   Are you using a Google Apps account? If so, this is a known bug, which
   you can resolve by logging in 
   athttp://appengine.google.com/a/yourdomain(where'yourdomain'is the
   domain name part of yourloginemail address).

   -Nick Johnson

   On Wed, May 20, 2009 at 8:32 PM, jannick jann...@ovja.dk wrote:

Hi

When I try to log-in to the GAE dashboard/management app I end up in
an infiniteloopof redirects. I've seen this behavior since last
weekend, and from multiple computers, locations and browsers. Anyone
else experiencing this issue, or is it possible that my account has
somehow been setup wrong? (I havnt used the GAE account yet, aside
from exploring the interface).- Hide quoted text -

   - Show quoted text -- Hide quoted text -

  - Show quoted text -

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



[google-appengine] Re: Reset Datastore Indices Count

2009-07-27 Thread Nick Johnson (Google)
Hi bryan,

Done.

-Nick Johnson

On Mon, Jul 27, 2009 at 2:26 PM, bryan.burg...@gmail.com 
bryan.burg...@gmail.com wrote:


 My Datastore Indices Count needs to be reset. Can somebody help me? I
 had several failing indexes, but they finally were able to be vacuumed
 out, and I only have 6 indices now, but my dashboard says I'm over and
 I get an error every time I try to add a new index.

 My appid is 'snaplist'.

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Can't log in

2009-07-27 Thread kosta.mihajlov

I have the same issue, and it's very annoying. i'm trying to login
with my google account and it always returns me on the login page.Just
want to create a new application and dont have idea how to do that
curenntly.

If anyone has idea, pls write

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



[google-appengine] Re: mapping www.mydomain.com to my-app-id.appspot.com

2009-07-27 Thread Nick Johnson (Google)
Hi Srikanth,

Follow the instructions here:
http://code.google.com/appengine/articles/domains.html

When asked to specify a subdomain, enter 'www'.

-Nick Johnson

On Sun, Jul 26, 2009 at 7:07 AM, Srikanth sriky...@gmail.com wrote:


 This must have been discussed number of times.. but honestly i did so
 much googling around but it is impossible find a proper answer.

 First i built the app using appengine. Then I went to Versions and
 tried to Add domain, which led me to buy the domain using google apps.
 Once I bought it, i'm lost totally. How do I map my appengine
 application to www.mydomain.com. I'm not asking about naked domain.
 that is the least of my problem.

 I can see myapp.appspot.com as a service under google apps account.
 But, how do I map it to www.mydomain.com?

 Please advice.


 - Srikanth

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: can't Verify Your Account by SMS

2009-07-27 Thread Nick Johnson (Google)
Hi,

If you are having trouble with SMS verification, or want an additional
account activated, please fill out the following form:

http://appengine.google.com/waitlist/sms_issues

(This is from the following FAQ http://code.google.com/appengine/kb/sms
.html#error )

Once you fill out this form, you should receive access within a day or two.

Happy coding,

Nick Johnson



On Mon, Jul 27, 2009 at 1:24 PM, mr.lequoct...@gmail.com 
mr.lequoct...@gmail.com wrote:


 my country code is 84, I was enter +841666xx but it say An error
 has occurred while sending. Please try again.

 please help me!

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Versions default

2009-07-27 Thread Thomas

Hi

( newbee - please excuse my ignorance )

Ive been tinkering with installing django ( via app-patch ) and
uploading and replacing new versions of the site...I usually just made
changes and then uploaded. Now I notice that I have two seemingly
different installs on GAE - like this:

http://2.latest.myulr.appspot.com/
and
http://myurl.appspot.com/

but my dashboard only shows ONE ( http://2.latest.ojingolabs.appspot.com/
) -- and this is shown as the default.

Im not sure I understand whats going on? can someone explain?  how can
I remove two versions and get back to only one...

cheers,

T

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



[google-appengine] Re: Google Apps Integration

2009-07-27 Thread Nick Johnson (Google)
Hi nolybab,

Any App Engine app can be mapped on any number of App Engine domains. For
the moment, however, the only way for your app to tell which domain it's on
is to check the Host header and behave appropriately. Moderator and the
other apps in Apps Labs use a not-yet-released API that facilitates this.

-Nick Johnson

On Sat, Jul 25, 2009 at 12:00 AM, nolybab thardin...@gmail.com wrote:


 I am fairly new to developing on Google App Engine. I have done some
 initial prototype development and testing, but I have a question and
 I'm hoping someone can answer.

 What I'm trying to figure out is how to create an App Engine 'service'
 that can be used on any Google Apps domain. The confusion that I am
 having is wondering how the implementation knows which google apps
 domain is being used/referenced. If I just program a web service, will
 it automatically be able to initialize and run in separate 'instances'
 for different domains, or do I have to somehow program the system to
 recognize when it's running in a different domain and initialize
 accordingly?

 For example, consider Google Moderator, which runs as a completely
 silo'd application for each google apps domain.

 I hope I explained my question good enough. Any feedback would be much
 appreciated.

 thanks,
 Terry

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Versions default

2009-07-27 Thread Nick Johnson (Google)
Hi Thomas,

You can always access the default version by its version-specific URL as
well as the default URL.

-Nick Johnson

On Sat, Jul 25, 2009 at 9:09 PM, Thomas tmarb...@gmail.com wrote:


 Hi

 ( newbee - please excuse my ignorance )

 Ive been tinkering with installing django ( via app-patch ) and
 uploading and replacing new versions of the site...I usually just made
 changes and then uploaded. Now I notice that I have two seemingly
 different installs on GAE - like this:

 http://2.latest.myulr.appspot.com/
 and
 http://myurl.appspot.com/

 but my dashboard only shows ONE ( http://2.latest.ojingolabs.appspot.com/
 ) -- and this is shown as the default.

 Im not sure I understand whats going on? can someone explain?  how can
 I remove two versions and get back to only one...

 cheers,

 T

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Consuming OAuth requests in app engine

2009-07-27 Thread Jaap Taal
Terry,
Thanks, I've found some other resources, but this is a usefull one!

Jaap

On Sat, Jul 25, 2009 at 1:13 AM, nolybab thardin...@gmail.com wrote:


 Jaap,

 See if this link has what you need:

 http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine#Sending_and_verifying_signed_requests

 That should help.

 Good luck...
 Terry

 On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote:
  Hi all,
 
  I'm creating an opensocial widget on hyves.nl (a dutch social
  networking site). I'm calling a makeRequest with
  RequestParamters.AUTHORIZATION set to SIGNED. The GET call is enriched
  with several query string parameters like:
  * opensocial_owner_id
  * opensocial_viewer_id
  * opensocial_app_id
  * oauth_consumer_key
  * oauth_token (empty)
  * xoauth_signature_publickey
  * oauth_signature_method
  * oauth_nonce
  * oauth_timestamp
  * oauth_signature
 
  How do I verify that this request is coming from the hyves.nl
  opensocial container?
  I've found that GData does some oauth stuff, but that Api needs to
  fetch an oauth token, while I just want to verify that the SIGNED
  request is indeed coming from the container...
 
  Anyone any pointers to the right direction?
 
  Jaap

 


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



[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore

2009-07-27 Thread Nick Johnson (Google)
Hi Calvin,

On Sun, Jul 26, 2009 at 6:36 PM, Calvin Slayden calvin.slay...@gmail.comwrote:


 Hello,

 After noticing my app using far more of the datastore quota than I
 expected, I conducted a little experiment with a toy app. The toy
 creates records of the format:

 class Record(db.Model):
int1 = db.IntegerProperty()
# ... repeated three more times

 According to the App Engine documentation, IntegerProperty types in
 the datastore are stored as 64-bit integers, so each record consists
 of 8 * 4 = 32 bytes of payload, plus overhead (key size * number of
 records, etc). I was hoping, with this experiment, to gain some
 insight into what that overhead costs.

 I uploaded 141,725 (sorry it's not a round number) of these records
 and waited a day for my quota to update; it now shows me using 0.09GB
 of my stored data quota. (In comparison, the amount of payload data
 in the store is only 141,725 x 32 = 4,535,200 bytes, or ~0.004GB.)

 I'm not sure whether it's best to compute overhead-per-property or
 overhead-per-record (there is obviously a nontrivial cost to the
 former, of course), and determining which is actually using the extra
 quota would probably take more effort than it's worth, so I figured
 I'd ask here.

 Anyway, in terms of overhead, I'm observing (in this case)
 approximately 600 bytes per record (in addition to the size of the
 record's payload), or 150 bytes per property. In my particular case
 (though I doubt this ratio is anything resembling constant), I'm
 seeing 19 bytes of quota used for every byte of payload.

 So I guess I have two big questions.

 First, quota obviously measures something resembling the total size of
 the datastore tables created by the user (their size on disk?), which,
 due to indexing and such, is obviously going to be larger than the
 size of the payload alone. Right?


More or less, yes. The total size includes the size of the serialized Entity
Protocol Buffer (which includes all the fields' values, their names ('int1'
in your case), plus some encoding overhead), as well as several built-in
indexes, plus any custom indexes you've built.




 Second, how can I minimize this? Is the primary cost the added
 indices, such that if I disable indexing for properties I won't be
 querying on, I'll save space? (Again, this is something I could
 experiment with, but at this point, why not just ask?) What's the
 overhead per record, regardless of indexing? Are there any other steps
 I can take to minimize my datastore quota usage?


Disabling indexing for fields you don't require to be indexed is the
simplest and most effective step. You can also use shorter field names, to
reduce redundant storage requirements there, if you wish. To make things
more user friendly, you can specify a name in your model:

  class MyModel(db.Model):
areallylongpropertyname = db.IntegerProperty(name='a')

But bear in mind that you'll have to use the shortened names when executing
queries.

-Nick Johnson




 (The application I'm actually developing stores a few hundreds of
 megabytes of data in three tables--two of them only necessary because
 of the limitations on the types of queries datastore can handle--and
 while when I was developing the application I estimated that we would
 be able to stay well within an affordable amount of quota usage, it
 now appears that we would be using something like 200GB of
 datastore.)

 Thanks,
 Calvin

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: How to get User Object Using OpenId-consumer Project

2009-07-27 Thread Nick Johnson (Google)
Hi Karthi,

There is no 'user object' in OpenID authentication. After authentication
succeeds, it's up to you to keep track of the authenticated user - for
example, by creating a session using a library such as Beaker.

-Nick Johnson

On Sat, Jul 25, 2009 at 1:11 PM, karthi karthi...@gmail.com wrote:


 I am using Openid-consumer project to authenticate my google app-
 engine application. After autentication i am expecting user object, Is
 there a way to get User Object?

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Need Support

2009-07-27 Thread Nick Johnson (Google)
Hi,

Please fill out the following form with your new (Google Apps) email
address:

http://appengine.google.com/waitlist/sms_issues

(This is from the following FAQ http://code.google.com/appengine/kb/sms
.html#error )

Once you fill out this form, you should receive access within a day or two.

Happy coding,

Nick Johnson



On Fri, Jul 24, 2009 at 9:43 PM, Jerry je...@heiselman.com wrote:


 Okay, I'm pretty sure I've dorked up my appengine account.  Here's
 what happened.

 I used to have jerry.heisel...@gmail.com.  I signed up for appengine
 and created an application-id with this account.  Sometime later, I
 got my domain registered as a Google Apps domain and added my email
 address to my regular Google profile.  Later on, I deleted my
 gmail.com email address and made my personal domain my primary email
 address on my account.  Well, now it seems that appengine recognizes
 my new address as a developer (even and administrator), but it won't
 allow it to do anything.  I seem to be able to invite other
 developers, but I can't remove them.  I can't upload my application.
 I'm not sure if tying my appengine application to my Google Apps
 domain works or not though it looks like it would.  Oh, and I can't
 create new applications as it asks me to verify by SMS and then tells
 me that my number has already been used to verify an account or was
 already sent too many messages.

 Is there any way I can just get a reset on my appengine account.  Just
 delete it and let me start over or something?  I just finished writing
 up an application that I was going to use to organize a family
 function coming up soon and now I can't even use it unless I want to
 host it off the dev server.

 Thanks for anyone who can help me.

 --
 Jerry

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Consuming OAuth requests in app engine

2009-07-27 Thread nolybab

Jaap,

If you don't mind, please share any other resources you may have that
might be useful on this topic :)

Thanks,
Terry

On Jul 27, 10:07 am, Jaap Taal j...@q42.nl wrote:
 Terry,
 Thanks, I've found some other resources, but this is a usefull one!

 Jaap

 On Sat, Jul 25, 2009 at 1:13 AM, nolybab thardin...@gmail.com wrote:

  Jaap,

  See if this link has what you need:

 http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App...

  That should help.

  Good luck...
  Terry

  On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote:
   Hi all,

   I'm creating an opensocial widget on hyves.nl (a dutch social
   networking site). I'm calling a makeRequest with
   RequestParamters.AUTHORIZATION set to SIGNED. The GET call is enriched
   with several query string parameters like:
   * opensocial_owner_id
   * opensocial_viewer_id
   * opensocial_app_id
   * oauth_consumer_key
   * oauth_token (empty)
   * xoauth_signature_publickey
   * oauth_signature_method
   * oauth_nonce
   * oauth_timestamp
   * oauth_signature

   How do I verify that this request is coming from the hyves.nl
   opensocial container?
   I've found that GData does some oauth stuff, but that Api needs to
   fetch an oauth token, while I just want to verify that the SIGNED
   request is indeed coming from the container...

   Anyone any pointers to the right direction?

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



[google-appengine] Re: Google Apps Integration

2009-07-27 Thread nolybab

Nick,

Thanks for the information. Actually, this is as much a blessing as a
curse :) Naturally, there are some things that I want shared between
domains, and other things that I want not shared. In the case where I
want to share info, no problemo...but where I want data in domain-
silo, then I just have to add a 'host' property to my models and query
accordingly. Nevertheless, looking forward to that 'not-yet-released'
API :)

--noly

On Jul 27, 10:05 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi nolybab,

 Any App Engine app can be mapped on any number of App Engine domains. For
 the moment, however, the only way for your app to tell which domain it's on
 is to check the Host header and behave appropriately. Moderator and the
 other apps in Apps Labs use a not-yet-released API that facilitates this.

 -Nick Johnson



 On Sat, Jul 25, 2009 at 12:00 AM, nolybab thardin...@gmail.com wrote:

  I am fairly new to developing on Google App Engine. I have done some
  initial prototype development and testing, but I have a question and
  I'm hoping someone can answer.

  What I'm trying to figure out is how to create an App Engine 'service'
  that can be used on any Google Apps domain. The confusion that I am
  having is wondering how the implementation knows which google apps
  domain is being used/referenced. If I just program a web service, will
  it automatically be able to initialize and run in separate 'instances'
  for different domains, or do I have to somehow program the system to
  recognize when it's running in a different domain and initialize
  accordingly?

  For example, consider Google Moderator, which runs as a completely
  silo'd application for each google apps domain.

  I hope I explained my question good enough. Any feedback would be much
  appreciated.

  thanks,
  Terry

 --
 Nick Johnson, Developer Programs Engineer, App Engine
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Reset Datastore Indices Count

2009-07-27 Thread bryan.burg...@gmail.com

Thank you.

On Jul 27, 9:00 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi bryan,

 Done.

 -Nick Johnson

 On Mon, Jul 27, 2009 at 2:26 PM, bryan.burg...@gmail.com 

 bryan.burg...@gmail.com wrote:

  My Datastore Indices Count needs to be reset. Can somebody help me? I
  had several failing indexes, but they finally were able to be vacuumed
  out, and I only have 6 indices now, but my dashboard says I'm over and
  I get an error every time I try to add a new index.

  My appid is 'snaplist'.

 --
 Nick Johnson, Developer Programs Engineer, App Engine
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Indexes on lists of 'tags' queries

2009-07-27 Thread Kyle Jensen


Hi, I'd like to know if multiple equality filters on a ListProperty
leads to exploding indexes.

I have a model something like the following (python):

class Foo(db.model):
tags = db.ListProperty(db.Category)

@classmethod
def get_by_tags(cls, tags):
query = cls.all()
for tag in tags:
query.filter('tags =', tag)
return query

I'd like to know if I can filter by an arbitrary number of tags
without encountering the exploding index problem (its not clear to me
from the docs).

E.g., can I do
query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3'  'tagN'])

etc etc.

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



[google-appengine] Re: When will we trust indexes?

2009-07-27 Thread Nick Johnson (Google)
Hi sf,

What is your App ID?

-Nick Johnson

On Sat, Jul 25, 2009 at 6:19 PM, sf sorta...@sortafun.com wrote:


 I still have a problem (July 25th 2009) with an index returning
 different results.
 When I query using a sort property that requires an index, I get
 vastly fewer results than when I do an unsorted query that does not
 use the index.

 I have deleted the index and re-built it over the past week, and I
 still have the same problem.

 It can be reproduced 100% of the time with each query that uses the
 index.

 As an example, an unsorted query returns 640 results. The same query,
 sorted, returns 329 results. Adding a sort order to the query
 shouldn't shave more than a hundred results off (it should return
 exactly the same number of results, but in sorted order).

 sf



 On Jun 9, 11:32 pm, Rodrigo Moraes rodrigo.mor...@gmail.com wrote:
  On Tue, Jun 9, 2009 at 8:13 PM, wrote:
 
   Just a note that all previous indexes that were broken by this bug
   should be fixed now, meaning they should be returning the expected
   results.
 
  Hi Jason,
  Thank you very much for the quick response. All my problematic indexes
  are all working fine now.
 
  -- rodrigo

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: How to set up app.yaml to handle URLs like www.mydomain.com/category/subcategory

2009-07-27 Thread Nick Johnson (Google)
Hi Quim

The URL below will match only the literal text '/category/subcategory'.

Please see the documentation here for details on how to set up URL mappings:
http://code.google.com/appengine/docs/python/tools/webapp/running.html

-Nick Johnson

On Mon, Jul 27, 2009 at 1:14 PM, Quim joaquin.alma...@gmail.com wrote:


 Hi all.

 I want my application to handle URLs like
 www.mydomian.com/category/subcategory.
 I've set up my app.yaml like this:

 - url: /category/subacategory
  script: home.py
 - url: /.*
  script: home.py

 It does not work with the developer server (I've not used production
 server yet).
 What am I doing wrong?

 Thanks in advanced,
 Quin.


 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: newbie question: hosting native c++ utilities in google infrastructure

2009-07-27 Thread djidjadji

On GAE you can only run pure Python and pure Java code. No C or C++
code is allowed.
Some people have managed to get a PHP implementation running on the Java VM.

2009/7/25 ni nirmal.fer...@gmail.com:

 Hi team,
 i am evaluating google appengine for creating an application and was
 wondering if there is a way to host a 3rd party open source C++
 application / library in google appengine infrastructure. This
 application / library may be invoked thru' jni call to perform data
 processing and provide results that may be consumed by the datastore.
 If this kind of application can not be hosted by google
 infrastructure, what are the alternatives.

 This is an important information for us to make a decision. Please
 provide your expert advice. I searched all of google appengine forum
 and could not find a solution. Any pointers in the right direction is
 greatly appreciated.

 Thanks.

 


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



[google-appengine] Re: Account Activation

2009-07-27 Thread Nick Johnson (Google)
Hi,

If you are having trouble with SMS verification, or want an additional
account activated, please fill out the following form:

http://appengine.google.com/waitlist/sms_issues

(This is from the following FAQ http://code.google.com/appengine/kb/sms
.html#error )

Once you fill out this form, you should receive access within a day or two.

Happy coding,

Nick Johnson



On Fri, Jul 24, 2009 at 8:45 PM, Jerry je...@heiselman.com wrote:


 I am trying to create a second application with my appengine ID, but
 it's asking me to verify my account by SMS.  When I enter my phone
 number, it tells me that the number has already been used too many
 times.

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Indexes on lists of 'tags' queries

2009-07-27 Thread Nick Johnson (Google)
Hi Kyle,

Exploding indexes only come into play when you're _defining_ indexes - for
example, an index like this would be an exploding one:

- kind: Foo
  property: tags
  property: tags

As long as you can satisfy your queries using the built in merge join
support (which is the case in your example, where you don't specify
inequality filters or sort orders), you'll be fine.

-Nick Johnson

On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote:



 Hi, I'd like to know if multiple equality filters on a ListProperty
 leads to exploding indexes.

 I have a model something like the following (python):

 class Foo(db.model):
tags = db.ListProperty(db.Category)

@classmethod
def get_by_tags(cls, tags):
query = cls.all()
for tag in tags:
query.filter('tags =', tag)
return query

 I'd like to know if I can filter by an arbitrary number of tags
 without encountering the exploding index problem (its not clear to me
 from the docs).

 E.g., can I do
 query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3'  'tagN'])

 etc etc.

 Thanks! Kyle
 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Need Datastore Indices Count Reset

2009-07-27 Thread Nick Johnson (Google)
Hi Dan,

Done.

-Nick Johnson

On Fri, Jul 24, 2009 at 8:54 PM, Devel63 danstic...@gmail.com wrote:


 The app name is judysapps-qa

 Strange: this was reset a couple of weeks ago, we haven't changed any
 index definitions since then, and are well below the index quota.

 Thanks!
 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Adding Custom Domain to AppEngine app

2009-07-27 Thread Nick Johnson (Google)
Hi kurto,

You need to sign your domain up for Google Apps so that you can map a
subdomain of it to your App Engine app.

-Nick Johnson

On Fri, Jul 24, 2009 at 12:08 AM, kurto kurtostf...@gmail.com wrote:


 I go to control panel for application alethiaandkurt
 I click Versions
 I click Add Domain
 I enter the domain name that I own kurtandalethia.com
 I click Add Domain

 I get the error Sorry, you've reached a login page for a domain that
 isn't using Google Apps. Please check the web address and try again

 How do I get this to work?

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Indexes on lists of 'tags' queries

2009-07-27 Thread Kyle Jensen

Hi Nick,

I noticed that the dev server will automatically add indexes that
appear to be exploding indexes when I run queries like the example
above.  Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server
will create an index in index.yaml that is identical to the one you
posted above:

- kind: Foo
  property: tags
  property: tags

** Is that index not required for the snippet Foo.get_by_tags(['tag1',
'tag2'])?
** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar
is an IntegerProperty

Thanks for your help and sorry for my ignorance!!
Kyle


On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Kyle,

 Exploding indexes only come into play when you're _defining_ indexes - for
 example, an index like this would be an exploding one:

 - kind: Foo
   property: tags
   property: tags

 As long as you can satisfy your queries using the built in merge join
 support (which is the case in your example, where you don't specify
 inequality filters or sort orders), you'll be fine.

 -Nick Johnson



 On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote:

  Hi, I'd like to know if multiple equality filters on a ListProperty
  leads to exploding indexes.

  I have a model something like the following (python):

  class Foo(db.model):
     tags = db.ListProperty(db.Category)

    �...@classmethod
     def get_by_tags(cls, tags):
         query = cls.all()
         for tag in tags:
             query.filter('tags =', tag)
         return query

  I'd like to know if I can filter by an arbitrary number of tags
  without encountering the exploding index problem (its not clear to me
  from the docs).

  E.g., can I do
  query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3'  'tagN'])

  etc etc.

  Thanks! Kyle

 --
 Nick Johnson, Developer Programs Engineer, App Engine
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Compile and execute code at runtime

2009-07-27 Thread Nick Johnson (Google)
Hi Albert,

It's not possible to access the command line compiler from a Java App Engine
app. It may be possible to use internal reflection functionality to compile
the code, but you'd need to ask someone with more expertise in Java - asking
this in the google-appengine-java group will probably get you more useful
responses.

If the code doesn't have to be in Java, you might want to consider
Javascript - there are several embeddable Javascript interpreters for Java,
including Rhino, and they would make the application you describe quite
straightfoward to write.

-Nick Johnson

On Fri, Jul 24, 2009 at 3:41 PM, Albert Attard albertatt...@gmail.comwrote:


 Hi everyone:

 Background about the problem:
 I'm a Java lecturer and would like to create an automated question web
 application similar to an extended version of multiple choice answers
 by which the students can practice coding.

 Multiple choice questions are very popular in web exams as these are
 fully automated. You do the test and the system corrects it for you
 and gives you the results there and then. I would like to go one step
 further and have the student to supply a code fragment or even a class
 (es) and have the system automatically correcting it in a similar
 fashion to the multiple choice questions.

 Example (in a nutshell):
 The student is asked to write a method: that given an array of int and
 two indices of type int (between 0 and the size of the array - 1),
 this method will swap the elements at the given indices. The student
 will write the method in the text area and submit it. Then the system
 will include this method into a class, compile it and by using
 reflection execute it with an array of values to ensure that it is
 working as expected. During this process the system will be awarding
 the student marks and will display the final result together with
 comments as required.

 Google Appengine
 I have a prototype and it works great on Tomcat. Yes I know that it is
 subject to Java code injection but that's not an issue at this stage.
 This issue can be fixed at a later stage. Unfortunately I cannot
 implement it on the Google Appengine as most of the required
 functionality, such as writing to a file, is disabled.

 Is there a way (or a procedure) of implementing such a system on the
 Google Appengine? This application will be a free education tool for
 everyone who would like to use it.

 Thanks in advance,
 Albert Attard

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Indexes on lists of 'tags' queries

2009-07-27 Thread Nick Johnson (Google)
On Mon, Jul 27, 2009 at 4:16 PM, Kyle Jensen kljen...@gmail.com wrote:


 Hi Nick,

 I noticed that the dev server will automatically add indexes that
 appear to be exploding indexes when I run queries like the example
 above.  Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server
 will create an index in index.yaml that is identical to the one you
 posted above:

 - kind: Foo
  property: tags
  property: tags

 ** Is that index not required for the snippet Foo.get_by_tags(['tag1',
 'tag2'])?


As long as you're not ordering or filtering on inequality properties, this
index is optional.



 ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar
 is an IntegerProperty


That would require a custom index.

-Nick Johnson




 Thanks for your help and sorry for my ignorance!!
 Kyle


 On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com
 wrote:
  Hi Kyle,
 
  Exploding indexes only come into play when you're _defining_ indexes -
 for
  example, an index like this would be an exploding one:
 
  - kind: Foo
property: tags
property: tags
 
  As long as you can satisfy your queries using the built in merge join
  support (which is the case in your example, where you don't specify
  inequality filters or sort orders), you'll be fine.
 
  -Nick Johnson
 
 
 
  On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote:
 
   Hi, I'd like to know if multiple equality filters on a ListProperty
   leads to exploding indexes.
 
   I have a model something like the following (python):
 
   class Foo(db.model):
  tags = db.ListProperty(db.Category)
 
  @classmethod
  def get_by_tags(cls, tags):
  query = cls.all()
  for tag in tags:
  query.filter('tags =', tag)
  return query
 
   I'd like to know if I can filter by an arbitrary number of tags
   without encountering the exploding index problem (its not clear to me
   from the docs).
 
   E.g., can I do
   query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3'  'tagN'])
 
   etc etc.
 
   Thanks! Kyle
 
  --
  Nick Johnson, Developer Programs Engineer, App Engine
 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: mapping www.mydomain.com to my-app-id.appspot.com

2009-07-27 Thread johnP

Are there plans for Google to offer HTTPS via mydomain.com rather than
only appid.appspot.com?  Any ETA or info?  Thanks!

johnP



On Jul 27, 7:02 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Srikanth,

 Follow the instructions 
 here:http://code.google.com/appengine/articles/domains.html

 When asked to specify a subdomain, enter 'www'.

 -Nick Johnson



 On Sun, Jul 26, 2009 at 7:07 AM, Srikanth sriky...@gmail.com wrote:

  This must have been discussed number of times.. but honestly i did so
  much googling around but it is impossible find a proper answer.

  First i built the app using appengine. Then I went to Versions and
  tried to Add domain, which led me to buy the domain using google apps.
  Once I bought it, i'm lost totally. How do I map my appengine
  application towww.mydomain.com. I'm not asking about naked domain.
  that is the least of my problem.

  I can see myapp.appspot.com as a service under google apps account.
  But, how do I map it towww.mydomain.com?

  Please advice.

  - Srikanth

 --
 Nick Johnson, Developer Programs Engineer, App Engine
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: mapping www.mydomain.com to my-app-id.appspot.com

2009-07-27 Thread Nick Johnson (Google)
Hi johnP,

Unfortunately, in general this is not possible, as due to the way SSL works,
this would require assigning an IP address for each site that wants this
functionality. The latest version of SSL supports a mechanism that avoids
this requirement, but it's not yet widespread enough to be a practical
alternative. Once it is, you can expect to see us support it.

-Nick Johnson

On Mon, Jul 27, 2009 at 5:49 PM, johnP j...@thinkwave.com wrote:


 Are there plans for Google to offer HTTPS via mydomain.com rather than
 only appid.appspot.com?  Any ETA or info?  Thanks!

 johnP



 On Jul 27, 7:02 am, Nick Johnson (Google) nick.john...@google.com
 wrote:
  Hi Srikanth,
 
  Follow the instructions here:
 http://code.google.com/appengine/articles/domains.html
 
  When asked to specify a subdomain, enter 'www'.
 
  -Nick Johnson
 
 
 
  On Sun, Jul 26, 2009 at 7:07 AM, Srikanth sriky...@gmail.com wrote:
 
   This must have been discussed number of times.. but honestly i did so
   much googling around but it is impossible find a proper answer.
 
   First i built the app using appengine. Then I went to Versions and
   tried to Add domain, which led me to buy the domain using google apps.
   Once I bought it, i'm lost totally. How do I map my appengine
   application towww.mydomain.com. I'm not asking about naked domain.
   that is the least of my problem.
 
   I can see myapp.appspot.com as a service under google apps account.
   But, how do I map it towww.mydomain.com?
 
   Please advice.
 
   - Srikanth
 
  --
  Nick Johnson, Developer Programs Engineer, App Engine
 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] handling simple data structure upgrades

2009-07-27 Thread Alexander Tereshkin

Hello All,

 Could you please share your wisdom on the following issue: I have
added a new property to a model and would like to filter the data on
this property. However, I already have quite a bit of data stored and
all the entities that were created before the last upgrade don't have
the new property and hence won't be returned by the queries once the
filter is added.
 How are you dealing with such situations? Is there some sort of best
practice here or maybe I just missed something in the docs? Since
there are no batch updates, it looks like the only option is to cycle
through all the entities and update them one by one. But then again
there's too much data to do it in a single request, so I should
process only this much entities at a time and enqueue the rest of
processing.
 It just sounds like too much code for something this simple. I'm
considering writing a generic routine in python to handle this type of
upgrades, but wanted to check first if I'm missing anything or if such
routine already exists.

Thanks,
Alex

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



[google-appengine] Re: Indexes on lists of 'tags' queries

2009-07-27 Thread Jai

Hi Kyle,

I think what Nick meant was this:

- kind: Foo
  property: tags1
  property: tags2

that is having two different properties of type ListProperty because
then the index will have rows for each combination of values for each
of the property and number of rows will be multiplication of number of
distinct values in the indexes.

For your case it is ok because, there will be a single index 'tags'
with an entity being referenced by the DIFFERENT tag values in the
SAME index. So the references might be multiple, number of rows will
still be linear.

Hope it helps.


Regards,
Jai
On Jul 27, 11:16 am, Kyle Jensen kljen...@gmail.com wrote:
 Hi Nick,

 I noticed that the dev server will automatically add indexes that
 appear to be exploding indexes when I run queries like the example
 above.  Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server
 will create an index in index.yaml that is identical to the one you
 posted above:

 - kind: Foo
   property: tags
   property: tags

 ** Is that index not required for the snippet Foo.get_by_tags(['tag1',
 'tag2'])?
 ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar
 is an IntegerProperty

 Thanks for your help and sorry for my ignorance!!
 Kyle

 On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com
 wrote:

  Hi Kyle,

  Exploding indexes only come into play when you're _defining_ indexes - for
  example, an index like this would be an exploding one:

  - kind: Foo
    property: tags
    property: tags

  As long as you can satisfy your queries using the built in merge join
  support (which is the case in your example, where you don't specify
  inequality filters or sort orders), you'll be fine.

  -Nick Johnson

  On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com wrote:

   Hi, I'd like to know if multiple equality filters on a ListProperty
   leads to exploding indexes.

   I have a model something like the following (python):

   class Foo(db.model):
      tags = db.ListProperty(db.Category)

     �...@classmethod
      def get_by_tags(cls, tags):
          query = cls.all()
          for tag in tags:
              query.filter('tags =', tag)
          return query

   I'd like to know if I can filter by an arbitrary number of tags
   without encountering the exploding index problem (its not clear to me
   from the docs).

   E.g., can I do
   query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3'  'tagN'])

   etc etc.

   Thanks! Kyle

  --
  Nick Johnson, Developer Programs Engineer, App Engine



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



[google-appengine] Re: Indexes on lists of 'tags' queries

2009-07-27 Thread Nick Johnson (Google)
Hi Jai,

Both your example and my original example are cases of exploding indexes. In
my example, indexing on the same listproperty twice is required for certain
queries (for example, the Foo.all().filter('tags =', foo).filter('tags =',
bar).order('bar') example), but likewise results in an exploding index.

-Nick Johnson

On Mon, Jul 27, 2009 at 4:30 PM, Jai sharma...@gmail.com wrote:


 Hi Kyle,

 I think what Nick meant was this:

 - kind: Foo
  property: tags1
  property: tags2

 that is having two different properties of type ListProperty because
 then the index will have rows for each combination of values for each
 of the property and number of rows will be multiplication of number of
 distinct values in the indexes.

 For your case it is ok because, there will be a single index 'tags'
 with an entity being referenced by the DIFFERENT tag values in the
 SAME index. So the references might be multiple, number of rows will
 still be linear.

 Hope it helps.


 Regards,
 Jai
 On Jul 27, 11:16 am, Kyle Jensen kljen...@gmail.com wrote:
  Hi Nick,
 
  I noticed that the dev server will automatically add indexes that
  appear to be exploding indexes when I run queries like the example
  above.  Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server
  will create an index in index.yaml that is identical to the one you
  posted above:
 
  - kind: Foo
property: tags
property: tags
 
  ** Is that index not required for the snippet Foo.get_by_tags(['tag1',
  'tag2'])?
  ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar
  is an IntegerProperty
 
  Thanks for your help and sorry for my ignorance!!
  Kyle
 
  On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com
  wrote:
 
   Hi Kyle,
 
   Exploding indexes only come into play when you're _defining_ indexes -
 for
   example, an index like this would be an exploding one:
 
   - kind: Foo
 property: tags
 property: tags
 
   As long as you can satisfy your queries using the built in merge join
   support (which is the case in your example, where you don't specify
   inequality filters or sort orders), you'll be fine.
 
   -Nick Johnson
 
   On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com
 wrote:
 
Hi, I'd like to know if multiple equality filters on a ListProperty
leads to exploding indexes.
 
I have a model something like the following (python):
 
class Foo(db.model):
   tags = db.ListProperty(db.Category)
 
   @classmethod
   def get_by_tags(cls, tags):
   query = cls.all()
   for tag in tags:
   query.filter('tags =', tag)
   return query
 
I'd like to know if I can filter by an arbitrary number of tags
without encountering the exploding index problem (its not clear to me
from the docs).
 
E.g., can I do
query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3'  'tagN'])
 
etc etc.
 
Thanks! Kyle
 
   --
   Nick Johnson, Developer Programs Engineer, App Engine
 
 

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore

2009-07-27 Thread Calvin Slayden

Nick,

First, thanks for the prompt reply (especially since my question is
essentially about how to keep my app engine bill down!).

So the names are serialized with each record? In my example above,
int1 requires an additional 8 bytes * [number of records] for
storage?  (Assuming UTF-16 here.) Wow. (If it's not obvious, I have an
application with a very large number of very small records, so fixed
per-record overhead is fairly costly.)

I suspected indices were the principle cost (and that's entirely
reasonable). But if you don't mind, I have a couple of more in-depth
questions.

First, background (this is closer to my actual application). Assume I
have a database of genome subsequences, where each record contains a
sequence, a position, and a chromosome number. My current schema looks
like this:

class Record(db.Model):
   seq = db.StringProperty()
   location = db.IntegerProperty(indexed=True)
   chromosome = db.IntegerProperty(indexed=True)
   plusminus = db.BooleanProperty(indexed=True)

Now, I query on location and chromosome, so both of those are
currently indexed. But chromosome is only one of, say, five values.

So my question is, are indices equivalent--in terms of space--to a
table of the property being indexed and the key of the record?

To expand, is the above (current) schema less space efficient than
creating five separate tables, implicitly encoding the chromosome
value in the table name?

e.g.:

class RecordChromosome1(db.Model):
seq = db.StringProperty()
location = db.IntegerProperty()

In fact, it's entirely feasible to manually unroll (like loop
unrolling, I guess?) the query combinatorics of the chromosome and
plusminus properties and create ten different tables, wherein each
record contains only the sequence and the location (but not the
plusminus and chromosome properties, which are now implicitly encoded
in the record's kind).

Would doing this save space by obviating the indices for plusminus
and location?

And, while I'm at it, is the kind name also encoded in each record
instance, or only the property names?

Thanks again,
Calvin

On Jul 27, 7:12 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Calvin,

 On Sun, Jul 26, 2009 at 6:36 PM, Calvin Slayden 
 calvin.slay...@gmail.comwrote:







  Hello,

  After noticing my app using far more of the datastore quota than I
  expected, I conducted a little experiment with a toy app. The toy
  creates records of the format:

  class Record(db.Model):
     int1 = db.IntegerProperty()
     # ... repeated three more times

  According to the App Engine documentation, IntegerProperty types in
  the datastore are stored as 64-bit integers, so each record consists
  of 8 * 4 = 32 bytes of payload, plus overhead (key size * number of
  records, etc). I was hoping, with this experiment, to gain some
  insight into what that overhead costs.

  I uploaded 141,725 (sorry it's not a round number) of these records
  and waited a day for my quota to update; it now shows me using 0.09GB
  of my stored data quota. (In comparison, the amount of payload data
  in the store is only 141,725 x 32 = 4,535,200 bytes, or ~0.004GB.)

  I'm not sure whether it's best to compute overhead-per-property or
  overhead-per-record (there is obviously a nontrivial cost to the
  former, of course), and determining which is actually using the extra
  quota would probably take more effort than it's worth, so I figured
  I'd ask here.

  Anyway, in terms of overhead, I'm observing (in this case)
  approximately 600 bytes per record (in addition to the size of the
  record's payload), or 150 bytes per property. In my particular case
  (though I doubt this ratio is anything resembling constant), I'm
  seeing 19 bytes of quota used for every byte of payload.

  So I guess I have two big questions.

  First, quota obviously measures something resembling the total size of
  the datastore tables created by the user (their size on disk?), which,
  due to indexing and such, is obviously going to be larger than the
  size of the payload alone. Right?

 More or less, yes. The total size includes the size of the serialized Entity
 Protocol Buffer (which includes all the fields' values, their names ('int1'
 in your case), plus some encoding overhead), as well as several built-in
 indexes, plus any custom indexes you've built.



  Second, how can I minimize this? Is the primary cost the added
  indices, such that if I disable indexing for properties I won't be
  querying on, I'll save space? (Again, this is something I could
  experiment with, but at this point, why not just ask?) What's the
  overhead per record, regardless of indexing? Are there any other steps
  I can take to minimize my datastore quota usage?

 Disabling indexing for fields you don't require to be indexed is the
 simplest and most effective step. You can also use shorter field names, to
 reduce redundant storage requirements there, if you wish. To make things
 more user friendly, you can 

[google-appengine] google apps engine fee

2009-07-27 Thread ima

I have a question concerning the google apps engine account fee. If I
register in free account, I read that if I exceed a threshold of
consumption of resources I will be automatically charged for the
excess. I wonder if I can use the free quota and be charged only with
my explicit consent.  … ?

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



[google-appengine] Re: google apps engine fee

2009-07-27 Thread Nick Johnson (Google)
Hi ima,

Unless you enable billing, you will never be charged for App Engine usage -
your app will simply return 'over quota' messages if you exceed the free
quota. Once you enable billing, you can set a maximum daily budget for your
app, and you will never be charged more than that.

-Nick Johnson

On Mon, Jul 27, 2009 at 4:12 PM, ima iuriazer...@gmail.com wrote:


 I have a question concerning the google apps engine account fee. If I
 register in free account, I read that if I exceed a threshold of
 consumption of resources I will be automatically charged for the
 excess. I wonder if I can use the free quota and be charged only with
 my explicit consent.  … ?

 



-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore

2009-07-27 Thread Nick Johnson (Google)
On Mon, Jul 27, 2009 at 5:57 PM, Calvin Slayden calvin.slay...@gmail.comwrote:


 Nick,

 First, thanks for the prompt reply (especially since my question is
 essentially about how to keep my app engine bill down!).

 So the names are serialized with each record? In my example above,
 int1 requires an additional 8 bytes * [number of records] for
 storage?  (Assuming UTF-16 here.)


Actually, all strings are stored as utf-8. The protocol buffer format
requires at least one byte length prefix, plus another byte to indicate the
field ID.

The reason this is necessary is because App Engine doesn't impose a schema
on your data, so it has to store the mapping of names to values with each
Entity stored.

If you want a detailed understanding of how data is stored, Ryan Barrett's
'under the covers' talk is a good start:
http://sites.google.com/site/io/under-the-covers-of-the-google-app-engine-datastore.
Reading the publically available documentation on how Protocol Buffers
are
encoded is also a useful thing to do.


 Wow. (If it's not obvious, I have an
 application with a very large number of very small records, so fixed
 per-record overhead is fairly costly.)

 I suspected indices were the principle cost (and that's entirely
 reasonable). But if you don't mind, I have a couple of more in-depth
 questions.

 First, background (this is closer to my actual application). Assume I
 have a database of genome subsequences, where each record contains a
 sequence, a position, and a chromosome number. My current schema looks
 like this:

 class Record(db.Model):
   seq = db.StringProperty()


If you don't need this field indexed, set indexed=False, or make it a
TextProperty. If you're further concerned about space, you could even define
your own Property subclass that stores the sequence as a blob, using only 2
bits per base, and encodes and decodes automatically.



   location = db.IntegerProperty(indexed=True)
   chromosome = db.IntegerProperty(indexed=True)
   plusminus = db.BooleanProperty(indexed=True)

 Now, I query on location and chromosome, so both of those are
 currently indexed. But chromosome is only one of, say, five values.

 So my question is, are indices equivalent--in terms of space--to a
 table of the property being indexed and the key of the record?


Indices are more compact - both in terms of encoding, and because storing an
Entity with any indexed fields also results in the insertion of values into
the automatic indexes.



 To expand, is the above (current) schema less space efficient than
 creating five separate tables, implicitly encoding the chromosome
 value in the table name?

 e.g.:

 class RecordChromosome1(db.Model):
seq = db.StringProperty()
location = db.IntegerProperty()


This is certainly an alternative option, especially if you don't need any
custom indexes. It will save some space, though I'm not sure if it will be
significant.

You can even use Python's dynamic nature to facilitate this:

---
def generateChromosomeModel(n):
  class Record(db.Model):
@staticmethod
def kind():
  return c%d % n
seq = db.StringProperty()
location = db.IntegerProperty()
  return Record

RecordChromosome1, RecordChromosome2, RecordChromosome3, RecordChromosome4,
RecordChromosome5 = [generateChromosomeModel(x) for x in range(1, 6)]
---

I wouldn't recommend trying this until you've tried other optimisations and
determined that they're not effective enough, though.



 In fact, it's entirely feasible to manually unroll (like loop
 unrolling, I guess?) the query combinatorics of the chromosome and
 plusminus properties and create ten different tables, wherein each
 record contains only the sequence and the location (but not the
 plusminus and chromosome properties, which are now implicitly encoded
 in the record's kind).

 Would doing this save space by obviating the indices for plusminus
 and location?


It would. Again, I'm not certain how significant these savings would be. A
simpler optimisation would be to combine plusminus and location by
having a single location value that varies from -5 to 5, for example.




 And, while I'm at it, is the kind name also encoded in each record
 instance, or only the property names?


It is. See above for how to change the kind name without changing the class
name.

-Nick Johnson




 Thanks again,
 Calvin

 On Jul 27, 7:12 am, Nick Johnson (Google) nick.john...@google.com
 wrote:
  Hi Calvin,
 
  On Sun, Jul 26, 2009 at 6:36 PM, Calvin Slayden 
 calvin.slay...@gmail.comwrote:
 
 
 
 
 
 
 
   Hello,
 
   After noticing my app using far more of the datastore quota than I
   expected, I conducted a little experiment with a toy app. The toy
   creates records of the format:
 
   class Record(db.Model):
  int1 = db.IntegerProperty()
  # ... repeated three more times
 
   According to the App Engine documentation, IntegerProperty types in
   the datastore are stored as 64-bit integers, so each record consists
   of 8 * 4 = 32 bytes of 

[google-appengine] Re: Goolge App with JPA

2009-07-27 Thread Jeff S (Google)
Hi Praveen,

A good place to start might be with the documentation on using JPA with App
Engine:

http://code.google.com/appengine/docs/java/datastore/usingjpa.html

Also, you might have better luck finding JPA experts in the discussion group
for the Java runtime:

http://groups.google.com/group/google-appengine-java

Could we see your persistence.xml file and the classes you are using to
access the datastore?

Happy coding,

Jeff

On Fri, Jul 24, 2009 at 4:04 AM, Praveen Sangolli pssn...@gmail.com wrote:


 Hello everybody,

 Can anyone help me configure JPA with google app engine. I am having
 issues selecting data from the datastore with JPA

 


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



[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore

2009-07-27 Thread Calvin Slayden

Cool, thanks.

Dunno why I didn't think to use blobs--I had forgotten there was a
binary datatype, and encoded sequences as string representations of
their base-5 (there's a fifth option for a base value, N, meaning
unknown) value. Seemed like a silly optimization at the time, until
I saw my quota usage. ;)

Even if indices are more compact than tables *per* *record*, the
implicit encoding of (chromosome, plusminus) in the kind name should
save space over combining them into a single index (unless the
overhead of creating a new table is itself enormous, which it doesn't
appear to be).

Granted, all of these are seemingly silly, overaggressive
optimizations, but in my real app, my quota usage is at least an order
of magnitude over the size of the uploaded data themselves.

Final question: Is there a faster way to figure out database usage
than waiting 24 hours for the quota page on the dashboard to update?
The cycle of coding+uploading data+waiting for the dashboard is not a
rapid development iteration.

Thanks for all the help.

Calvin

On Jul 27, 10:09 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 On Mon, Jul 27, 2009 at 5:57 PM, Calvin Slayden 
 calvin.slay...@gmail.comwrote:



  Nick,

  First, thanks for the prompt reply (especially since my question is
  essentially about how to keep my app engine bill down!).

  So the names are serialized with each record? In my example above,
  int1 requires an additional 8 bytes * [number of records] for
  storage?  (Assuming UTF-16 here.)

 Actually, all strings are stored as utf-8. The protocol buffer format
 requires at least one byte length prefix, plus another byte to indicate the
 field ID.

 The reason this is necessary is because App Engine doesn't impose a schema
 on your data, so it has to store the mapping of names to values with each
 Entity stored.

 If you want a detailed understanding of how data is stored, Ryan Barrett's
 'under the covers' talk is a good 
 start:http://sites.google.com/site/io/under-the-covers-of-the-google-app-en
 Reading the publically available documentation on how Protocol Buffers
 are
 encoded is also a useful thing to do.

  Wow. (If it's not obvious, I have an
  application with a very large number of very small records, so fixed
  per-record overhead is fairly costly.)

  I suspected indices were the principle cost (and that's entirely
  reasonable). But if you don't mind, I have a couple of more in-depth
  questions.

  First, background (this is closer to my actual application). Assume I
  have a database of genome subsequences, where each record contains a
  sequence, a position, and a chromosome number. My current schema looks
  like this:

  class Record(db.Model):
    seq = db.StringProperty()

 If you don't need this field indexed, set indexed=False, or make it a
 TextProperty. If you're further concerned about space, you could even define
 your own Property subclass that stores the sequence as a blob, using only 2
 bits per base, and encodes and decodes automatically.



    location = db.IntegerProperty(indexed=True)
    chromosome = db.IntegerProperty(indexed=True)
    plusminus = db.BooleanProperty(indexed=True)

  Now, I query on location and chromosome, so both of those are
  currently indexed. But chromosome is only one of, say, five values.

  So my question is, are indices equivalent--in terms of space--to a
  table of the property being indexed and the key of the record?

 Indices are more compact - both in terms of encoding, and because storing an
 Entity with any indexed fields also results in the insertion of values into
 the automatic indexes.



  To expand, is the above (current) schema less space efficient than
  creating five separate tables, implicitly encoding the chromosome
  value in the table name?

  e.g.:

  class RecordChromosome1(db.Model):
     seq = db.StringProperty()
     location = db.IntegerProperty()

 This is certainly an alternative option, especially if you don't need any
 custom indexes. It will save some space, though I'm not sure if it will be
 significant.

 You can even use Python's dynamic nature to facilitate this:

 ---
 def generateChromosomeModel(n):
   class Record(db.Model):
     @staticmethod
     def kind():
       return c%d % n
     seq = db.StringProperty()
     location = db.IntegerProperty()
   return Record

 RecordChromosome1, RecordChromosome2, RecordChromosome3, RecordChromosome4,
 RecordChromosome5 = [generateChromosomeModel(x) for x in range(1, 6)]
 ---

 I wouldn't recommend trying this until you've tried other optimisations and
 determined that they're not effective enough, though.



  In fact, it's entirely feasible to manually unroll (like loop
  unrolling, I guess?) the query combinatorics of the chromosome and
  plusminus properties and create ten different tables, wherein each
  record contains only the sequence and the location (but not the
  plusminus and chromosome properties, which are now implicitly encoded
  in the 

[google-appengine] Re: How to set up app.yaml to handle URLs like www.mydomain.com/category/subcategory

2009-07-27 Thread Quim

Thanks a lot for your reply.
Following that link instructions solved the problem.

-Quim.

On 27 jul, 16:53, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Quim

 The URL below will match only the literal text '/category/subcategory'.

 Please see the documentation here for details on how to set up URL 
 mappings:http://code.google.com/appengine/docs/python/tools/webapp/running.html

 -Nick Johnson



 On Mon, Jul 27, 2009 at 1:14 PM, Quim joaquin.alma...@gmail.com wrote:

  Hi all.

  I want my application to handle URLs like
 www.mydomian.com/category/subcategory.
  I've set up my app.yaml like this:

  - url: /category/subacategory
   script: home.py
  - url: /.*
   script: home.py

  It does not work with the developer server (I've not used production
  server yet).
  What am I doing wrong?

  Thanks in advanced,
  Quin.

 --
 Nick Johnson, Developer Programs Engineer, App Engine
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Datastore quota usage far exceeds sum size of items in datastore

2009-07-27 Thread Nick Johnson (Google)
On Mon, Jul 27, 2009 at 6:31 PM, Calvin Slayden calvin.slay...@gmail.comwrote:


 Cool, thanks.

 Dunno why I didn't think to use blobs--I had forgotten there was a
 binary datatype, and encoded sequences as string representations of
 their base-5 (there's a fifth option for a base value, N, meaning
 unknown) value. Seemed like a silly optimization at the time, until
 I saw my quota usage. ;)

 Even if indices are more compact than tables *per* *record*, the
 implicit encoding of (chromosome, plusminus) in the kind name should
 save space over combining them into a single index (unless the
 overhead of creating a new table is itself enormous, which it doesn't
 appear to be).


True. When I answered the question intially, I thought you were discussing
using an Entity kind with indices, vs using a new Entity kind _as_ an index.




 Granted, all of these are seemingly silly, overaggressive
 optimizations, but in my real app, my quota usage is at least an order
 of magnitude over the size of the uploaded data themselves.


I would definitely recommend plucking the low-hanging fruit - like not
indexing the sequence itself, and combining plusminus and chromosome, and
shortening kind and field names, first. If that doesn't save enough,
consider splitting into multiple kinds as a last resort. Bear in mind that
you are always going to have significant encoding overhead, though - that's
the price you pay for indexing.




 Final question: Is there a faster way to figure out database usage
 than waiting 24 hours for the quota page on the dashboard to update?
 The cycle of coding+uploading data+waiting for the dashboard is not a
 rapid development iteration.


Unfortunately, not currently. You can estimate it by looking at the encoded
Protocol Buffers, though.

-Nick Johnson




 Thanks for all the help.

 Calvin

 On Jul 27, 10:09 am, Nick Johnson (Google) nick.john...@google.com
 wrote:
  On Mon, Jul 27, 2009 at 5:57 PM, Calvin Slayden 
 calvin.slay...@gmail.comwrote:
 
 
 
   Nick,
 
   First, thanks for the prompt reply (especially since my question is
   essentially about how to keep my app engine bill down!).
 
   So the names are serialized with each record? In my example above,
   int1 requires an additional 8 bytes * [number of records] for
   storage?  (Assuming UTF-16 here.)
 
  Actually, all strings are stored as utf-8. The protocol buffer format
  requires at least one byte length prefix, plus another byte to indicate
 the
  field ID.
 
  The reason this is necessary is because App Engine doesn't impose a
 schema
  on your data, so it has to store the mapping of names to values with each
  Entity stored.
 
  If you want a detailed understanding of how data is stored, Ryan
 Barrett's
  'under the covers' talk is a good start:
 http://sites.google.com/site/io/under-the-covers-of-the-google-app-en
  Reading the publically available documentation on how Protocol Buffers
  are
  encoded is also a useful thing to do.
 
   Wow. (If it's not obvious, I have an
   application with a very large number of very small records, so fixed
   per-record overhead is fairly costly.)
 
   I suspected indices were the principle cost (and that's entirely
   reasonable). But if you don't mind, I have a couple of more in-depth
   questions.
 
   First, background (this is closer to my actual application). Assume I
   have a database of genome subsequences, where each record contains a
   sequence, a position, and a chromosome number. My current schema looks
   like this:
 
   class Record(db.Model):
 seq = db.StringProperty()
 
  If you don't need this field indexed, set indexed=False, or make it a
  TextProperty. If you're further concerned about space, you could even
 define
  your own Property subclass that stores the sequence as a blob, using only
 2
  bits per base, and encodes and decodes automatically.
 
 
 
 location = db.IntegerProperty(indexed=True)
 chromosome = db.IntegerProperty(indexed=True)
 plusminus = db.BooleanProperty(indexed=True)
 
   Now, I query on location and chromosome, so both of those are
   currently indexed. But chromosome is only one of, say, five values.
 
   So my question is, are indices equivalent--in terms of space--to a
   table of the property being indexed and the key of the record?
 
  Indices are more compact - both in terms of encoding, and because storing
 an
  Entity with any indexed fields also results in the insertion of values
 into
  the automatic indexes.
 
 
 
   To expand, is the above (current) schema less space efficient than
   creating five separate tables, implicitly encoding the chromosome
   value in the table name?
 
   e.g.:
 
   class RecordChromosome1(db.Model):
  seq = db.StringProperty()
  location = db.IntegerProperty()
 
  This is certainly an alternative option, especially if you don't need any
  custom indexes. It will save some space, though I'm not sure if it will
 be
  significant.
 
  You can even use Python's dynamic nature to 

[google-appengine] Re: handling simple data structure upgrades

2009-07-27 Thread 'Αλκης Ευλογημένος
What I used to do was to use the mapper framework found in GAE articles.
After the task queue was released I found it a lot easier to code and write
tests for a simple handler that updates one at a time. Basically the handler
has a get that is accessible only from admin and get enqueues a task for the
first item in the kind you want to upgrade. The post does the upgrade of the
passed key and finds the next in line to upgrade and queues a task for that.
When there is no entities left to process I send an email to myself that
this is done.

It looks like this:

class Upgrade(webapp.RequestHandler):
  def get(self):
self.response.out.write('Started rewriting stuff')
next = MyModel.all(keys_only=True).get()
upgrader_queue.add(
  taskqueue.Task(url='/admin/upgrade_mymodel/', params={'next':
str(next)}))

  def post(self):
key = db.Key(self.request.get('next'))
next = MyModel.all(keys_only=True).filter('__key__ ', key).get()

def txn():
  entity = db.get(key)
  if entity:
// do stuff
if next:
  upgrader_queue.add(
taskqueue.Task(url='/admin/upgrade_mymodel/', params={'next':
next}))
else:
  // mail myself that upgrade is done!!!

db.run_in_transaction(txn)

This has a race condition: if an entity is added during the time you perform
the upgrade you will not process it. This is ok if all new entities do not
need to be upgraded which is often the case.

On Mon, Jul 27, 2009 at 3:56 PM, Alexander Tereshkin
ateresh...@y-node.comwrote:


 Hello All,

  Could you please share your wisdom on the following issue: I have
 added a new property to a model and would like to filter the data on
 this property. However, I already have quite a bit of data stored and
 all the entities that were created before the last upgrade don't have
 the new property and hence won't be returned by the queries once the
 filter is added.
  How are you dealing with such situations? Is there some sort of best
 practice here or maybe I just missed something in the docs? Since
 there are no batch updates, it looks like the only option is to cycle
 through all the entities and update them one by one. But then again
 there's too much data to do it in a single request, so I should
 process only this much entities at a time and enqueue the rest of
 processing.
  It just sounds like too much code for something this simple. I'm
 considering writing a generic routine in python to handle this type of
 upgrades, but wanted to check first if I'm missing anything or if such
 routine already exists.

 Thanks,
 Alex

 



-- 

Alkis

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



[google-appengine] Re: Why the urlfetch can not fetch the feed from delicious.com?

2009-07-27 Thread Calvin Slayden

You can use an App Engine-hosted CGI proxy to validate Nick's
hypothesis (e.g. http://proxypy.com/). http://www.delicious.com works;
http://feeds.delicious.com does not.

The best way around this would be to use the Delicious API rather than
scraping the feeds page: http://delicious.com/help/api. This appears
not to block GAE (at a minimum, I can promise that Yahoo's BOSS API
does not block GAE applications).

On Jul 27, 2:13 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi cpedia,

 '999' is not a valid HTTP response code. Delicious is choosing to return
 this for their own reasons - you'd have to ask them why. It's possible
 they've disabled access from Google IPs.

 -Nick Johnson



 On Mon, Jul 27, 2009 at 6:37 AM, cpedia cpe...@gmail.com wrote:

  I can run the program in my local environment. But when i deploy to
  the GAE, I will get error when i fetch the delicious json feed using
  urlfetch.

  The code is:

             url = http://feeds.delicious.com/v2/json/tags/%s; %
  username
             result = urlfetch.fetch(url,
                         method=urlfetch.GET,
                         headers={'Content-Type': 'application/json'})
             if result.status_code == 200:
                   getLogger(__name__).debug(delicious content: %s %
  result.content)

  The delicious return content will be following (I got from the console
  log). I don't know why the yahoo delicious server will refuse the GAE
  server.

  Google, please advise?

  #
  07-26 10:18PM 31.290

  delicious content: HTTP/1.1 999 Unable to process request at this time
  -- error 999

  #
  E 07-26 10:18PM 31.512

  Date: Mon, 27 Jul 2009 05:18:31 GMT

  #
  E 07-26 10:18PM 31.512

  Expires: Thu, 01 Jan 1970 22:00:00 GMT

  #
  E 07-26 10:18PM 31.512

  Cache-Control: no-cache

  #
  E 07-26 10:18PM 31.512

  Cache-Control: no-store

  #
  E 07-26 10:18PM 31.513

  Pragma: no-cache

  #
  E 07-26 10:18PM 31.513

  Cache-Control: private

  #
  E 07-26 10:18PM 31.513

  Connection: close

  #
  E 07-26 10:18PM 31.513

  Transfer-Encoding: chunked

  #
  E 07-26 10:18PM 31.513

  Content-Type: text/html;charset=UTF-8

  #
  E 07-26 10:18PM 31.514

  #
  E 07-26 10:18PM 31.514

  108d

  #
  E 07-26 10:18PM 31.514

  HTML
  HEAD
  meta http-equiv=Content-Type content=text/html;charset=utf-8 

  !-- Title --
  TITLE
  Yahoo! - 999 Unable to process request at this time -- error 999
  /TITLE
  !

  style
  /* nn4 hide */
  /*/*/
  body {font:small/1.2em arial,helvetica,clean,sans-serif;font:x-
  small;text-align:center;}table {font-size:inherit;font:x-small;}
  htmlbody {font:83%/1.2em arial,helvetica,clean,sans-serif;}input
  {font-size:100%;vertical-align:middle;}p, form {margin:0;padding:0;}
  p {padding-bottom:6px;margin-bottom:10px;}#doc {width:48.5em;margin:0
  auto;border:1px solid #fff;text-align:center;}#ygma {text-
  align:right;margin-bottom:53px}
  #ygma img {float:left;}#ygma div {border-bottom:1px solid #ccc;padding-
  bottom:8px;margin-left:152px;}#bd {clear:both;text-align:left;width:
  75%;margin:0 auto 20px;}
  h1 {font-size:135%;text-align:center;margin:0 0 15px;}legend
  {display:none;}fieldset {border:0 solid #fff;padding:.8em 0 .8em
  4.5em;}
  form {position:relative;background:#eee;margin-bottom:15px;border:1px
  solid #ccc;border-width:1px 0;}
  #s1p {width:15em;margin-right:.1em;}
  form span {position:absolute;left:70%;top:.8em;}form a {font:78%/1.2em
  arial;display:block;padding-left:.8em;white-space:nowrap;background:
  url(http://us.i1.yimg.com/us.yimg.com/i/s/bullet.gif) no-repeat left
  center;}
  form .sep {display:none;}.more {text-align:center;}#ft {padding-top:
  10px;border-top:1px solid #999;}#ft p {text-align:center;font:78%
  arial;}
  /* end nn4 hide */
  /style

  /HEAD
  bodydiv id=doc
  div id=ygma

  !-- Logo --
  a href=http://us.rd.yahoo.com/500/*http://www.yahoo.com;img
  src=http://us.i1.yimg.com/us.yimg.com/i/yahoo.gifwidth=147 height=31
  border=0 alt=Yahoo!/a
  !

  div

  !-- YahooLink --
  a href=http://us.rd.yahoo.com/500/*http://www.yahoo.com;Yahoo!/a
  !

  -

  !-- HelpLink --
  a href=http://us.rd.yahoo.com/500/*http://help.yahoo.com;Help/a
  !

  /div/div
  div id=bdh1

  !-- HeaderMessage --
  Sorry, Unable to process request at this time -- error 999.
  !

  /h1
  table
  tr
  td valign=top

  !-- AltLogo --
  img src=http://arc.help.yahoo.com/error.gif?
  r=1248671911property=delicious2srv=feeds.delicious.comhttp://arc.help.yahoo.com/error.gif?%0Ar=1248671911property=deliciou...alt=Yahoo!
  width=42 height=41 border=0
  !

  /td
  td
  p

  !-- Apology --
  Unfortunately we are unable to process your request at this time. This
  error
  is usually temporary.  Please try again later.
  !

  p

  !-- Explanation --
  If you continue to experience this error, it may be caused by one of
  the
  following:
  !

  ul
  li

  !-- 

[google-appengine] Re: Indexes on lists of 'tags' queries

2009-07-27 Thread Jai

Hi Nick,

Thanks for replying, that made the things a bit more clear. But I
still don't understand the reasoning behind it.

You said the following example

Foo.all().filter('tags =', foo).filter('tags =', bar).order('bar')

will result in an exploding index.

But why so?

I believe above statement is equivalent to:

select * from Foo where tags='foo' AND tags = 'bar' order by 'bar1'

I changed 'bar' to 'bar1' just to avoid confusion.

Now since the order by is applied to 'bar1' and not to 'tags'(can that
be even done??) why will two separate indexes be required. I
understand they can be required if order by is applied on tags
somehow, but for this case an index with default ordering for
listproperty class could have been used.

The non exploding index that can be used here is:

- kind: Foo
  property:
- tags
- bar1
direction:desc

Or will this not work for the query in question?

Thanks for bearing with me.


On Jul 27, 12:56 pm, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Jai,

 Both your example and my original example are cases of exploding indexes. In
 my example, indexing on the same listproperty twice is required for certain
 queries (for example, the Foo.all().filter('tags =', foo).filter('tags =',
 bar).order('bar') example), but likewise results in an exploding index.

 -Nick Johnson



 On Mon, Jul 27, 2009 at 4:30 PM, Jai sharma...@gmail.com wrote:

  Hi Kyle,

  I think what Nick meant was this:

  - kind: Foo
   property: tags1
   property: tags2

  that is having two different properties of type ListProperty because
  then the index will have rows for each combination of values for each
  of the property and number of rows will be multiplication of number of
  distinct values in the indexes.

  For your case it is ok because, there will be a single index 'tags'
  with an entity being referenced by the DIFFERENT tag values in the
  SAME index. So the references might be multiple, number of rows will
  still be linear.

  Hope it helps.

  Regards,
  Jai
  On Jul 27, 11:16 am, Kyle Jensen kljen...@gmail.com wrote:
   Hi Nick,

   I noticed that the dev server will automatically add indexes that
   appear to be exploding indexes when I run queries like the example
   above.  Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server
   will create an index in index.yaml that is identical to the one you
   posted above:

   - kind: Foo
     property: tags
     property: tags

   ** Is that index not required for the snippet Foo.get_by_tags(['tag1',
   'tag2'])?
   ** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where bar
   is an IntegerProperty

   Thanks for your help and sorry for my ignorance!!
   Kyle

   On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com
   wrote:

Hi Kyle,

Exploding indexes only come into play when you're _defining_ indexes -
  for
example, an index like this would be an exploding one:

- kind: Foo
  property: tags
  property: tags

As long as you can satisfy your queries using the built in merge join
support (which is the case in your example, where you don't specify
inequality filters or sort orders), you'll be fine.

-Nick Johnson

On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com
  wrote:

 Hi, I'd like to know if multiple equality filters on a ListProperty
 leads to exploding indexes.

 I have a model something like the following (python):

 class Foo(db.model):
    tags = db.ListProperty(db.Category)

   �...@classmethod
    def get_by_tags(cls, tags):
        query = cls.all()
        for tag in tags:
            query.filter('tags =', tag)
        return query

 I'd like to know if I can filter by an arbitrary number of tags
 without encountering the exploding index problem (its not clear to me
 from the docs).

 E.g., can I do
 query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3'  'tagN'])

 etc etc.

 Thanks! Kyle

--
Nick Johnson, Developer Programs Engineer, App Engine

 --
 Nick Johnson, Developer Programs Engineer, App Engine
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Routing best practices

2009-07-27 Thread Federico Builes

Hi,

While working in not-so-big applications I'm seeing a lot of things  
like this:

from app.controllers.most_voted import MostVoted
from app.controllers.votes import Votes
from app.controllers.comments import Comments
from app.controllers.friends import Friends
from app.controllers.photos import Photos
from app.controllers.sponsors import Sponsors
...

application = webapp.WSGIApplication([
   (sponsors, Sponsors),
   (photos, Photos),
   (friends, Friends),
   (comments, Comments),
   (votes, Votes),
   (most_voted, MostVoted)
   ...

I can replace the initial imports with app.controllers.* and then do  
controllers.ControllerName but
I still can't find a way to write concise routes.

If you replace the ... for 10 or 15 more controllers you'll start to  
see my point. I'm wondering
what are the best practices in this area, what's people doing about  
this? I'd hate to see myself
doing the same for bigger applications.

--
Federico


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



[google-appengine] Re: Need input: developers and Azure VS GAE

2009-07-27 Thread Calvin Slayden

Azure also has SQL as a (more expensive) option, which, for some
applications, is a very compelling choice over Azure and GAE's table
storage. If you don't need it, though, it shouldn't factor into your
decision.

I'm sure there will be whitepapers galore, and there are some
significant differences under the hood, but it probably most comes
down to what toolkit your developer is familiar with.

On Jul 15, 11:08 am, mytemp mytempjunkm...@gmail.com wrote:
 Ah, thanks, wanted to make sure that wasn't SPAM, I am looking for
 Python/GAE expertise, I'll post another message then.

 Azure pricing was announced yesterday and causing me to rethink doing
 Azure, I have access to a rockstar .NET programmer at a reasonable
 price, so I was on the fence as I prefer GAE/Python and I used to do
 Python so being able to read it is useful ;-)  Also, there are a few
 GAE things I like more (like I don't have to decide when to scale or
 how many instances, I just set a quota, and worker threads are only
 charged when executed and not constantly when in a while loop).

 So, if I had access to a rockstar Python/GAE person (or two)... at a
 reasonable price, I think I'd just go GAE.  Anyone?

 On Jul 15, 7:05 am, Adam adam.crossl...@gmail.com wrote:



  And the second part of your question: Azure vs. GAE. I'm not aware of
  any formal white papers that exist on this subject; although, I'll
  wager cash money that Microsoft has a couple in the pipeline
  somewhere. I work with both. I earn my salary being a happy trilobite
  in the Microsoft ecosystem, so I have the C# and ASP.NET skills to
  take good advantage of Azure. I'm also a hopeless Google fanatic, and
  I got on-board with GAE on day one.

  My analysis: Azure and AppEngine are more like each other than any of
  the other cloud computing platforms, such as Amazon's EC2. They both
  give you a new programming model -- a sandbox -- to work in that
  encourages you to architect your applications in a way that allows
  them to take advantage of the instant, no-effort, on-demand scaling
  that is the real, compelling advantage of the Cloud.

  They both give applications fairly generous free quotas that give the
  developer and extremely-low cost-of-entry, enabling him of her to
  build and deploy an application without up-front and.or monthly cash
  outlays. If you are lucky/smart your application can be generating
  enough revenue to more than cover its costs before you have to start
  paying for resources.

  The main decision point between the two platforms comes down to the
  technology that you want to use to build your web application. Do you
  have access to C# and ASP.NET skills? Azure is a good choice. Do you
  have a Python/Java open source guru handy? AppEngine is a winner.

  A secondary decision point might be your choice of development
  platform. The Azure SDK will install and run on Vista or Windows
  Server 2008, and you will need a Visual Studio 2008 license. On the
  other hand, you can build AppEngine applications on Windows (XP,
  Vista, 7, etc), MacOS or Linux.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Forums/Messageboard that work on GAE?

2009-07-27 Thread water123

Hello all,

I've been looking for a forum / messageboard I could add to an app on
google apps. I thought this would have been easy, but so far my
searching has come up empty.

Ideally I would like to use phpbb, but is there an easy way to use
that directly? and I've also found jForums, but I don't think either
of these are usable right out of the box?

I know it is doable since I've found a couple google apps that are
using phpbb...What would people recommend?

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



[google-appengine] appcfg.py upload_data authentication failure

2009-07-27 Thread james.mackenzi...@googlemail.com

Hi everyone,

while trying to follow the 
http://code.google.com/appengine/docs/python/tools/uploadingdata.html
guide on uploading csv data to datastore, i've came across some
problems.

appcfg.py upload_data --config_file=loader.py --filename=data.csv --
kind=Album  bulk_upload_demo/

ends up with error: http://pastebin.com/m1955cde8 (both two appengine
cookies are deleted, the no_cookies command doesn't help either).

trying to upload localy
appcfg.py upload_data --config_file=loader.py --filename=data.csv --
kind=Album --url=http://localhost:8080/remoteapi bulk_upload_demo/

asks me for username/password, i do enter my gmail account used to
connect to the app engine account and password, still it ends up
almost similarly:
http://pastebin.com/m1204789d .

Please, if u do have any ideas for the possible reasons of the
mentioned error, share them with me :)

all the best,
jm

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



[google-appengine] Storage Quota hit 100%, 1GB limit?

2009-07-27 Thread StyleApp

I inherited an application the logs data to the app engine. It's a
simple single table log, similar to a web log. It seems on Friday
around 5PM it stopped logging. The log is full of errors, 10,402 in
the last 12 hours.

The API call datastore_v3.Put() required more quota than is available.

My impression was that the data store was limited to 1GB per day,
since the chart says Daily Limit as the column header. I know there
were million of entries, since it's never been cleaned out. I know I'm
not hitting 1GB of stored data per day, and no new data has been
accepted for over 2 days.

Any clarification on what the real limit is? I know I need to delete
just about all of the entries, and I don't need them. But as I
mentioned, I inherited this and it seems I have to right a script to
run the simple delete query/gql.

Any help, advice, ridicule great appreciated.

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



[google-appengine] Re: Consuming OAuth requests in app engine

2009-07-27 Thread Jaap Taal
Hi Terry,

As you suggested I'm adding the resources that I allready found (including
yours to be complete)
http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine#Sending_and_verifying_signed_requests
http://wiki.opensocial.org/index.php?title=Validating_Signed_Requests
http://wiki.opensocial.org/index.php?title=Introduction_To_Signed_Requests
Resource on Hyves.nl developer wiki (specific to hyves.nl):
http://trac.hyves-api.nl/wiki/OpensocialSpecs#Signedrequests

Jaap

On Mon, Jul 27, 2009 at 4:31 PM, nolybab thardin...@gmail.com wrote:


 Jaap,

 If you don't mind, please share any other resources you may have that
 might be useful on this topic :)

 Thanks,
 Terry

 On Jul 27, 10:07 am, Jaap Taal j...@q42.nl wrote:
  Terry,
  Thanks, I've found some other resources, but this is a usefull one!
 
  Jaap
 
  On Sat, Jul 25, 2009 at 1:13 AM, nolybab thardin...@gmail.com wrote:
 
   Jaap,
 
   See if this link has what you need:
 
  http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App.
 ..
 
   That should help.
 
   Good luck...
   Terry
 
   On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote:
Hi all,
 
I'm creating an opensocial widget on hyves.nl (a dutch social
networking site). I'm calling a makeRequest with
RequestParamters.AUTHORIZATION set to SIGNED. The GET call is
 enriched
with several query string parameters like:
* opensocial_owner_id
* opensocial_viewer_id
* opensocial_app_id
* oauth_consumer_key
* oauth_token (empty)
* xoauth_signature_publickey
* oauth_signature_method
* oauth_nonce
* oauth_timestamp
* oauth_signature
 
How do I verify that this request is coming from the hyves.nl
opensocial container?
I've found that GData does some oauth stuff, but that Api needs to
fetch an oauth token, while I just want to verify that the SIGNED
request is indeed coming from the container...
 
Anyone any pointers to the right direction?
 
Jaap
 


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



[google-appengine] Re: Storage Quota hit 100%, 1GB limit?

2009-07-27 Thread 'Αλκης Ευλογημένος
The limit is 1GB of live data total.

On Mon, Jul 27, 2009 at 8:58 PM, StyleApp styleiph...@gmail.com wrote:


 I inherited an application the logs data to the app engine. It's a
 simple single table log, similar to a web log. It seems on Friday
 around 5PM it stopped logging. The log is full of errors, 10,402 in
 the last 12 hours.

 The API call datastore_v3.Put() required more quota than is available.

 My impression was that the data store was limited to 1GB per day,
 since the chart says Daily Limit as the column header. I know there
 were million of entries, since it's never been cleaned out. I know I'm
 not hitting 1GB of stored data per day, and no new data has been
 accepted for over 2 days.

 Any clarification on what the real limit is? I know I need to delete
 just about all of the entries, and I don't need them. But as I
 mentioned, I inherited this and it seems I have to right a script to
 run the simple delete query/gql.

 Any help, advice, ridicule great appreciated.

 



-- 

Alkis

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



[google-appengine] Re: Indexes on lists of 'tags' queries

2009-07-27 Thread Nick Johnson (Google)
On Mon, Jul 27, 2009 at 7:39 PM, Jai sharma...@gmail.com wrote:


 Hi Nick,

 Thanks for replying, that made the things a bit more clear. But I
 still don't understand the reasoning behind it.

 You said the following example

 Foo.all().filter('tags =', foo).filter('tags =', bar).order('bar')

 will result in an exploding index.

 But why so?


Because as soon as you apply an inequality filter or sort order to your
query, it requires a composite index. In this case, the composite index has
to include two list properties (actually the same list property twice),
which leads to an exploding index.

Naturally, if your number of tags is limited, this may not be a big problem.




 I believe above statement is equivalent to:

 select * from Foo where tags='foo' AND tags = 'bar' order by 'bar1'

 I changed 'bar' to 'bar1' just to avoid confusion.

 Now since the order by is applied to 'bar1' and not to 'tags'(can that
 be even done??) why will two separate indexes be required.


Not two separate indexes - a single composite index that includes all the
fields being queried on (the number of times they're used).


 I
 understand they can be required if order by is applied on tags
 somehow, but for this case an index with default ordering for
 listproperty class could have been used.


With the exception of merge join queries (those with only equality filters
and no sort orders), queries only ever use a single index.




 The non exploding index that can be used here is:

 - kind: Foo
  property:
- tags
- bar1
direction:desc

 Or will this not work for the query in question?


It won't, because the tags property has to appear as many times as it's used
in a query.

-Nick Johnson




 Thanks for bearing with me.


 On Jul 27, 12:56 pm, Nick Johnson (Google) nick.john...@google.com
 wrote:
  Hi Jai,
 
  Both your example and my original example are cases of exploding indexes.
 In
  my example, indexing on the same listproperty twice is required for
 certain
  queries (for example, the Foo.all().filter('tags =', foo).filter('tags
 =',
  bar).order('bar') example), but likewise results in an exploding index.
 
  -Nick Johnson
 
 
 
  On Mon, Jul 27, 2009 at 4:30 PM, Jai sharma...@gmail.com wrote:
 
   Hi Kyle,
 
   I think what Nick meant was this:
 
   - kind: Foo
property: tags1
property: tags2
 
   that is having two different properties of type ListProperty because
   then the index will have rows for each combination of values for each
   of the property and number of rows will be multiplication of number of
   distinct values in the indexes.
 
   For your case it is ok because, there will be a single index 'tags'
   with an entity being referenced by the DIFFERENT tag values in the
   SAME index. So the references might be multiple, number of rows will
   still be linear.
 
   Hope it helps.
 
   Regards,
   Jai
   On Jul 27, 11:16 am, Kyle Jensen kljen...@gmail.com wrote:
Hi Nick,
 
I noticed that the dev server will automatically add indexes that
appear to be exploding indexes when I run queries like the example
above.  Ie, if I do Foo.get_by_tags(['tag1', 'tag2']) the dev server
will create an index in index.yaml that is identical to the one you
posted above:
 
- kind: Foo
  property: tags
  property: tags
 
** Is that index not required for the snippet
 Foo.get_by_tags(['tag1',
'tag2'])?
** What about Foo.get_by_tags(['tag1', 'tag2']).order('bar') where
 bar
is an IntegerProperty
 
Thanks for your help and sorry for my ignorance!!
Kyle
 
On Jul 27, 8:07 am, Nick Johnson (Google) nick.john...@google.com
 
wrote:
 
 Hi Kyle,
 
 Exploding indexes only come into play when you're _defining_
 indexes -
   for
 example, an index like this would be an exploding one:
 
 - kind: Foo
   property: tags
   property: tags
 
 As long as you can satisfy your queries using the built in merge
 join
 support (which is the case in your example, where you don't specify
 inequality filters or sort orders), you'll be fine.
 
 -Nick Johnson
 
 On Mon, Jul 27, 2009 at 3:50 PM, Kyle Jensen kljen...@gmail.com
   wrote:
 
  Hi, I'd like to know if multiple equality filters on a
 ListProperty
  leads to exploding indexes.
 
  I have a model something like the following (python):
 
  class Foo(db.model):
 tags = db.ListProperty(db.Category)
 
 @classmethod
 def get_by_tags(cls, tags):
 query = cls.all()
 for tag in tags:
 query.filter('tags =', tag)
 return query
 
  I'd like to know if I can filter by an arbitrary number of tags
  without encountering the exploding index problem (its not clear
 to me
  from the docs).
 
  E.g., can I do
  query = Foo.get_by_tags(['tag0', 'tag1', 'tag2', 'tag3' 
 'tagN'])
 
  etc etc.
 
  Thanks! Kyle
 
 --
 Nick Johnson, 

[google-appengine] Random HTTP 500 errors

2009-07-27 Thread vivpuri

I am getting random HTTP 500 errors on my application. If i refresh
the page, it loads just fine. Also when i try to look into the logs, i
do find the entry, but nothing specific about the error. Like this log
message - http://d25b87jrm423ks.cloudfront.net/temp/500_error.jpg

Does anyone have any ideas how i can catch these errors?

Thanks


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



[google-appengine] Re: mapping www.mydomain.com to my-app-id.appspot.com

2009-07-27 Thread Srikanth

Thank you very much. It worked.

On Jul 27, 10:02 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Srikanth,

 Follow the instructions 
 here:http://code.google.com/appengine/articles/domains.html

 When asked to specify a subdomain, enter 'www'.

 -Nick Johnson



 On Sun, Jul 26, 2009 at 7:07 AM, Srikanth sriky...@gmail.com wrote:

  This must have been discussed number of times.. but honestly i did so
  much googling around but it is impossible find a proper answer.

  First i built the app using appengine. Then I went to Versions and
  tried to Add domain, which led me to buy the domain using google apps.
  Once I bought it, i'm lost totally. How do I map my appengine
  application towww.mydomain.com. I'm not asking about naked domain.
  that is the least of my problem.

  I can see myapp.appspot.com as a service under google apps account.
  But, how do I map it towww.mydomain.com?

  Please advice.

  - Srikanth

 --
 Nick Johnson, Developer Programs Engineer, App Engine
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Drools -GoogleApp Integration

2009-07-27 Thread madhu prasad paridi

HI All,
Drools is an open source rule engine provided by Jboss.we are trying
to deploy this application on to google app engine and i get this
java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings
\p5101754\drools.packagebuilder.conf read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at com.google.appengine.tools.development.DevAppServerFactory
$CustomSecurityManager.checkPermission(DevAppServerFactory.java:128)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.File.exists(Unknown Source)
at org.drools.util.ChainedProperties.loadProperties
(ChainedProperties.java:243)
at org.drools.util.ChainedProperties.init(ChainedProperties.java:
69)
at org.drools.util.ChainedProperties.init(ChainedProperties.java:
41)
at org.drools.compiler.PackageBuilderConfiguration.init
(PackageBuilderConfiguration.java:167)
at org.drools.compiler.PackageBuilderConfiguration.init
(PackageBuilderConfiguration.java:153)
at org.drools.compiler.PackageBuilder.init(PackageBuilder.java:242)
at org.drools.compiler.PackageBuilder.init(PackageBuilder.java:142)
at
org.drools.builder.impl.KnowledgeBuilderProviderImpl.newKnowledgeBuilder
(KnowledgeBuilderProviderImpl.java:29)
at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder
(KnowledgeBuilderFactory.java:29)
at com.ness.TestServlet.readKnowledgeBase(TestServlet.java:46)
at com.ness.TestServlet.doGet(TestServlet.java:22)


i was going through some forums on drools looks like google app engine
has to support this security policy feature .
can any one of you guys please suggest me on this how to set security
policy for web apps in google app engine
Thanks
Madhu Prasad Paridi

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



[google-appengine] Getting around joins/in queries

2009-07-27 Thread Taylor

Hi,

I have a facebook app that naturally would like to perform set
operations on a logged in user's friends against the data in the
application (stored in app engine).  This presents a particular
challenge, suppose for example that in my application a logged in user
can subscribe to a particular event, we then have some classes like
this:

User {
   Long key;
   Long facebookId;
   // etc...
}

Event {
  Long key;
  String name;
  // etc...
}

Subscribed {
  Long userKey;
  Long eventKey;
  Long start;
  Long end;
  //etc...
}

Now, if I have a particular user logged in, who has a set of friends,
I want to know which events that set of friends have subscribed to.
A normal query would be SELECT * from SUBSCRIBED where userkey in
( the set of friends )

By now, I know that there are no conditional OR operations, joins, or
in queries allowed in app engine.

My initial attempt to solve this problem has resulted in writing out
the intersection at subscription time using an additional table,
something like:

FriendSubscribed extends Subscribed {
  Long friendKey;
  // etc...
}

// for every friend of the logged in user, write a record so the query
can simply pick up
// all records for that friend
void persistForFriends(CollectionLong friends, Subscribed
subscribed) {
  for (Long id : friends) {
pm.persist(new FriendSubscribed(id, subscribed));
  }
}

Now I have shifted the query burden to the write side and I can do a
simple query on the FriendSubscribed table for a particular user which
is nice and fast: SELECT * from FRIENDSUBSCRIBED where friendkey =
myuserid.  This returns all the subscriptions that the logged in
user's friends have made (with some slight gotchas, e.g. if the user
adds a new friend, then any subscriptions that the new friend already
has will not be seen - this is tolerable)

So, what's the problem?  On facebook, a user typically has order 100
friends.  And I suspect many will have 500 and a few will have 1000+.

Even for order 100 friends, at the current write speed (5/s) I can
expect a write operation to take approx. 20s!!  This is rather long
for a web operation, and gets worse as you increase the number of
friends.

I am curious if anyone has any ideas for solutions?  I have a few
thoughts, but wanted to see what people thought before moving on to
the next optimization.  Here are my thoughts:

1) Queue the friend write operation - it's not critical to the core
write operation that all the join data be written out, it can always
be re-computed at any point in time by analyzing the Subscribed
records and current friend list for each friend.  Only problem is I am
using Java and the scheduled tasks API is not yet supported.
Furthermore, it still seems like a lot of work to go through if we
imagine thousands or hundreds of thousands of users making
subscriptions as each write operation they do gets multiplied by a
factor of 100-1000.

2) Make an owned relationship from Events to Subscribed. Something
like:

Event {
  Long key;
  String name;

  SetSubscribed subscribed;
// etc...
}

Now reading an event records gives precisely the information I want
and simply has to be culled down (the intersection of the logged in
user's friends and the Event subscribed list is the list of friends
that are subscribed to that event).  The problem I see with this
implementation is high contention.  For every subscription event I
have to lock out updates and make sure everyone is writing a coherent
view of the set (don't we have to update the value into the Event
record?)  Or I may be wrong and it may be that the ownership
relationship is maintained automatically by the datastore and this
isn't as much of a concern as I think it is as the owned relationship
doesn't really write anything into the owner record, it just does a
join-like query to populate the set on read...that might be ideal??

3) ??  Something else?

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



[google-appengine] Invoke a normal web service on google app engine

2009-07-27 Thread madhu prasad paridi

HI All,
  Iam trying to invoke a web service from a client on google
app engine and i get this exception:
java.rmi.Remote not supported by google app engine runtime
environment.can any one please suggest me on how to get through this.
Thanks
Madhu Prasad ParidiT

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



[google-appengine] Re: Data Viewer

2009-07-27 Thread Jeff S (Google)
Hi Ed,

What is your app ID? I'll look into this.

Thank you,

Jeff

On Fri, Jul 24, 2009 at 10:27 PM, Ed edgam...@gmail.com wrote:


 Hi GAE staff,
 Any particular reason why I can no longer view my data using Data
 Viewer?  I always get the encouraging message to ...please try again
 later and when I do, I get back the same message.
 Thanks.
 -Ed
 


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



[google-appengine] Re: Noob web programmer seeks Jedi guru

2009-07-27 Thread Jeff S (Google)
Hi Mark,

Would you mind sharing the URL of your app along with your app ID? Seeing
these redirects in action would be very helpful, as these redirects could
come from several different sources. If you could share relevant sections of
your source code as well it should greatly improve our ability to get to the
bottom of this :-)

Thank you,

Jeff

On Mon, Jul 27, 2009 at 5:12 AM, Mark Essel mes...@gmail.com wrote:


 Doing some simpe oauth stuff on the GAE and having a redirect merry go
 round (doesn't happen with localhost).

 Warning, just began using php a month ago, and dove into scala/lift/
 java/python/GAE
 please speak in simple words, a if you were explaining it to a child
 (galaxy quest fans)

 thanks ladies and gents in advance.
 You'll be rewarded with the wonders of the virtual currency known as
 gratitude

 


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



[google-appengine] Re: Building index stucked

2009-07-27 Thread Jeff S (Google)
Hi Tito,

It looks like this has been resolved. Please let me know if you still need a
hand.

Thank you,

Jeff

On Fri, Jul 24, 2009 at 6:17 PM, Tito Garrido titogarr...@gmail.com wrote:

 Hi,

 My application titogarrido has 3 indexes that are on Build state for more
 than 5 days... What can I do to fix it?

 Thanks in advance,

 Tito

 --

 Linux User #387870
 .
  _/_õ|__|
 ..º[ .-.___.-._| . . . .
 .__( o)__( o).:___

 


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



[google-appengine] Re: Consuming OAuth requests in app engine

2009-07-27 Thread nolybab

cool! thanks! :)

On Jul 27, 3:04 pm, Jaap Taal j...@q42.nl wrote:
 Hi Terry,

 As you suggested I'm adding the resources that I allready found (including
 yours to be 
 complete)http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App...http://wiki.opensocial.org/index.php?title=Validating_Signed_Requestshttp://wiki.opensocial.org/index.php?title=Introduction_To_Signed_Req...
 Resource on Hyves.nl developer wiki (specific to 
 hyves.nl):http://trac.hyves-api.nl/wiki/OpensocialSpecs#Signedrequests

 Jaap

 On Mon, Jul 27, 2009 at 4:31 PM, nolybab thardin...@gmail.com wrote:

  Jaap,

  If you don't mind, please share any other resources you may have that
  might be useful on this topic :)

  Thanks,
  Terry

  On Jul 27, 10:07 am, Jaap Taal j...@q42.nl wrote:
   Terry,
   Thanks, I've found some other resources, but this is a usefull one!

   Jaap

   On Sat, Jul 25, 2009 at 1:13 AM, nolybab thardin...@gmail.com wrote:

Jaap,

See if this link has what you need:

   http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App.
  ..

That should help.

Good luck...
Terry

On Jul 24, 9:20 am, j...@q42.nl j...@q42.nl wrote:
 Hi all,

 I'm creating an opensocial widget on hyves.nl (a dutch social
 networking site). I'm calling a makeRequest with
 RequestParamters.AUTHORIZATION set to SIGNED. The GET call is
  enriched
 with several query string parameters like:
 * opensocial_owner_id
 * opensocial_viewer_id
 * opensocial_app_id
 * oauth_consumer_key
 * oauth_token (empty)
 * xoauth_signature_publickey
 * oauth_signature_method
 * oauth_nonce
 * oauth_timestamp
 * oauth_signature

 How do I verify that this request is coming from the hyves.nl
 opensocial container?
 I've found that GData does some oauth stuff, but that Api needs to
 fetch an oauth token, while I just want to verify that the SIGNED
 request is indeed coming from the container...

 Anyone any pointers to the right direction?

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



[google-appengine] URIs and the Current Load Table

2009-07-27 Thread Ben Nevile

Hi,

I have an app where users create an account, and then can access the
service through www.mywebsite.com/account_id.  Awesome!  But not so
awesome for the Current Load table that's on my dashboard, since
having the account_id as part of the URI and not a parameter means
that it doesn't aggregate stats in a meaningful way.  No one URI has
much of a meaningful load, even though something like /.*/settings
might account for 50% of all the requests.

Am I stupid to be structuring my URIs this way?  It seems reasonable
to me.  It would be boss if this URI table was based on the mappings
we declare in our app.

Ben


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



[google-appengine] Re: Why the urlfetch can not fetch the feed from delicious.com?

2009-07-27 Thread cpedia

Thank you all.

I have submitted the issue to yahoo support team. Hope they can
resolve the problem.

Because the code worked in previous release of my project:
http://code.google.com/p/cpedialog
I also doubt it's the problem of yahoo.


On Jul 28, 2:25 am, Calvin Slayden calvin.slay...@gmail.com wrote:
 You can use an App Engine-hosted CGI proxy to validate Nick's
 hypothesis 
 (e.g.http://proxypy.com/).http://www.delicious.comworks;http://feeds.delicious.comdoes
  not.

 The best way around this would be to use the Delicious API rather than
 scraping the feeds page:http://delicious.com/help/api. This appears
 not to block GAE (at a minimum, I can promise that Yahoo's BOSS API
 does not block GAE applications).

 On Jul 27, 2:13 am, Nick Johnson (Google) nick.john...@google.com
 wrote:



  Hi cpedia,

  '999' is not a valid HTTP response code. Delicious is choosing to return
  this for their own reasons - you'd have to ask them why. It's possible
  they've disabled access from Google IPs.

  -Nick Johnson

  On Mon, Jul 27, 2009 at 6:37 AM, cpedia cpe...@gmail.com wrote:

   I can run the program in my local environment. But when i deploy to
   the GAE, I will get error when i fetch the delicious json feed using
   urlfetch.

   The code is:

              url = http://feeds.delicious.com/v2/json/tags/%s; %
   username
              result = urlfetch.fetch(url,
                          method=urlfetch.GET,
                          headers={'Content-Type': 'application/json'})
              if result.status_code == 200:
                    getLogger(__name__).debug(delicious content: %s %
   result.content)

   The delicious return content will be following (I got from the console
   log). I don't know why the yahoo delicious server will refuse the GAE
   server.

   Google, please advise?

   #
   07-26 10:18PM 31.290

   delicious content: HTTP/1.1 999 Unable to process request at this time
   -- error 999

   #
   E 07-26 10:18PM 31.512

   Date: Mon, 27 Jul 2009 05:18:31 GMT

   #
   E 07-26 10:18PM 31.512

   Expires: Thu, 01 Jan 1970 22:00:00 GMT

   #
   E 07-26 10:18PM 31.512

   Cache-Control: no-cache

   #
   E 07-26 10:18PM 31.512

   Cache-Control: no-store

   #
   E 07-26 10:18PM 31.513

   Pragma: no-cache

   #
   E 07-26 10:18PM 31.513

   Cache-Control: private

   #
   E 07-26 10:18PM 31.513

   Connection: close

   #
   E 07-26 10:18PM 31.513

   Transfer-Encoding: chunked

   #
   E 07-26 10:18PM 31.513

   Content-Type: text/html;charset=UTF-8

   #
   E 07-26 10:18PM 31.514

   #
   E 07-26 10:18PM 31.514

   108d

   #
   E 07-26 10:18PM 31.514

   HTML
   HEAD
   meta http-equiv=Content-Type content=text/html;charset=utf-8 

   !-- Title --
   TITLE
   Yahoo! - 999 Unable to process request at this time -- error 999
   /TITLE
   !

   style
   /* nn4 hide */
   /*/*/
   body {font:small/1.2em arial,helvetica,clean,sans-serif;font:x-
   small;text-align:center;}table {font-size:inherit;font:x-small;}
   htmlbody {font:83%/1.2em arial,helvetica,clean,sans-serif;}input
   {font-size:100%;vertical-align:middle;}p, form {margin:0;padding:0;}
   p {padding-bottom:6px;margin-bottom:10px;}#doc {width:48.5em;margin:0
   auto;border:1px solid #fff;text-align:center;}#ygma {text-
   align:right;margin-bottom:53px}
   #ygma img {float:left;}#ygma div {border-bottom:1px solid #ccc;padding-
   bottom:8px;margin-left:152px;}#bd {clear:both;text-align:left;width:
   75%;margin:0 auto 20px;}
   h1 {font-size:135%;text-align:center;margin:0 0 15px;}legend
   {display:none;}fieldset {border:0 solid #fff;padding:.8em 0 .8em
   4.5em;}
   form {position:relative;background:#eee;margin-bottom:15px;border:1px
   solid #ccc;border-width:1px 0;}
   #s1p {width:15em;margin-right:.1em;}
   form span {position:absolute;left:70%;top:.8em;}form a {font:78%/1.2em
   arial;display:block;padding-left:.8em;white-space:nowrap;background:
   url(http://us.i1.yimg.com/us.yimg.com/i/s/bullet.gif) no-repeat left
   center;}
   form .sep {display:none;}.more {text-align:center;}#ft {padding-top:
   10px;border-top:1px solid #999;}#ft p {text-align:center;font:78%
   arial;}
   /* end nn4 hide */
   /style

   /HEAD
   bodydiv id=doc
   div id=ygma

   !-- Logo --
   a href=http://us.rd.yahoo.com/500/*http://www.yahoo.com;img
   src=http://us.i1.yimg.com/us.yimg.com/i/yahoo.gifwidth=147height=31
   border=0 alt=Yahoo!/a
   !

   div

   !-- YahooLink --
   a href=http://us.rd.yahoo.com/500/*http://www.yahoo.com;Yahoo!/a
   !

   -

   !-- HelpLink --
   a href=http://us.rd.yahoo.com/500/*http://help.yahoo.com;Help/a
   !

   /div/div
   div id=bdh1

   !-- HeaderMessage --
   Sorry, Unable to process request at this time -- error 999.
   !

   /h1
   table
   tr
   td valign=top

   !-- AltLogo --
   img src=http://arc.help.yahoo.com/error.gif?
   

[google-appengine] Has anyone does this?

2009-07-27 Thread Jim Culver

I was wondering whether anyone has got SSI (Server Side Includes)
working on GAE and whether this is possible?

If it isn't what are the best alternatives?

Thanks

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