How to distribute my app?

33 views
Skip to first unread message

dflorey

unread,
Jul 28, 2009, 9:08:50 AM7/28/09
to Google App Engine
I've developed an application for app engine that integrated with
Google apps.
How can I distribute the app to other Google apps users?
Right now to run the application they have to:
- have a google account with remaining GAE applications
- create a new application with a unique id and restrict the
authentication to their hosted domain
- install GAE dev-environment to be able to run deploy-scripts
- deploy the application to GAE using the deployment script after
adopting the created unique id and their credentials
- add the hosted domain
- accept the service in Google apps
- create the domain mapping

This is a fairly complex task and is not feasible for the average
Google apps end user.
It would be extremely cool if I could simple deploy a version of my
app to their hosted domain skipping the first 5 steps of the procedure
so that they just have to accept the service.

dflorey

unread,
Jul 28, 2009, 9:13:17 AM7/28/09
to Google App Engine
Or even better: If it would be as easy to add services to Google apps
as it is right now adding gadgets to the igoogle page.
There is already the "Google Solutions Marketplace" in place where
people can describe their services.
It would be awesome if domain administrators could simple add a
service from the marketplace and implicitly copy the deployed app to
their google account using a generated unique id and adopting the
hosted domain settings for the service.

Nick Johnson (Google)

unread,
Jul 28, 2009, 9:32:24 AM7/28/09
to google-a...@googlegroups.com
Hi dflorey,

Users can already do this: In the Apps control panel, click on 'Add more services', then under 'Google App Engine', enter the app-id of the app to add.

At the moment, it's up to your app to detect what hostname it's being accessed from (using the Host header) and segment data appropriately, but in future we intend to release a library to facilitate multi-tenancy apps.

-Nick Johnson
--
Nick Johnson, Developer Programs Engineer, App Engine

Roberto Saccon

unread,
Jul 28, 2009, 9:32:55 AM7/28/09
to Google App Engine
I don't understand why you want to distribute the app to endusers.

Usually you provide a service to the enduser, and because some
somebody has to pay for the cost (unless it is neglectible low), you
have to come up with a monetization concept.

Anyway, you have to wait until Google provides an appstore for
appengine apps, then you can porvide the service to the endusers and
don't have to write your own billing code.

Or if you don't want to deal with the monetization, just put the
source code on Google code or Github, so other developers can step in
and take over that part.

dflorey

unread,
Jul 28, 2009, 12:03:04 PM7/28/09
to Google App Engine
I still don't get it.
I've purchased another domain to check how another Google apps admin
can add my service.
When creating my app on appengine I have to specify the hosted domain
to which this app will be restricted.
What domain do I have to enter? Do I have to enter my own domain? Will
this entry be changed once another admin subscribes to my service?
I've restricted my app to my domain and tried to add this service to
my brand new test-account on Google apps.

But I miserably failed as it was simply not reachable even though
CNAME was correct.
I tried the same with another public app that I've deployed on
appengine and this worked at first try.
But a public app is not what I want. I want to add a service to a
domain, so that every user can login without sharing the password with
my application. I'm using AuthSub to let the users grant access to
their data.

My next try was to add the new domain to my app engine version, but
this not only gives me:

"You do not have the permissions necessary to install this
application."

but it also only works for domains that are owned by me.
I'm very confused.
How is this feature intended to work? Or will it only work for public
services?

Nick Johnson (Google)

unread,
Jul 28, 2009, 12:06:47 PM7/28/09
to google-a...@googlegroups.com
On Tue, Jul 28, 2009 at 5:03 PM, dflorey <daniel...@gmail.com> wrote:

I still don't get it.
I've purchased another domain to check how another Google apps admin
can add my service.
When creating my app on appengine I have to specify the hosted domain
to which this app will be restricted.
What domain do I have to enter? Do I have to enter my own domain? Will
this entry be changed once another admin subscribes to my service?

If you want this to work across multiple domains, you'll need to not specify an authentication domain, then require that your users have Google accounts (eg, go to https://www.google.com/accounts/NewAccount and sign up with their Apps account), then check in your app to determine what access restrictions you want to impose.

-Nick Johnson

dflorey

unread,
Jul 28, 2009, 12:31:50 PM7/28/09
to Google App Engine
Thanks for your prompt reply!
Please doublecheck if I got it right:

If I want to let my app get access to the contacts of a Google apps
user, I have to sign in with the Google apps domain account not with a
Google account, right?
To let the user login with the app domain account I have to restrict
my app to this domain, right?

I already tried to use Google accounts and it works fine, but I can
only get access to the Google contacts, not to the apps domain
contacts.

So the only way to get access to domain specific contacts and shared
contacts is to deploy the app using the Google account of the owner of
the domain, correct?
Everything works fine for me at my domain but to let other domains
subscribe to my service they have to create an app engine account and
deploy it to their service, right?

The only option to get easy subscription plus access to Google apps
domain specific data (shared contacts, contacts etc.) is to use
ClientLogin and store the passwords of the Google app users in my
applciation, right?

Just want to get it right.

Thanks again for your help!! Very much appreciated.


On Jul 28, 6:06 pm, "Nick Johnson (Google)" <nick.john...@google.com>
wrote:
> On Tue, Jul 28, 2009 at 5:03 PM, dflorey <daniel.flo...@gmail.com> wrote:
>
> > I still don't get it.
> > I've purchased another domain to check how another Google apps admin
> > can add my service.
> > When creating my app on appengine I have to specify the hosted domain
> > to which this app will be restricted.
> > What domain do I have to enter? Do I have to enter my own domain? Will
> > this entry be changed once another admin subscribes to my service?
>
> If you want this to work across multiple domains, you'll need to not specify
> an authentication domain, then require that your users have Google accounts
> (eg, go tohttps://www.google.com/accounts/NewAccountand sign up with their

Nick Johnson (Google)

unread,
Jul 28, 2009, 12:33:44 PM7/28/09
to google-a...@googlegroups.com
On Tue, Jul 28, 2009 at 5:31 PM, dflorey <daniel...@gmail.com> wrote:

Thanks for your prompt reply!
Please doublecheck if I got it right:

If I want to let my app get access to the contacts of a Google apps
user, I have to sign in with the Google apps domain account not with a
Google account, right?

Correct.
 

To let the user login with the app domain account I have to restrict
my app to this domain, right?

Unless they've created a Google account for their Apps address, in which case they can sign in to any service that accepts Google accounts. If that's not an acceptable compromise, then for now you'll have to redeploy the app for each domain you want to host it on.

-Nick Johnson
 

dflorey

unread,
Jul 28, 2009, 12:47:56 PM7/28/09
to Google App Engine
Ok, I've created a Google account for my apps address.
Now I can logon to my app using my Google account and can grant access
to the contact service api.
I get all contacts that I can manager at http://www.google.com/contacts
but there is no way to access the Google apps contacts (it's a mess
that they are different...)
So I guess to access the Google apps contacts, I have to redeploy the
app for each domain or use ClientLogin and force the user to pass
their password to my app.
It's very funny that all Google services that are targeted to end
users run perfectly while the enterprise services that you've to pay
don't ;-)


On 28 Jul., 18:33, "Nick Johnson (Google)" <nick.john...@google.com>
wrote:
> > > (eg, go tohttps://www.google.com/accounts/NewAccountandsign up with
Reply all
Reply to author
Forward
0 new messages