Integrate WebSphere Commerce with an external Content Management System
We can integrate WebSphere Commerce with a content management system other than IBM Web Content Manager to provide a punch-out integration between Management Center and your content management system.To set up this punch-out integration, WebSphere Commerce and your content management system must be customized and configured to ensure that Management Center can punch-out to the content management system to retrieve content. To ensure that users can punch-out from Management Center to your content management system easily, we can enable single sign-on between the applications through a Lightweight Directory Access Protocol (LDAP).
The punch-out integration from Management Center to a content Management system is intended for use with IBM Web Content Manager. We can customize and configure WebSphere Commerce and your content management system to use the integration extension points for the integration with IBM Web Content Manager to set up an integration between WebSphere Commerce and your content management system.
This integration enhances Management Center by providing a punch-out mechanism, which can be configured to open a window to access your content management system. Through this punch-out window, Management Center users can retrieve links to content from your content management system to associate the links with Management Center objects.
By integrating WebSphere Commerce with a content management system, users can retrieve and use content from the content management system immediately after it is created or updated. If WebSphere Commerce is integrated with the content management system with the web feed utility, users must wait for content to be loaded into WebSphere Commerce before the content can be used. The punch-out integration is a tighter integration that removes the need for batch process web feeds, which allows Management Center users to control the retrieval of content from the content management system.
With an integration with a content management system, potentially all of the content for WebSphere Commerce stores can be created and managed in the content management system. However, users can still choose to load content directly into Management Center to create content for use in WebSphere Commerce. If the content management system supports creating different types of content, users can select content from the content management system to associate the content with any type of Management Center object that uses or references content.
The integration between WebSphere Commerce and a content management system allows for single sign-on authentication between the applications. The single sign-on is handled by IBM Lightweight Third-Party Authentication (LTPA).
Benefits and capabilities With a punch-out integration between WebSphere Commerce and your content management system, business users can potentially gain the following capabilities. Depending on how the custom interface for the content management system is created and the integration is configured, users can have access to more tools and capabilities:
- Management Center users can open the content management system in a punch-out window to select content that can be associated with Management Center object.
- Users in the content management system can manage content for Management Center users to access through the integration.
- Enable single sign-on for the integration provides Management Center users the ability to easily open the content management system application. The Management Center users do not have to manually log in to the application. The single sign-on configuration automatically provides the user authentication between the applications.
Considerations
- The integration between the two applications must be enabled and configured separately for each WebSphere Commerce store that is to support the use of content from the external system.
- The content that is retrieved from the external system is not incrementally indexed by WebSphere Commerce search. The content can be indexed using the web crawler utility for WebSphere Commerce search.
Depending on how the custom interface is created and the services for WebSphere Commerce and the content management system are customized or configured, there can be more considerations or limitations.
Integration architecture
The integration between WebSphere Commerce and an external content management system allows business users to manage content on a staging environment. The integration uses an LDAP server to synchronize user authentication between both applications. This managed content is then published to the production environment.
The following diagram illustrates the recommended topology setup for the integration. IBM recommends to setup the integration with both applications deployed in the staging environment, but only WebSphere Commerce deployed in the production environment.
WebSphere Commerce deployed in production environment
content management system integration."/> In this setup, each application exists on its own WebSphere Application Server within the staging environment. User authentication information for both applications is shared through an LDAP server in the staging environment. In this setup content is created and managed in the staging environment within content management system. Management Center users can use the punch-out mechanism to retrieve links to the content and associate the links with Management Center objects. The links that are retrieved must include enough information for the content management system to identify requests for the content that the link references. For example, in an integration with IBM Web Content Manager, IBM Web Content Manager returns content to WebSphere Commerce as a web content link token identifier. This link is used to identify the relative path of the linked content. This link can include extra metadata that is appended to the relative path. This 'URI' token allows IBM Web Content Manager to identify the requests that it receives from WebSphere Commerce. The web content link displays in the format
relative_path?uuid=[uuid]&renderType=[content | resource | link]&mimeType=[mime-type of resource type only]
Within WebSphere Commerce the URL links to the content in the content management system are stored in the database on the WebSphere Commerce staging environment. WebSphere Commerce uses the stagingprop utility to propagate the business objects that contain the URL links to the external system content to the production environment database.
Integration extension points
The wcst:getContent JSTL tag is used on store pages to retrieve content from the content management system. For each request that retrieves content, the wcst:getContent tag is used. To reduce any performance impact from repeating the process to retrieve content, the wcst:getContent tag has a command that can be cached. The implementation classes for this tag can be overwritten with custom classes to help integrate with your content management system. For more information about this tag, caching the command for this tag, and invalidating embedded content that is retrieved with this tag, see content management system. When text content is retrieved from an external system to display on a store page, the content is retrieved while the store page is rendering. The wcst:getContent JSTL tag is used to accept and resolve content URLs to be valid for the store page where the content is to display. The tag is then used to retrieve the content from the resolved URL.">Get content tag for retrieving externally managed content.
The wcst:resolveContentURL JSTL tag is used on store pages to convert the URLs specified in Management Center for content from the content management system. The content URLs must be converted to URLs that are valid for the store page where the content is to display. The implementation classes for this tag can be overwritten with custom classes to help integrate with your content management system. See Resolving content URLs to an external system
Store developers can customize Management Center to add punch-out mechanisms for retrieving content for custom Management Center object. Developers can use the code pattern for an existing punch-out mechanism to model the code for the punch-out mechanisms for custom Management Center objects.
Before starting
Ensure that you have access to the following applications in an administrative role:
- WebSphere Commerce as a user in the Administrators group or as a non-root user.
- Management Center as a user with authority to manage objects that can have content associated with the objects. For more information about creating a user and assigning a role to the user, see Creating a user.
- Your database as an administrator or a user that has authority to update the database.
- WebSphere Application Server administrative console as an administrator.
- Your content management system as a user with administrative access and authority to configure the content management system.
To complete a punch-out integration your content management system must be customized to have a UI interface that Management Center can punch-out to so that Management Center users can select content. The UI interface and services within your content management system must be customized or configured to provide Management Center and WebSphere Commerce stores with a link to the content. The interface and services must be customized to allow Management Center users to be able to retrieve links to content through the punch-out window. The custom UI must provide content links that can be used by the WebSphere Commerce wcst:getContent and wcst:resolveContentURL JSTL tags on the storefront to retrieve the content from your content management system. The implementation classes for the wcst:getContent and wcst:resolveContentURL JSTL tags can be overwritten with custom classes to retrieve and resolve the links that are retrieved from your content management system. For more information about the tags, see
- content management system. When text content is retrieved from an external system to display on a store page, the content is retrieved while the store page is rendering. The wcst:getContent JSTL tag is used to accept and resolve content URLs to be valid for the store page where the content is to display. The tag is then used to retrieve the content from the resolved URL.">wcst:getContent.
- content management system, URLs for content in the external system can be resolved using the wcst:resolveContentURL tag.">wcst:resolveContentURL
Procedure
Use the documentation for integrating WebSphere Commerce with IBM Web Content Manager as a guide to help you configure the integration with your content management system. In addition to the following steps, we must configure your content management system to work with WebSphere Commerce. The content that is created in your content management system must be configured to be retrieved through the integration for use in Management Center and the storefront.