• Enter your email address to subscribe to ROAblog and receive news and updates by email.

Log in with your Google account

The initial releases of RememberOneAnother will be hosted using Google AppEngine because it’s inexpensive and a relatively simple way to get started. A side benefit is that you’ll be able to use your Google account (Gmail, etc.) to log in. I got this working today patterned after the StockWatcher sample app for GWT. You can try it out at http://dmcsandbox.appspot.com/ Nothing there yet, but hey, you’ve got to write login sometime!

Technie notes:

  1. The latest Google plugin for Eclipse has a nice feature that gives you a red squiggly when you create a service interface and prompts you to auto-create the Async interface. That pretty much takes all the pain out of using the GWT-RPC mechanism and lets you take advantage of its serialization / deserialization capability.
  2. If you create a folder named “public” under your GWT module, all files will automatically be copied to the exploded war folder at GWT compile time. This is great for HTML, CSS, images, etc. But you need to watch your hrefs carefully, as all resource URLs are prefixed with your application name. For example, if you have a public/images folder, the URL would be /your_app/images. This way, you can have multiple GWT modules copying into the same war structure, but GWT can keep them separate.
  3. In order to make the Run button browse to the correct start page for your GWT project in Eclipse, right-click the project | Google | Web Toolkit Settings, then click Run/Debug Settings on the left. Select your project, click the Edit button and click the GWT tab to set the URL for browsers. You should also set a welcome-file name in web.xml so you can browse directly to your site name in the hosted app.
  4. The GWT compiler seems to like any code referenced by GWT code (such as model objects) to be contained in a sub-package of the client package. Java won’t complain about your imports, but GWT will. I tried the <source> and <inherits> tags, but haven’t figured out a way around this yet.

Leave a Reply