views:

59

answers:

1

When an app is designed with the intention of being made as an Installable App in the App Marketplace for GAE, are there any extra steps the developer should take concerning security? For instance, if Company A installs the app, and Company B installs the app, do they each have their own datastore? If not, how do I, as the developer, separate the two? I have lots of concerns about this, I don't want to get to far along in the development of my project just to have to rip out half the code and start over.

I have a lot of questions about this entire process, and I haven't been able to gain a lot of practical information from the GAE docs. I know that I have to create the application manifest, and deploy the app, and so forth, I'm just curious how you create an app that is ready for and respectful of the multiple organizations that will use it and their privacy.

Any information or links to information would be great.

Thanks.

+2  A: 

No, individual users do not get separate datastores - the Apps marketplace and App Engine are separate, so there's no magic integration here. We just announced the prerelease of 1.3.6, however, which includes namespace support. This means that you can use a separate namespace for each customer, effectively isolating their data from one another, so you can't accidentally leak data between domains.

Nick Johnson
This is for Java, I found the same announcement for Python here: http://groups.google.com/group/google-appengine-python/browse_thread/thread/685321ded5aca69a I'm going to review this and see if it clears anything up for me.
Timbermar
I've been checking into this namespace functionality, and I found this example in the google sample apps, http://code.google.com/p/google-app-engine-samples/source/browse/trunk/guestbook_namespaces/appengine_config.py, Is this all the code I need to use to have a working namespace systems that "isolates" datastores? Also, is there anywhere I can find a decent writeup on this feature?
Timbermar
Yes, that's all that's needed for basic namespace isolation. There's no documentation to speak of yet because it's still prerelease - expect proper docs when 1.3.6 comes out.
Nick Johnson