[appengine-java] Re: Unexpected Exception while trying executin a jdo query

2011-02-23 Thread Didier Durand
Hi,

Aren't missing a @PrimaryKey annotation on any of your field ? You did
not show it. The primary key is required for JDO to be able to store
your data.

I remember a long time ago (before using Objectify) having such a
cryptic exception

regards

didier

On Feb 23, 8:33 am, culov cul...@gmail.com wrote:
 same problem, havent found an answer.

 On Jan 28, 1:46 am, Christophe Weber christophe.we...@gmail.com
 wrote:

  Hi,

  I have a problem when trying to query  on the appengine. here's what I do:

  Query q = persistenceManager.newQuery(User.class);
  q.declareParameters(java.lang.String emailParam);
  q.setFilter(userEmail == emailParam);
  ListUser list = (ListUser) q.execute(email);
                   if (list.size()=0)    ( OR  if (list.isEmpty()))

  And I get this exception:

  java.lang.ClassCastException: java.lang.Long cannot be cast to 
  java.lang.String
          at 
  org.datanucleus.store.appengine.DatastoreFieldManager.fetchStringField(Data 
  storeFieldManager.java:207)
          at 
  org.datanucleus.state.AbstractStateManager.replacingStringField(AbstractSta 
  teManager.java:1180)
          at com.logos.stm.shared.model.User.jdoReplaceField(User.java)
          at com.logos.stm.shared.model.User.jdoReplaceFields(User.java)
          at 
  org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl 
  .java:2772)
          at 
  org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl 
  .java:2791)
          at 
  org.datanucleus.store.appengine.DatastorePersistenceHandler.fetchObject(Dat 
  astorePersistenceHandler.java:480)
          at 
  org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(Datastore 
  Query.java:570)
          at 
  org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(Datastore 
  Query.java:525)
          at 
  org.datanucleus.store.appengine.query.DatastoreQuery.access$300(DatastoreQu 
  ery.java:111)
          at 
  org.datanucleus.store.appengine.query.DatastoreQuery$6.apply(DatastoreQuery 
  .java:643)
          at 
  org.datanucleus.store.appengine.query.DatastoreQuery$6.apply(DatastoreQuery 
  .java:635)
          at 
  org.datanucleus.store.appengine.query.LazyResult.resolveNext(LazyResult.jav 
  a:94)
          at 
  org.datanucleus.store.appengine.query.LazyResult.resolveAll(LazyResult.java 
  :116)
          at 
  org.datanucleus.store.appengine.query.LazyResult.size(LazyResult.java:110)
          at 
  org.datanucleus.store.appengine.query.StreamingQueryResult.size(StreamingQu 
  eryResult.java:130)

  The error occurs on the if (list.size()=0)     OR  if (list.isEmpty()) in 
  both cases. My User class is declared as followed:

  @PersistenceCapable(identityType=IdentityType.APPLICATION)

  public class User implements Serializable {

  ...

  @Persistent

   String userEmail;

  +getter and setter

  Can someone explain I have this error?

  Thanks a lot!



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



[appengine-java] Serving a Jar file

2011-02-23 Thread Jeff Martin
My GAE app serves up a Jar file to a Java client. This works fine
locally, but when I upload to google, that version of the jar doesn't
get updated unless I blow it away in Java cache viewer. The version at
Google also looks different in cache viewer: it doesn't have a
modified date but does have an expired date.

Bonus points if anyone knows how to get GAE to serve up a .jar.pack.gz
files property. Existing bug reports claim this isn't possible.

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



[appengine-java] Application exception only in hosted mode

2011-02-23 Thread Sergey Frizen
Hi everyone!

I got an exception in my GWT/GAE application only in hosted mode. In
web mode (on the Google AE) all works fine.

This is the code of service implementation:
package com.jsoft.frontoffice.server;

import java.util.Date;
import java.util.logging.Logger;

import javax.jdo.PersistenceManager;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.jsoft.frontoffice.client.MainService;

public class MainServiceImpl extends RemoteServiceServlet implements
MainService {

private static final long serialVersionUID = 1L;
private static final Logger log =
Logger.getLogger(MainServiceImpl.class.getName());

@Override
public String addDocument(String value) {

//Document doc = new Document();
//doc.setNumber(123);
//doc.setDate(new Date());
//doc.setDeletionMark(false);

try
{
log.warning(VALUE =  + value);
PersistenceManager pm = 
PMF.get().getPersistenceManager(); ---
EXCEPTION HERE
try
{
//pm.makePersistent(doc);
} catch (Throwable t) {
pm.close();
log.warning(new Date().toString() + :
pm.makePersistent(doc);  + t.toString());
return new Date().toString() + : pm.makePersistent(doc);
 + t.toString();
}
}
catch (Throwable t) {
log.warning(new Date().toString() + : pm =
PMF.get().getPersistenceManager();  + t.toString());
t.printStackTrace();
return new Date().toString() + : pm =
PMF.get().getPersistenceManager();  + t.toString();
}

return OK;
}

}

This is the stack trace:

Initializing AppEngine server
Logging to JettyLogger(null) via
com.google.apphosting.utils.jetty.JettyLogger
Successfully processed D:\!JOB!\java\FrontOffice\war\WEB-INF/appengine-
web.xml
Successfully processed D:\!JOB!\java\FrontOffice\war\WEB-INF/web.xml
The server is running at http://localhost:/
[WARN] VALUE = 123
[ERROR] ResourceBundle org.datanucleus.Localisation for locale ru_RU
was not found!
[ERROR] ResourceBundle org.datanucleus.jdo.Localisation for locale
ru_RU was not found!
[WARN] Wed Feb 23 06:35:01 UTC 2011: pm =
PMF.get().getPersistenceManager();
java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at
com.jsoft.frontoffice.server.MainServiceImpl.addDocument(MainServiceImpl.java:
27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:
100)
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
569)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:
208)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:
248)
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:
62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
58)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
122)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
70)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at 

[appengine-java] relation between two class as a foreign class.... Urgent help needed

2011-02-23 Thread Amit Surana
i have two classes emp_master and emp_details
emp_master has a  emp_Id as a KEY and is used as a reference to 
emp_details..
So when that is deleted then emp details of the regarding emp must be 
deleted

how can i do this???
 
i have done this as below..
Is this correct???
if correct then how to pass emp_id in emp_details..

if wrong then how can i do above mentioned things..

classes..

EMp_master..

public class emp_master {

@PrimaryKey
private Key emp_Id;
  @Persistent
private String first_name;
 @Persistent
private String last_name;
 @Persistent
private String designation;
 @Persistent
private Date doj;
 @Persistent
private Date dob;
 @Persistent 
private Key dept_Id;
 public emp_master(String first_name, String last_name, String 
designation,Date doj,Date dob)
{
this.first_name = first_name;
this.last_name = last_name;
this.designation = designation;
this.dob = dob;
this.doj = doj;
}
public void setemp_Id(Key emp_Id)
{
this.emp_Id = emp_Id;
}
public Key getemp_Id()
{
return emp_Id;
}
 public void setdept_Id(department dept)
{
this.dept_Id = dept.getdept_Id();
}
 public Key getdept_Id()
{
return dept_Id;
}
 public void setfirst_name( String first_name)
{
this.first_name= first_name;
}
 public String getfirst_name()
{
return first_name;
}

 public void setlast_name( String last_name)
{
this.last_name= last_name;
}
 public String getlast_name()
{
return last_name;
}
 public void setdesignation( String designation)
{
this.designation= designation;
}
 public String getdesignation()
{
return designation;
}
 public void setdob( Date dob)
{
this.dob= dob;
}
 public Date getdob()
{
return dob;
}
 public void setdoj( Date doj)
{
this.doj= doj;
}
 public Date getdoj()
{
return doj;
}
}







Emp_details..
@PersistenceCapable
public class emp_detail {

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key emp_no;

@Persistent
private Key emp_Id;
 @Persistent
private Key reporting_to;
 @Persistent
private Date dob;
 @Persistent
private String temp_add;
 @Persistent
private String per_add;
 @Persistent
private String blood_grp;
 @Persistent
private String passport_no;
 @Persistent
private String pan_no;
 @Persistent
private String license_no;
 @Persistent
private String phone_no;
 @Persistent
private String mob_no;
 @Persistent
private String emg_no;
 @Persistent
private String interest;
 @Persistent
private String drawer_no;
 @Persistent
private String desk_no;
 @Persistent
private String ext;
 @Persistent
private String img;
 @Persistent
private Email email;
 @Persistent
private String mac_no;
 public emp_detail(Date dob, String temp_add,String per_add,String 
blood_grp,String passport_no,String pan_no,String license_no,String 
phone_no,String mob_no,String emg_no,String interest,String drawer_no,String 
desk_no,String ext,String img,Email email,String mac_no) 
{
 this.dob =dob;
this.temp_add = temp_add;
this.per_add=per_add;
this.blood_grp=blood_grp;
this.passport_no= passport_no;
this.pan_no= pan_no;
this.license_no= license_no;
this.phone_no = phone_no;
this.mob_no = mob_no;
this.emg_no = emg_no;
this.interest = interest;
this.drawer_no = drawer_no;
this.desk_no = desk_no;
this.ext = ext;
this.email = email;
this.mac_no = mac_no;
   
}
 public Key getemp_no()
{
return emp_no;
}

public void setKey(emp_master emp) {
this.emp_Id = emp.getemp_Id();
}

public Key getKey() {
 return emp_Id;
}

 public void setreporting_to(emp_master emp)
{
this.reporting_to = emp.getemp_Id();
}
 public Key getreporting_to()
{
return reporting_to;
}
 public void setdob(Date dob){
this.dob = dob;
}
 public Date getdob()
{
return dob;
}
 public void setper_add(String per_add){
this.per_add = per_add;
}
 public String getper_add()
{
return per_add;
}
 public void settemp_add(String temp_add){
this.temp_add = temp_add;
}
 public String gettemp_add()
{
return temp_add;
}
 public void setblood_grp(String blood_grp)
{
this.blood_grp = blood_grp;
}
 public String getblood_grp()
{
return blood_grp;
}
 public void setpassport_no(String passport_no)
{
this.passport_no = passport_no;
}
 public String getpassport_no()
{
return passport_no;
}
 public void setlicense_no(String license_no)
{
this.license_no = license_no;
}
 public String getlicense_no()
{
return license_no;
}
 public void setpan_no(String pan_no)
{
this.pan_no = pan_no;
}
 public String getpan_no()
{
return pan_no;
}
 public void setphone_no(String phone_no)
{
this.phone_no= phone_no;
}
 public String getphone_no()
{
return phone_no;
}
 public void setmob_no(String mob_no)
{
this.mob_no= mob_no;
}
 public String getmob_no()
{
return mob_no;
}
 public void setemg_no(String emg_no)
{
this.emg_no= emg_no;
}
 public String getemg_no()
{
return emg_no;
}
 public void setinterest(String interest)
{
this.interest= interest;
}
 public String getinterest()
{
return interest;
}
 

[appengine-java] How to do Foreign Key relationship in Jdo??

2011-02-23 Thread Amit Surana
i have 3 table emp_master, emp_details and department_master.

emp_master has primary key emp_Id and i want to use this as a foreign key 
for emp_detail and department_master.


how can i do this???

Kindly help me out as soon as possible.

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



Re: [appengine-java] Re: Probably a newbie question (most likely)

2011-02-23 Thread Fernando O.
Actually I had to persist the user :D

But I found another problem: The Key for the Thread is a Long... Appengine
is generating dupes for that key even though it's the pk. It loooks like it
realizes that a Thread is owned by a user and in the DB it ends with a PK
UserID, ThreadID

The weird part is that the comment does not inherits that and if I open the
thread 1 for user A and thread 1 for user B I see the same comments.




On Wed, Feb 23, 2011 at 11:42 AM, WillSpecht willspe...@gmail.com wrote:

 Check out this blog post:

 http://gae-java-persistence.blogspot.com/2009/10/creating-bidrectional-owned-one-to-many.html

 I'm pretty sure you want to be persisting the thread and not the
 comment.  If you make it un-owned, you want the thread to have a key
 and a user, then each comment has a key and a parent key which is the
 key of the thread it belongs to.  if you do a query where parent key
 == thread key you should get all the comments that belong to the
 thread.

 On Feb 22, 7:06 pm, Fernando O. fot...@gmail.com wrote:
  tried that and it's telling me
  org.datanucleus.exceptions.NucleusObjectNotFoundException: Could not
  retrieve entity of kind Thread with key Thread(51)
 
  I also tried doing a query with the Thread key and UserKey (wich is the
 key
  for a thread) and then I get an exception about modifying 2 entities in 1
  transaction :S
 
  On Tue, Feb 22, 2011 at 8:56 PM, Fernando O. fot...@gmail.com wrote:
   Thanks! I'll try that. BTW no, addComment does not store the comment.
 
   On Tue, Feb 22, 2011 at 8:49 PM, WillSpecht willspe...@gmail.com
 wrote:
 
   Don't you need to persist the thread as well as the comment?  It's
   hard to analyze your code with such a small sample.  Does addComment
   persist the thread? My
guess is that something is making the transaction fail, probably
   cause you are trying to operate on two different entity groups. I
   would simply store the comment as it's own entity and when you want
   all the comments simply do a query for comments with parentKey ==
   ThreadKey.
 
   On Feb 21, 9:30 pm, Fernando O. fot...@gmail.com wrote:
Hi all.
First of all I have to admit: I havent read all the docs.
 
I had a small app running, it basically has this:
A User:
@PersistenceCapable(detachable = true)
@FetchGroup(name = _post, members = { @Persistent(name = posts)
 })
public class User implements Serializable{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent(mappedBy = user, defaultFetchGroup = true)
@Element(dependent = true)
private ListPost posts;
}
 
A thread :
 
@PersistenceCapable(detachable = true)
@FetchGroup(name = _user, members = { @Persistent(name = user)})
public class Thread implements Serializable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long key;
 
@Persistent(defaultFetchGroup = true)
@Element(dependent = true)
private User user;
...
 
}
 
So now I want to add comments, each comment will have: the user that
   made
the comment, and the thread that it belongs to, and some other
 fields:
@PersistenceCapable(detachable = true)
public class ThreadComment implements Serializable{
 @PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
 
@Persistent(defaultFetchGroup = true)
@Element(dependent = true)
private User user;
 
@Persistent(defaultFetchGroup = true)
@Element(dependent = true)
private Thread thread;
...
 
}
 
I changed the Thread to include a list of comments:
@PersistenceCapable(detachable = true)
@FetchGroup(name = _user, members = { @Persistent(name =
comments),@Persistent(name
= user)})
public class Thread implements Serializable {

@Persistent(defaultFetchGroup = true)
@Element(dependent = true)
private ListThreadComment comments;
 
}
 
My problem is that meanwhile this works in memory when I try to
 persist
   the
ThreadComment
PersistenceManager pm = getPMF();
Transaction tx = pm.currentTransaction();
tx.begin();
thread.addComment(comment);
pm.makePersistent(comment);
tx.commit();
pm.close();
 
the code gets excecuted but I don't see the comment in the database
 (in
   fact
the logs show no db activity either)
So I don't see an exception, the code gets excecuted but I don't see
 the
comment in the DB.
 
I already have the db with soem threads without comments, this is a
 new
feature
 
Any idea of what I'm doing wrong? (please don't say everything :D )
 
Thanks!
 
Fernando
 
   --
   You received this message because you are subscribed to the Google
 Groups
   Google App Engine for Java group.
   To post to this group, send email to
   google-appengine-java@googlegroups.com.
   To unsubscribe from this group, send email to
   

Re: [appengine-java] Re: 1.4.2: Can't make https call from dev server

2011-02-23 Thread Ikai Lan (Google)
I uploading a new version of the SDK about a week ago with this fix. Can you
guys go to the download page and try this out?

http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Java

Ikai Lan
Developer Programs Engineer, Google App Engine
Blog: http://googleappengine.blogspot.com
Twitter: http://twitter.com/app_engine
Reddit: http://www.reddit.com/r/appengine



On Tue, Feb 22, 2011 at 4:25 AM, Jens Lundberg j...@cloudspot.se wrote:

 I'm running the dev-server (ver. 1.4.2) and GData Docs 3.0 Client ( on
 Windows Vista and I also experience this problem when I try to access
 the DocList with Oauth like below:


 GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
 oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
 oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
 oauthParameters.setOAuthToken(xxx);
 oauthParameters.setOAuthTokenSecret(xx);

 DocsService client = new DocsService(cloudspot--v1);
 client.setOAuthCredentials(oauthParameters, new
 OAuthHmacSha1Signer());

 URL feedUrl = null;
 feedUrl = new URL(https://docs.google.com/feeds/default/private/
 full);
 DocumentListFeed resultFeed = null;
 resultFeed = client.getFeed(feedUrl, DocumentListFeed.class);

 All required try-catch is removed for clarity.
 When I deploy this to appspot.com it works like a charm.



 On Feb 20, 9:24 pm, mushion22 goodham...@gmail.com wrote:
  I've opened an issue for this athttp://
 code.google.com/p/googleappengine/issues/detail?id=4603
 
  Same deal here on OS X.
 
  On Feb 17, 8:21 am, Tom Phillips tphill0...@gmail.com wrote:
 
 
 
 
 
 
 
   JVM (On Windows 7), I've tried a few for the development server
 including:
 
   java version 1.6.0_22
   Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
   Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)
 
   Using java.net.HttpURLConnection to connect tohttps://api.twilio.comand
   getting:
 
   javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate
 for:https://api.twilio.com
 
   api.twilio.com is only accessible over SSL so this problem is
 hampering
   development of our application with 1.4.2
 
   /Tom
 
   On Monday, February 14, 2011 4:22:51 PM UTC-5, frew wrote:
 
Hey everybody,
 
In order to help me diagnose the problems, could you respond with
 what
JDK (Platform, JDK manufacturer (e.g. Sun, OpenJDK), and version)
you're running? As a temporary stopgap, if you're using URLFetch
service, you can use the doNotValidateCertificate() method in
FetchOptions (
 http://code.google.com/appengine/docs/java/javadoc/com/
google/appengine/api/urlfetch/FetchOptions.html
 http://code.google.com/appengine/docs/java/javadoc/com/google/appengi...)
to disable
validation.
 
-Fred
 
On Feb 13, 5:02 am, harri mauria hma...@googlemail.com wrote:
 I am having similar problems with the recently released version
 com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811
 Problems happen with the development server, not in production. I
 am
 performing Facebook login credentials authentication in the
 callback
 url. Interrupt stack is below:
 
 HTTP ERROR 500
 Problem accessing /loginfacebookcallback. Reason:
 
 Could not verify SSL certificate for:
   https://graph.facebook.com/oauth/access_token?omitted
 
 Caused by:
 javax.net.ssl.SSLHandshakeException: Could not verify SSL
 certificate
 for:https://graph.facebook.com/oauth/access_token?omitted
 at
 
   
 com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc
eption(URLFetchServiceImpl.java:
 114)
 at
 
   
 com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchService
Impl.java:
 41)
 at
 
   
 com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler
 $Connection.fetchResponse(URLFetchServiceStreamHandler.java:418)
 at
 
   
 com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler
 $Connection.getInputStream(URLFetchServiceStreamHandler.java:297)

 atwww.superpass.de.server.UrlFetcher.get(UrlFetcher.java:60)
 
 Following message is printed to the console:
 I/O exception (javax.net.ssl.SSLPeerUnverifiedException) caught
 when
 processing request: HTTPS hostname invalid: expected
 'graph.facebook.com', received '*.facebook.com'
 Retrying request
 
 Regards, Harri
 
 On Feb 13, 11:27 am, Lior Harsat lior@gmail.com wrote:
 
  I am having a similar problem with https:
 
  I have been testing the SDK and I found one bug which seems
 critical.
  When I call the URLFetchService.fetch API  with a https URL I get
 a
  javax.net.ssl.SSLHandshakeException.
  for example when I fetch https://spreadsheets.google.com/feeds/
  list/ I get
  javax.net.ssl.SSLHandshakeException: Could not verify SSL
 certificate
  

Re: [appengine-java] Zero instance

2011-02-23 Thread Ikai Lan (Google)
What do the logs say? You'll want to start there in your troubleshooting.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengine
Twitter: http://twitter.com/app_engine



On Tue, Feb 22, 2011 at 7:57 AM, Ciro teatropic...@gmail.com wrote:

 Hi,
 Since yesterday, my GAE app has zero instance allowed so when I enter
 http://teatropicaro.appspot.com I get an error 500.
 I've tried to disable and re-enable the app but nothing to do.

 Please help.

 Thank you.

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


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



[appengine-java] Re: How to POST to the BlobStore from a command line Java program?

2011-02-23 Thread Rick Smith
I am also looking for a similar solution. Currently my application is 
running on a local server and I have uploaded more than 5 thousands file 
in SVN. Now I want to shift on Google app engine and I have already done 
most of the hardwork. But I do not found a programatic way to upload these 
file to blob store directly and I am still waiting for a concrete solution 
as I can't upload each file one by one using file system. 

It will be highly appreciated if some one from google take on this and 
provide us a solution so that we can move on GAE.

Regards

Rick

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



[appengine-java] Re: How to POST to the BlobStore from a command line Java program?

2011-02-23 Thread Didier Durand
Hi guys,

I don't have a direct answer to your question but I have another
proposal:

why don't replace the blobstore by a pojo containing a list of gae
blob objects. They are limited to 1 Mbytes each but you can split your
files into a collection that you gather via the proper structure (a
java collection)

You can then access the full servlet api (POST to store them, GET to
retrieve them)

The recent availability allows you to serve a blob while you fetch the
next one.

I see only 1 issue in this solution as of now: the 30s limit on
interactive request meaning that each file has to be served back in
less than 30s. Maybe too small depending on size of your files.

regards

didier

On Feb 24, 5:13 am, Rick Smith rick@gmail.com wrote:
 I am also looking for a similar solution. Currently my application is
 running on a local server and I have uploaded more than 5 thousands file
 in SVN. Now I want to shift on Google app engine and I have already done
 most of the hardwork. But I do not found a programatic way to upload these
 file to blob store directly and I am still waiting for a concrete solution
 as I can't upload each file one by one using file system.

 It will be highly appreciated if some one from google take on this and
 provide us a solution so that we can move on GAE.

 Regards

 Rick

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



[appengine-java] Re: ClassNotFoundException

2011-02-23 Thread winsome[765]
Thanks that is a good point.  No static initializer.  It is something
about this class (actually it is an interface) and gae and
deserialization.  I can get the code to work if I eschew the interface
(which gae cannot find) and just use the implementing class
directly.   Its like my WEB-INF/classes folder isn't on the classpath
of the deserializer.  Looks alot like this issue
http://code.google.com/p/googleappengine/issues/detail?id=1290,
especially comment 10 but this issue has been closed awhile.

On Feb 22, 8:44 am, Simon Knott knott.si...@gmail.com wrote:
 I can't answer the first question, but as for the second - are you doing any
 static initialization of that class?  If a static initializer fails, you
 will get a ClassNotFoundException even if the Class is deployed.

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



Re: [appengine-java] How to do Foreign Key relationship in Jdo??

2011-02-23 Thread kartik kudada
Hi Amit,

You need to create Entity group , if you want cascading delete operation.

For clear understanding please go through this
http://code.google.com/appengine/docs/java/datastore/jdo/relationships.html#Relationships_Entity_Groups_and_Transactions

Let me know if you need more clarification.

Regards,
Kartik


On Wed, Feb 23, 2011 at 12:36 PM, Amit Surana amit_surana_1...@yahoo.comwrote:

 i have 3 table emp_master, emp_details and department_master.

 emp_master has primary key emp_Id and i want to use this as a foreign key
 for emp_detail and department_master.


 how can i do this???

 Kindly help me out as soon as possible.

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


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



[appengine-java] Re: Datastore Import and Export

2011-02-23 Thread Charms Styler
any updates on this?

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



[appengine-java] How to get all entity types?

2011-02-23 Thread 王宇辉
Hi guys,

Is there any way to get all the entity names by code?


-- 
Best regards,
Yuhui

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



[google-appengine] Best datastore design for massively scalable realtime chat?

2011-02-23 Thread Joonas Pihlajamaa
Hi all,

I'm trying to build chat functionality into my Google App Engine web 
application. The basic idea is that User loads a chat page that employs AJAX 
calls to poll new chat messages in the channels he/she is following every 
few seconds, and user can also write to the channels using AJAX.


   1. A simple channel entity with a list property containing message 
   strings is OK for channels with a few users and infrequent updates, but once 
   a channel becomes hot (likely to happen for the purpose I have in mind), 
   there's suddenly 300 users polling a single channel entity every few 
   seconds, and new lines being added every few seconds. Once the entity 
   contains something like 1000 message strings, this starts to sound a bad 
   idea.
   2. Creating a new entity type for message line with timestamp is also 
   possible, but polls would then be of type give me all messages since 
   timestamp X, and every poll would need a filtered query into message pool, 
   and with a thousand users this would mean something in the ballpark of 200 
   queries per second. Also, this solution doesn't play well with memcache. 
   Changing timestamp to incremental counter would improve the situation, but I 
   still don't know if it's efficient to cache each chat message as a single 
   object in memcache?
   3. The solution I'm now considering would be to page a chat channel, so 
   one chat page entity would contain something like 50 messages at most (as a 
   list type property), and when that limit is reached, a new page is created. 
   Each channel object would have a reference to the current page and previous 
   page, so new users joining the channel would have quick access to 50 of the 
   latest messages. Pages would also lend themselves well for memcaching. A 
   poll would then be of type If have the messages until page 3, message 23 - 
   what's new?.
   
Any ideas or comments on the different options? Am I worrying too much about 
this? I know this currently is not issue, but my aim is that the data 
structure should gracefully and efficiently handle something like 2500 
simultaneous users, each polling typically one to ten different channels and 
contributing to one or two.

-- 
You received this message because you are subscribed to the Google Groups 
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] is it possible to create blobKey for a Blob property of a entity?

2011-02-23 Thread Tom Fishman
I already got a bunch of image blobs stored in the database, is it possible 
to create blobKey for any Blob property? So I can use the high performance 
image service to operate on them.

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



Re: [google-appengine] Re: Object Persistence Methodology - suggestions?

2011-02-23 Thread Dennis
Thanks for the link.

My post is an open-ended question about how to code object persistence under 
appengine.
It would be nice to have a layer above the get/put primitives that provides 
some services for me --
what does that layer look like?

I'm looking for a coding methodology (or even just coding tips) or a 
software framework (like you posted).
This feature list http://borglin.net/gwt-project/?page_id=690from your 
link was helpful to list some of the issues to consider: 

   - lazy loading
   - managing entity references (unowned relationships from the feature 
   list)
  - might have to manage 1:1 vs 1:N vs M:N relationships differently
  - avoiding copies of the same entity to be read in
   - writing out changed entities
   - caching

I currently have my own hacked up layer but it's showing it's problems.
I'm wondering if others have their own layer or framework or if they have 
pointers to some.
This seems like an issue that every appengine app needs to deal with, but I 
don't even know the right name to use to refer to this set of services 
(maybe data access layer but that yields 0 search results so it's not very 
helpful)

Dennis

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



[google-appengine] Re: AppEngine seems slow to me. Is it normal?

2011-02-23 Thread tobik
Independent? Now I'm confused. Does it or does it not matter whether I
select first page or 100th using offset?

I checked the cursors, it looks nice, but it seems to me, that it's
good only for next next next type of pagination. If the user jumped
from the first to the 100th page and then back to the 50th page, I
would still need to go through all previous entries and it would be
slow. Or am I wrong? Naturally, I know that next next type of
pagination would be suitable for most of cases.

Ok and really last question, I hope I don't bother you much. What
about pagination based on time periods. For example like all entries
created today, yesterday, last week, last month.  It would use simple
filtering (greater than, less than) so it should be fast.. or not?


On 23 ún, 06:25, Robert Kluin robert.kl...@gmail.com wrote:
 Performance is independent of the number of entities you have.
 Namespaces are great for segregating data, but you can't query across
 them -- you'll only get results from one.

 Like Chris mentioned, use cursors instead of offsets.  And if you can,
 then yes a well thought out caching strategy is a good way to improve
 performance.

 Robert

 On Tue, Feb 22, 2011 at 18:57, tobik tobiaspoto...@gmail.com wrote:
  Sorry, one more tricky question. What about namespaces. If I had 10
  namespaces and in each namespace 10 entries, would the performance be
  the same as if I had only one namespace but with 100 entries?

  On 22 ún, 23:31, Chris Copeland ch...@cope360.com wrote:
  Django's Paginator is not going to be efficient on GAE and is definitely 
  not
  going to scale.

  GAE provides cursors which are a very efficient way to page through query
  results:http://code.google.com/appengine/docs/python/datastore/queries.html#Q...

  On Tue, Feb 22, 2011 at 3:57 PM, tobik tobiaspoto...@gmail.com wrote:
   I built a page using Django's Paginator which displays a simple table
   with 20 items from around 1000 total stored in database. I don't know
   how the Paginator works from the inside, but according to the
   appstats, it makes two queries (first counts items, second selects
   given page) and each one of them takes around 130ms of cpu time. Is it
   a normal value? The truth is that the page loads noticeably slower
   than a page without any queries. And I also counted, that with 6.5 cpu
   hours limit I can afford around 3000 such queries every day which is a
   quite small number. And it's only 1000 entries in the database.

   So far I've been using PHP+MySQL and I am used to that such simple
   queries are really fast, even on poor free hostings. I tried to apply
   caching on every single page generated by Paginator and it naturally
   reduced the loading time to minimum. So is it the right approach to
   AppEngine? Cache everything as much as possible?

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

  --
  You received this message because you are subscribed to the Google Groups 
  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 
  athttp://groups.google.com/group/google-appengine?hl=en.



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



Re: [google-appengine] Best datastore design for massively scalable realtime chat?

2011-02-23 Thread Barry Hunter
AppEngine actully has XMPP intergtation
http://code.google.com/appengine/docs/python/xmpp/

And the Channel API
http://code.google.com/appengine/docs/python/channel/

which should eliminate the need for polling AJAX requests yourself.

Could probably use the matcher API (renamed Speculative Search API)
http://groups.google.com/group/google-appengine/browse_thread/thread/5462e14c31f44bef
to perform dispatching of messages, again eliminating the need for the
polling on the datastore.




On 23 February 2011 08:29, Joonas Pihlajamaa
joonas.pihlaja...@gmail.com wrote:
 Hi all,

 I'm trying to build chat functionality into my Google App Engine web
 application. The basic idea is that User loads a chat page that employs AJAX
 calls to poll new chat messages in the channels he/she is following every
 few seconds, and user can also write to the channels using AJAX.

 A simple channel entity with a list property containing message strings is
 OK for channels with a few users and infrequent updates, but once a channel
 becomes hot (likely to happen for the purpose I have in mind), there's
 suddenly 300 users polling a single channel entity every few seconds, and
 new lines being added every few seconds. Once the entity contains something
 like 1000 message strings, this starts to sound a bad idea.
 Creating a new entity type for message line with timestamp is also possible,
 but polls would then be of type give me all messages since timestamp X,
 and every poll would need a filtered query into message pool, and with a
 thousand users this would mean something in the ballpark of 200 queries per
 second. Also, this solution doesn't play well with memcache. Changing
 timestamp to incremental counter would improve the situation, but I still
 don't know if it's efficient to cache each chat message as a single object
 in memcache?
 The solution I'm now considering would be to page a chat channel, so one
 chat page entity would contain something like 50 messages at most (as a list
 type property), and when that limit is reached, a new page is created. Each
 channel object would have a reference to the current page and previous page,
 so new users joining the channel would have quick access to 50 of the
 latest messages. Pages would also lend themselves well for memcaching. A
 poll would then be of type If have the messages until page 3, message 23 -
 what's new?.

 Any ideas or comments on the different options? Am I worrying too much about
 this? I know this currently is not issue, but my aim is that the data
 structure should gracefully and efficiently handle something like 2500
 simultaneous users, each polling typically one to ten different channels and
 contributing to one or two.

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


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



Re: [google-appengine] Tip: [...WHERE prop = :1 AND prop :2] with accents?

2011-02-23 Thread Sahid Orentino Ferdjaoui
Hello

 The first string - abc is not a Unicode string. Have you tried prefixing
Yes i have try, but i don't get any result

 What exception do you get?
I don't have exception, just no result.

For the moment i use the solution of Ernesto.

--sahid
  .
 ..:



On Mon, Feb 21, 2011 at 6:44 AM, Nick Johnson (Google)
nick.john...@google.com wrote:
 The first string - abc is not a Unicode string. Have you tried prefixing
 it with 'u' to make it one?
 What exception do you get?
 -Nick Johnson

 On Fri, Feb 18, 2011 at 10:16 PM, Sahid Orentino Ferdjaoui
 sahid.ferdja...@gmail.com wrote:

 Hello all,
 db.GqlQuery(SELECT * FROM MyModel WHERE prop = :1 AND prop  :2, abc,
 uabc + u\ufffd)

 I used this to make a search. But if the string has an accent. That don't
 work. may be you have a solution for me?

 --sahid

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



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


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



[google-appengine] Re: GAE is blocking IPs of our application - How can I unblock them?

2011-02-23 Thread Umut Muhaddisoglu
Any updates, thoughts?

On Feb 19, 12:58 pm, Umut Muhaddisoglu umutmuhaddiso...@gmail.com
wrote:
 Hi,

 I'm the developer of a free-to-use uptime monitoring service: Uptime Robot
 (http://www.uptimerobot.com/).

 When a user adds a website to Uptime Robot for monitoring it,our application
 is sending regular HEAD, GET and/or PING requests to applications
 hosted on GAE to find out if they are up or down. For the last 5-7 days,
 we realized that the IP of our application is blocked by GAE.

 We send requests from: 74.86.158.106 and *.uptimerobot.com.

 If I try to browse a GAE hosted website from 74.86.158.106, I get a HTTP 403
 status with details:

 *
 ForbiddenYour client does not have permission to get URL / from this server.
 (Client IP address: 74.86.158.106)

 You are accessing this page from a forbidden country.
 *

 Uptime Robot is a totally legitimate application and I know that GAE does
 not block all uptime monitoring services. So, I'm thinking that this must be
 by mistake or there must be a way to unblock the IPs.

 I'll be glad to get any help.

 Thanks so much.

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



Re: [google-appengine] Re: choice internationalization

2011-02-23 Thread djidjadji
You must translate the value you received in the POST request to the
unicode value before you construct a form based on the POST/form
content.

You can use the _CHOICES_FORMATION variable.

# these strings are in utf-8 - use it in the Model definition
_CHOICES_FORMATION = (
'Administração',
'Design Gráfico',
'Jornalismo',
'Marketing',
'Outras',
)

class MyChoice(object):
 def __init__(self,val,usecode='latin_1'):
   self.val = unicode(val,usecode)
   self.valstr = self.val.encode('ascii','ignore')
 def __str__(self):
   return self.valstr
 def __unicode__(self):
   return self.val

# use these for the Django form
_CHOICES_FORMATION_FORM = tuple( [MyChoice(s,'utf-8') for s in
_CHOICES_FORMATION] )

in your post handler

def post(self):
# translate the value for 'formation' to the right unicode string
s = self.request.POST['formation']
self.request.POST['formation'] = [unicode(i) for i in
_CHOICES_FORMATION_FORM if str(i)==s][0]

2011/2/18 Robert Kluin robert.kl...@gmail.com:
 Looks like on your model definition you've specified 'choices' for
 formation, and 'Administrao' is not one of the choices.

 Robert

 On Thu, Feb 17, 2011 at 20:42, Josir josi...@gmail.com wrote:
 I'm back on my choice internationalization problem.

 The solution given by djdjadji worked partially. Now the form is
 displayed but when I try to post data, I got a validation form error:

 Property formation is u'Administrao'; must be one of (, ,
 'Jornalismo', 'Marketing', 'Marketing', 'Psicologia', 'Publicidade',
 'Radialismo', 'Cinema', 'Outras')

 Is this a Django 0.96 form error ? Is this solved if I upgrade Django
 to 1.2 ?
 Or: does somebody have any tip ?

 Thanks in advance,
 Josir Gomes

 On 26 jan, 15:05, djidjadji djidja...@gmail.com wrote:
 Then you have to build a class with a __str__() and a __unicode__() method.
 The __unicode__() method should return the string that is displayed in
 the combobox and the __str__() returns the value that is put in the
 field of the form at the time of submit.

 class MyChoice(object):
   def __init__(self,val):
     self.val = unicode(val,'latin_1')
     self.valstr = self.val.encode('ascii','ignore')
   def __str__(self):
     return self.valstr
   def __unicode__(self):
     return self.val

 _CHOICES_FORMATION = (
      MyChoice('Administração'),
      MyChoice('Design Gráfico'),
      MyChoice('Jornalismo'),
      MyChoice('Marketing'),
      MyChoice('Outras'),
  )

 2011/1/26 Josir josi...@gmail.com:

  I got an error:

   File /home/josir/sist/google_appengine/google/appengine/ext/db/
  djangoforms.py, line 170, in get_form_field
     choices.append((str(choice), unicode(choice)))
  UnicodeEncodeError: 'ascii' codec can't encode characters in position
  10-13: ordinal not in range(128)

  What I understand is function get_form_field try to convert choice to
  a python string str(choice), where choice is each item of
  _CHOICES_FORMATION

  Any ideas on how to fix it ?

  Josir

-- 
You received this message because you are subscribed to the Google Groups 
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] Testing - Limit Compile Permutations

2011-02-23 Thread RRRaney
Hello,

I have created an AppEngine Application that I am using to test.

I will only be using this to test code and features before I use them
in published Applications.

I am currently compiling 6 permutations every time I compile.

I will only be using the testing with IE8. (I will test in others
after the basic idea is working).

I have seen many months ago that I could limit my compile to only IE8,
but cannot find this now.

How can I reduce all of the compiles with my Testing Application.

Thanks,

Raney

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



Re: [google-appengine] Re: Experiencing major timeout issues right now

2011-02-23 Thread Jeff Schwartz
Same here:

   1.  2011-02-23 05:22:13.471 /lmv/Authentication 500 10874ms 0cpu_ms  0kb

On Wed, Feb 23, 2011 at 9:00 AM, Kaan Soral kaanso...@gmail.com wrote:

 I am wondering that too

 On Feb 22, 6:02 am, David Mora dla.m...@gmail.com wrote:
  is this happening also for HR users?
 
  On 21 February 2011 21:51, Dennis dennisf...@gmail.com wrote:
 
 
 
   I'm still experiencing timeout issues and have been for over 12 hours.
   Simple pages in my application work, but the pages that do 30-40 gae
 read
   operations are consistently timing out (they were never a problem
 before).
   Just adding my data point in case others are experience this.
   Both gae system status and
  http://amistrongeryet.com/op_detail.jsp?op=gae_ram2_read_5_x_4_of.
 ..
   shows everything to be apparently normal, but it's definitely not.
   Dennis
 
   --
   You received this message because you are subscribed to the Google
 Groups
   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.
 
  --http://about.me/david.mora

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




-- 
*Jeff Schwartz*
http://jefftschwartz.appspot.com/
follow me on twitter: @jefftschwartz

-- 
You received this message because you are subscribed to the Google Groups 
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: Experiencing major timeout issues right now

2011-02-23 Thread Kaan Soral
I am wondering that too

On Feb 22, 6:02 am, David Mora dla.m...@gmail.com wrote:
 is this happening also for HR users?

 On 21 February 2011 21:51, Dennis dennisf...@gmail.com wrote:



  I'm still experiencing timeout issues and have been for over 12 hours.
  Simple pages in my application work, but the pages that do 30-40 gae read
  operations are consistently timing out (they were never a problem before).
  Just adding my data point in case others are experience this.
  Both gae system status and
 http://amistrongeryet.com/op_detail.jsp?op=gae_ram2_read_5_x_4_of...
  shows everything to be apparently normal, but it's definitely not.
  Dennis

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

 --http://about.me/david.mora

-- 
You received this message because you are subscribed to the Google Groups 
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: Best datastore design for massively scalable realtime chat?

2011-02-23 Thread Joonas Pihlajamaa
Thank you for the _very_ useful and informative reply. :)

 AppEngine actully has XMPP 
 intergtationhttp://code.google.com/appengine/docs/python/xmpp/

Yes, but from I can gather, I would need to run an XMPP server
somewhere to handle the chats (or find a free provider X), and because
chat is not the main function of my app (I'm building a go board game
server) and needs to be integrated with the rest of the application,
it's not the ideal choice.

 And the Channel API http://code.google.com/appengine/docs/python/channel/

This was actually extremely interesting and I think I'll consider this
to get rid of the polling. However, because each user can only have
one channel open, I need to do similar logic to polling on server-side
anyway (i.e. merge messages from different channels), so my data
structure problem still remains.

 Could probably use the matcher API (renamed Speculative Search 
 API)http://groups.google.com/group/google-appengine/browse_thread/thread/...
 to perform dispatching of messages, again eliminating the need for the 
 polling on the datastore.

It seems this is still in very early testing phase. Because I don't
yet have the user numbers that would require this infrastructure, I
think I'll be doing without for the time being, and rewrite the
merging functionality using matcher API when it's open to all App
Engine users. (Don't think I should apply for testing when I only have
a few concurrent users at most :)

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



Re: [google-appengine] Re: Best datastore design for massively scalable realtime chat?

2011-02-23 Thread Barry Hunter
On 23 February 2011 14:20, Joonas Pihlajamaa
joonas.pihlaja...@gmail.com wrote:
 Thank you for the _very_ useful and informative reply. :)

 AppEngine actully has XMPP 
 intergtationhttp://code.google.com/appengine/docs/python/xmpp/

 Yes, but from I can gather, I would need to run an XMPP server
 somewhere to handle the chats (or find a free provider X),

Google Talk :)

http://www.google.com/support/talk/bin/answer.py?hl=enanswer=57677

(I beleive XMPP and the channel API already use the Talk infestructure
under the hood anyway)


 (Don't think I should apply for testing when I only have a few concurrent 
 users at most :)

Testing in a few users, is still worthwhile. Get it working on a few,
and it should work for more.

You might not even need to apply now. Speculative Search should be
near ready for launch (it didnt make the latest SDK release tho)

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



Re: [google-appengine] Re: help needed in hello world programe

2011-02-23 Thread thahir hussain
thanks bro your suggestion worked
take care and god bless you
On Wed, Feb 23, 2011 at 10:22 AM, Robert Kluin robert.kl...@gmail.comwrote:

 Sounds like your paths are not configured / wrong.

 http://lmgtfy.com/?q=eclipse+python+app+engine+plugin







 On Tue, Feb 22, 2011 at 23:46, thahir hussain s.thahirhuss...@gmail.com
 wrote:
  i imported this only from google.appengine.ext import webapp : in my
  hello world programme and getting this error No module
  named google.appengine.ext  i am using eclipse as ide
 
 
  On 2/23/11, Zeynel azeyn...@gmail.com wrote:
  Do you import these
 
  from google.appengine.ext import webapp
  from google.appengine.ext.webapp.util import run_wsgi_app
  from google.appengine.ext import db
 
  in your python script?
 
  On Feb 21, 12:31 pm, thahir hussain s.thahirhuss...@gmail.com wrote:
  hi i am using google app engine and trying to write simple hello world
  programme in python and getting this error  ImportError: No module
  named google.appengine.ext  i am using eclipse as ide
 
  --
  You received this message because you are subscribed to the Google
 Groups
  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.
 
 
 
  --
  You received this message because you are subscribed to the Google Groups
 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.
 
 

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



-- 
You received this message because you are subscribed to the Google Groups 
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] Proxy to open blocked sites

2011-02-23 Thread Ahmed Ragab
Proxy to open blocked sites

http://ppropx.4mtm.net

OR

http://pronet.4mtm.net

-- 
You received this message because you are subscribed to the Google Groups 
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] Unable to load update to application using appcfg.py

2011-02-23 Thread Kashif
Hello,

   I have been trying to update my application at
iwinatwords.appspot.com for the past two weeks but have been unable to
do so. Here is the message I get:

  I am on Linux 2.6 using the latest SDK release.

using:
appcfg.py update

result:
Cloning 1174 application files.
Cloned 100 files.
Cloned 200 files.
Cloned 300 files.
Cloned 400 files.
Cloned 500 files.
Cloned 600 files.
Cloned 700 files.
Cloned 800 files.
Cloned 900 files.
Cloned 1000 files.
Cloned 1100 files.
Uploading 3 files and blobs.
Uploaded 3 files and blobs
Precompilation starting.
Precompilation completed.
Deploying new version.
Rolling back the update.
Error 400: --- begin server output ---

Client Error (400)
The request is invalid for an unspecified reason.
--- end server output ---


I have checked, I have less than 3000 files and the application works
fine at the local development machine using appengine SDK's
dev_appserver.py

Googling for a solution hasn't helped. In addition there are no logs
indicating any error during the update. All I have is what is printed
out on stdout. Is there a way to find out what is wrong? Without any
detailed description I am unable to figure out the problem. I have
tried various variations of appcfg.py update without any success.

Is there a way to find more details than just a 400 and unspecified
reason error (as this is so very unhelpful)?

  Regards,

Kashif.

-- 
You received this message because you are subscribed to the Google Groups 
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] seeking guidance in application development

2011-02-23 Thread Saransh Gupta
hello,
i have been trying to create an application using google appengine..
i went to the link.. https://appengine.google.com/start;
n after signing in my account i clicked the create application
button
it took me to another page where i was asked to fill in my Application
Title..
no no matter what i write in the application title thing..it gives me
an error..this appplication Id is already in use...
help me!!
i m stuck at the 1st very step..!!
its urgent..

-- 
You received this message because you are subscribed to the Google Groups 
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: Testing - Limit Compile Permutations

2011-02-23 Thread RRRaney
Hello,

I found it!
http://vinaytechs.blogspot.com/2009/09/gwt-compiler-compiling-for-one-browser.html

Just add the following line to .gwt.xml
set-property name=user.agent value=ie8 /
May not seem like much, but when all I want to do is test a small
chunk, i can do it in my Test Application.

I had a TestPage.html in my Applications, this cuts the compile and
file upload times quite a bit.

My test allows me to try just about anything with just the minimum
libraries and other files required.

Raney


On Feb 23, 6:57 am, RRRaney rrrsyst...@gmail.com wrote:
 Hello,

 I have created an AppEngine Application that I am using to test.

 I will only be using this to test code and features before I use them
 in published Applications.

 I am currently compiling 6 permutations every time I compile.

 I will only be using the testing with IE8. (I will test in others
 after the basic idea is working).

 I have seen many months ago that I could limit my compile to only IE8,
 but cannot find this now.

 How can I reduce all of the compiles with my Testing Application.

 Thanks,

 Raney

-- 
You received this message because you are subscribed to the Google Groups 
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] creating new GAE project in Eclipse Helios requires changing default name in GAE package

2011-02-23 Thread Dennis G Daniels
I noticed that Eclipse Helios will not take GAE directory until you change 
the django directory name. Thought I would pass it on.

http://www.youtube.com/watch?v=eAv5HEbeXX8

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



Re: [google-appengine] Re: GAE is blocking IPs of our application - How can I unblock them?

2011-02-23 Thread Robert Kluin
A number of people reported a similar issue very recently (within the
last week or two).

I think this is the right issue:
  http://code.google.com/p/googleappengine/issues/detail?id=4560

Go star + add your details to it.



Robert






On Wed, Feb 23, 2011 at 06:36, Umut Muhaddisoglu
umutmuhaddiso...@gmail.com wrote:
 Any updates, thoughts?

 On Feb 19, 12:58 pm, Umut Muhaddisoglu umutmuhaddiso...@gmail.com
 wrote:
 Hi,

 I'm the developer of a free-to-use uptime monitoring service: Uptime Robot
 (http://www.uptimerobot.com/).

 When a user adds a website to Uptime Robot for monitoring it,our application
 is sending regular HEAD, GET and/or PING requests to applications
 hosted on GAE to find out if they are up or down. For the last 5-7 days,
 we realized that the IP of our application is blocked by GAE.

 We send requests from: 74.86.158.106 and *.uptimerobot.com.

 If I try to browse a GAE hosted website from 74.86.158.106, I get a HTTP 403
 status with details:

 *
 ForbiddenYour client does not have permission to get URL / from this server.
 (Client IP address: 74.86.158.106)

 You are accessing this page from a forbidden country.
 *

 Uptime Robot is a totally legitimate application and I know that GAE does
 not block all uptime monitoring services. So, I'm thinking that this must be
 by mistake or there must be a way to unblock the IPs.

 I'll be glad to get any help.

 Thanks so much.

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



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



Re: [google-appengine] Unable to load update to application using appcfg.py

2011-02-23 Thread Robert Kluin
Hi Kashif,
  Use one of the verbose output flags (I'd start with verbose):
-v, --verbose Print info level logs.
--noisy   Print all logs.


  Linux 2.6 is not particularly descriptive, there are many distros.
You should try with Python 2.5 and verify that you have App Engine SDK
1.4.2, which was released a couple weeks ago.



Robert





On Wed, Feb 23, 2011 at 01:49, Kashif a10n3.s7r1...@gmail.com wrote:
 Hello,

   I have been trying to update my application at
 iwinatwords.appspot.com for the past two weeks but have been unable to
 do so. Here is the message I get:

  I am on Linux 2.6 using the latest SDK release.

 using:
 appcfg.py update

 result:
 Cloning 1174 application files.
 Cloned 100 files.
 Cloned 200 files.
 Cloned 300 files.
 Cloned 400 files.
 Cloned 500 files.
 Cloned 600 files.
 Cloned 700 files.
 Cloned 800 files.
 Cloned 900 files.
 Cloned 1000 files.
 Cloned 1100 files.
 Uploading 3 files and blobs.
 Uploaded 3 files and blobs
 Precompilation starting.
 Precompilation completed.
 Deploying new version.
 Rolling back the update.
 Error 400: --- begin server output ---

 Client Error (400)
 The request is invalid for an unspecified reason.
 --- end server output ---


 I have checked, I have less than 3000 files and the application works
 fine at the local development machine using appengine SDK's
 dev_appserver.py

 Googling for a solution hasn't helped. In addition there are no logs
 indicating any error during the update. All I have is what is printed
 out on stdout. Is there a way to find out what is wrong? Without any
 detailed description I am unable to figure out the problem. I have
 tried various variations of appcfg.py update without any success.

 Is there a way to find more details than just a 400 and unspecified
 reason error (as this is so very unhelpful)?

  Regards,

 Kashif.

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



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



[google-appengine] Re: AppEngine seems slow to me. Is it normal?

2011-02-23 Thread Ernesto Karim Oltra
I'm using extensively this class for paginations and it goes very
well:
http://appengine-cookbook.appspot.com/recipe/efficient-paging-for-any-query-and-any-model/?id=ahJhcHBlbmdpbmUtY29va2Jvb2tylwELEgtSZWNpcGVJbmRleCI8YWhKaGNIQmxibWRwYm1VdFkyOXZhMkp2YjJ0eUZ3c1NDRU5oZEdWbmIzSjVJZ2xFWVhSaGMzUnZjbVVNDAsSBlJlY2lwZSI-YWhKaGNIQmxibWRwYm1VdFkyOXZhMkp2YjJ0eUZ3c1NDRU5oZEdWbmIzSjVJZ2xFWVhSaGMzUnZjbVVNNDIM

On 23 feb, 10:59, tobik tobiaspoto...@gmail.com wrote:
 Independent? Now I'm confused. Does it or does it not matter whether I
 select first page or 100th using offset?

 I checked the cursors, it looks nice, but it seems to me, that it's
 good only for next next next type of pagination. If the user jumped
 from the first to the 100th page and then back to the 50th page, I
 would still need to go through all previous entries and it would be
 slow. Or am I wrong? Naturally, I know that next next type of
 pagination would be suitable for most of cases.

 Ok and really last question, I hope I don't bother you much. What
 about pagination based on time periods. For example like all entries
 created today, yesterday, last week, last month.  It would use simple
 filtering (greater than, less than) so it should be fast.. or not?

 On 23 ún, 06:25, Robert Kluin robert.kl...@gmail.com wrote:







  Performance is independent of the number of entities you have.
  Namespaces are great for segregating data, but you can't query across
  them -- you'll only get results from one.

  Like Chris mentioned, use cursors instead of offsets.  And if you can,
  then yes a well thought out caching strategy is a good way to improve
  performance.

  Robert

  On Tue, Feb 22, 2011 at 18:57, tobik tobiaspoto...@gmail.com wrote:
   Sorry, one more tricky question. What about namespaces. If I had 10
   namespaces and in each namespace 10 entries, would the performance be
   the same as if I had only one namespace but with 100 entries?

   On 22 ún, 23:31, Chris Copeland ch...@cope360.com wrote:
   Django's Paginator is not going to be efficient on GAE and is definitely 
   not
   going to scale.

   GAE provides cursors which are a very efficient way to page through query
   results:http://code.google.com/appengine/docs/python/datastore/queries.html#Q...

   On Tue, Feb 22, 2011 at 3:57 PM, tobik tobiaspoto...@gmail.com wrote:
I built a page using Django's Paginator which displays a simple table
with 20 items from around 1000 total stored in database. I don't know
how the Paginator works from the inside, but according to the
appstats, it makes two queries (first counts items, second selects
given page) and each one of them takes around 130ms of cpu time. Is it
a normal value? The truth is that the page loads noticeably slower
than a page without any queries. And I also counted, that with 6.5 cpu
hours limit I can afford around 3000 such queries every day which is a
quite small number. And it's only 1000 entries in the database.

So far I've been using PHP+MySQL and I am used to that such simple
queries are really fast, even on poor free hostings. I tried to apply
caching on every single page generated by Paginator and it naturally
reduced the loading time to minimum. So is it the right approach to
AppEngine? Cache everything as much as possible?

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

   --
   You received this message because you are subscribed to the Google Groups 
   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 
   athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
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: GAE is blocking IPs of our application - How can I unblock them?

2011-02-23 Thread Umut Muhaddisoglu
Robert,

Thanks very much. Did what you just said and hope a fix comes.

Bests.

On Feb 23, 7:00 pm, Robert Kluin robert.kl...@gmail.com wrote:
 A number of people reported a similar issue very recently (within the
 last week or two).

 I think this is the right issue:
  http://code.google.com/p/googleappengine/issues/detail?id=4560

 Go star + add your details to it.

 Robert

 On Wed, Feb 23, 2011 at 06:36, Umut Muhaddisoglu

 umutmuhaddiso...@gmail.com wrote:
  Any updates, thoughts?

  On Feb 19, 12:58 pm, Umut Muhaddisoglu umutmuhaddiso...@gmail.com
  wrote:
  Hi,

  I'm the developer of a free-to-use uptime monitoring service: Uptime Robot
  (http://www.uptimerobot.com/).

  When a user adds a website to Uptime Robot for monitoring it,our 
  application
  is sending regular HEAD, GET and/or PING requests to applications
  hosted on GAE to find out if they are up or down. For the last 5-7 
  days,
  we realized that the IP of our application is blocked by GAE.

  We send requests from: 74.86.158.106 and *.uptimerobot.com.

  If I try to browse a GAE hosted website from 74.86.158.106, I get a HTTP 
  403
  status with details:

  *
  ForbiddenYour client does not have permission to get URL / from this 
  server.
  (Client IP address: 74.86.158.106)

  You are accessing this page from a forbidden country.
  *

  Uptime Robot is a totally legitimate application and I know that GAE does
  not block all uptime monitoring services. So, I'm thinking that this must 
  be
  by mistake or there must be a way to unblock the IPs.

  I'll be glad to get any help.

  Thanks so much.

  --
  You received this message because you are subscribed to the Google Groups 
  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 
  athttp://groups.google.com/group/google-appengine?hl=en.

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



Re: [google-appengine] Re: Best datastore design for massively scalable realtime chat?

2011-02-23 Thread Robert Kluin
Speculative Search + channel API might be a really nice / cool
solution.  It would more-or-less handle a lot of the routing for you.

If you want users to be able to view / page through old 'chat logs'
then, as you mentioned, you'll need to store them.  How fast do you
expect to receive messages for a given channel, how large are the
messages expected to be on average, and how much history do you want
to keep for users to view?  If messages will typically arrive less
than one per 1/2 second or so, option (1) or (3) might work really
nicely.  If messages are small and you only need, say, the last 100
messages your first option might work very well.

Keep in mind, if you will not be querying the list property, you can
serialize and store you data significantly more efficiently in a text
or blob property.

Obviously storing each message in its own entity makes writes simple,
but means you need a query to send messages to users instead of a
fetch by key.  If your write rate to a channel is low enough, I
suspect option (1) or (3) will make reads extremely fast.  If the
write rate is high the second option might be your best choice, or
some combination approach (ie write new messages to their own entities
and run a background task to batch up new messages and update the
'channel' entities).

Just a few thoughts.

Robert




On Wed, Feb 23, 2011 at 09:34, Barry Hunter barrybhun...@gmail.com wrote:
 On 23 February 2011 14:20, Joonas Pihlajamaa
 joonas.pihlaja...@gmail.com wrote:
 Thank you for the _very_ useful and informative reply. :)

 AppEngine actully has XMPP 
 intergtationhttp://code.google.com/appengine/docs/python/xmpp/

 Yes, but from I can gather, I would need to run an XMPP server
 somewhere to handle the chats (or find a free provider X),

 Google Talk :)

 http://www.google.com/support/talk/bin/answer.py?hl=enanswer=57677

 (I beleive XMPP and the channel API already use the Talk infestructure
 under the hood anyway)


 (Don't think I should apply for testing when I only have a few concurrent 
 users at most :)

 Testing in a few users, is still worthwhile. Get it working on a few,
 and it should work for more.

 You might not even need to apply now. Speculative Search should be
 near ready for launch (it didnt make the latest SDK release tho)

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



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



[google-appengine] Re: AppEngine seems slow to me. Is it normal?

2011-02-23 Thread Joseph Letness
You could try this:

http://code.google.com/p/he3-appengine-lib/wiki/PagedQuery

It's a complete module that uses cursors for a paging abstraction
similar to Django's built-in pagination and just as easy to implement
and you can jump to any page in your result set.

On Feb 23, 3:59 am, tobik tobiaspoto...@gmail.com wrote:
 Independent? Now I'm confused. Does it or does it not matter whether I
 select first page or 100th using offset?

 I checked the cursors, it looks nice, but it seems to me, that it's
 good only for next next next type of pagination. If the user jumped
 from the first to the 100th page and then back to the 50th page, I
 would still need to go through all previous entries and it would be
 slow. Or am I wrong? Naturally, I know that next next type of
 pagination would be suitable for most of cases.

 Ok and really last question, I hope I don't bother you much. What
 about pagination based on time periods. For example like all entries
 created today, yesterday, last week, last month.  It would use simple
 filtering (greater than, less than) so it should be fast.. or not?

 On 23 ún, 06:25, Robert Kluin robert.kl...@gmail.com wrote:



  Performance is independent of the number of entities you have.
  Namespaces are great for segregating data, but you can't query across
  them -- you'll only get results from one.

  Like Chris mentioned, use cursors instead of offsets.  And if you can,
  then yes a well thought out caching strategy is a good way to improve
  performance.

  Robert

  On Tue, Feb 22, 2011 at 18:57, tobik tobiaspoto...@gmail.com wrote:
   Sorry, one more tricky question. What about namespaces. If I had 10
   namespaces and in each namespace 10 entries, would the performance be
   the same as if I had only one namespace but with 100 entries?

   On 22 ún, 23:31, Chris Copeland ch...@cope360.com wrote:
   Django's Paginator is not going to be efficient on GAE and is definitely 
   not
   going to scale.

   GAE provides cursors which are a very efficient way to page through query
   results:http://code.google.com/appengine/docs/python/datastore/queries.html#Q...

   On Tue, Feb 22, 2011 at 3:57 PM, tobik tobiaspoto...@gmail.com wrote:
I built a page using Django's Paginator which displays a simple table
with 20 items from around 1000 total stored in database. I don't know
how the Paginator works from the inside, but according to the
appstats, it makes two queries (first counts items, second selects
given page) and each one of them takes around 130ms of cpu time. Is it
a normal value? The truth is that the page loads noticeably slower
than a page without any queries. And I also counted, that with 6.5 cpu
hours limit I can afford around 3000 such queries every day which is a
quite small number. And it's only 1000 entries in the database.

So far I've been using PHP+MySQL and I am used to that such simple
queries are really fast, even on poor free hostings. I tried to apply
caching on every single page generated by Paginator and it naturally
reduced the loading time to minimum. So is it the right approach to
AppEngine? Cache everything as much as possible?

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

   --
   You received this message because you are subscribed to the Google Groups 
   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 
   athttp://groups.google.com/group/google-appengine?hl=en.

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



Re: [google-appengine] Re: AppEngine seems slow to me. Is it normal?

2011-02-23 Thread Robert Kluin
Using offset is not a good solution for a lot of cases, it will have
to scan over offset entities which is slow.  My comment is in regard
to queries / fetches.  Running a query is the same with 10 or 1,000 or
100,000,000 rows; performance will be related to the number of rows
you are trying to fetch.

Unfortunately cursors are a one-way-street right now, but they make it
simple to implement next type functionality.  However, you can store
the previous cursor positions so that you can nicely implement
previous.  You can also store 'key' points in the cursor (such as
every 100 entities), then scan forward from that point.  Then if a
user goes way down the line and suddenly jumps back you can find a
close cursor without having to store _every_ cursor.  There are a few
existing solutions that you can use for this (just google app engine
cursors paging).

Querying on a timestamp is fine.


Robert




On Wed, Feb 23, 2011 at 04:59, tobik tobiaspoto...@gmail.com wrote:
 Independent? Now I'm confused. Does it or does it not matter whether I
 select first page or 100th using offset?

 I checked the cursors, it looks nice, but it seems to me, that it's
 good only for next next next type of pagination. If the user jumped
 from the first to the 100th page and then back to the 50th page, I
 would still need to go through all previous entries and it would be
 slow. Or am I wrong? Naturally, I know that next next type of
 pagination would be suitable for most of cases.

 Ok and really last question, I hope I don't bother you much. What
 about pagination based on time periods. For example like all entries
 created today, yesterday, last week, last month.  It would use simple
 filtering (greater than, less than) so it should be fast.. or not?


 On 23 ún, 06:25, Robert Kluin robert.kl...@gmail.com wrote:
 Performance is independent of the number of entities you have.
 Namespaces are great for segregating data, but you can't query across
 them -- you'll only get results from one.

 Like Chris mentioned, use cursors instead of offsets.  And if you can,
 then yes a well thought out caching strategy is a good way to improve
 performance.

 Robert

 On Tue, Feb 22, 2011 at 18:57, tobik tobiaspoto...@gmail.com wrote:
  Sorry, one more tricky question. What about namespaces. If I had 10
  namespaces and in each namespace 10 entries, would the performance be
  the same as if I had only one namespace but with 100 entries?

  On 22 ún, 23:31, Chris Copeland ch...@cope360.com wrote:
  Django's Paginator is not going to be efficient on GAE and is definitely 
  not
  going to scale.

  GAE provides cursors which are a very efficient way to page through query
  results:http://code.google.com/appengine/docs/python/datastore/queries.html#Q...

  On Tue, Feb 22, 2011 at 3:57 PM, tobik tobiaspoto...@gmail.com wrote:
   I built a page using Django's Paginator which displays a simple table
   with 20 items from around 1000 total stored in database. I don't know
   how the Paginator works from the inside, but according to the
   appstats, it makes two queries (first counts items, second selects
   given page) and each one of them takes around 130ms of cpu time. Is it
   a normal value? The truth is that the page loads noticeably slower
   than a page without any queries. And I also counted, that with 6.5 cpu
   hours limit I can afford around 3000 such queries every day which is a
   quite small number. And it's only 1000 entries in the database.

   So far I've been using PHP+MySQL and I am used to that such simple
   queries are really fast, even on poor free hostings. I tried to apply
   caching on every single page generated by Paginator and it naturally
   reduced the loading time to minimum. So is it the right approach to
   AppEngine? Cache everything as much as possible?

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

  --
  You received this message because you are subscribed to the Google Groups 
  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 
  athttp://groups.google.com/group/google-appengine?hl=en.



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



-- 
You received this message because you 

[google-appengine] A small Doubt

2011-02-23 Thread Silencer
I have an app in which i need to create a 1000 entities of a
particular type (with a blobproperty and a textproperty)in the
datastore.
I have created them in the development server. Is there a way to put
these values directly to my application , rather than to create them
again out there in the application.

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



[google-appengine] Some of the emails sent from my application wasn't delivered.

2011-02-23 Thread nacho
I'm using java sdk. The account that I use to send the emails is 
administrator of my appengine app. But the account that I use to send emails 
is a Google Apps account no-re...@mydomain.com.

In my application today was sent 11 emails. 2 of them wasn't never 
delivered. 

Is this a common issue?

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



Re: [google-appengine] A small Doubt

2011-02-23 Thread Barry Hunter
You could use the BulkLoader
http://code.google.com/appengine/docs/python/tools/uploadingdata.html

to download data from the SDK datastore, and then upload it a online datastore.

On 23 February 2011 18:22, Silencer devassyh...@gmail.com wrote:
 I have an app in which i need to create a 1000 entities of a
 particular type (with a blobproperty and a textproperty)in the
 datastore.
 I have created them in the development server. Is there a way to put
 these values directly to my application , rather than to create them
 again out there in the application.

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



-- 
You received this message because you are subscribed to the Google Groups 
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: Blobstore totally unreliable, redirect to http://temporary-blobstore-error.appspot.com/

2011-02-23 Thread pjesi
Any response from Google on this critical issue? Has there been filed
an issue? This is one of at least two very serious issues with the
blobstore submission handling (the other not being able to submit non-
ASCII text).

- Viðar

On Feb 3, 4:17 am, RacZo oscar.salgu...@gmail.com wrote:
 I'm having the same problem... blobstore is completely unreliable.
 I've tried compiling my site with all the App Engine versions, I
 thought it was something with the domain masking/forwarding but no.

 My forms randomly send me to the 
 page:http://temporary-blobstore-error.appspot.com

 I'm very sad because I've been recommending GAE to everyone.

 A little bit of help is welcome.

 On Jan 25, 7:31 am, Michal Hantl michal.ha...@gmail.com wrote:







  Same here. I haven't touched my app a for a week or two and today I am
  not able to upload (not a single time).

  On 11 led, 17:07, Kenneth kennet...@aladdinschools.com wrote:

   I've been getting reports from some of my customers that they're
   sometimes having trouble saving on a page goes to the blobstore
   handler.  What happens is the page gets redirected 
   tohttp://temporary-blobstore-error.appspot.com/andthepage says:

   Error: Server Error
   The server encountered an error and could not complete your request.

   Please retry your last submission.

   If the problem persists, please contact the person responsible for the
   application you're using, or, if you are that person, report your
   problem and mention this error message and the query that caused it.

   Has anyone else seen this?  It is really killing me.  It doesn't even
   show up in my logs.

   I'm going to try fetching the submit url through an ajax request to
   see if that helps, but is anyone else seeing this?

   Kenneth

-- 
You received this message because you are subscribed to the Google Groups 
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] Information about an app? Creation and contact info?

2011-02-23 Thread Kris Bravo
I recently went to add a new app and found the name to be used already. When 
I looked at the existing app it doesn't appear to have anything deployed 
yet. The name is unique enough to make me wonder when it was created and 
whether the other owner needs it anymore.

Is there a way to contact owners of other applications?
Is there a way to know when an app was created?

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: AppEngine seems slow to me. Is it normal?

2011-02-23 Thread tobik
Thanks a lot for all your tips. They are very useful.

On 23 ún, 19:03, Joseph Letness joe.letn...@gmail.com wrote:
 You could try this:

 http://code.google.com/p/he3-appengine-lib/wiki/PagedQuery

 It's a complete module that uses cursors for a paging abstraction
 similar to Django's built-in pagination and just as easy to implement
 and you can jump to any page in your result set.

 On Feb 23, 3:59 am, tobik tobiaspoto...@gmail.com wrote:

  Independent? Now I'm confused. Does it or does it not matter whether I
  select first page or 100th using offset?

  I checked the cursors, it looks nice, but it seems to me, that it's
  good only for next next next type of pagination. If the user jumped
  from the first to the 100th page and then back to the 50th page, I
  would still need to go through all previous entries and it would be
  slow. Or am I wrong? Naturally, I know that next next type of
  pagination would be suitable for most of cases.

  Ok and really last question, I hope I don't bother you much. What
  about pagination based on time periods. For example like all entries
  created today, yesterday, last week, last month.  It would use simple
  filtering (greater than, less than) so it should be fast.. or not?

  On 23 ún, 06:25, Robert Kluin robert.kl...@gmail.com wrote:

   Performance is independent of the number of entities you have.
   Namespaces are great for segregating data, but you can't query across
   them -- you'll only get results from one.

   Like Chris mentioned, use cursors instead of offsets.  And if you can,
   then yes a well thought out caching strategy is a good way to improve
   performance.

   Robert

   On Tue, Feb 22, 2011 at 18:57, tobik tobiaspoto...@gmail.com wrote:
Sorry, one more tricky question. What about namespaces. If I had 10
namespaces and in each namespace 10 entries, would the performance be
the same as if I had only one namespace but with 100 entries?

On 22 ún, 23:31, Chris Copeland ch...@cope360.com wrote:
Django's Paginator is not going to be efficient on GAE and is 
definitely not
going to scale.

GAE provides cursors which are a very efficient way to page through 
query
results:http://code.google.com/appengine/docs/python/datastore/queries.html#Q...

On Tue, Feb 22, 2011 at 3:57 PM, tobik tobiaspoto...@gmail.com wrote:
 I built a page using Django's Paginator which displays a simple table
 with 20 items from around 1000 total stored in database. I don't know
 how the Paginator works from the inside, but according to the
 appstats, it makes two queries (first counts items, second selects
 given page) and each one of them takes around 130ms of cpu time. Is 
 it
 a normal value? The truth is that the page loads noticeably slower
 than a page without any queries. And I also counted, that with 6.5 
 cpu
 hours limit I can afford around 3000 such queries every day which is 
 a
 quite small number. And it's only 1000 entries in the database.

 So far I've been using PHP+MySQL and I am used to that such simple
 queries are really fast, even on poor free hostings. I tried to apply
 caching on every single page generated by Paginator and it naturally
 reduced the loading time to minimum. So is it the right approach to
 AppEngine? Cache everything as much as possible?

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

--
You received this message because you are subscribed to the Google 
Groups 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 
athttp://groups.google.com/group/google-appengine?hl=en.



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



Re: [google-appengine] template inheritance while using django 1.2 via appengiene uselibrary in gae 1.4.2

2011-02-23 Thread djidjadji
Search for:  def webapp_django_setup():

You should change the setup.
Add your own file loader and config variable.
Because webapp changes TEMPLATE_DIRS for every template rendering.

2011/2/22 Robert Kluin robert.kl...@gmail.com:
 There are several other similar discussions, here's a couple:
   
 http://code.google.com/appengine/forum/python-forum.html?place=msg/google-appengine-python/YaqfeygoiaI/WjRY2xTJEIEJ
   
 https://groups.google.com/group/google-appengine-python/browse_thread/thread/10010f148d74ec55/75d1c011f1f904d8

 I think there was something in the past week or two as well, but I
 couldn't find it quickly.  You might want to spend a few minutes
 searching the groups.

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



Re: [google-appengine] Information about an app? Creation and contact info?

2011-02-23 Thread djidjadji
It could be that this name is a gmail acount.

It could be that it looks like nothing is being deployed. Maybe the
'/' URL is mapped to a not-implemented handler.
You have to touch the right URL or with the right google accounts to
get a responds.

2011/2/23 Kris Bravo kris.br...@gmail.com:
 I recently went to add a new app and found the name to be used already. When
 I looked at the existing app it doesn't appear to have anything deployed
 yet. The name is unique enough to make me wonder when it was created and
 whether the other owner needs it anymore.

 Is there a way to contact owners of other applications?
 Is there a way to know when an app was created?

 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] app engine Internal Server Error this morning

2011-02-23 Thread Alan Chen
I'm getting TypeError exception just doing from django.utils import
simplejson.  app engine SDK works with the same code without
exception.

from django.utils import simplejson
  File /base/data/home/apps/xb-test1/4.348559552086086949/django/
utils/simplejson/__init__.py, line 139, in module
from django.utils.simplejson.decoder import JSONDecoder
  File /base/data/home/apps/xb-test1/4.348559552086086949/django/
utils/simplejson/decoder.py, line 21, in module
NaN, PosInf, NegInf = _floatconstants()
  File /base/data/home/apps/xb-test1/4.348559552086086949/django/
utils/simplejson/decoder.py, line 15, in _floatconstants
_BYTES = '7FF307FF0'.decode('hex')
  File /base/python_runtime/python_dist/lib/python2.5/encodings/
hex_codec.py, line 42, in hex_decode
output = binascii.a2b_hex(input)
TypeError: Odd-length string

any idea?
thanks
-alan

-- 
You received this message because you are subscribed to the Google Groups 
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] So, how do I get my app on a device?

2011-02-23 Thread FlennerA
Hi,
I feel like this should be a simple step but I'm stumped. I created an
app (using Python) and deployed it using the Google App Engine. So I
have an appspot URL and everything looks fine. Now, how do I get it on
my phone? I don't understand how to download it for use as an app.
Thanks!

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



Re: [google-appengine] So, how do I get my app on a device?

2011-02-23 Thread Ikai Lan (Google)
App Engine hosts your web application at a publicly addressable URL. You
don't need to install it. All you need to do is open up your phone's browser
and browse to http://YOUR-APP-ID.appspot.com.

Good luck!

--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengine
Twitter: http://twitter.com/app_engine



On Wed, Feb 23, 2011 at 11:26 AM, FlennerA angels...@gmail.com wrote:

 Hi,
 I feel like this should be a simple step but I'm stumped. I created an
 app (using Python) and deployed it using the Google App Engine. So I
 have an appspot URL and everything looks fine. Now, how do I get it on
 my phone? I don't understand how to download it for use as an app.
 Thanks!

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



-- 
You received this message because you are subscribed to the Google Groups 
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] Copy Data from App to App

2011-02-23 Thread Jamie H
I want to use the HR datastore which Google claims is much more
reliable.  However every time I try to run the built in datastore
admin function to copy my data from app to app It seems to get stuck
with the last few entities.  I get the following error below and the
job never finishes.  Hopefully somebody from Google has an idea of how
I can get my data to copy over???

The app/namespace arguments (comerica-tt/) should match parent.app/
namespace() (s~comerica-events/)
Traceback (most recent call last):
  File /base/python_runtime/python_lib/versions/1/google/appengine/
ext/webapp/__init__.py, line 517, in __call__
handler.post(*groups)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
ext/mapreduce/base_handler.py, line 59, in post
self.handle()
  File /base/python_runtime/python_lib/versions/1/google/appengine/
ext/mapreduce/handlers.py, line 172, in handle
ctx.flush()
  File /base/python_runtime/python_lib/versions/1/google/appengine/
ext/mapreduce/context.py, line 244, in flush
pool.flush()
  File /base/python_runtime/python_lib/versions/1/google/appengine/
ext/datastore_admin/copy_handler.py, line 221, in flush
1, maxid)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
ext/db/__init__.py, line 1455, in allocate_id_range
start_key = Key.from_path(key.kind(), start, parent=key.parent())
  File /base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore_types.py, line 387, in from_path
(app_id, namespace, parent.app(), parent.namespace()))
BadArgumentError: The app/namespace arguments (comerica-tt/) should
match parent.app/namespace() (s~comerica-events/)

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



Re: [google-appengine] Securing servlets

2011-02-23 Thread Ikai Lan (Google)
This is probably the easiest way:

http://en.wikipedia.org/wiki/Shared_secret

A more complex solution would involve a public/private certificate pair,
however, as soon as someone gets a hold of this certificate, they will be
able to make calls against your server. I'm not enough of an expert on
Android security to tell you whether this information can be extracted from
an APK.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengine
Twitter: http://twitter.com/app_engine



On Tue, Feb 22, 2011 at 3:52 AM, Charly carlosena...@gmail.com wrote:

 Hi friends

 I'm new and I'm not sure what is the correct way to secure my servlets
 allowing calls only from my android app client.

 What do you recommend me?

 Thanks

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



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



Re: [google-appengine] Who can I ask for more App Engine Slots?

2011-02-23 Thread Ikai Lan (Google)
No reason, other than the fact that you already have 35 slots which is
potentially 350 applications. There are other pressing issues at the moment,
but if you open a ticket, we'll get to it when we have a chance.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengine
Twitter: http://twitter.com/app_engine



On Tue, Feb 22, 2011 at 6:38 AM, branflake2267 branflake2...@gmail.comwrote:

 Very clever. Is there any reason I can't get any more slots at the moment?
 Have I hit a ceiling are you out of slots to give?

 Thanks looking,
 Bandon

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


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



Re: [google-appengine] Re: Partial put() ?

2011-02-23 Thread Ikai Lan (Google)
Index writes are technically asynchronous, since the RPC actually returns
before the index is written. However, the index is written so quickly that
this has never been an issue. For all intents and purposes, it's
instantaneous.

This will, however, incur additional CPU costs. Daniel, you should
investigate setting indexed=False on many of these properties.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengine
Twitter: http://twitter.com/app_engine



On Sun, Feb 20, 2011 at 9:16 AM, stevep prosse...@gmail.com wrote:

 I believe that by not explicitly setting indexing to False, you're
 getting an implicit index on every item (apart from non-idexables like
 Texts). If these item values change a lot, your put() may be quite
 expensive and slower than expected. You might also end up wondering
 why you've got so much storage related to indices. Even without values
 that change, your index structure is still very likely to greatly
 affect your put() performance. Are you sure this is what you want/
 need?

 My limited experience has me now striving to push index updates into
 task queues whenever feasible to keep the on-line handler put() as
 fast as possible. This often results in a separate index-only db class
 linked to the original record via its id value. Doesn't solve every
 problem, but will certainly be much faster (again that statement is
 based on my limited experience). I'm starting to get used to this
 setup, and find it a fairly decent workaround to avoiding potential
 DeadlineExceeded issues in the on-line handler.

 Hope this helps,
 stevep

 On Feb 19, 11:32 am, Daniel danielkra...@gmail.com wrote:
  I have a model that holds a bunch of game data:
 
  class MyGame(db.Expando):
 
  sender=db.StringProperty()
  senderScore=db.IntegerProperty(default=0)
  senderChatWaiting=db.BooleanProperty(default=False)
  senderResigned=db.BooleanProperty(default=False)
  senderHideGame=db.BooleanProperty(default=False)
 
  recipient=db.StringProperty()
  recipientAccepted=db.BooleanProperty(default=False)
  recipientScore=db.IntegerProperty(default=0)
  recipientChatWaiting=db.BooleanProperty(default=False)
  recipientResigned=db.BooleanProperty(default=False)
  recipientHideGame=db.BooleanProperty(default=False)
 
  bucket=db.TextProperty()
  board=db.TextProperty()
  currentPlayer=db.IntegerProperty(default=0)
  whosTurn=db.StringProperty()
  whosWaiting=db.StringProperty()
  moveID=db.IntegerProperty(default=1)
 
  lastPlayed=db.StringProperty()
  lastPointsRecieved=db.IntegerProperty(default=0)
 
  chatLog=db.StringListProperty()
 
  created=db.DateTimeProperty(auto_now_add=True)
  lastUpdate=db.DateTimeProperty(auto_now_add=True)
  gameFinished=db.BooleanProperty(default=False)
  gameResigned=db.BooleanProperty(default=False)
 
  I have a single method that updates all of these values for a particular
  existing game record and does a single .put() at the end to save it.  Is
 it
  possible that only some of the items are updated and not others.. a
 partial
  put()?  I was assuming that a put() would either succeed or fail, but not
  partially succeed.
 
  I'm trying to track down a bug in my app and curious if it's possible I
 have
  a partial write.. if not the bug is probably elsewhere in my server code
 or
  client.
 
  Thanks
  Daniel

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



-- 
You received this message because you are subscribed to the Google Groups 
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 can I debug an incoming email with attachments?

2011-02-23 Thread Carlos Aguilar
In my app, we receive email with txt files that we need to read and store
the data in the datastore.
I don't know why we receive the emails, but data is not being store. We
would like to debug, but we don't know how to send emails with attachments
to the developer server.

Is there any solution?

Thanks.
Carlos

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



Re: [google-appengine] Re: Migration to High Replication, lost access to keys.

2011-02-23 Thread Ikai Lan (Google)
We are unlikely to create a tool that will let you switch from a
master/slave application to high replication. A data copy will be required.

As far as master-slave, we will be emphasizing high replication in the
future and will be basing our uptime metrics on applications running on high
replication. There will be very few cases, if any, where we will be
recommending that applications start on master-slave datastore.

With regards to keys: I don't believe the String form of a Key contains an
application ID, so if you hash this, the migration should work fine. We
weren't prepared for your use case, unfortunately, as the migration tool
takes a key, understand the app ID, rewrite it, and save it to the new
datastore. We can't do this to a computed hash.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengine
Twitter: http://twitter.com/app_engine



On Tue, Feb 22, 2011 at 9:44 PM, johnP j...@thinkwave.com wrote:

 There is lots of thought about how to migrate to HR for the promised
 increase in reliability.  But how do I resolve the following
 situation.  I have millions of entities with a key_name that is a
 compressed hash of 4 other entity key-strings.  This ensures that
 there are no duplicate records. Also, lots of queries are optimized by
 pre-building key_names hashes and performing a get.

 In other words, handling a migration currently appears to require a
 significant rewrite of key parts of the application, rebuilding
 millions of entities after the transition, high cpu costs, tons of
 hackery, headaches, and downtime.

 The question is (and I've seen multiple attempts from various vectors
 to ask a similar question):  will there be improved tools for
 migration? Will these improved tools handle my use-case?  Will
 Appengine eventually implement an ability to simply switch a domain
 from MS to HR?  Or simply, Black and White, John - your application
 is stuck in a dead-end part of our system.  It's your problem to get
 it out.

 Is my assumption that Master-Slave is a dead-end, correct?

 I am hopeful that this question will receive attention because a solid
 answer, one way or another, is required for planning our resources and
 development.  In other words, instead of further optimizing by moving
 further in a key_name_hash direction, we'd roll back a bunch of work,
 perform the transition, then continue.

 johnP


 On Feb 1, 10:26 pm, Albert albertpa...@gmail.com wrote:
  Thank you!
 
  On Feb 2, 1:30 pm, Nick Johnson (Google) nick.john...@google.com
  wrote:
 
 
 
 
 
 
 
   Hi Albert,
 
   On Wed, Feb 2, 2011 at 12:44 PM, Albert albertpa...@gmail.com wrote:
Hi!
 
I just migrated to theHigh Replicationdatastore.
 
Some of my entities contain stringified keys of other entities.
 
For example:
 
Entity(db.Model):
owner = db.StringProperty() # the str(Key) of the owner.
 
Owner(db.Model):
name = db.StringProperty()
 
Now that I've migrated to thehigh-replicationdatastore, all the
stringified keys in the Entity Model contain bad keys because the
Owner Entities have new keys now.
 
   The migration tool rewrites the App ID of keys, but only if they're
 stored
   as keys (or reference properties). This is one reason why you shouldn't
   store stringified keys in the datastore!
 
2 questions:
 
1. Would this have been prevented by using db.ReferenceProperty()
instead?
 
   Yes.
 
2. How can I resolve this issue? I need to update all entities to
contain the new keys instead.
 
   You should probably use the mapreduce library. For your mapper
 function,
   deserialize the key, and construct a new one with the correct App ID
 (you
   can simply use db.Key.from_path to do this, as it will fill in the App
 ID
   for you) then store it again. You might want to move to using
   ReferenceProperties when you do this.
 
   -Nick Johnson
 
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.comgoogle-appengine%2Bunsubscrib
 e...@googlegroups.com
.
For more options, visit this group at
   http://groups.google.com/group/google-appengine?hl=en.
 
   --
   Nick Johnson, Developer Programs Engineer, App Engine
   Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
 Number:
   368047

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



-- 
You received this message because you are 

Re: [google-appengine] Re: seeking guidance in application development

2011-02-23 Thread SARANSH GUPTA
ok..thanx..
it worked..
i hav another doubt..
actually this application that i m creating is for my college project on
networking..
i jst wanted to know weather creating a application using google appengine
will include sum networking part or nt??

On Wed, Feb 23, 2011 at 9:44 PM, Geoffrey Spear geoffsp...@gmail.comwrote:



 On Feb 23, 4:17 am, Saransh Gupta r13r...@gmail.com wrote:
  hello,
  i have been trying to create an application using google appengine..
  i went to the link.. https://appengine.google.com/start;
  n after signing in my account i clicked the create application
  button
  it took me to another page where i was asked to fill in my Application
  Title..
  no no matter what i write in the application title thing..it gives me
  an error..this appplication Id is already in use...
  help me!!
  i m stuck at the 1st very step..!!
  its urgent..

 Think of a more unique application identifier.  Applications share a
 namespace with Gmail accounts, so you may need to get creative and/or
 attach strings of random numbers to the ends of words.

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



-- 
You received this message because you are subscribed to the Google Groups 
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] Problems of constructing objects to show in html template using Python

2011-02-23 Thread T K
##PYTHON CODE
userprofile = db.get(user_key)
url_linktext = 'Logout'
url = users.create_logout_url(self.request.uri)
projects = userprofile.project_references  #projects are records from 
querying database.

values = {
'projects': projects,
'numberprojects': userprofile.project_references.count(),
'pagename': pagename}
self.response.out.write(template.render('showproject.html', values))

#HTML
{% for proj in projects %}
  tr class=odd valign=middle
tdinput type=checkbox name=chkSelect 
value={{proj.key}}/td
td{{proj.projectname}}/td
td{{proj.budget}}/td
td{{proj.startdate}}/td
td{{proj.enddate}}/td
td{{proj.contactname}}/td
 td{{proj.contactnumber}}/td
  /tr
  {% endfor %}

The problem is I want to add sequence into the projects object so that when 
it's replaced in the html template, I can use {{proj.sequence}}.
but sequence is not a property in the database.

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.



Re: [google-appengine] Re: Experiencing major timeout issues right now

2011-02-23 Thread Raymond C.
So switching from M/S to HR would not help?

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



Re: [google-appengine] Re: seeking guidance in application development

2011-02-23 Thread Robert Kluin
http://code.google.com/appengine/docs/whatisgoogleappengine.html

Not really.  That's part of the point of it.





On Wed, Feb 23, 2011 at 21:38, SARANSH GUPTA r13r...@gmail.com wrote:
 ok..thanx..
 it worked..
 i hav another doubt..
 actually this application that i m creating is for my college project on
 networking..
 i jst wanted to know weather creating a application using google appengine
 will include sum networking part or nt??

 On Wed, Feb 23, 2011 at 9:44 PM, Geoffrey Spear geoffsp...@gmail.com
 wrote:


 On Feb 23, 4:17 am, Saransh Gupta r13r...@gmail.com wrote:
  hello,
  i have been trying to create an application using google appengine..
  i went to the link.. https://appengine.google.com/start;
  n after signing in my account i clicked the create application
  button
  it took me to another page where i was asked to fill in my Application
  Title..
  no no matter what i write in the application title thing..it gives me
  an error..this appplication Id is already in use...
  help me!!
  i m stuck at the 1st very step..!!
  its urgent..

 Think of a more unique application identifier.  Applications share a
 namespace with Gmail accounts, so you may need to get creative and/or
 attach strings of random numbers to the ends of words.

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


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


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



Re: [google-appengine] Re: Migration to High Replication, lost access to keys.

2011-02-23 Thread Robert Kluin
If they're using str(db.Key.from_path('Test', 123)) or
str(entity.key()) it contains the appid (and namespace, kind, and id
or name).

  key = db.Key('agVzaGVsbHILCxIEVGVzdBjVAQw')
  print key.app()

  Should be 'shell'




Robert




On Wed, Feb 23, 2011 at 21:28, Ikai Lan (Google)
ikai.l+gro...@google.com wrote:
 We are unlikely to create a tool that will let you switch from a
 master/slave application to high replication. A data copy will be required.
 As far as master-slave, we will be emphasizing high replication in the
 future and will be basing our uptime metrics on applications running on high
 replication. There will be very few cases, if any, where we will be
 recommending that applications start on master-slave datastore.
 With regards to keys: I don't believe the String form of a Key contains an
 application ID, so if you hash this, the migration should work fine. We
 weren't prepared for your use case, unfortunately, as the migration tool
 takes a key, understand the app ID, rewrite it, and save it to the new
 datastore. We can't do this to a computed hash.

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 Blogger: http://googleappengine.blogspot.com
 Reddit: http://www.reddit.com/r/appengine
 Twitter: http://twitter.com/app_engine


 On Tue, Feb 22, 2011 at 9:44 PM, johnP j...@thinkwave.com wrote:

 There is lots of thought about how to migrate to HR for the promised
 increase in reliability.  But how do I resolve the following
 situation.  I have millions of entities with a key_name that is a
 compressed hash of 4 other entity key-strings.  This ensures that
 there are no duplicate records. Also, lots of queries are optimized by
 pre-building key_names hashes and performing a get.

 In other words, handling a migration currently appears to require a
 significant rewrite of key parts of the application, rebuilding
 millions of entities after the transition, high cpu costs, tons of
 hackery, headaches, and downtime.

 The question is (and I've seen multiple attempts from various vectors
 to ask a similar question):  will there be improved tools for
 migration? Will these improved tools handle my use-case?  Will
 Appengine eventually implement an ability to simply switch a domain
 from MS to HR?  Or simply, Black and White, John - your application
 is stuck in a dead-end part of our system.  It's your problem to get
 it out.

 Is my assumption that Master-Slave is a dead-end, correct?

 I am hopeful that this question will receive attention because a solid
 answer, one way or another, is required for planning our resources and
 development.  In other words, instead of further optimizing by moving
 further in a key_name_hash direction, we'd roll back a bunch of work,
 perform the transition, then continue.

 johnP


 On Feb 1, 10:26 pm, Albert albertpa...@gmail.com wrote:
  Thank you!
 
  On Feb 2, 1:30 pm, Nick Johnson (Google) nick.john...@google.com
  wrote:
 
 
 
 
 
 
 
   Hi Albert,
 
   On Wed, Feb 2, 2011 at 12:44 PM, Albert albertpa...@gmail.com wrote:
Hi!
 
I just migrated to theHigh Replicationdatastore.
 
Some of my entities contain stringified keys of other entities.
 
For example:
 
Entity(db.Model):
owner = db.StringProperty() # the str(Key) of the owner.
 
Owner(db.Model):
name = db.StringProperty()
 
Now that I've migrated to thehigh-replicationdatastore, all the
stringified keys in the Entity Model contain bad keys because the
Owner Entities have new keys now.
 
   The migration tool rewrites the App ID of keys, but only if they're
   stored
   as keys (or reference properties). This is one reason why you
   shouldn't
   store stringified keys in the datastore!
 
2 questions:
 
1. Would this have been prevented by using db.ReferenceProperty()
instead?
 
   Yes.
 
2. How can I resolve this issue? I need to update all entities to
contain the new keys instead.
 
   You should probably use the mapreduce library. For your mapper
   function,
   deserialize the key, and construct a new one with the correct App ID
   (you
   can simply use db.Key.from_path to do this, as it will fill in the App
   ID
   for you) then store it again. You might want to move to using
   ReferenceProperties when you do this.
 
   -Nick Johnson
 
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.comgoogle-appengine%2Bunsubscrib
e...@googlegroups.com
.
For more options, visit this group at
   http://groups.google.com/group/google-appengine?hl=en.
 
   --
   Nick Johnson, Developer Programs Engineer, App Engine
   Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
   Number:
   368047

 --
 You received this message because you are subscribed to 

Re: [google-appengine] How can I debug an incoming email with attachments?

2011-02-23 Thread Robert Kluin
You could construct the email and post it to /_ah/mail yourself.  Or,
you could certainly setup a test instance or different version on
production.

Just for reference:
  
http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/ext/webapp/mail_handlers.py#37
  
http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/ext/admin/templates/inboundmail.html



Robert





On Wed, Feb 23, 2011 at 21:24, Carlos Aguilar c.aguim...@gmail.com wrote:
 In my app, we receive email with txt files that we need to read and store
 the data in the datastore.
 I don't know why we receive the emails, but data is not being store. We
 would like to debug, but we don't know how to send emails with attachments
 to the developer server.
 Is there any solution?
 Thanks.
 Carlos

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


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



Re: [google-appengine] Problems of constructing objects to show in html template using Python

2011-02-23 Thread Robert Kluin
I think you want to use forloop.counter or forloop.counter0:
   forloop.counter:  The current iteration of the loop (1-indexed)
   forloop.counter0: The current iteration of the loop (0-indexed)

   http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#for


Robert




On Wed, Feb 23, 2011 at 21:42, T K tosapor...@gmail.com wrote:
 ##PYTHON CODE
 userprofile = db.get(user_key)
 url_linktext = 'Logout'
 url = users.create_logout_url(self.request.uri)
 projects = userprofile.project_references      #projects are records from
 querying database.
 values = {
             'projects': projects,
             'numberprojects': userprofile.project_references.count(),
             'pagename': pagename}
 self.response.out.write(template.render('showproject.html', values))

 #HTML
 {% for proj in projects %}
           tr class=odd valign=middle
             tdinput type=checkbox name=chkSelect
 value={{proj.key}}/td
             td{{proj.projectname}}/td
             td{{proj.budget}}/td
             td{{proj.startdate}}/td
             td{{proj.enddate}}/td
             td{{proj.contactname}}/td
              td{{proj.contactnumber}}/td
           /tr
  {% endfor %}
 The problem is I want to add sequence into the projects object so that when
 it's replaced in the html template, I can use {{proj.sequence}}.
 but sequence is not a property in the database.
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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: NeedIndexError on growing number of entities

2011-02-23 Thread Joseph
Thanks Robert,

Adding composite index below as you suggested  fixed the issue.

- kind: Kind
  properties:
  - name: __searchable_text_index
  - name: __searchable_text_index

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



Re: [google-appengine] Re: Partial put() ?

2011-02-23 Thread Daniel Kramer
Thanks for the tip.  I'll look into it now (now that I've read the docs on
indexing and understand where I'd need it)


On Wed, Feb 23, 2011 at 6:21 PM, Ikai Lan (Google) ikai.l+gro...@google.com
 wrote:

 Index writes are technically asynchronous, since the RPC actually returns
 before the index is written. However, the index is written so quickly that
 this has never been an issue. For all intents and purposes, it's
 instantaneous.

 This will, however, incur additional CPU costs. Daniel, you should
 investigate setting indexed=False on many of these properties.

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 Blogger: http://googleappengine.blogspot.com
 Reddit: http://www.reddit.com/r/appengine
 Twitter: http://twitter.com/app_engine



 On Sun, Feb 20, 2011 at 9:16 AM, stevep prosse...@gmail.com wrote:

 I believe that by not explicitly setting indexing to False, you're
 getting an implicit index on every item (apart from non-idexables like
 Texts). If these item values change a lot, your put() may be quite
 expensive and slower than expected. You might also end up wondering
 why you've got so much storage related to indices. Even without values
 that change, your index structure is still very likely to greatly
 affect your put() performance. Are you sure this is what you want/
 need?

 My limited experience has me now striving to push index updates into
 task queues whenever feasible to keep the on-line handler put() as
 fast as possible. This often results in a separate index-only db class
 linked to the original record via its id value. Doesn't solve every
 problem, but will certainly be much faster (again that statement is
 based on my limited experience). I'm starting to get used to this
 setup, and find it a fairly decent workaround to avoiding potential
 DeadlineExceeded issues in the on-line handler.

 Hope this helps,
 stevep

 On Feb 19, 11:32 am, Daniel danielkra...@gmail.com wrote:
  I have a model that holds a bunch of game data:
 
  class MyGame(db.Expando):
 
  sender=db.StringProperty()
  senderScore=db.IntegerProperty(default=0)
  senderChatWaiting=db.BooleanProperty(default=False)
  senderResigned=db.BooleanProperty(default=False)
  senderHideGame=db.BooleanProperty(default=False)
 
  recipient=db.StringProperty()
  recipientAccepted=db.BooleanProperty(default=False)
  recipientScore=db.IntegerProperty(default=0)
  recipientChatWaiting=db.BooleanProperty(default=False)
  recipientResigned=db.BooleanProperty(default=False)
  recipientHideGame=db.BooleanProperty(default=False)
 
  bucket=db.TextProperty()
  board=db.TextProperty()
  currentPlayer=db.IntegerProperty(default=0)
  whosTurn=db.StringProperty()
  whosWaiting=db.StringProperty()
  moveID=db.IntegerProperty(default=1)
 
  lastPlayed=db.StringProperty()
  lastPointsRecieved=db.IntegerProperty(default=0)
 
  chatLog=db.StringListProperty()
 
  created=db.DateTimeProperty(auto_now_add=True)
  lastUpdate=db.DateTimeProperty(auto_now_add=True)
  gameFinished=db.BooleanProperty(default=False)
  gameResigned=db.BooleanProperty(default=False)
 
  I have a single method that updates all of these values for a particular
  existing game record and does a single .put() at the end to save it.  Is
 it
  possible that only some of the items are updated and not others.. a
 partial
  put()?  I was assuming that a put() would either succeed or fail, but
 not
  partially succeed.
 
  I'm trying to track down a bug in my app and curious if it's possible I
 have
  a partial write.. if not the bug is probably elsewhere in my server code
 or
  client.
 
  Thanks
  Daniel

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


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




-- 

Daniel Kramer

-- 
You received this message because you are subscribed to the Google Groups 
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: Experiencing major timeout issues right now

2011-02-23 Thread Kaan Soral
It wasn't clear that Jeff is using HR, I wish he doesn't

On Feb 24, 5:24 am, Raymond C. windz...@gmail.com wrote:
 So switching from M/S to HR would not help?

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