WSO2 Gadget Server 1.3.0 is out with a bunch of awaited features

This is a short post aiming to notify the new features of WSO2 Gadget Server 1.3.0 which was released recently. The product is popular among the community as a gadget rendering platform, which provides a presentation layer for heterogeneous enterprise services based on Google Gadgets Specification and Apache Shindig. As an enterprise presentation product, the Gadget server is now fully fledged with number of awaited features such as,

And some of the important features of WSO2 Gadget Server are,

Try out The Gadget Server 1.3.0, and provide your feedback to make it better and brighter. You can provide feedback, report bugs and join in with architectural discussions at any of WSO2 public lists and also you can have a better understanding via going through many articles at WSO2 Oxygen tank.


Web Scraping & Parsing HTML to XML in Javascript

Today I was working on a customer POC and happened to create few Google gadgets to visualize selected data sets from * sites. The scenario which is implemented was, mixed with inter-gadget communication and content search over sites. I created three simple gadgets which communicates with each other, and one acted as the controlling gadget which pushed the search parameters to other two gadgets. The two content gadgets showed UK (1) primary school information and (2) electoral information. The pushed parameter was the postal code of different parts of UK. The has a form based implementation of this.

The Requirements for the POC was, simple and we already had working samples of such a scenario at WSO2 library.

  1. Show how one gadget can pass the context to other gadgets
  2. How gadgets can harvest data in various formats (in my previous post I explained on how to get data from RDF endpoints, which are also available in * sites)

The building blocks for the implementation was the search url, which was quite straight forward. for all the requests based on postal codes the site served in the same manner (because of this important fact, the automation process became trivial). for an instance the url for primary school information retrial was,

Where the param “text” changed according to the postal code. So far everything seemed straight forward, however at implementation, while using Gadgets API for content retrial, I faced problems in parsing text with javascript. Hence the supported HTML as text and the API method returned the retrieved HTML document as string making it quite impossible to process.

With some thinking and advise, I brought the Mashup Server in to the picture and used it to retrieve the data from the gov site and returned the result in XML format. Using the Mashup Server web scraping seems to be a piece of cake, We created a simple mashup using the scraper host-object and captured the result set in the search result page. The mashup code as follows,

function search(searchUrl) {
	var scraper = new Scraper(
	return new XMLList(scraper.response);

And finally the two gadgets were making service calls to the mashup service and retrieved the data as an XML object, making the data processing painless. The final version at the Gadget Server looked quite appealing.

WSO2 Gadget Server with UK gov data
Gadget Server look - in the end

Special thanks goes to Ruchira for helping me out with the mashup service 🙂 You can download the Gadget code and the Mashup service and try the scenario yourself.

Too many “Big Brothers” – Back to stone age ?

I am sure you have heard about the phrase “Big Brother is watching you”, and maybe read “Nineteen Eighty-Four” by George Orwell. But how many of you, realized that we are the very civilization Orewell describes in his novel which is completely kept under surveillance. Well it may sound bit harsh for now, but that day seems to be not that far away.

We live in the information era where we need to understand, that measurement of power is defined by the amount of knowledge and information we possess. We start our day, by checking our mails before we brush our teeth (Yeah that’s me, and I know few more like me 😛 ). We tweet about what we do, what we read, what we hear tagged with our location using geo-tagging. What ever we hear that we do not know, or if we are curious about something (maybe, Paris Hilton’s Sex Tape or about government corruption) we simply google. and as social beings, rather than hanging out with few friends on a Friday night, we comment and gossip around in facebook. So by doing all this we gather information about others, about things and knowledge about new development. As the result we become strong and well connected and that’s the beauty of it.

But the bigger picture is quite scary. Even how strong we become with information and knowledge there will always a stronger person, who will know all about you, from the day you started gathering information and that is the reality of the information age. There will always be a “big brother” who is watching you.

The funny thing is, at present the internet space is full of “big brothers”. Every e-business is trying to know about you and me and graph our social connections. However we should also understand that “Nothing in Life is Free”, nor service is a charity. Google provide us with search results and they make money out of advertising on us. facebook and twitter are the same and now they are at war (With facebook like, connect pushing out to the entire web) simply to own our activities on the web. Whoever wins, each one of them possess great power with regard to information they own. I think this is where we can say “Great power comes with great responsibility” and be blind about the facts.

In my opinion, going back to the stone age is not the answer. as member of the information society we should be aware of our rights, we should read the privacy statement of the e-Business we consume and one of my colleagues said today, “if you are planing to be the next president of the state, do not build up a facebook profile with all your most personal details, it might backfire” 😀

Authoring, deploying and using XML Gadgets in WSO2 Gadget Server

We are about to release The long awaited WSO2 Gadget Server within few days of time. These few days I was doing some documentation and content writing about the Gadget Server, Apache Shindig and Google gadgets specification. My 1st article about authoring gadgets is now published on WSO2 Oxygen Tank as a help/Tutorial for Gadget server users. You can also download the Gadget Server release candidate 2 and play with it. Also Paul had written an interesting article about portals and Gadgets Server’s role.