Wayne E Jones commented on Aug 30, 2013

Re: Custom theme WebSphere Portal 8.0.0.1 - without template localization, without WebDav and in one war file

Good stuff Simona, I especially like they way you describe how to put the dynamic hot spot jsps into the war. A much cleaner and safer place for them than the default locations.

Rick Lacy commented on Jun 7, 2013

Re: Custom theme WebSphere Portal 8.0.0.1 - without template localization, without WebDav and in one war file

Just a follow up - I think I finally found out how to have skins in war without aggressive caching.

When I first tried to include the theme in a single war, I was on Portal 7 and used this documentation: http://www-10.lotus.com/ldd/portalwiki.nsf/xpDocViewer.xsp?lookupName=Supplemental+Documentation#action=openDocument&res_title=Adapt_the_scripts_that_register_the_custom_theme_and_skins_sdoc&content=pdcontent

Now I found this other article on this site: http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Deploying_and_developing_IBM_WebSphere_Portal_8_themes_A_step-by-step_guide

The crucial difference is that the one I used first used the war: syntax for both the theme and skin templates. This works, but the skin templates are aggressively cached until restart. However, the other article uses war: for the theme template but res: for the skins! This works for the skins and I can update them without restarting the server. This seems very arbitrary and strange to the uninitiated, but at least it seems to work. Hopefully this helps someone else out.

Rick Lacy commented on Jun 7, 2013

Re: Custom theme WebSphere Portal 8.0.0.1 - without template localization, without WebDav and in one war file

Thanks for this article! The quality is very good and it helped me get acclimated to Portal 8 themes.

A couple of comments / questions:

The asaHead content spot is annoying and difficult to work with. Why does it have to have a space before the wp_analytics? This caused the theme to fail to render for me if I tried to use the res: syntax in theme.html. I need to dig into it further to see what the implications of leaving it off are. Why couldn't they have just made it a url parameter on the query string? It feels like a sick joke that makes you use dyn-cs syntax for this one spot if you're new and just trying to have a complete theme copy.

It seems to me the article doesn't live up to its full potential and only tells 2 / 3 of the story because skins are excluded. The article explains where to find them in WebDAV and even copies them into the war, but when the time comes to register the theme, it looks like it's just using the default portal 8 skins. What if I want skins in the war? I've gotten this to 'work' in that the skins are rendered from the war, but it doesn't work well because they are always cached until a server restart. Setting the data source properties in Default.jsp helps for layout templates and theme but not for skins. Any advice on this? Maybe an update that explains best practice for skins in war?