Wednesday Mar 26, 2008

Yahoo Suggest and Search Portlet in Portlet-Repository

Another addition to the porlet-repository is the Suggest and Search Portlet . It is a JSR286 portlet that provides search related suggestions as the user types words and search results  from the web (using Ajax and serveResource)based on Yahoo Contextual Search and  Yahoo Web Search Service API.  The portlet makes REST client calls to the services, parses the results in XML /JSON format and displays them to the user. 

This has been tested on the Open Source Portlet Container 2.0. Check this blog post and  the wiki page for more details.


Thursday Sep 20, 2007

AJAX Internationalization (I18n) in Portal Server


Student: Master, After reading this  I got idea of what is AJAX , AJAX Table Container.

 But I want to know how AJAX become international hero?

Zen Master:   To be international hero , AJAX got Internationalized  to reach global world. How? , I would suggest you to read here Technical note on AJAX I18n in Portal Server.

Wednesday Aug 15, 2007

Technical Note: Managing Ajax Container

Student: Master, what is Ajax?

Zen Master: Ajax was a Greek hero, but if you tell that to any Java programmer you might become the subject of ridicule. But do not get offended. Ajax today means Asynchronous JavaScript and XML and it is a hero among Web development applications.

Student:  Then, Master, what is Ajax Table Container?

ZM: Answers to your questions are everywhere, but I recommend you read this Technical Note on Managing the AjaxTableContainerProvider.

Tuesday Jul 31, 2007

Portal Server 7.1 Update 1 Release Available For Download

OpenPortal Portal Server 7.1 Update 1 is a maintenance release addressing major bug fixes from the previous releases along with some significant new features and enhancements. In particular, this release addresses some of the gaps specifically around community functionality. The new feature set includes the ability to create private  communities, allowing cross community search and management of communities via admin console. Other notable features include the AJAX portal container and the ability to create blogs.

For Solaris and Linux platforms, the release is available both in the form of an upgrade (via patches) and as a fresh install.

For Windows platform, we have taken a simple approach and are making this release available only in the form of a  pre-configured install, without an upgrade option. The main reason for taking this approach is that the earlier release of Portal Server 7.1 on Windows (part of Java Enterprise System 5 bundle) was somewhat difficult to install and required quite a few workarounds to configure the product.

This release simplifies the install experience and speeds up the evaluation and development  process. It is highly recommended that the Windows release should mainly be used for development and  evaluation purposes. 

The Portal Server 7.1 Update 1 release is available for download at this location.

Also note that the Java Application Platform SDK streamlines enterprise application development and improves developer productivity. A new version, Update 3 Preview 2,  is now available for download. In this release the Portlet Container has been updated from the earlier 1.0 beta version to 1.0 FCS.

Friday Jul 06, 2007

Screencast: Syndication of Portlets and iGoogle Gadgets

Here's a new screencast that demonstrates the syndication of Google gadgets from iGoogle to the Sun Portal Server, and also syndication of portlets/channels from the Sun Portal Server to iGoogle. The gadgets are syndicated with the help of the open source Google gadgets wrapper portlet from PALAB. The content from Sun Portal Server is syndicated to iGoogle using a Javascript/AJAX script as discussed in a previous post

Friday Jun 29, 2007

Portal Server 7.1 Update1 Documents Published

Portal Server 7.1 Update1 documents were recently published. Click the image to go to the document collection.


Monday Jun 25, 2007

Portal Server 7 Samples Screencast

There are 4 portal samples available with Portal Server 7.  Here's a quick overview of each sample and pointers to the screencasts available for the samples.

Portal Welcome page

  • The Enterprise Sample is a business portal based on a fictitious company named Adventure Sports Café and showcases key features of the Sun Java™ System Portal Server.  Checkout the screencast
  • The Developer Sample highlights content that would be helpful to a developer trying to understand the inner workings of the Sun Java™ System Portal Server. Checkout the screencast

The fourth sample is the Welcome Sample which is a welcome page that provides a single point of access to the portal samples and pointers to the product documentation and support.

Thursday Jun 21, 2007

Syndicating Portlets to iGoogle

With the advent of portals such as iGoogle, Netvibes, and MS Live, syndication of gadgets/widgets/portlets has become quite the rage. Even enterprise portals such as Websphere and Weblogic have jumped on the bandwagon and now allow running iGoogle gadgets from within their portals. Similarly they also claim to support syndication of their JSR 168 portlets to other portals such as iGoogle.

With the Sun Portal Server we are not far behind. You can easily use a Google gadget portlet wrapper to run Google gadgets in your portal. More about it in a future post. I'll focus on syndication in this post.

Of course we support WSRP that allows syndication of portlets between two WSRP-compliant portals. But portals such as iGoogle and Netvibes don't comply with standards such as JSR 168 or WSRP. They have their own mechanisms for doing things. But no reason to worry. Sun Portal Server by design provides a REST-like interface (please note the usage of "-like" to avoid any confusion) to access the portal components. This interface can be used to create a quick and dirty script to achieve syndication of portlets from the Sun Portal Server to iGoogle or another portal.

Here's a screenshot of the Developer sample of the Sun Portal as it looks in anonymous user mode. Now look at this screenshot of iGoogle with the same portlets running within iGoogle. This was done with a DHTML/Javascript/Ajax combination and is very easy to do. There are however limitations to this approach. The script does not support portlets with multiple page views, and also does not support editing of portlet preferences from iGoogle. There are better ways to achieve syndication and overcome these limitations. I'll cover those in a future post.

Because of the above mentioned limitations I'm reluctant to post the script I used on this blog. But if you are interested then leave a comment or ping me at jai dot suri at sun. I'll send you the script and information about how to use it. 

Monday Jun 18, 2007

Hands-on lab and tutorial on building Ajax Portlets

Sang Shin, from, and also a Sun technology evangelist has released a brilliant new tutorial on Building Portlets with Ajax behavior. This tutorial comes with a hands-on lab and covers everything from installing the right plugins in your Netbeans IDE to deploying your portlets in the OpenPortal Portlet Container. A couple of portlets he uses in the lab are from the OpenPortal Portlet Repository.

If you have been waiting for some good information to get your hands dirty with Ajax and Portlets, then it won't get any better than this. And if you happen to build any exciting portlets, be sure to contribute them to the OpenPortal Portlet Repository for others to use!

Friday Jun 15, 2007

Portal Hacks: Ajax Table Container as a Community template

Sun Java System Portal Server 7.1 Update 1 introduces the Ajax table container (see screencast for more information) . The Ajax container provides Ajax capabilities at the framework level such as drag & drop positioning of portlets, asynchronous refreshing of portlets, multiple layouts and styles.

The Community feature (see this post for more information) allows you to create new communities with different layout templates. The layout templates provided out-of-the-box are 2 column, weblog and  wiki, left navigation, and wiki. The Ajax container is not provided out-of-the-box, but it is fairly easy to add the Ajax table layout to the existing templates. Follow these steps to add Ajax table layout as one of the options to be displayed during community creation.

Step #1

From your command shell (make sure you are logged in as root or the portal user), go to /var/opt/SUNWportal/portals/<portal-id>/communitytemplates. All the paths in this post are for a portal installed on Solaris. If you are using Linux or Windows use the appropriate corresponding paths. For example, the above path on Linux will be /var/opt/sun/portal/portals/<portal-id>/communitytemplates, and on Windows it'll be something like C:\\Sun\\JavaES5\\portal\\data\\portals\\<portal-id>\\communitytemplates.

Step #2

In the /var/opt/SUNWportal/portals/<portal-id>/communitytemplates directory, copy 2column directory as ajax (or some other name), and as

# cd /var/opt/SUNWportal/portals/portal1/communitytemplates
# cp -r 2column ajax
# cp
# ls
2column                          menucontainer               blogwiki           
ajax                         wiki

Step # 3

Change to the newly created ajax directory. You'll see a number of XML files in the directory.

# cd ajax
# ls
banned.xml    disabled.xml  member.xml    pending.xml   visitor.xml
deleted.xml   invited.xml   owner.xml     rejected.xml

Edit each file and replace the string "JSPTableContainerProvider" with "AJAXTableContainerProvider".

Step # 4

Change directory one level up and edit Customize the values for the new ajax template. This should be fairly straightforward. Next create a localized copy of by copying it as

# cp

That's it! Your ajax community layout is now ready to be tested.

Login to the Community sample as a user. Default user is test/test. Click on the "Create a New Community" link to launch the community creation wizard. Enter the values for the first two screens of the wizard till you reach the Template step. In the templates screen you should now see a new option for the Ajax Table Layout.

Select Ajax Layout in the template selection step and go through the wizard to create a new community. Access your newly created community and you should see the community load up using the Ajax table layout. In your layout, you'll be able to drag and drop portlets around the page, change the layout from 2-column to 3-column, and even change the style of the page.

This concludes the simple hack to make your community Ajax-enabled!

Elluminate, Weather, and Photo Show AJAX Portlets Available

Weather Portlet

Check out these cool portlets available now in the Portlet Repository!

  • The Elluminate Portlet allows users of Elluminate Live! server 7.0 to create, join, delete, and schedule meetings. A user simply needs to provide their login name, password, and Elluminate Server location and then they are up and running and able to communicate with an Elluminate Live Manager.   Here's more on Portals and Live Collaboration.
  •   The Weather Portlet uses the Yahoo weather service for a weather report based on a zipcode.  The zipcode is a portlet preference set by the user. This portlet also uses the Scriptaculous javascript library  for cool rendering effects..

You'll find the binary, source code, and documentation for all of these portlets and several others at the Portlet Repository Downloads page.

Didn't find the portlet you were looking for or you'd like to contribute a portlet, then drop us a line and let us know.

Saturday Jun 09, 2007

Portal Server at Sun TechDays in Mexico

Sun Tech Days 2006-2007I had the pleasure of giving a talk on Portal Performance and our AJAX desktop at the Sun Tech Days event in Mexico last month.  You can download the presentation from the Mexico event site, it was part of Track 1.

All of the Tech Days events are very highly recommended for all developers and cover quite a wide spectrum of technologies.  But it just so happens that the portal talk fit in perfectly.  Because after talking about NetBeans and WebServices and features of the Java language I had a chance to say, this is how it all comes together. And, by the way, everything that I talked about you can download, install and start developing your portlets.  And, yes, we have this all integrated with NetBeans. 

I usually don't have too much trouble speaking in front of an audience, but speaking in front of developers is always a challenge.  That is even more so when 300 to 400 people show up.  But, fortunately the talk was well received and I was still answering questions half hour after I finished. I had the greatest time and my thanks go out to the Sun Tech Days event organizers in Mexico and to all the attendees.

It truly is wonderful to have a chance to show off your work and my experience shows that when we show Portal Server to developers, we all win.

Wednesday Jun 06, 2007

Breads "R" Us

If you are an avid reader of Techcrunch, you may have seen this guest post by David Sacks. The post is titled "The New Portals: It's the Bread, Not the Peanut Butter". David, who is the CEO of and was the COO of Paypal, provides an analysis of how he thinks portals have evolved over the years. His analysis is essentially the following graphic

David suggests that portals evolved from a web directory (Yahoo) to search (Google) and have now morphed into a mechanism to share information (Facebook, MySpace). According to him, portals of tomorrow will provide a 'social graph' - a network of relationships that will push information to you. So it's no longer the portal administrator or content editors who will decide what you see on your portal. Heck, it's not even you who'll decide what you see on your portal; it'll be your social graph! (Of course, you'll still have control over whom you want to hear from.)

The important point David makes here is that aggregation is no longer the only core function of a portal. The new portals are all about sharing. It's about using your social graph to learn and to share more efficiently. David emphasizes that the social graph will not replace search, but augment it with new capabilities. So he warns us to not look at sharing as the peanut butter, but look at it as the bread itself. In other words, the social graph shouldn't be considered as just another feature, but as a core function of the portal itself.

We, in the Sun Portal Server team, could not agree more with David. And to prove it we've been working over the past two years on making our portal completely "share"-ready. The Sun Portal Server 7.x has community features baked right into the bread (see this demo) so that you don't have to worry about finding ways to make your users talk to each other. It allows users to create Wiki-based communities that can be used by community members to share information. Access to these communities can be open or restricted. The communities can host portlets that will allow users to share documents or discuss on topics using a forum.

However the sharing features that we focussed on thus far were mostly from enterprise users' point of view. I believe enterprise portals should look for inspiration even outside the enterprise landscape. There are number of features that are implemented by the current crop of web 2.0 websites that'll be very useful inside an enterprise. For example, the social news ranking feature implemented by Digg can be used by enterprises to foster bottom-up innovation. The portal will be then transformed into an idea marketplace where feedback for new ideas can be sought from a large community instead of a handful of people. Similarly tagging and social bookmarking can further improve the social graph of an enterprise.

The ideas are out there, and with OpenPortal there is a robust open source portal platform out there as well. Now all we need to do is to go convert these ideas into code. Wanna sign up?

Thursday May 03, 2007

JavaOne BOF: "Dynamic Portals and AJAX in Portlets"

JavaOne 2007 is only a week away.  This year, members of the portal team will be presenting the Birds Of a Feather (BOF) talk "Dynamic Portals and AJAX in Portlets". If you are interested in learning more and want to meet others with similar interests, please consider attending. We will be discussing:
  • the impact of Web 2.0 technologies on portals
  • AJAX and JSR-168
  • jMaki
  • JSR-286
  • dynamic inter-portlet communication
  • microformats, COMET, mashups, and more...
Hope to see you there.



« February 2017