Search code examples
content-management-systemportalwebsphere-portal

Portlet Images and Content Management System


I'm building a Portal application (WebSphere Portal): it includes the development of several Portlets and some Content Portlets that show content managed by a Content Management System (IBM Web Content Manager).

I'm aware that it is possible for the Portlet to get images stored in the Content Managed System, it can be done by URL or by the API that this software exposes. So, to maximize flexibility to the user, is it recommended that EVERY image used in all Portlets come from the Content Management System?

The Pro's are that image change can be done without a deployment, but the con's I'm worried about are performance related, like the resources and time involved in getting an image from another server. What's the recommended approach?


Solution

  • It really depends on what you're doing... for a content-driven site, performance is not an issue with a well architected WCM system. For something like a news site or a corporate intranet, I would definitely use WCM for everything I could. I'd install a separate WCM Authoring server and connect it, via syndication, to the primary WebSphere Portal server and use the Local Rendering (Web Content Viewer) portlets to present the content. The portal will handle rendering, and caching, of these resources, and it is very, very fast.

    For a site that focuses more on custom functionality via portlets (mortgage calculators, insurance claim viewers, or other data-manipulation/presentation type portlets), it might not be worth the overhead and hassle of externalizing every little content item into WCM. You'd be better served by a reasonable localization pattern, as the WCM calls would incur some overhead and provide little benefit unless the content of these portlets its truly dynamic.

    You can also forward cache static elements from your portlets (images, styles, javascript files, etc) to your web server to improve performance, as well.

    Hope it helps - it's a pretty broad answer to a pretty broad question :)