Custom theme creation websphere portal 8.5
-
Upload
michele-buccarello -
Category
Software
-
view
1.505 -
download
9
description
Transcript of Custom theme creation websphere portal 8.5
CUSTOM THEME CREATION WEBSPHERE
PORTAL 8.5 CF1
Michele Buccarello
8/12/2014
This document describe how to create a custom theme for portal 8.5 CF1.
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 1
Table of Contents ENVIROMENT CHECK ................................................................................................................................... 2
EXTRACT THEME DYNAMIC AND STATIC PART ............................................................................................. 2
Extract Dynamic part................................................................................................................................ 2
Extract Static part .................................................................................................................................... 3
Preparing RAD 9.1 for theme packaging ....................................................................................................... 4
Preparation for dynamic area................................................................................................................... 4
Create the dynamic war ....................................................................................................................... 4
Preparation for static area ....................................................................................................................... 7
Create the static war ............................................................................................................................ 7
Setting the access in web.xml ............................................................................................................... 9
Preparing the EAR for deployment ........................................................................................................... 9
CREATING DYNAMIC CONTENT SPOTS ......................................................................................................... 9
Changes introduced in Portal 8.5 ............................................................................................................. 9
Create the plugin.xml in the dynamic war ...............................................................................................11
Replace the module in all theme profiles ................................................................................................14
Replace the new Dynamic Content Spots ...................................................................................................14
Deploy Theme and Register in Websphere Portal via xmlaccess .................................................................15
Deploy the ear in console ........................................................................................................................15
Register theme with the xml access below ..............................................................................................17
Use Theme Analyzer Portlet and Validation Report .................................................................................21
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 2
ENVIROMENT CHECK
This guide cover the creation of custom theme for websphere Portal 8.5. To package the theme you need:
1) RAD 9.1 (older version are supported but install the suggested version)
2) WebDav Client ( I use CyberDuck )
3) Portal 8.5 cf1 on a local or remote machine ( in my case I have a local installation)
EXTRACT THEME DYNAMIC AND STATIC PART
Websphere Portal 8.5 theme is composed by two area:
- Static Files located in webdav store
- Dynamic Files located in the Default85 theme
You need to copy this two area of files in two separated folders, in my case I create on folder named
Portal_85_theme and in this folder you need to create two folder:
- theme_dynamic
- theme_static
Extract Dynamic part The dynamic part in my case is located in:
C:\IBM85\WebSphere\PortalServer\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear
\DefaultTheme85.war
In this folder you see:
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 3
You need to copy only the folders :
- skins
- themes
- WEB-INF
In the WEB-INF folder delete the files:
- Web.xml
- ibm-web-bnd.xmi
- ibm-web-ext.xmi
Extract Static part Download via webdav client or via url this folder “themes”, you could use this url
http://localhost:10039/wps/mycontenthandler/dav/fs-type1/themes/?mime-type=application/zip
unzip the file in the theme_static folder
Go inside and delete the folder Toolbar85.
Rename the folder Portal8.5 in CustomTheme85.
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 4
Preparing RAD 9.1 for theme packaging
In these steps we made an EAR with two WAR, one for static area and one for dynamic area.
Preparation for dynamic area
Create the dynamic war
1) Create new Dynamic Web Project and then press next
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 5
2) Select as target runtime WebSphere Application Server v8.5, web module version 2.4
Press next next review the context root if is right and then press finish.
3) Now copy the resources located in the dynamic folder in the webcontent directory of the dynamic
war, below you see the screenshot and a map of the file location :
skins → WebContent/skins
themes → WebContent/themes
WEB-INF/ → WebContent/WEB-INF
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 6
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 7
Preparation for static area In this part you need to create the WAR and setting the access in the web.xml file for static resources.
Create the static war
1) Create new Dynamic Web Project
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 8
Press next next and in the final window check the context root and then press finish.
2) Now copy the resources located in the static folder in the webcontent directory of the static war,
below you see the screenshot and a map of the file location :
themes → WebContent/themes
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 9
Setting the access in web.xml
In this step you need to add the yellow line to enable the access for anonymous user to the static files and
remove the green line. The web.xml is located in CustomThemeStatic\WebContent\WEB-INF\web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID"
version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-
app_2_4.xsd">
<display-name>CustomThemeStatic</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<context-param>
<description>A regular expression that defines which of the resources in the WAR file
can be served by the portal war datasource. </description>
<param-name>com.ibm.portal.whitelist</param-name>
<param-value>.*</param-value>
</context-param>
<context-param>
<description>A regular expression that defines which of the resources in the WAR file
cannot be served by the portal war datasource.</description>
<param-name>com.ibm.portal.blacklist</param-name>
<param-value>WEB-INF/.*</param-value>
</context-param>
</web-app>
Preparing the EAR for deployment
Right-click on the EAR project (in my case is Custom8001ThemeCF5) and select Java EE -- Prepare for deployment.
CREATING DYNAMIC CONTENT SPOTS
Changes introduced in Portal 8.5 In the portal 8 to create dynamic content spot people log on to the WebSphere Integrated Solutions
Console and follow this steps:
- Go to Resources -> Resource Environment -> -> Resource environment providers -> WP
DynamicContentSpotMappings.
- Select Custom Properties.
- Select New
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 10
- Add the “custom properties”
At the link below you find the official documentations for creating the dynamic content spots in portal 8
http://www-
10.lotus.com/ldd/portalwiki.nsf/xpDocViewer.xsp?lookupName=V8+Update%3A+Supplemental+Document
ation#action=openDocument&res_title=Creating_a_dynamic_content_spot_wp8001&content=pdcontent
http://www-
10.lotus.com/ldd/portalwiki.nsf/xpDocViewer.xsp?lookupName=V8+Update%3A+Supplemental+Document
ation#action=openDocument&res_title=Working_with_dynamic_content_spots_wp8001&content=pdcont
ent
From portal 8.0.0.1 also is possibile to register via plugin.xml all dynamic content spot but you must reboot
portal to register the dynamic content spot in the plugin.xml.
In portal 8.5 the resources aggregation framework is able to dynamically load every dynamic content spot
or module registered via plugin.xml, to load the changes simply use the theme analyzer portlet ( THANKS
FOR THIS GREAT TOOL!!!!) go in control center and click invalidate cache link.
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 11
Create the plugin.xml in the dynamic war
Replace the content of plugin.xml file with the xml below
<?xml version="1.0" encoding="UTF-8"?> <plugin id="customTheme_dynamicContentSpots_85" name="8.5 Custom Theme Modules" provider-name="IBM" version="1.0.0"> <extension id="customTheme_dynamicContentSpots_85" point="com.ibm.portal.resourceaggregator.module"> <module id="customTheme_dynamicContentSpots_85"> <title lang="ar" value="8.5 الرئيسي النسق الى الديناميكية المحتويات نقاط"/> <title lang="ca" value="Àrees de contingut dinàmic per al tema 8.5"/> <title lang="cs" value="Dynamický obsah pro motiv 8.5"/> <title lang="da" value="Dynamiske indholdsspot for 8.5-tema"/> <title lang="de" value="Dynamische Inhaltsbereiche für das 8.5-Motiv"/> <title lang="el" value="Σημεία δυναμικού περιεχομένου για το θέμα έκδοσης 8.5"/> <title lang="en" value="Dynamic Content Spots for the 8.5 Theme"/> <title lang="es" value="Áreas de contenido dinámico para tema 8.5"/> <title lang="fi" value="Dynaamiset sisältöpisteet version 8.5 teemaan"/> <title lang="fr" value="Zones de contenu dynamique pour le thème 8.5"/> <title lang="he" value="8.5 ערכה עבור דינמית תוכן נקודת"/> <title lang="hr" value="Dinamičke točke sadržaja za 8.5 temu"/> <title lang="hu" value="Dinamikus tartalomhelyek a 8.5 témához"/> <title lang="it" value="Content spot dinamico per il tema 8.5"/>
<title lang="ja" value="8.5 テーマ用の動的コンテンツ・スポット"/> <title lang="kk" value="8.5 тақырыбына арналған Динамикалық мазмұн орындары"/>
<title lang="ko" value="8.5 테마를 위한 동적 컨텐츠 스팟"/>
<title lang="nl" value="Dynamische contentspots voor het 8.5-thema"/> <title lang="no" value="Dynamic Content Spots for the 8.5 Theme"/> <title lang="pl" value="Dynamiczne obszary danych dla kompozycji w wersji 8.5"/> <title lang="pt" value="Pontos de conteúdo dinâmico para o Tema 8.5"/> <title lang="pt_BR" value="Pontos de Conteúdo Dinâmico para o Tema 8,5"/> <title lang="ro" value="Spoturi de conţinut dinamice pentru tema 8.5"/> <title lang="ru" value="Динамические области информации для темы 8.5"/> <title lang="sk" value="Miesta dynamického obsahu pre tému 8.5"/> <title lang="sl" value="Točka dinamične vsebine za temo 8.5"/> <title lang="sv" value="Dynamiska innehållspunkter för 8.5-temat"/> <title lang="th" value="จุดแสดงเนื้อหาไดนามกิส าหรบั 8.5 Theme"/> <title lang="tr" value="8.5 Teması İçin Dinamik İçerik Noktaları"/> <title lang="uk" value="Області динамічного вмісту для теми 8.5"/>
<title lang="zh" value="8.5 主题的动态内容点"/>
<title lang="zh_TW" value="8.5 佈景主題的動態內容點"/> <description lang="ar" value="الرئيسي للنسق الديناميكية المحتويات نقاط كل تعريف يتم الل ذلك يسمح .8.5 الل من ديناميكية محتويات نقطة أي باح </".أخرى برامج وحدات خ<description lang="ca" value="Defineix totes les àrees de contingut dinàmic per al tema 8.5. Això permet superposar fàcilment les àrees de contingut dinàmic a través d'altres mòduls."/> <description lang="cs" value="Definuje veškerý dynamický obsah pro motiv 8.5. To umožňuje snadno překrýt libovolný dynamický obsah prostřednictvím jiných modulů."/> <description lang="da" value="Definerer alle dynamiske indholdsspot for 8.5-temaet. Herved bliver det nemt at overlejre et hvilket som helst indholdsspot via andre moduler."/>
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 12
<description lang="de" value="Definiert alle dynamischen Inhaltsbereiche für das 8.5-Motiv. Dies ermöglicht die einfache Überlagerung aller dynamischen Inhaltsbereiche durch andere Module."/> <description lang="el" value="Ορίζει όλα τα σημεία δυναμικού περιεχομένου για το θέμα έκδοσης 8.5. Αυτό επιτρέπει την εύκολη επικάλυψη οποιουδήποτε σημείου δυναμικού περιεχομένου με άλλες λειτουργικές μονάδες."/> <description lang="en" value="Defines all dynamic content spots for the 8.5 Theme. This allows to easily overlay any dynamic content spot through other modules."/> <description lang="es" value="Define todas las áreas de contenido dinámico para el tema 8.5. Esto permite superponer fácilmente cualquier área de contenido dinámico en otros módulos."/> <description lang="fi" value="Määrittää kaikki version 8.5 teeman dynaamiset sisältöpisteet. Tämän avulla voit helposti peittää mahdolliset muiden moduulien kautta määritetyt dynaamiset sisältöpisteet."/> <description lang="fr" value="Définit toutes les zones de contenu dynamique pour le thème 8.5. Cela permet de facilement recouvrir une zone de contenu dynamique dans d'autres modules. "/> <description lang="he" value="מאפשר 8.5 ערכה עבור הדינמיות התוכן נקודות כל הגדרת </".אחרים מודולים דרך תוכן נקודת כל של כל ריבוד<description lang="hr" value="Definira sve dinamičke točke sadržaja za 8.5 temu. Time se omogućuje jednostavno prekrivanje bilo koje dinamičke točke sadržaja pomoću drugih modula."/> <description lang="hu" value="Meghatározza az összes dinamikus tartalomhelyet a 8.5 témához. Ezzel könnyedén átfedést hozhat létre bármelyik dinamikus tartalomhellyel más modulokon keresztül."/> <description lang="it" value="Definisce tutti i content spot dinamici per il tema 8.5. Ciò consente di sovrapporre facilmente il content spot dinamico attraverso altri moduli."/>
<description lang="ja" value="8.5 テーマ用の動的コンテンツ・スポットをすべて定義します。これ
により、他のモジュールを介して任意の動的コンテンツ・スポットを簡単にオーバーレイできます。"/> <description lang="kk" value="8.5 Тақырыбы үшін барлық динамикалық мазмұн орындарын анықтайды. Кез келген динамикалық мазмұн орындарын басқа модульдері арқылы жеңіл қабаттасуға мүмкіндік береді."/>
<description lang="ko" value="8.5 테마를 위한 동적 컨텐츠 스팟을 모두 정의합니다. 이렇게
하면 다른 모듈을 통해 동적 컨텐츠 스팟을 쉽게 오버레이할 수 있습니다."/>
<description lang="nl" value="Hiermee worden alle dynamische contentspots gedefinieerd voor het 8.5-thema. Dit maakt het mogelijk om op een eenvoudige manier dynamische contentspots te overschrijven via andere modules."/> <description lang="no" value="Definerer alle dynamiske innholdspunkter for 8.5-temaet. Dette gjør det enkelt å legge over dynamiske innholdspunkter gjennom andre moduler."/> <description lang="pl" value="Definiuje wszystkie dynamiczne obszary danych dla kompozycji w wersji 8.5. Umożliwia to łatwe nakładanie dowolnego dynamicznego obszaru danych przez inne moduły. "/> <description lang="pt" value="Define todos os pontos de conteúdo dinâmico para o Tema 8.5. Permite sobrepor com facilidade qualquer ponto de conteúdo dinâmico através de outros módulos."/> <description lang="pt_BR" value="Define todos os pontos de conteúdo dinâmico para o Tema 8,5. Isso permite sobrepor facilmente a qualquer ponto de conteúdo dinâmico através de outros módulos."/> <description lang="ro" value="Defineşte toate spoturile de conţinut dinamice pentru tema 8.5. Aceasta permite suprapunerea uşoară a spotului de conţinut dinamic pe alte module."/> <description lang="ru" value="Определяет динамические области информации для темы 8.5. Обеспечивает простое наложение динамических областей информации в других модулях."/> <description lang="sk" value="Definuje všetky miesta dynamického obsahu pre tému 8.5. Toto umožňuje jednoducho prekryť ľubovoľné miesto dynamického obsahu cez iné moduly."/>
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 13
<description lang="sl" value="Definira vse točke dinamične vsebine za temo 8.5. To omogoča preprosto prekritje katere koli točke dinamične vsebine z drugimi moduli."/> <description lang="sv" value="Definierar alla dynamiska innehållspunkter för 8.5-temat. Det gör det enkelt att lägga på dynamiska innehållspunkter via andra moduler."/> <description lang="th" value="ก าหนดจุดแสดงเนื้อหาไดนามกิทัง้หมดส าหรบั 8.5 Theme. ซึง่อนุญาตใหซ้อ้นจุดแสดงเนื้อหาไดนามกิใดๆ ผา่นทางโมดูลอืน่ๆ ได้ง่าย"/> <description lang="tr" value="8.5 Teması için tüm dinamik içerik noktalarını tanımlar. Böylelikle, her dinamik içerik noktası diğer modüllerle kolayca yüklenebilir."/> <description lang="uk" value="Визначає всі області динамічного вмісту для теми 8.5. Це дозволяє легко накладати будь-які області динамічного вмісту різних модулів."/>
<description lang="zh" value="定义 8.5 主题所有的动态内容点。这将便于通过其他模块覆盖任何动
态内容点。"/>
<description lang="zh_TW" value="定義 8.5 佈景主題的所有動態內容點。這可讓您輕鬆地透過其他模
組套疊任何動態內容點。"/> <contribution type="dyn-cs"> <sub-contribution type="markup" ref-id="customTheme85_footer"> <uri value="res:{war:context-root}/themes/html/dynamicSpots/footer.jsp"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_crumbTrail"> <uri value="res:{war:context-root}/themes/html/dynamicSpots/crumbTrail.jsp?rootClass=wpthemeCrumbTrail&startLevel=2"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_topNav"> <uri value="mvc:smartphone/tablet@res:{war:context-root}/themes/html/dynamicSpots/navigation.jsp?rootClass=wpthemeHeaderNav&rootLabel=Portal&startLevel=0&primeRoot=true"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_primaryNav"> <uri value="mvc:res:{war:context-root}/themes/html/dynamicSpots/navigation.jsp?rootClass=wpthemePrimaryNav%2520wpthemeLeft&rootLabel=Portal%2520Application&startLevel=1,smartphone@,tablet@"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_secondaryNav"> <uri value="mvc:res:{war:context-root}/themes/html/dynamicSpots/navigation.jsp?rootClass=wpthemeSecondaryNav&startLevel=2&rootLabel=Application&levelsDisplayed=2,smartphone@,tablet@"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_sideNav"> <uri value="mvc:res:{war:context-root}/themes/html/dynamicSpots/sideNavigation.jsp?startLevel=2,smartphone@,tablet@"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_mobileNav"> <uri value="mvc:smartphone/tablet@res:{war:context-root}/themes/html/dynamicSpots/mobileNavigation.jsp"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_commonActions"> <uri value="res:{war:context-root}/themes/html/dynamicSpots/commonActions.jsp"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_layout"> <uri value="lm:template"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_toolbar"> <uri value="mvc:dyn-cs:id:85toolbar,smartphone@,tablet@"/> </sub-contribution>
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 14
<sub-contribution type="markup" ref-id="customTheme85_head"> <uri value="res:{war:context-root}/themes/html/dynamicSpots/head.jsp"/> </sub-contribution> <sub-contribution type="markup" ref-id="customTheme85_status"> <uri value="mc:wp_status_bar@res:{war:context-root}/themes/html/dynamicSpots/status.jsp"/> </sub-contribution> </contribution> </module> </extension> </plugin>
Replace the module in all theme profiles
In the static war go in the profiles folder and replace in all profiles wp_dynamicContentSpots_85 with
customTheme_dynamicContentSpots_85
Replace the new Dynamic Content Spots
Change the dynamic content spots in every file in the NLS folder.
The location of this files is “CustomThemeStatic/WebContent/themes/CustomTheme85/nls/* “
This change must be done for all theme_*.html files , for a fast replace I use notepad++ I open every
theme_xx.html and I do a find replace in all opened document, and in the find replace box I put:
- FIND: 85theme_
- REPLACE: CustomTheme85_
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 15
Deploy Theme and Register in Websphere Portal via xmlaccess In this part is described the installation process of the theme and the registration process in websphere
portal via xmlaccess.
Deploy the ear in console
Export the ear from rad and install in portal via the integrated solution console:
Press NEXT
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 16
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 17
Register theme with the xml access below
Save the xml below in a file and import via portal administration.
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 18
<?xml version="1.0" encoding="UTF-8"?>
<request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="PortalConfig_8.0.0.xsd" type="update" >
<portal action="locate">
<skin action="update" active="true" context-root="/CustomThemeDynamic" default="false"
domain="rel" resourceroot="custom" type="default"
uniquename="com.ibm.portal.custom.theme.skin85.hidden">
<localedata locale="en">
<title>Custom Hidden Skin</title>
</localedata>
<parameter name="com.ibm.portal.skintype" type="string"
update="set"><![CDATA[template]]></parameter>
<parameter name="com.ibm.portal.skin.template.file.name.html" type="string"
update="set"><![CDATA[skin.html]]></parameter>
<parameter name="com.ibm.portal.skin.template.ref" type="string"
update="set"><![CDATA[war:CustomThemeStatic/themes/CustomTheme85/skins/Hidden/]]></parameter>
</skin>
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 19
<skin action="update" active="true" context-root="/CustomThemeDynamic" default="false"
domain="rel" resourceroot="custom" type="default"
uniquename="com.ibm.portal.custom.theme.skin85.hiddenplus">
<localedata locale="en">
<title>Custom Hidden Plus Skin</title>
</localedata>
<parameter name="com.ibm.portal.skintype" type="string"
update="set"><![CDATA[template]]></parameter>
<parameter name="com.ibm.portal.skin.template.file.name.html" type="string"
update="set"><![CDATA[skin.html]]></parameter>
<parameter name="com.ibm.portal.skin.template.ref" type="string"
update="set"><![CDATA[war:CustomThemeStatic/themes/CustomTheme85/skins/HiddenPlus/]]></parame
ter>
</skin>
<skin action="update" active="true" context-root="/CustomThemeDynamic" default="false"
domain="rel" resourceroot="custom" type="default"
uniquename="com.ibm.portal.custom.theme.skin85.noskin">
<localedata locale="en">
<title>Custom NoSkin Skin</title>
</localedata>
<parameter name="com.ibm.portal.skintype" type="string"
update="set"><![CDATA[template]]></parameter>
<parameter name="com.ibm.portal.skin.template.file.name.html" type="string"
update="set"><![CDATA[skin.html]]></parameter>
<parameter name="com.ibm.portal.skin.template.ref" type="string"
update="set"><![CDATA[war:CustomThemeStatic/themes/CustomTheme85/skins/NoSkin/]]></parameter>
</skin>
<skin action="update" active="true" context-root="/CustomThemeDynamic" default="false"
domain="rel" resourceroot="custom" type="default"
uniquename="com.ibm.portal.custom.theme.skin85.standard">
<localedata locale="en">
<title>Custom Standard Skin</title>
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 20
</localedata>
<parameter name="com.ibm.portal.skintype" type="string"
update="set"><![CDATA[template]]></parameter>
<parameter name="com.ibm.portal.skin.template.file.name.html" type="string"
update="set"><![CDATA[skin.html]]></parameter>
<parameter name="com.ibm.portal.skin.template.ref" type="string"
update="set"><![CDATA[war:CustomThemeStatic/themes/CustomTheme85/skins/Standard/]]></paramete
r>
</skin>
<theme action="update" active="true" context-root="/CustomThemeDynamic" default="false"
defaultskinref="com.ibm.portal.custom.theme.skin85.noskin" domain="rel" resourceroot="dynamicSpots"
uniquename="com.ibm.portal.custom.theme.theme85">
<localedata locale="en">
<title>Custom Theme</title>
<description/>
</localedata>
<allowed-skin skin="com.ibm.portal.custom.theme.skin85.hidden" update="set"/>
<allowed-skin skin="com.ibm.portal.custom.theme.skin85.hiddenplus" update="set"/>
<allowed-skin skin="com.ibm.portal.custom.theme.skin85.noskin" update="set"/>
<allowed-skin skin="com.ibm.portal.custom.theme.skin85.standard" update="set"/>
<parameter name="com.ibm.portal.friendly.name" type="string"
update="set"><![CDATA[CustomThemeDynamic]]></parameter>
<parameter name="com.ibm.portal.layout.template.href" type="string"
update="set"><![CDATA[war:CustomThemeStatic/themes/CustomTheme85/layout-
templates/TopColumn2ColumnUnequal/]]></parameter>
<parameter name="com.ibm.portal.theme.template.ref" type="string"
update="set"><![CDATA[war:CustomThemeStatic/themes/CustomTheme85/]]></parameter>
<parameter name="com.ibm.portal.theme.aggregationmodes" type="string"
update="set"><![CDATA[ssa]]></parameter>
<parameter name="resourceaggregation.profile" type="string"
update="set"><![CDATA[profiles/profile_deferred.json]]></parameter>
</theme>
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 21
</portal>
</request>
Use Theme Analyzer Portlet and Validation Report In WebSphere Portal 8.5 in the portal administration there is a new portlet that help theme analysis.
In this portlet there are many useful reports and utilities, below the steps to run the theme validation
report:
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 22
If you want to add new dynamic content spot in the plugin after the first deploy, to load the new dynamic
content spot you must invalidate the cache via Theme Analizer Portlet, below the steps to do the
invalidation:
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 23
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 24
After click to the link
CUSTOM THEME CREATION WEBSPHERE PORTAL 8.5 CF1
Custom Theme Portal 8.5 CF1 Author:Michele Buccarello Page 25
And in the SystemOut.log you should see something like this