0

Planet Aggregator in GWT and AppEngine. Looks like Planet Gnome.

Posted by JOKe on 8/14/2009 03:36:00 PM in , ,

Hello guys, just for fun I’ve created a GWT + Google AppEngine aggregator application that looks like this:

PlanetShot

It is based on http://www.planetplanet.org/ but just for the idea. The assets are from http://planet.gnome.org/ and the aggregator looks like planet gnome in most cases. It have less features of course. I hope Redhat don't have objections for the assets but I cant find the “assets” license.

The development of the GWT + AppEngine aggregator and the deployment of the application take 2hours, and the application is smaller than 300 lines of code(including view, entry point and service implementation). So I can say that the Google AppEngine is awesome place and way for hosting and developing applications.

The application is deployed at : http://developer-bg.appspot.com/ so you can check it and leave replay. I still have a lot of problems like the html comments in the Radoslav Kirilov posts which exists in the RSS.

For RSS/ATOM parsing I use feed4j project but it has a lot of problems like: not parsing pubDate element in RSS 2.0 and updated in Atom 1.0 but it’s easy to be add/fix it yourself.

I use the planet gnome HTML view so for adding posts I’ve used VerticalPanel and added HTML elements to it. I didn't find better way to do this so if you know other way tell me.

Example :

VerticalPanel vPanel = new VerticalPanel();

for (FeedItem item : result) {

vPanel.add(new HTML("<DIV class=\"entry\">\r\n" +

… +

" </DIV>\r\n" +

"</DIV>"));

}

DOM.setInnerHTML(RootPanel.get("loading").getElement(), "");

RootPanel.get("entries").add(vPanel);

The “loading” div was used for displaying “Loading please wait” while I’ve load the feeds. The loading idea was taken from http://developerlife.com/theblog/?p=156. The feeds are updated on every 30mins not on every call.


|

0 Comments

Copyright © 2009 JOKe's Blog All rights reserved. Theme based on the Theme by Laptop Geek with changes by JOKe. | Bloggerized by FalconHive.