Tuesday, 8 October 2013

Portal Theme Introduction

IBM Web Sphere Portal Theme Introduction

Hi Friends I am writing this document for Theme and skin  some days  back . it might be possible i am not right 100% i am just sharing knowledge what ever i learned with my experience .

In IBM WebSphere Portal Development Theme is considered as  little bit difficult to develop and most important thing is that with every version of Portal  way of creating theme is getting change  so keep it track its little bit difficult .

WebSphere portal themes have evolved continuously over time to provide a better end user experience and address issues like performance, complexity of development, maintenance etc. This section gives an overview of the different types of themes that are available in WebSphere Portal.

Portal

This theme is available since WebSphere Portal 6.0 and is applied by default for the administration pages in WebSphere Portal 7.0, it supports Server Side Aggregation (SSA). In SSA the entire page rendering happens at the server side, the server sends the complete markup to the client during every interaction. The Portal/IBM  theme is developed using JSPs, scriptlets and JSP tags are used to introduce dynamic elements. This theme has a few disadvantages that have been addressed in the succeeding themes:
  • Files are not easily readable for web developers as logic and presentation are combined together.
  • Interactions result in a full page refresh resulting in longer loading time for users.

PortalWeb2

The PortalWeb2 theme was introduced in WebSphere Portal 6.1, it supports Client Side Aggregation (CSA). CSA is a technique of rendering a WebSphere Portal page that moves the rendering workload from the server to the client. The initial markup download contains the HTML skeleton of the page and a number of markup placeholders. These placeholders are replaced with HTML markup by subsequent AJAX requests. Data is obtained from the server by invoking the Representational State Transfer (REST) services provided by WebSphere Portal. Extensible Stylesheet Language Transformations (XSLTs), XML Path Language (XPath) and JavaScript are used at the client side to format and present the data.
The PortalWeb2 theme also supports SSA rendering mode as a fallback in case the page/portlets are not supported. This theme is not supported from WebSphere Portal 7.0, but existing themes developed by customers will continue to work in WebSphere Portal 7.0.
The Web 2.0 theme uses dojo (javascript functions) on the client (client side aggregation) to refresh only the portion of the page that needs refreshing.  While that is a great experience for the end user it introduces more moving parts for the developer.
For the pieces that are rendered by the client this is a quick summary of how it works:
1.     Default.jsp loads
2.     There are several placeholders in Default.jsp that will replaced by the client side code (e.g. <c:if test=”${!renderPlaceholdersOnly}”>)
3.     Default.jsp calls head_extras.jspf which initializes the client side dojo libraries through its’ bootstrap function
4.     The dojo libraries (located in the dojo_resources.ear) do all of the necessary logic and create an xml ouput of what needs to be displayed.  For more on the two version of dojo included in Portal 6.1.5 and 7 read the info center chapter on the subject.
5.     The xml is rendered as html using xsl stylesheets (located in the xsl directory under your themes root directory)


Page Builder

A hybrid theme to incorporate the advantages of SSA and CSA modes resulted in the Page Builder theme, this theme was introduced in WebSphere Portal 6.1.5. As in the Portal theme, page aggregation happens at the server side, inline customizations like creation of a new page, drag and drop of pages & portlets etc are loaded asynchronously on a demand basis, thus providing a more interactive and better user experience.
 The Page Builder theme provides options to create/customize pages inline rather than having to use administration portlets. It lets you bring in content from a variety of content sources like IBM Mashup Center, Lotus Connections, and other custom sources.

In WebSphere Portal 7.0, existing Page Builder features have been enhanced to support the latest Client Side Aggregation architecture. It provides a well comprehendible programming model, and a user interface that is consistent across other lotus products. It supports both portlets & widgets, and enables portlets to be exposed as iWidgets. Latest CSS3 & HTML5 features have been exploited for better performance and easier customization. WebDAV for WebSphere Portal can be used to administer portal themes and skins, users can create new themes & update existing ones using standard operating system tools.


Modularized theme(7.0.0.2)

Modern websites and browsers enable incredible new capabilities that can greatly enhance your user's web experiences. However, these capabilities are not without cost in terms of large page sizes and more process in the browser when each page is rendered. These capabilities are worth it when you need them, but removing them for an entire site or including them only on pages that take advantage of these capabilities provides for more flexibility.
The new modularized theme provides a flexible framework that:
  • Minimizes download size by giving you the control to specify just the capabilities that are needed for a certain scenario or use case.
  • Minimizes the number of requests by combining necessary resources.
Previous themes required a monolithic design and that the same content was downloaded for every page. Theme optimization allows the theme to be highly adaptive to the content you are displaying on certain pages. For example, on pages where only simple content is displayed you can define a lightweight profile. A lightweight profile causes the system to download few static resources such as JavaScript and CSS files. However, on pages where more advanced scenarios are required you can choose to switch to a more powerful profile that causes more resources to download than on the other pages. This way you have only the capabilities you need on certain pages, but all other pages do not pay the penalty. As a result the overall system performance increases significantly.

Theme optimization uses modules and profiles to achieve the flexibility that allows you to achieve better performance. Modules are the components of the new theme that define capabilities. Examples are Tagging&Rating, Dojo, or jQuery. Profiles define sets of modules which can be assigned per page. A default profile is used if no page-specific profile is defined.

By applying these concepts it is possible to turn on and off an arbitrary number of features for certain pages, develop modules independent of each other for greater development speed and flexibility, easily add new capabilities later on into an existing theme and build an altogether new theme right next to the existing one. This building block concept allows the new theme to work side by side through self contained modules without risking the existing theme.




Portal8

This theme is similar to Modularized theme except the location of   default path and name of the war file .

Theme Concepts

            • Adding new content categories from an outside component
Modules
            • Overriding dynamic spots with a module
Styles and Layout
            • Adding new styles or layouts from an outside component
            • Relative width CSS classes for theme layouts
Menus
            • Adding a menu item with a module
Mobile

            • Mobile navigation
            • Using standard portal pages with mobile devices
            • Relative width CSS classes for theme layouts
            • Device classes for developers
            • Define a resource for a specific device clas


No comments:

Post a Comment

Very Impotent Links for Java and Portal development development

Jar Download for Spring  Maven Or Gradel Dependency for Spring