Table of Contents
Different needs, different portals
In a Web context, the term portal can be used to describe a number of different types of Web sites. Portals at their core are sites that mediate, in various ways, between the user and the vast range of information that is out there in hyperspace. An effective Web portal offers the user a broad array of information, arranged in a way that is most convenient for the user to access. When designed, implemented and maintained correctly a Web portal becomes the starting or entry point of a Web user introducing him into various information, resources and other sites in the Internet or intranet. It has the power to draw together a common group of people, common on the basis of their age, profession, location etc. Similarly, the target audiences also drive the user interface design of these portals.
This integration of people and information has been described as happening in three principle ways: Horizontal, Vertical and Enterprise.
focus on the general audience and try to present something for everybody. Horizontal portals try to act as an entry point of a Web surfer into the Internet, providing content on the topic of interest and guiding towards the right direction to fetch more related resources and information. Classic examples of horizontal portals are yahoo.com, igoogle.com, etc. which provide visitors with information and on a wide area of topics. Horizontal portals target the entire Internet community. These sites, often referred to as "megaportals", usually contain search engines and are steeped deeply in the concept of syndicated content and massive personalization. Some people see no point to them, others find them invaluable. They center on the concept of the user customizing their "Home page", which usually involves deciding what content boxes are drawn and what goes in them. Another variant of horizontal portals are E-library sites
. which are dedicated to providing access to a large amount of content. The prime example is a news site, where new content is created throughout the day, every day of the week and is published online and then archived as it becomes out of date. Other examples include journals, analyst reports, and software libraries.
are Web portals which focus only on one specific industry, domain or vertical. Vertical portals simply provide tools, information, articles, research and statistics on the specific industry or vertical. As the Web has become a standard tool for business, vertical portals provide an ideal gateway for businesses to market their products and services and to gain exposure within their vertical by developing and using vertical portals (e.g. using content management, campaign management and Web analytics tools together). Classic examples of vertical portals are Lufthansa.com which focuses only on air travel, ticketing, self-service and related information to air travel, homedepot.com only on home improvement products and services, etc. Most of the times, vertical portals offer information and services customized to niche audiences about a particular area of interest. These are the sites that provide a gateway to information related to a particular industry, such as, insurance, automobiles, citizen services, etc.
There are innumerable possibilities for establishing special vertical portals on the market. The numerous solutions can be divided into two major groups that partially overlap:
1. Corporate Portals
: Provide personalized access to selected information of a specific company. This is also known as "brochureware site
", which is an externally facing site that acts as an organization's presence on the World Wide Web.
2. Commerce Portals
: Support business-to-business (B2B) and business-to-consumer (B2C) e-commerce
are portals developed and maintained for use by members of the intranet or the enterprise network. In today’s demanding business enterprise, the key to productivity of the employees depends on access to timely information and resources. The most common implementation of enterprise portals focus on providing employees with this information on a regularly updated manner along with document management system, availability of applications on demand, online training courses and Web casts etc along with communication in the form of emails, instant messaging, web meetings etc.
have become one of the hottest new technologies of the Internet. Initially called intranet portals - enterprise portals existing for the benefit of the company’s own employees, this set of technologies has developed to assist and provide access to a company’s business partners (suppliers, customers, agents, vendors etc) as well. As opposed to public web portals, enterprise portals aim at providing a virtual workplace for each individual using them - executives, employees, suppliers, customers, third-party service providers. Rather than offering access to consumer goods, services, and information, enterprise portals are designed to give each individual using them access to all of the information, business applications, and services needed to perform their jobs.
More advanced enterprise portal solutions provide access via mobile devices, such as cell phones, PDA’s, palm tops, smart phones etc. facilitating on the road work, decision making, and business processes.
exist to support the business-to-business (B2B) and business-to-customer (B2C) e-commerce, e.g. customer service (CSR) portals.
Major functionalities of marketplace portals:
1. Software support for e-commerce transactions
2. Ability to find and access rich information about the products on sale
3. Ability to participate in discussion groups with other vendors and buyers
Then there are other types of Web portals and sites like Knowledge Management (KM) portals, community portals, News portals, business intelligence portals, federated portals, departmental portals, etc, which can offer personalized experience or not.
These days, as the end user’s machines are getting smarter and faster, networks getting speedier and users more informed and demanding, there is a growing need to make Web sites look more like desktop applications. That means, rich interfaces, aggregated information on demand and securely, faster page loads and around the clock access with quick application rollout. WebSphere Portal Server, as a platform is engineered to satisfy these needs of the hour.
WebSphere Portal Server: A platform for Rich Internet Application (RIA)
Characteristics of RIAs
The characteristics of RIAs are:
- Accessible to the user without a separate installation process
- Supports robust, local application processing on the client side (including client side partial refresh, eventing, client side data storage, etc.)
- Provides a rich, full featured user interface that closely matches the look and feel of a native desktop GUI
- Allows you to present information more effectively - providing immediate visual feedback
- Can provide greater ease of use - a standard Web browser is used to access the application (irrespective of whether user is using a desktop or smart phone)
- Simplified maintenance - RIAs reside on the application server and there is no client component update once on your server
Although not always the case, the goal is to take advantage of the browser as the universal client and provide a richer interactive experience to the end user. Two core technologies that help provide this experience are Ajax and REST. There are lots of other framework technologies in this category that can also provide a browser based rich user experience. Some of them are AJAX, Adobe Flex, JSF, etc. and multiple application development paradigm like mashups and widgets. If you are building a custom Web application, many a times you will have the need to incorporate one or many of these available technologies in your application. Wouldn't it be nicer if you had a platform where you can mix and combine some of them to enhance the user experience, e.g. a page where you render feeds, widgets, AJAX/REST based portlets, contents and many more.
The purpose of all of this is to provide much more dynamic Web pages that not only respond quicker to user action, but that actually assist the user in working with the Web page. Simple Ajax patterns include the following:
- Type Assist: This enables a user to type into a text box while the system tries to figure out what word or phrase the user is seeking. As the user types, the text box continues to change with different values that can assist the user in getting the right value.
- Form Assist: Another scenario is the concept of updating a list of options based on an earlier choice. Consider, for example, a user trying to fill out a form on the screen. Choosing one option from a list or drop-down box might trigger different options to appear, change, or prefill with additional values based on that choice.
- Page Fragment Updates: Again, like in the stock ticker example, data can be retrieved behind the scenes and update small fragments of a page without requiring a full refresh of the page.
- Sliding Palettes: This pattern is where a window appears or slides out on top of the page. This allows the user to choose from a picklist or set of displayed options.
There are more controls for RIAs and are explained here nicely
. You can also use other Ajax frameworks like jQuery in you custom theme or in custom portlets. You can develop custom portlets using Adobe Flex
, JSF Portlets with AJAX using Rational Application Developer v7.5 and v8.0 (upcoming) and WebSphere Portlet Factory AJAX/REST builders
Due to many well documented toolkits and significant community following, Ajax is the most widely accepted architectural pattern to implement bulk of the RIAs existing today. Adobe Flex is gaining momentum, but due to steep learning curve and the facts that Flex based applications are likely to be strategic applications, it is a slow but steady starter. The subliminal message that most Ajax applications send out is the power of aggregation. Often, advantages of Ajax are described in terms of reducing round trip costs to the server. However, the real benefits are when Ajax applications move beyond the stage of being simple portals to performing truly transparent client-side mashup.
Starting WebSphere Portal V6.1.5, IBM had integrated mashup technology as part of the core Portal framework and WebSphere Portal Server 7.0 is going to enhance the mashup capabilities of WebSphere Portal Server. Now, you can deploy your iWidget specification based widget Web application archive (WAR) files on WebSphere Portal Server as if these are regular Web Applications and will be able to consume them on regular portal page, or using IBM WebSphere Portal Widget Portlet, an end user can view a predefined widget, modify its preferences in the widget's edit mode, or even select a widget from the Lotus Mashups toolbox, the IBM Mashup Center catalog, or any other widget providing server for display on a portal page.
Architecture View of WebSphere Portal Server 7.0
As shown below, the orange color boxes depict the changes introduced as part of WebSphere Portal v6.1.5 and v7.0. As you can see, a lot of improvement had been made to provide much of the aggregation layer out of the box, which make WebSphere Portal a better platform for developing and consuming RIAs.
WebSphere Portal Server 7.0 will provide an improved page builder
theme, which will make it possible to render different heterogeneous components together as shown below:
Given such flexibility in choosing frameworks and technology, WebSphere Portal Server must not be thought just as another application server
, but rather a platform to host, consume and integrate Web 2.0 based RIAs.
Bring social collaboration, productivity tools, content and custom applications together
A collaborative portal can improve your organization's responsiveness, innovation, competencies, and efficiency. Collaboration features in IBM WebSphere Portal are provided through the Domino and Extended Products Portlets, and through the supporting API called Lotus Collaborative Services. If you are an application architect or a developer, then you are already familiar with the challenges when it comes to cross products integration and application services integration. It had been a known problem with some of the previous WebSphere Portal Server releases e.g. integrating Lotus Web Content Management (WCM) navigation with that of WebSphere Portal navigation, Lotus Connections integration with WebSphere Portal, person card integration etc. When we talk about enterprise or team/department collaboration, WebSphere Portal itself does not provide all the services, but offers a platform to integrate services from other products which are part of WebSphere Portal portfolio.
By now, many people understand the use of the term Web 2.0, but it still requires some explanation in our context. For our purposes, we might define Web 2.0 as a set of enabling technologies that enable us to reach and provide services to end users in exciting new ways. The reality is that much of the hype around Web 2.0 already existed on the Web well before the term became popular with the media and within the industry, but the concept is helping to drive new innovation in the use of this technology toward better user interaction.
WebSphere Portal Server v6.1.0.x/v6.1.5.x releases solved some of the common challenges faced by developers/architects:
- JSR 286 and WSRP 2.0 standard adoption and made many portal services RESTful.
- JSR 286 based WCM Local Rendering Portlet helped integrating WCM and Portal better, provided better mechanism to log content pages in the Site Analyzer logs and helped create content pages and templates.
- Using microformat and Rational Application Developer (RAD) v7.5 Portal Toolkit, we can embed custom portlets and portal navigation within the static HTML pages using a technique known as "static page aggregation (SPA)".
- Client Side Aggregation (CSA), AJAX techniques and composite applications brought additional benefits to enhance user's experience and increased productivity (less clicks to get work done!)
- Web Content Integrator (WCI) allowed us to integrate third party content management systems (CMS) with WebSphere Portal Servers. Earlier, WCI used to be a services asset from IBM and later became part of the product itself because of increased customer needs of such feature
- Enhanced Feed Reader Portlet now allows to render multiple mixed feeds together (ATOM/RSS)
- AJAX proxy made the cross domain AJAX calls secured and hence prevents the concerns like cross site scripting (XSS)
- Friendly URL Service allows the creation of persistent nested pages/labels URLs
- With the release of Lotus Connections 2.5, a new version of Lotus Connections Portlets based on WebSphere Portlet Factory were released, which eased out the integration between WebSphere Portal and Lotus Connections. But, for many, this was still not sufficient and many developers user Lotus Connections REST APIs and some open source ATOM parsers like Apache Abdera) to develop custom integration portlets. Others used WebSphere Portlet Factory's REST builders to build custom portlets. IBM team also provided many options to integrate Lotus Connections with that of commonly used applications (e.g. Lotus Notes, MS Sharepoint, MS Office, Lotus Sametime etc).
- Since WebSphere Portal Server v6.1.5 release, there was no concrete approach to integrate Lotus Quickr Services (JEE) and though Lotus Quickr 126.96.36.199 provided REST APIs for document services, blogs and wikis, it is still left to the developers to provide the integration using either RAD or WebSphere Portlet Factory
- WebSphere Portal v6.1.5 introduced some in-built collaboration features like blogs and wikis templates for line of business (LOB) users or end users, but some of the most needed features like tagging, rating, tag clouds were still missing.
- Enhanced Web Site analysis, using active site analysis by predefined script injection in theme and skin code, which in turn provides better insight into site's usage patterns and allows an opportunity to target the contents appropriately.
- WebSphere Portal provides a WebDAV implementation that individual services can use by plugging into. Some of such services are:
1. WebDAV for managing pages and static content
2. WebDAV for Web Content Management.
The points above provide some insight into product roadmap and things to come. WebSphere Portal Server 7.0 will fill most of the gaps left in v6.1 or v6.1.5 releases:
- Comments, Rating and Tagging
1. A new tagging, rating and commenting engine will allow users to tag (rate and comment) any resource available within a Portal/WCM site themselves.
2. A tag cloud will allow users to get an overview of tags already been used and can be used to navigate and search through categorized
content. Similarly, there will be out-of-the-box displays
for comments and ratings.
3. These components are reusable (by users) so that clients can also equip their own components with tagging and rating functionality easily.
- Recently, IBM announced the acquisition of Coremetrics to enhance the web analytic capabilities of many other IBM products, including WebSphere Portal and Lotus WCM. With Coremetrics, a customer can opt of a hosted model for site analysis or on-premise model. This means better integration
- WebDAV filestore. For example, this is used by mashup integration in the portal.
- Lotus WCM - Change Management (Content Bundling) and Projects: Projects allow multiple changes (with new states to handle additions, deletions, changes, moves, etc.) to be grouped together into a bundle enabling better control over the management, workflow, and deployment of these changes. This will improve the management on content publication and rollback the changes in the batch.
- Lotus WCM - Search enhancements - Due to the association of pages with a WCM context path, search results will now automatically be displayed on the correct portal pages (via the mapping on the selected content).
- Lotus WCM - Rich Text Editor - Via the recent OEM arrangement with Ephox, EditLive! Is now available to clients, and will be shipped and automatically installed with 6.1.5. In 7.0 it will become the default editor.
- Lotus WCM - WCI - In v7.0, the tool will be updated and enhanced with additional support for ATOM feeds.
- Lotus WCM - Tag Helper
1. This new tool simplifies the creation of the presentation logic
or markup used to render a page and the items it contains.
2. The tool works as a dialog within Rich Text and HTML fields and aids users inserting WCM tags (used for presentation of content and elements) within components and presentation templates.
3. Users select tag attributes from using a pop-up dialog.
- Lotus WCM - Lotus Symphony Integration - leverage rich text authoring from Lotus Symphony to directly create and edit Lotus WCM content items.
In the Web 2.0 model, users actively participate and contribute to a Web site. This bidirectional approach enables users to interact with the site and each other in ways that provide for and foster a collective community. Users can create, edit, rate, and tag content at will, which provides other users with new information and guides the relevance of what is important to the overall community.
- Upcoming - Lotus Quickr Document Services Portlet (will be available via Portlet Catalog on Greenhouse)
- Improved Lotus Connections Portlets - lighter and more service-oriented.
- Portal Migration - Move from a migration experience to an upgrade experience.
1. If you have WebSphere Portal V6.1 on WebSphere Application Server 6.1, then run standard WebSphere Application Server upgrade/migration. This results in the customer’s customized WebSphere Portal V6.1 running on WAS 7.0
2. If you have WebSphere Portal V6.1 on WebSphere Application Server 7.0, then upgrade WebSphere Portal V6.1 to Portal V7.0, replacing Portal binaries, but re-using existing databases and configurations
3. From Portal V6.0 to Portal V7.0 is supported as well, but will be more of the typical migration experience
What is new in social portal: Blogs, Wiki, Rating, Tagging and more...
Web 2.0 has a different meaning to different people. For technical folks, it may be applications having a rich web UI, AJAX, mashups, dojo with some bit of service-oriented technology (SOA) and user-centered design. And for business folks, it is collaboration on the web
. Web 2.0 does not describe a new type of technology, but has been used in a broad manner to describe a change (the way Web applications are being developed now and going to be developed) to a more user centered focus. Among the benefits are improved customer and service orientation, increased user activities, easier communication and collaboration, better usability, faster performance, etc.
WebSphere Portal Version 7.0 offers several technical features that can be related to this next generation type of Web user interface as they greatly enhance the portal user experience:
- The portal provides improved performance, as portal pages and portlets are rendered faster, and load is moved from the server to the clients. This feature was available starting from WebSphere Portal v6.1, when the Web 2.0 theme was introduced. Since then, the way of doing client side aggregation had gone through few revisions before an enhanced theme also known as the page builder theme was introduced.
- The user experience of the portal behavior is more similar to that of a desktop, as more logic is executed on the client rather than on the server.
- Due to new APIs, developing AJAX portlets becomes easier for portlet programmers. E.g. JSR 286 portlet API model.
Within portal, the Web 2.0 features are implemented as follows:
User centered Web user interface features in the portal
This section discusses the Web user interface features in the portal:
- Web 2.0 portal theme with support for client side aggregation: The portal can use client side aggregation (CSA) instead of server side aggregation (SSA). As explained above, this had been available since v6.1. It results in faster rendering and desktop like experience. Existing portlets that were written to the server side programming model can be tied in by using AJAX. For example, such portlets can be refreshed individually rather than requiring the refreshing of the whole page.
- Client side portlet programming model: You can use the client side programming model for your portlets. You can do everything with the client side programming model that you can do with the server side portlet programming model. e.g. user customization of user profile, preferences, and changes to the portlet state are done locally, and therefore with a faster response time. A fragment that contains the customization is later sent to the server and saved.
- REST services:
- Portal now offers the following REST services: Layout model, Portlet model, Content model, Navigation model, Wire model, User profile, and composite applications.
- By the use of REST services you can write your own advanced Web application and build it on top of REST (Representational State Transfer) services that provide the XML request information.
- REST services allow you to access portal models remotely for both read and write access. The Navigation model allows read access only; it is updated by changes made to the content model.
- Controller SPI: The Controller SPI is a public portal interface. It is not directly related to the Web 2.0 type of user experience, but it allows you to perform certain administrative tasks more easily.
Information sharing and reuse within portal
Some of the newly added features related to user interface reuse and sharing are explained below.
- You can create a private page (visible to that you only) and can share pages that you had created or customized with other users. This works for both individual users as well as groups of users in your company. When users with whom you have shared the page open that page, they can choose whether or not to add that page to their navigation. You can assign those users either View or Edit access.
- Shared Pages: Shared pages enable you to share a layout model with multiple pages. After a page is shared, other pages can reference the layout of the shared page.
- Derived pages: Derived pages are children of shared pages. Derived pages inherit the properties of the original page. Creating a derived page is equivalent to creating a new, specialized layer on the original page. The original page and the new layer are aggregated together at rendering time. The new layer is contained within and controlled by the original page. Changes made to the original parent page may be reflected to the derived pages that reference it. Layers can be created on other layers to create a chain of cascading pages, referred to as delegated page specialization. This process means that a root page can be created, and the top level administrator can decide the initial layout and content of the page. The next level administrator can then control and modify a specialized layer of this page, adding more content and layout. This process can continue down a chain of page managers and sub managers. Managers or sub managers in the chain only see their individual layer of the chain; however, they must have the User role for every layer above theirs in order to see the content of the previous layers. An end user is only able to see a layer of the page if appropriate access is given.
This is analogous to "master-child" pages.
- Page Templates: To simplify the creation of pages, define pre-configured pages that can be used as templates when creating new pages. You can configure a template page like any portal page and add pre-configured portlets. Whenever a new page is created from the template, the page layout, portlets, and portlet configuration from the template are copied to the new page. Important: When a new page is created from a template, no reference to the template page used to create the page is maintained. This means that all changes that you apply to a template page after pages have been created from this template are not propagated to any of the pages that already exist (this is different behavior than derived pages explained above).
- Web content library default items
In Portal v7.0, when you create a web content library, you can choose to include a set of default web content items in the new library. These can be used as a starting point for your Web Content Management system and web site. This is an improvement over the previous versions, where you will have to do it manually or start afresh.
The default items are best displayed using a web content viewer portlet:
1. Go to Administration > Manage Pages.
2. Select Create New Page From.
3. Under Web Content Mapping, select the site area named Articles from your web content library.
4. Complete the rest of the form and click OK.
5. Edit the page layout of the new page and add a Web Content Viewer (JSR 286) portlet to the page.
6. The content item named Sample Article is displayed on the page.
Interoperability is a property referring to the ability of diverse systems and organizations to work together (inter operate). By adopting and leveraging industry standards such as WSRP (Web Services for Remote Portlet) 2.0, JSR 168 and JSR 286 portlet programming model, REST/Web Services, and many more, WebSphere Portal Server satisfies this very key requirements for the Web 2.0 platform. e.g. as WSRP consumer, Portal Server can render the portlets running on a compatible WSRP producer portlet server (need not be Java-based, and can be Sharepoint or PHP server). A key part of the IBM business strategy is to provide high-quality products and promote open-computing technologies so that its customers can build solutions that best meet their needs. As part of this strategy, IBM has been working with the OpenAjax Alliance, a group of enterprise vendors that includes Tibco, Microsoft, and Adobe, to create inter operable widget technologies.
For example, in the consumer space, a standard called OpenSocial has emerged. This community driven specification defines a browser based component model, known as gadgets. In addition, OpenSocial defines an API for accessing information about user profiles as well as their social graph, for example their friends, activities, shared applications, authentication, and authorization. An open-source project at the Apache Software Foundation, known as Shindig, provides a reference implementation of OpenSocial. Here
is an article that explains about integration of OpenSocial and Mashup Center, an integral part of WebSphere Portal Server v7.0 now.
Collaboration on the Web using WebSphere Portal Server
Apart of Blog and Wiki templates introduced with Portal v6.1.5 release, Portal v7.0 also introduced an additional web 2.0 feature named, tagging and rating. and tag center.
Tagging and rating portal content
Tagging and rating are methods by which users can work with Web content and other portal artifacts in a collaborative way.
The last few years have brought a change in the way how content is added to Web based systems. Earlier dedicated authors were responsible for adding content, whereas today entire communities contribute. These systems grow fast and in a less coordinated manner than before. Consequently new ways have to be found to organize and structure content.
Tagging means assigning keywords as metadata to resources to describe or evaluate the content of these resources. These keywords are tags. For example, a user can apply the tag Websphere to a page that provides information about IBM WebSphere products. By tagging content users add valuable meta information and even lightweight semantics to Web content. Tagging content also allows users to better categorize resources and thereby search the content of a portal more easily. This provides better results, as the search criteria is descriptive and users do not have to scan the content for the keywords. Tagging allows non expert users to develop folksonomies that categorize content available in the system.
Rating is the evaluation or assessment of something, in terms of quality, for example, (as with a critic rating a novel), quantity (as with an athlete being rated by his or her statistics), or a combination of both. Examples of quality ratings are critics who rate books or customers who rate purchased products for quality. Examples of quantitative ratings can be the performance data of cars or computers. Users rate resources by assigning numeric or other values to resources to indicate how much they like the resource. Thus, a rating is a value associated to a resource. Ratings are selected from a range of possible values where one end of the range usually refers to "like" and the other end to "dislike".
Rating allows users and entire communities to express which content they like or dislike.
Note: Tagging and rating is only supported for the Page Builder theme. Therefore, if you select the Portal theme as the default site theme, the Tag Center might not be displayed as expected.
Portal users can tag or rate portal content. In general, all content in a portal can be tagged or rated. This includes the following types of resources:
1. Portal resources, such as pages and portlets
2. Web Content Management resources, such as articles or images
3. Custom resources. For example, these can be items in an online store or pictures in a portlet. Administrators can add these custom resources to the portal so that users can tag or rate them
can perform the following tasks:
1. Extend the tagging and rating capabilities of the portal by writing a custom user interface that uses the Java Model API or the REST API.
2. Write queries to obtain statistics about tagging and rating, and write a user interface to visualize these statistics.
3. Write filters, for example, to prevent users from using unwanted words as tags.
The default tagging and rating user interface
The default portal tagging and rating user interface features several elements: widgets for tagging and rating, the tag cloud, the Tag Center, and a feature for browsing tags. By default in portal installation, the tag widget is available for tagging pages and portlets. Users can tag the current page by switching to the Edit mode and selecting Tag this page
from the More actions menu. Users can tag a portlet by selecting Tag this portlet
from the portlet context menu.
Enhanced blogs and wiki templates
and blog libraries
to provide news and commentary on a variety of subjects pertinent to your intranet and extranet sites. E.g. SMEs can be assigned tasks to maintain blogs on an agent portal and dealers can read through them and post comments. Blogs and blog libraries typically combine text with graphics and links to other blogs and Web sites. Entries that you create and post are arranged in reverse-chronological order, with the newest entry displayed first. Readers can post comments about your entries, fostering discussions and online networking. You can manage your own blog entries and comment on other blog entries.
You can tag and rate your blogs. If you add a tag to a blog, you can click on the tag link, which takes you to the Tag Center.
Tip from the field
: Use a blog for sharing information on a single subject. Use a blog library to share information on multiple discussions. In Portal v6.1.5/v7.0, the blog feature had been implemented using WCM libraries. For each user, if the blog component is added on to the portal page, a WCM library is created under the cover (named as blog name/title), which is slightly time taking. That is the reasons, the end users may face some slowness in the response. The comments on the blog posts by default don't have any moderation. Similarly, there is no archived blog posts view. In nutshell, the features/functionality provided by blog component within WebSphere Portal Server is limited, but can be used in an Intranet/Extranet environment, which is more controlled in nature and still encourages the collaboration.
You can also add a JSR 286 Web content viewer to a page to point to an existing blog or blog library on the site. This is useful in cases where you need to display only one post on the page.
to share community content on a variety of subjects pertinent to your intranet and extranet sites. Wikis typically combine text with graphics and links to other wikis and Web sites. You can monitor and manage your own wiki articles.
You can tag and rate your wikis. If you add a tag to a wiki, you can click on the tag link, which takes you to the Tag Center. Wikis use the template libraries
provided by Lotus Web Content Management. Wikis use the Wiki Resources template
and the Wiki template
. The page hierarchy that is provided for wikis is the common one defined by the Web Content Management template libraries.
The Wiki Resources template
provides the authoring and presentation templates for wikis. All wikis on the site use this single Wiki Resources template
. Page Builder in the default theme also points to the Wiki Resources template.
: The Blog Resources template has common components that are shared with the Wiki Resources template.
When you add a wiki to a portal page
, a copy of the Wiki template
is created (slow operation) using the name that you provided when adding the wiki to a portal page. This copy of the wiki template is used to store wiki page content.
Business user situational application development using Mashup
technologies can help companies solve both business and IT challenges. Businesses seek greater agility and need to respond faster to new functional requirements. Current applications such as spreadsheets or a regular Web Application developed following SDLC (Software Development Life Cycle process are too hard to manage, share and keep current and information is often left in silos or outdated. Wikipedia has a good definition of mashup when we talk about it in conjunction with web application and hybrid application
Consider this scenario within your enterprise: You have multiple internal applications built over the period of time, and some applications are fetching data from Oracle and some are fetching data from SQL Server and displaying the information in different screens. To complicate the matter, you also have information in excel sheets and flat files. There may be situations where you want to have a consolidated view of data available in Oracle and SQL Server or Excel and Oracle. You tend to involve developers and they probably end up writing specific programs/code to fulfill the task. You may use that new application for long time or for short time, but point is, there is effort involved.
Generally, we categorize enterprise applications in two major categories: strategic applications and situational applications
. Mashup based applications fall in to situational applications category - which are generally perceived to be short lived and based on specific business needs at any given point of time. Please refer to "Lotus Mashups frequently asked questions
Prior to WebSphere Portal Server v6.1.5, it was very difficult to integrate Portal Server with Lotus Mashup Center or consume iWidget standard widgets on Portal Server pages directly. That used to be achieved by either using WAI (Web Application Integrator), iWidget Portlet from Portlet Catalog, which had its own limitations. Starting Portal Server v6.1.5 and v7.0, users can work with portal and mashups in different ways. They can add a mashup page, widgets to the portal, and they can perform tasks in the portal and in the IBM Mashup Center at the same time.
Working with mashups in your portal
If mashup integration is not enabled on your WebSphere Portal v6.1.5 or v7.0 environment, then you can enable the same by following steps:
- Open a command prompt and navigate to the directory /ConfigEngine.
- Run the configuration task: ConfigEngine.sh|bat deploy-portal-mashup-ui -DWasPassword=was_password -DPortalAdminPwd=portal_password
If you add passwords to the wkplc.properties file located in the
\ConfigEngine\properties directory, you do not need to specify the passwords on the command line. This script creates a top level page named My Mashups next to the Home node.
- Restart the portal server.
We will briefly discuss possible scenarios to integrate Lotus Mashup Center:
Promoting Mashups to Portal
This scenario addresses an un-served application need and leverage for the enterprise. E.g. you have some data in Excel sheet and some information is coming from your ERP (say SAP) and you want to create a report merging information available from both the data sources. Using Mashup Center, business users/analyst (with some help from IT) can create data feeds by combining the feeds from these two sources and create a mashup page, which is published to the catalog.
From Mashup Center Catalog, administrator clicks the link “Add to Portal” link on the mashup page. After the page is published on Portal Server, administrator can assign the access to the users.
Deploy widget to portal
Using the development tools such as Rational Application Developer
, WebSphere Portlet Factory
and Lotus Widget Factory
developers can develop widgets that are iWidget
standard compliant and can be deployed to WebSphere Portal Server and Lotus Mashup Hub (InfoSphere Hub) directly. Administrators and portal users can perform different tasks related to widgets. In this section, we will see how a Hello World iWidget WAR (developed using Rational Application Developer 7.5
) can be deployed within Portal Server 7.0 and added onto the mashup page within Portal Server. The sample WAR file can be downloaded from here
This is depicted in the diagram below:
Tips from the field:
If you have some widgets provided as part of other products e.g. FileNet, Cognos etc, then you can deploy those widgets directly on to the portal server and do not require Mashup Center and Hub application servers.
We will now discuss this in more detail (you should download the sample iWidget WAR file from the download link above) using WebSphere Portal v7.0:
- Install the WAR file "com.ibm.basic.hello.war" using WebSphere Administration Console and select "WebSphere_Portal" server as target server. You should note down the application name and context root provided during the deployment. In this example, we have used application name: com_ibm_basic_hello_war and context root: /helloworld as shown below:
- Run the following task on Portal Server: ConfigEngine.bat register-mashup-module -DApplicationName=com_ibm_basic_hello_war -DWasPassword=password -DPortalAdminPwd=password
- Copy "C:\IBM\WebSphere\PortalServer\base\wp.mmi.deploy\config\binaries\catalogs\catalog_default.xml" into some temporary location with some other name, e.g. C:\temp\catalog_helloworld.xml. Here, make a note of the bold name (this is naming convention explained in the InfoCenter).
- Edit catalog_helloworld.xml and add following lines just before first tag. We want to add the new widget under "Demo" tab on the "My Mashups" application.
- Run the following task on Portal Server: ConfigEngine.bat import-config-file -DMMImportFile="C:/temp/catalog_helloworld.xml" -DMMImportFilePropertyName="mashups.catalog_helloworld.xml". Here, don't get confused with "MMImportFilePropertyName" parameter. This is "WP Mashup Binary ConfigService" Resource Environment Provider (REP) parameter name for Mashup Center Integration on WebSphere Admin Console.
- Copy "C:\IBM\WebSphere\PortalServer\base\wp.mmi.deploy\config\binaries\catalogs\catalog_default.xml" into some temporary location with the same name this time e,g. C:\temp\catalog_default.xml
- Edit C:\temp\catalog_default.xml file and add one line as shown in bold below:
<catalog id="default" unique-name="optional_name">
<include catalog="helloworld" />
- Run the following task on Portal Server:ConfigEngine.bat import-config-file -DMMImportFile="C:/temp/catalog_default.xml" -DMMImportFilePropertyName="mashups.catalog_default.xml"
- Restart Portal Server and then access "My Mashups" application and click on "Go to Edit" button.
- On this page, you can see newly added widget under "Demo" menu as shown below:
- Now, you should add this widget and few other out of the box widget on this page and customize a little to make the page similar to the image shown below and finally save the page.
Create and Share Mashups in Portal
You can share mashups (pages) with both individual users as well as groups of users in your company. When you share a mashup, you share the page that contains the mashup. Users with whom you have shared the page can choose whether or not to add that page to their navigation. You can give these users either view or edit access. If they have view access, they can only view the mashup. If they have edit access, they can add, delete, configure, and wire widgets. However, they cannot share the modified mashup page with other users, as they are not the owner.
Look Ma!!! A Portal without custom Java code
When starting a new portal project, one question that is frequently asked – how much out-of-the-box features and capabilities can we use to populate and rollout our portal solution? Depending upon the type of the portal, some project teams take cognizance of the fact that WebSphere Portal Server and development team provides many services and components out of the box to make it easier to rollout the first cut of the portal project within few day or weeks. A careful planning to analyze and understand what is provided or is available out-of-the-box can save you significant number of man days of work.
If, a portal project does not has too much of business functionality to implement (may be during the few initial phases), then rolling out an information rich and collaborative portal quickly can instill confidence among the business users and increase the adoption rate. Here is how WebSphere Portal Server can help fill your portal with searchable information, content and collaboration:
Portal as information aggregator
In most of the intranet/enterprise or public portals, there may be requirements where information has to be sourced from third party systems in the forms or RSS/ATOM feeds, gadgets or widgets. With new page builder theme, WebSphere Portal Server 7.0 leverages out of the box Portlets to render multiple feeds, Google Gadgets and iWidget specification based Widgets on the same portal page.
- IBM Syndicated Feed Portlet for WebSphere Portal
IBM Syndicated Feed Portlet for WebSphere Portal enables you to integrate, view, and manage RSS and ATOM feeds from your portal pages. You can organize the feeds into new and existing feed categories and extensively customize the presentation style for these feeds.
IBM Syndicated Feed Portlet for WebSphere Portal complies with the Outline Processor Markup Language (OPML) standards for subscription management and supports the export and import of feeds. Version 1.1 of the IBM Syndicated Feed Portlet is supported in a proxied environment and enables dynamic modification of the portlet window title. WebSphere Portal v6.1.x and WebSphere Portal v7.0 ships this portlet out of the box. Latest version of this portlet can also be downloaded from “IBM Lotus and WebSphere Portal Business Solutions Catalog
” and is officially supported by IBM. In case you want to troubleshoot this portlet, you can refer to the following link
IBM Portlet for Google Gadgets
- IBM Portlet for Google Gadgets
is a JSR 168 portlet that enables enterprise portal users to integrate Google Gadgets for web pages with their portal pages
. Google Gadgets for web pages are remotely accessible services that provide access to online content and applications designed to be aggregated into the context of a web page. These include language translators, maps, YouTube videos, and Wikipedia.
IBM Portlet for Google Gadgets is supported in a proxied environment and supports inter portlet communication
. Using this feature, other (source) portlets can interact with the selected gadgets in the IBM Portlet for Google Gadgets instances on the same page, i.e., the gadgets react in response to events triggered in the other portlets. You can utilize this feature to create portal based mashups suited to your business requirements.
***Tip from the field
: While there are thousand of Google gadgets available on Google, but not all are meaningful to the business. Hence, if you want to provide services using Google gadgets, then consider pre-configured gadgets only. Secondly, while configuring the portlet with Google gadgets, WebSphere Portal Server requires a connection to Internet from the server box. So, if you have firewall rules, then you can allow connections to http://www.google.com/ig
from the portal server. In some organizations, the end user’s desktops will not be provided with internet connections, and Google gadget (not WebSphere Portal Google gadget portlet) requires connecting to internet to consume the services provided by the configured Google gadget. The reason is that the gadget code is itself processed by a gadget server and rendered in an IFRAME on the client browser.
IBM WebSphere Portal Widget Portlet
- IBM WebSphere Portal Widget Portlet
provides customizable, personalized, and managed access to widgets that are compliant with the iWidget Specification, thus extending the existing capabilities of WebSphere Portal to provide flexible integration with web components, independent of their technology. With the IBM WebSphere Portal Widget Portlet, users can leverage widgets on their portal pages side by side with portlets, Gadgets or other web components, enabling the creation of portal-based mashups tailored to the situational requirements of an enterprise.
In Web Application development, a mashup is a Web page or application that uses and combines data, presentation or functionality from two or more sources to create new services. Mashups can be considered to have an active role in the evolution of social software and Web 2.0. Mashups composition tools are usually simple enough to be used by end-users. They generally do not require programming skills; they rather support visual wiring of GUI widgets, services and components together. Therefore, these tools contribute to a new vision of the Web, where users are able to contribute.
Now, Lotus Mashup Center is an integral part of WebSphere Portal Server 7.0 and going forward, more and more services will be added. There are many articles on IBM developerWorks that explain themashup business scenarios and patterns
and provide some guidelines for choosing between mashups and traditional Web applications
With new page builder theme, WebSphere Portal will be able to render widgets (not using iWidget Portlets), portlets, web contents and feeds on the same page. Now, you can deploy custom widgets (based on iWidget standard) onto the WebSphere Portal Server and add onto the mashup page or portal page.
WebSphere Portal allows you to create pages with portal content by using static HTML or other markup. This should not be considered a replacement for Lotus Web Content Management (WCM).
Working with static content pages has the following advantages:
- You or your Web designers can create a portal page by using standard Web authoring tools. Creating an HTML portal page requires no knowledge of JSP, WCM or Portlet development.
- You can include portlets as dynamic elements and containers as placeholders for portlets in your pages. You can display these portlets by using server side aggregation, AJAX, or iFrame techniques.
- You can update an existing static page by uploading a modified HTML file while preserving the portlet customization on that page.
- Static pages can be rendered in the portal by the following two ways:
- As standalone Web pages that control the complete browser area.
- As part of the portal content area. In this case the portal still controls the banner and navigation area.
Tips from the field:
After you have included a page in the portal, you cannot change the page from static content to standard portal layout or from standard portal layout to static content. If you want to change the page type after you have created it, you need to delete the existing page and create a new page of the required type.
: When a static page uses the Page Builder theme, users can change the style of the page, but they cannot change the layout of the page or add content to it.
- IBM WSRP 2.0 Producer for IBM WebSphere Application Server
WSRP provides a standard for the communication between Producers who provide WSRP services and Consumers who consume them.
The WSRP standard and specification is provided by OASIS. It defines a Web service communication interface for interactive presentation oriented Web services. This standard simplifies the integration of remote portlets (running on another WSRP standard based portal or WebSphere Application Server), applications, and content into portals. With WSRP portal administrators can select from a rich choice of remote content, portlets, and applications and integrate them into their portal with just a few mouse clicks and no programming effort. Producers and Consumers use this interface for providing and consuming the Web services. WSRP allows users to perform the following tasks:
- Producers can provide portlets as presentation oriented WSRP services and make them available to Consumers who want to use these services.
- Consumers can select from a rich choice of available Web services and integrate them into their portal.
- Users can then access the services and work and interact with them just like they do with local portlets.
Using WSRP to perform these tasks has the following benefits:
- WSRP becomes the means for content and application providers to provide their services in an easily consumable form to organizations that run portals.
- Integrating content and applications into portals is made easier. Now, no custom programming effort using a variety of different interfaces and protocols is required. Portal administrators no longer have to write interface code to adapt the WSRP services for their portal.
- Presentation oriented services, as standardized by WSRP, allow Producers to deliver the requested data and have them presented to the Consumer portal.
- Previously, they delivered the data only, and the portal developers had to provide the logic for how to present the data.
- Consumer portal administrators do not have to keep the WSRP services code locally on their servers.
- The WSRP services appear and operate to portal users exactly like local portlets.
Tips from the field: Choose only those portlets as potential WSRP Producer which are having larger run time memory foot print on the JVM of source portal server, so that you don’t want the same load on the consumer portal. Generally the best candidates are self contained portlet applications it is not using any specific portal services (e.g. model/navigational services), then that portlet can be deployed on WebSphere Application Server and consumed by WebSphere Portal Server. This will improve the runtime performance of Portal Server since the logic of the portlet is not getting executed within Portal Server JVM.
The Web clipping editor portlet
allows Web content/pages from other sites to be clipped and displayed within the portlet on a portal page. This portlet lets you build new portlets quickly from your existing Internet and intranet sites without having to understand how portlets are written or developed. The portlet provides a user interface that lets you quickly build new portlets by specifying the URL of the content to retrieve and various controls that direct how the content should be modified (or clipped). You can build portlets that consume external content and filter it to present a view of only the relevant portions of that content. WebSphere Portal Server’s installableApps folder already contains this portlet WAR file named as “WebPortlets.war”.
Notes from the field:
Some known limitations of Web Clipping Portlet: https://infocenters.lotus.com/portal/topic/com.ibm.wp.beta.doc/admin/adcllim.html
IBM Web Page portlet
enables users to view the content available at the specified web addresses using inline frames. WebSphere Portal Server’s installableApps folder already contains this portlet WAR file named as “webpage.war”.
: iFrame Portlet or Web Clipping Portlets are not the right choice of integration, but to expedite the initial integration, these can be used. Both of these portlets support SSO using different mechanisms including credential vault, LTPA based SSO etc.
The Bookmarks portlet enables users to add and delete bookmarks and import the existing bookmarks from their workstations. Users can also set the number of bookmarks to be displayed on a page. Portal Administrators can make copy of this portlet and provide pre-configured bookmarks to the end users OR, end users can be provided options to edit their own bookmarks (e.g. bookmark some important links to some websites/applications they want to access without using browser's bookmarks).
Tips from the field:
There are cases, when commonly used links to the external applications or there are nested pages in the portal page hierarchy/content hierarchy. In those cases, bookmark portlet can be utilized. Bookmark portlet does not provide SSO to external applications.
The People Finder portlet provides both quick search and advanced search options for locating people and information about people. Once found, a person is visible to other users as a person link that indicates online presence and displays a menu of instant messaging and other options. Directory Search also enables users to search for user groups in addition to individual users.
Hovering over the person link provides an option to display the person's business card (also known as person card). To view the person's profile, select Profile on the business card. For more information on the business card, see the section "Person card" in the People Awareness topic.
Users interact with the People Finder portlet through the following features, which appear in one or more views of the portlet:
1. Quick Search and Quick Search Results, including Business Card fields
2. Advanced Search and Advanced Search Results
3. Profile page, including Business Card fields
4. Organization view, including Business Card fields
Tips from the field:
If you want to build org chart using People Finder Portlet, it provides basic capabilities, provided in your LDAP, user object has its "manager" attribute populated with fully qualified user id of the person's manager. People Finder Portlet is a good tool to have irrespective of whether your repository is LDAP or Database based user registry. If you have custom attributes in LDAP/DB user registry and you want these attributes to appear as part of People Finder Portlet, then you will have to follow the steps mentioned here. This will modify some of the files installed as part of original People Finder Portlet – hence please take the back up of these files (original) as well the backup of the modified file so that later on when a new version of People Finder Portlet becomes available your changes can be merged. Another approach would be expand the original portlet war file and modify the files, then update the portlet either using XMLAccess/Portal Admin. You will have to modify the following files:
1. C:\IBM\WebSphere\PortalServer\pcc.impl\people.impl\peoplefinder\portlet\lwp_peoplefinder_war.ear\lwp.peoplefinder.jsr168.war\PdirConfig\apPDirConfig.xml (in Unix based system, the path will vary) to define the new attributes. Add new elements under "".
2. Next, you will have to define resource bundle for the new attributes: C:\IBM\WebSphere\PortalServer\pcc.impl\people.impl\peoplefinder\portlet\lwp_peoplefinder_war.ear\lwp.peoplefinder.jsr168.war\WEB-INF\classes\nls”, modify the files “PeopleFinderUI.properties” and “PeopleFinderUI_en.properties” (in this case, English).
3. Restart Portal and view the People Finder Portlet configuration (configure mode).
4. Click on "Reload Settings" button and accept the warning and then click on "Apply Changes Now" button. Click on "Configuration Basics" hyperlink on the same view. Then you can choose the attributes you want to display as part of profile display.
If you want to replace the person card provided by WebSphere Portal with that of Lotus Connections, then please follow the instructions provided in the InfoCenter here
- Mail and Calendar Portlets
WebSphere Portal provides specific mail portlets for the different types of mail servers. By default, these portlets are installed automatically as part of WebSphere Portal installation. For example, the common mail portlet can connect to any type of mail server over the IMAP4 protocol. In addition to basic mail support, the common mail portlet supports an inline rich text editor for message creation and editing, and a spell checker. WebSphere Portal Server has Domino Mail Portlet
and Microsoft Exchange Portlets
to connect to Domino Mail and MS Exchange servers respectively.
Tips from the field:
1. Exchange, Domino, and POP3 are no longer supported protocols in the Common Mail portlet.
2. The Common Calendar portlet is no longer being shipped.
3. The Microsoft Exchange 2000 portlet application is no longer included. There are "Exchange Calendar" and "Domino Web Access (Calendar View)" portlet available.
4. Domino Mail Portlet does not support credential vaults; and hence you MUST have SSO between your portal server and Domino Mail Server. With Microsoft Exchange mail portlet, single sign-on is supported through the Portal Server Credential Vault.A user's credentials are stored once, and can be used for all the portlets in the application.
5. For IBM Microsoft Exchange 2007 portlets, the users need to enter their primary e-mail addresses (instead of alias name, as for IBM Microsoft Exchange 2003 portlets) in the Mailbox alias field in the Edit mode.
Site Templates (IBM New Site Wizard) to speed time to value
The New Site Wizard (available since WebSphere Portal v6.1) feature provides the ability to quickly and easily create virtual portals based on selecting a site template, an initial look and feel style, and optional features. The wizard is designed to be used by administrators and business users alike, to aid in building new sites to support a multi-tenancy portal. The wizard encapsulates many administrative tasks, such as user enrollment, virtual portal creation, and content library creation. Once the portal is created, site owners can easily customize the layout and look and feel. A few of the default templates allow for content to be edited in-line on the page using Lotus Web Content Management software.
WebSphere Portal Server v7.0 adds to the same capabilities by providing additional templates.
The most current version of the site wizard code and documentation is available at: http://www-01.ibm.com/software/brandcatalog/portal/portal/details?catalog.label=1WP1001N7
IBM Content Templates Catalog
The IBM Content Templates Catalog
provides you with a quick start for using WCM to build up your own Web site. It contains template definitions for frequently used content types and helps you to reuse these assets on your pages. More details on how to achieve rich and dynamic effects using Dojo can be found here: http://www-10.lotus.com/ldd/portalwiki.nsf/dx/dynamic-fx-demo-how-to-create-web2.0-effects-in-wcm-sites
***Tips from the field:
The use cases demonstrated as part of this content template is really cool and you can either use the WCM libraries provided as-is or can reverse engineer to borrow the ideas to use in your implementations.
Web Application Integrator (WAI)
Web Application Integrator for IBM WebSphere Portal
is a solution which allows external web applications (irrespective of the technology, PHP, .NET, Sharepoint, JSP based etc) to be integrated with IBM WebSphere Portal version 6.0.x or, 6.1 or 188.8.131.52, and IBM WebSphere Portal Express 6.0.x, 6.1 and 184.108.40.206. The 220.127.116.11 version of Web Application Integrator can also be used for Websphere Portal versions 18.104.22.168 or 6.1.5.
It allows Portal customers to further leverage their investment in Portal by using it to centralize access to external web applications within the enterprise. Examples of such external web applications include home grown, in-house web applications, as well as our own IBM web based products like Lotus Connections, Lotus DWA, and Lotus Quickr.
WAI can be downloaded from this link
Tips from the field:
1. WAI is a set of JSP files and works only with the regular portal themes. It does not work with Web 2.0 theme or enhanced theme (page builder theme
), which is provided starting WebSphere Portal V6.1.5.
2. If you have developed a custom theme (regular theme), and want to leverage WAI, then you will have to develop separate WAI theme also. The information on how to do this can be found here
3. You will still need to handle SSO between WebSphere Portal Server and target web application.
4. WAI theme may get deprecated starting WebSphere Portal V7.0 since regular out of the box "Portal" theme is going to be provided for administrative pages only. But backward compatibility will still be maintained, meaning, if you have older themes from Portal 6.1, they will still work.
5. WAI differs from iFrame/Web Clipping in the sense that the while clicking the application URL from portal navigation, the browser address will change to point to external application. If you want to hide this, then you can use reverse proxy sever to hide/protect the URL. Generally, this is not a challenge for Intranet/Extranet based applications.
IBM Industry Toolboxes for WebSphere Portal
Industry Toolboxes for WebSphere Portal
provide a resource forum for customers and partners. They pair technology expertise with industry thought leadership to offer best-practice guidance optimized for the particular business you are in. More details on each can be found in the wiki pages
Collaboration and Document Services Portlets
WebSphere Portal Server provides the following portlets to help integrate other collaboration services (beside people finder, mail and calendar discussed above) with portal:
1. Sametime Contact List portlet
(The Sametime Contact List portlet displays an inline list of people that the user has compiled and with whom the user wants to chat online or include in online meetings. The portlet displays the user's contact list from a Sametime Instant Messaging server that is set up to work with the portal. Do not add more than one instance of the portlet to a page of your site.) - You will have to setup SSO between portal and Sametime server. It may be possible that your portal server is configured with a different LDAP server, other than Domino LDAP and Sametime Server has been configured with Domino LDAP, then also it is possible to setup SSO between portal and Sametime server.
2. Who Is Here portlet
- The Who Is Here portlet displays an inline list of people currently logged into the page or virtual page with whom the user is able to chat. The portlet displays the list of available people from a Sametime Instant Messaging server that is set up to work with WebSphere Portal.
: Because Who Is Here displays every user's name, the list can become cumbersome to manage and degrade performance on a page that has many visitors. Deploy Who Is Here in your site only if Sametime Contact List does not fulfill the needs of your users.
3. My Places Portlet
- Use the My Places portlet to display all Lotus Quickr places that you are a member of, public places, places that you can access, and places that you have marked as Favorites. The My Places portlet comes with IBM WebSphere Portal and is also available from the Websphere Portal Business Solutions Catalog. Clicking on the place link, will open a new window displaying the full place on Lotus Quickr UI itself.
- Note: To be able to use My Places portlets, you still need to setup SSO between Portal and Lotus Quickr (JEE/Domino edition). Follow the steps mentioned in the technote on how to set this up : JEE/Portal edition of Lotus Quickr and Domino edition of Lotus Quickr..There is a new and enhanced My Places portlet available from Portlet Catalog, which replaces existing My Places catalog. It's features and download link can be obtained here.
1. IBM Lotus Domino Application Portlet
- The IBM Lotus Domino Application Portlet
allows you to easily integrate any release 5 or later Domino Web application into Lotus Workplace or WebSphere Portal environments.
2. Accessing Quickr Document Libraries using IBM WebSphere Portlet Factory
- This sample shows how to use the Quickr Document Access builder to access a Lotus Quickr 8.1.1 document library using WebSphere Portlet Factory Version 6.1.5. This sample includes a feature set and two project archives. The feature set can be added to Portlet Factory and used in a project to provide access to a Quickr document library. The project archives can be imported into Portlet Factory to see how the feature set was developed and how it can be used. Now that Lotus Quickr version 8.5 is released, there was an announcement to make Document Services Portlet available via the Portlet Catalog soon.
3. IBM Lotus Connections 2.5 Portlets for IBM WebSphere Portal
- The IBM Lotus Connections 2.5 Portlets for WebSphere Portal
delivers the Lotus Connections rich set of social software services for use within a WebSphere Portal environment. WebSphere Portal users can integrate the Activities, Blogs, Bookmarks, Profiles applications of Lotus Connections along with a Tag Cloud portlet for quick filtering in composite applications.
Tips from the field:
This portlet may not be suitable for some specific requirements like displaying a single blog entry on the portal or community etc. Hence, recommended practice would be to develop custom portlets either using RAD or using REST builders of WebSphere Portlet Factory
. Extend, Enhance and Customize the Lotus Connections 2.5 Portlets by Downloading the Developer Pack!
. These portlet assumes that Lotus Connections had been setup with SSL support (https)
Search functionality is an integral part of any Web site. WebSphere Portal provides all the search features out of the box to enable web site/portal search with very few configuration changes. The following wiki article
explains the portal search concepts and its capabilities in greater details. There are few more documents
that can be read and referred to while selecting best search options for your portal infrastructure.
Finally, you can visit this wiki page
to get to know more on the reusable assets available as part of Industry Toolboxes.
Re-mix services inside and outside organization for new insights supporting business objectives
Web 2.0 websites allow the user to do more than just retrieve information. They can provide "Network as platform" computing, allowing users to run software applications entirely through a browser. Users can own the data on a Web 2.0 site and exercise control over that data. These sites may have an "Architecture of participation" that encourages users to add value to the application as they use it. This stands in sharp contrast to hierarchical access control in applications, in which systems categorize users into roles with varying degrees of functionality.
Web 2.0 applications are those that make the most of the intrinsic advantages of network as platform: delivering software as a continually updated service that gets better the more people use it, consuming and remixing data from multiple sources, including individual users, while providing their own data and services in a form that allows remixing by others, creating network effects through an "architecture of participation," and going beyond the page metaphor of Web 1.0 to deliver rich user experiences.
If we consider the above points, then WebSphere Portal 7.0 is truly a platform, which allows different actors and system to converge together irrespective of the location where the applications execute, data resides and what the technology is. For example, an insurance company can allow its agents, members, providers, employers and employees to create a virtual ecosystem, where they can better collaborate respecting each other’s security and privacy.
WebSphere Dashboard Framework, which is a tool within WebSphere Portal Server portfolio, can provide users with views, which allow them to be on top of their information and take decisions faster wherever they are and whatever they use to access the information. Similarly, Mashup Center can help users to create newer applications all together by consuming data feeds and widgets from sources within their organization or outside in a secured fashion.
With blogs and wiki, government agencies, B2B companies etc can allow controlled information dissemination with feedback mechanism, hence encouraging continuous dialogs with key stakeholders.
While collaborative portal advocates participation, WebSphere Portal Server, front end to SOA, offers governance model which gives administrators enough controls to keep things in control. E.g. from a technology perspective, mashup components represent Ajax-powered "mini applications" that are assembled into an Ajax powered mashup container application that provides a framework for the components (e.g. widgets) to communicate with each other. Sometimes the mashup container application enables cross-site communications by providing proxy services to allow server-side redirection to Web servers that are associated with a given mashup component. WebSphere Portal Server has in built AJAX proxy to handle such cross-site communication.
Some commonly sought use cases and approach to achieve
Listed are some commonly use cases for use:
1. Most of the solutions centered around WebSphere Portal Server have many common use cases. While some of these use cases are handled either by out of the box components provided by portal server or by little bit of customization, but many a times it is observed that to solve the same problem, different teams adopted different approaches. This anomaly is due to the possible reasons below:
2. Lack of features required in the portal server version being used at the time of development. E.g. "User Impersonation
" is now provided within Portal Server v6.1.5, but was not provided in earlier releases. This is a use case commonly seen in B2B portals. There were recommended approaches like using a SSO system like Tivoli Access Manager (TAM) or Netegrity Siteminder or using advanced security constructs of underlying WebSphere Application Server and provide a user switch servlet.
3. Lack of single repository of best practices for different tasks like installation, configuration, development, customization. This is to some extent due to lack of product awareness and most of times, lack of time to do research during the project. We are now streamlining this process by creating different product wikis.
4. Migration Vs. Upgrade - again very sensitive topic and many customers don't like to discuss migrating to new versions because of multiple reasons like change in product's architecture, deprecated APIs/SPIs, concerns on skilled resources etc. Due to same reason, customers were forced to invent custom solutions for a feature, that was available in the newer releases. With Portal Server 7.0, we are going to ease out on migration. In fact, we will not even call it a migration anymore. Rather, we will call it an in place upgrade.
5. Which tool and framework to use for developing custom portlets? This question remains unanswered till date because we, as an architect or specialist can always say "it depends" and provide guidelines; and thus leaving most of decision making to the teams and individuals to decide themselves. This again results in compatibility issues and could delay the project development duration (specially while using open source UI frameworks to develop custom portlets). Some of the interesting thoughts can be read on:
1. Many people think WebSphere Portal Server can not be used for application development platform and it is good for content based web sites only. They use WebSphere Application Server for custom application development. Later, they face challenges when it comes to provide UI level integration, end up giving multiple URLs to end users or use reverse proxy to hide the URLs. Hence, if application requirements are studied carefully, it can help you make informed decision on using WebSphere Portal Server as an application development platform also.
2. Many people are not aware of their software entitlements at the time of purchase and even during implementation also. As a customer, you are required to inquire about your entitlements so as to use software licenses effectively.
3. How to leverage WebSphere Portal Server features effectively to implement use cases such as knowledge management system (KMS), employee intranet, hosting multiple content based external websites and extranet portals etc.
4. Without knowing the capabilities of Lotus WCM, developers sometime use blurb portlet JSPs to render hard coded contents e.g. flash files, static content items e.g. faqs, terms and conditions, images etc.
Considering all these dynamics, we will discuss some of the sought after use cases using Portal, Lotus WCM and collaboration products such as Lotus Connections and Lotus Quickr in conjunction with WebSphere Portal Server and suggest possible ways to implement those. As always, "it depends" on your needs and time you have in hand to implement them.
- Implementing AJAX patterns within custom portlets and Lotus Web Content Management
The Rich Internet Applications (RIAs can be developed using various AJAX patterns
. Developers using WebSphere Portlet Factory (WPF) must already be aware of many AJAX builders
available within WPF. Rational Application Developer (RAD) v7.5.x
and upcoming v8.0.x have out of the box support for application development using dojo toolkit. Using RAD also developers can develop custom JSR 286 portlets, JSF portlets utilizing dojo toolkit or any other toolkit to implement AJAX features e.g. type ahead
, partial page refresh, live text (C2A), dojo based inter portlet communication
In Lotus WCM, AJAX features can be implemented in different way depending on the requirements. General practice is to create a “secured” Servlet that uses WCM APIs, and invoke that Servlet URL using AJAX either from JSP components or other WCM components (like presentation templates, menu components etc). Ideally, the Servlet code should return JSON objects. IBM Content Template Catalog
is also a good reference where dojo is used extensively to create some very dynamic effects.
- Optimizing portal theme and reduce the overall page size
This is the most common area where effort needs to be put. Portal theme is known to create performance issues if developers don’t pay attention to what features are not needed and to be removed. Portal theme architecture itself had changed from portal release 5 to release 6 and release 6.1.5 (backward compatibility is provided in most of the cases). Choose the type of theme you want to develop and use carefully. E.g. starting portal v7.0 onwards, the new theme “page builder” will allow you to add widgets, portlets and content items on the same page, but if you don’t need client side aggregation or widget support, then traditional server side aggregation would suffice. Generally, the developers tend to copy the out of the box theme to create a new theme without giving much thought. E.g. if you don’t need dojo, person card, semantic tags etc; with some development effort, you can remove most of the scripts to create lighter weight custom theme. Our engineer team is constantly working on optimize the page size further.
Starting Portal v6.1 onwards, you can keep your custom theme out of wps.ear and deploy as separate WAR file. Please refer to the following article
. For performance tuning of themes
, you can also refer here
- Integrating the person card from Lotus Connections into Lotus Quickr, WebSphere Portal and Lotus WCM
If you are using WebSphere Portal v6.0.1.x, then you can refer to this article
. But, if you are using WebSphere Portal v6.1.x, then you should follow the article
- Displaying a single blog post or wiki page from Lotus Connections or Lotus Quickr on a Portal page along with blogger photograph (if available)
The out of the box Lotus Connections portlet
does not provide this feature, where as Lotus Quickr does not have any blog/wiki portlets available out of the box. In such scenario, the developers can either use Rational Application Developer to develop JSR 286 portlets using Apache Abdera to consume blog/wiki REST APIs
provided by Lotus Quickr and REST APIs provided Lotus Connections. If you are well versed with WebSphere Portlet Factory, then using WPF REST builders
, you can consume Lotus Quickr and Lotus Connections REST API to build such user interface.
- Use cases for REST APIs provided by WebSphere Portal Server
The Remote Model SPI gives you access to portal models through REST services. It allows you to obtain and modify portal resources that are exposed by some of the models of the model SPI remotely, that is from clients that are outside the JVM of the server (e.g. .NET, standalone Eclipse based applications etc). Portal Model REST services allow you to create new resources, modify, move and delete existing resources. Using these APIs, one can also develop a remote portal administration tool.
Similarly, PUMA REST API can help you in situations where you have a LDAP server being shared by Portal Server and some other applications (e.g. .NET, PHP or JEE). This LDAP server may not have any groups defined to leverage group based access control. Since WebSphere Portal Server has the notion of application groups that allows you to define user groups within the database user registry with members (users or groups) contained in the federated LDAP user registry you configured. The benefit of application groups is that you can create Groups that are only used in WebSphere Portal. There could be requirements that other applications hooked to same LDAP may want to leverage those application groups to know which groups the logged in users belong to. Using remote PUMA REST API, other external non portal applications can retrieve this information.
You can also use Property Extension, formerly known as the lookaside database, to store additional user attributes into a database store without touching your backend user registry (LDAP). You can use the Property Extension if your LDAP is read-only but you have a requirement that allows users to specify an additional attribute such as customer type. You can store this additional attribute in the database store. You can also add additional attributes for an application if you cannot change your repository Schema. Using the similar approach mentioned for application groups, external non portal applications make use of remote PUMA REST API to retrieve such custom attribute for the logged in users.
- Portal and Web Content Management (WCM) analytics
Depending upon the level of analysis to be done, different approaches are suggested in the article here
- Login/logout process customization - login portlet or custom portal login command or authentication filter (Explicit LoginFilter)
If you have deployed Portal v6.1.x, then you can either go for developing a new login portlet
or develop custom authentication filter (Explicit LoginFilter
). The authentication filters are a set of plug-in points. Alternate to the login commands, these filters can also be used to intercept or extend the portal login, logout, session time-out, and request processing by custom code, for example to redirect users to a specific URL. The authentication filters in the portal use same pattern as defined by the J2EE servlet filter facility. Custom portal login command, though still supported, is not recommended as it exposed some deprecated objects such as RunData.
If you have virtual portals, then Login Portlet is common for all the virtual portals. You can create multiple login portlets, but it is not recommended. Rather you can make use of the following sample code to retrieve virtual portal context path within ExplicitLoginFilter and use for any validation specific to a virtual portal:
com.ibm.wps.engine.state.WPServerVPContext vpContextService = (com.ibm.wps.engine.state.WPServerVPContext)request.getAttribute("com.ibm.portal.state.accessors.url.ServerContext");
String vpContextPath = vpContextService.getHomePublic();
System.out.println("Virtual Portal Context Path is > " + vpContextPath);
Looking beyond what the products has to offer – here is the help
Gartner Research white paper titled Generation Six Portal Products: When Portals Meet Web 2.0, It's Love at First Sight
discusses the key features and capabilities of generation six (Gen6). As per the paper, despite the advancement of the technology, most deployed enterprise portals are still lingering around generation four
capabilities. It also mentions that Gen6 portal products will contain some of the most in-demand Web 2.0 capabilities, including social software, Ajax support, the ability to create mashups and support for cloud capabilities. The key recommendations for enterprises from this white paper are to leverage mashup assembly frameworks to support rapid Web development environments for tactical and situational application, examine portal frameworks for their Web 2.0 social software capabilities and compare requirements against capabilities. Finally, do not buy the latest and greatest
portal framework without a thorough understanding of your requirements.
Web Oriented Architecture (WOA) is going to be the application development platform and REST will combine with WOA and WSRP to create light portals. WebSphere Portal and its development tools like WebSphere Portlet Factory (WPF) and Rational Application Developer (RAD) provide out of the box capabilities to provide and consume RESTful services. Social software will be very much the integral part of Gen6 portals. If we look at WebSphere Portal Server packaging, social software capabilities are provided as Portal Accelerators; where additional software such as Lotus Sametime, Lotus Connections, Lotus Quickr, Domino Mail, etc. are bundled together and can be integrated with portal. This integration is more than just the consumption of services via portlets or widgets. Now, with person card integration, tagging, and rating, Portal v7.0 offers better outlook for a Gen6 Portal platform. In future releases, IBM will continue to work on better integration among social software within IBM stack as well as with partner services such as Omniture, WebTrends, Sharepoint, etc.
Next big thing, that every one is talking about is cloud computing and IBM is not behind anymore. In 2009, we announced support for Amazon Cloud (EC2) for WebSphere Portal and Lotus WCM and to further continue the virtualization, we have already announced a separate product IBM WebSphere Portal Hypervisor Edition for SUSE Linux Enterprise Server (SLES). Prior to this, VMWare was a fully supported and tested environment. Few customers have already started setting up their production systems on VMWare based virtualized environment to reduce the total cost of hardware and software licenses. We already have virtualization support for AIX LPAR and Solaris Zones.
If you are looking for features or capabilities, which are not provided within WebSphere Portal Server, then most likely place to look for such resources are IBM Portal Accelerators and IBM Industry Toolboxes for WebSphere Portal. IBM accelerators for IBM WebSphere Portal software are prepackaged offerings, comprised of various combination of portlets, software, frameworks and templates to address specific business requirements. Industry Toolboxes for WebSphere Portal provide a resource forum for customers and partners. They pair technology expertise with industry thought leadership to offer best-practice guidance optimized for the particular business you are in. Over the past one year itself, IBM had added many new toolboxes, increasing the count from one to eight now.
You can also watch some cool demos on YouTube.
New and much needed features in Lotus WCM v7.0
In this section, we new and required features in Lotus WCM v7.0.
- Collaborative content management using Projects
This article provides details a new object called "Project
" on IBM Lotus Workplace Web Content Management 7. It highlights how the "Project" can be used in a collaborative content authoring environment.
(See attached file: Collaborative content management using projects.pdf)
- Tagging and Rating WCM content
This article is defining the new feature called "Tagging and Rating" in IBM WebSphere Portal 7. It also provides the test case for configuring "Tagging and Rating" on individual content in IBM Lotus Workplace Web Content Management.
(See attached file: Tagging and Rating WCM content.pdf(See attached file: Collaborative content management using projects.doc)(See attached file: Tagging and Rating WCM content.doc)