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 CSS 3 & 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 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