Case Study: a fully personalizable portal page
--like but beyond the Google personal page --
A. Running Codes
B. Introduction
Portal page personalization has been a hot issue. Google's personalized page is one of such examples.
There are so many issues related to customization like:
- Modulization
- Dynamic deployment
- Communication amoung gadgets
- ...
The goal of this study is to discuss and demostrate how
- extreme communication can be performed between gadgets
- dynamic gadget deployment can be carried out by other means like email
- ...
This study is still under construction. Currently, following issues I will
discuss
- Why is it beyond Google's Personalize pages?
One of the key features of Web 2.0 is human being involving, a community behind the pages while
a key envinonment features is communication. Gadgets are contributed by people behind the pages and
communication among gadgets plays an important role on communication of people using the pages.
So far I don't see much communication among gadgets in Google's Personalize pages. That is, you can't
contribute a gadget to a page to impact other existing gadgets in the page.
This page show you how gadgets in a Personalize page can communicate to each other.
You may be wondering why we need the communicate amoung gadgets. Let me show you some examples that
I placed in the demo page:
- Timer
The Timer (3) gadget allows users to configurate when to show their gadgets. Currently, it provides a
function that hide gadget after a specified period since the gadget shown but there may be many other
functions it can potentially provide like hide/show gadget within a specified period and so on.
The important point here is not the function of the Timer gadget provides but the way it impacts
other gadgets: you may notice that there is no such a topic called "hide after" (in option dialog under
"Subscribe Topics") until you add the Timer (3) gadget into the page (or the other way around:
the topic "hide after" will disappear after you remove the the Timer (3) gadget from the page).
This means a dynamic added gadget can contribute it functionality to other existing gadgets.
You may also notice that Timer (3) gadget is completely "self-contained":
- you define the topic
- you display description
- you create the functions that carry out the timer task
- you wire the communication
- ...
all within the gadget file, gadget3.xml
- How to manage communication between gadgets?
- Some different approaches on gadgets
- How to mananger Drag and Drop with DOJO?
- ...
And following issues are available for demostrated
- Communication between gadgets?
- Define topics to broadcase
- Register as publishers to broadcase topics
You can try it by following instructions in Gadget 2 ("Control Panel").
- Subscribe broadcased topics
You can try it by having any gadget as subscriber.
- Drag and Drop environment
Try to drag gadgets in the content area or add a new gadget by dragging it from the "GadgetLib".
- ...