Welcome to the IBM Websphere Commerce Hub


Welcome to the IBM Websphere Commerce Hub

Come join me in my journey to explore the various features and capabilities of IBM Websphere Commerce and understand how retailers can benefit from its really cool out-of-box functionality.

Sunday, April 15, 2012

Day 1 : Introducing "wcf:url" tag


To avoid having to hard code SEO friendly URLs in the storefront pages, the WebSphere Commerce Search Engine Optimization feature provides a wcf:url tag that will construct SEO friendly URLs using the SEO pattern file(s) and tables.

The current wcf:url tag is used by all starter stores to construct SEO friendly URLs. The UrlTag class has been enhanced to support the use of the new URL pattern definition to create SEO friendly URLs.

Incase you open any JSP , for example CachedFooterDisplay.jsp, you will notice that our old friend <c:url> tag which was used to construct the URLs in WCS6 has been replaced by <wcf:url>. So, let us spend some time leaning about the tag. 


About the wcf:url tag
The wcf:url tag builds a URL and applies the appropriate WebSphere Commerce supported rewriting rules.
It contains the following additions compared to the c:url tag:
  • It builds a full path URL, rather than a relative path.
  • It builds SEO compliant URLs if the feature is used in WebSphere Commerce.
  • It adds a prefix to the URL with the appropriate protocol, HTTP or HTTPS, depending on the Struts configuration files.
To know more about the tag and its parameters , please refer Infocenter

Important Note for FEP3 and above

Both the new Feature Pack 3 and previous SEO implementations are supported. You can choose which SEO solution to use by updating wc-server.xml.


<SEOConfiguration enable="true" dynamicUrl="true" defaultUrl="www.madisons.com">
     <context-root-rewrite value="/shop"/>
     <mapper-class-name value="com.ibm.commerce.seo.url.helpers.SEOURLMapperImpl"/>
</SEOConfiguration>
 
Either value or patternName is required. If workspace is used, then both value and patternName are required. If the value parameter is provided, then URLs will be constructed based on the mapping found in SEOUrlMapper.xml file using the SEO implementation from WebSphere Commerce Version 7 to Version 7 Feature Pack 2. If patternName is provided and SEO is enabled in wc-server.xml as shown in the following example, then URLs will be constructed based on the Version 7 Feature Pack 3 SEO design, using the pattern template definitions. Preference will be given to the patternName attribute over the value attribute.

If URL construction using patternName
fails (due to an invalid patternName or a missing parameter), dynamic
URL's will be constructed if the dynamicUrl attribute is set to true.
If dynamicUrl is set to false, then wcf:url tag returns defaultUrl
specified in wc-server.xml 
The URL creation order is:
  1. If SEO Enabled and patternName specified, use patternName and construct new SEO URL
    1. If new SEO URL construction fails and dynamicUrl = true, a dynamic URL is constructed
    2. If dynamicUrl = false, a defaultUrl is constructed
  2. Otherwise the value attribute is used an old SEO URL is constructed
The following diagram helps understand the SEO URL differences and the tag parameters :

Example
The following example forms a URL to display the shopping cart using the <wcf:url> tag. It specifies the URL type as an AJAX call.
<wcf:url var="currentShoppingCartLink" value="ShopCartPageView" type="Ajax">
   <wcf:param name="storeId"   value="${WCParam.storeId}"  />
   <wcf:param name="catalogId" value="${WCParam.catalogId}"/>
   <wcf:param name="langId" value="${WCParam.langId}" />
</wcf:url>
 
Related Blogpost
Smarter SEO for Smarter Commerce

Saturday, April 14, 2012

Smarter SEO for Smarter Commerce


Search engines, such as Google, are one of the most important channels for customers to reach your store. Using search engine optimization (SEO) to improve page ranking can result in increased traffic and revenue. We can understand its importance deeply and this is our attempt at understand the OOB capabilities of WCS 7 with regards to SEO and how it can be used for a Smarter Commerce.

The SEO functionality for WebSphere Commerce Version 7 Feature pack 3 or later improves online search page ranking for your store by creating short, clean SEO-friendly URLs with meaningful keywords. This version includes enhanced Management Center tools that business users can use to influence page ranking by changing the URL and metadata information, an improved Sitemap generator that indexes all the SEO-friendly URLs, and 301 URL redirect rules.
Search engine optimization for WebSphere Commerce provides the following functionality:
  • Creating simple, static URLs for store pages that shoppers and search robots can easily understand
  • Optimizing page meta data to improve search engine page rank
  • Creating 301 URL redirection when a web page has moved
  • Generating Sitemaps to submit to search engine provider
We are starting a week marathon to understand each of key capabilities.So, pack up your energy drinks and get ready to run with me!

Day 1 : Introducing "wcf:url" tag
Day 2 : WebSphere Commerce search engine optimization (SEO) data model 
Day 3 : Search engine optimization (SEO) URL pattern files
Day 4 : Demo - Creating short SEO URLs for new static views
Day 5 : 301 Redirections for Search Engine Optimization
Day 6 : Title and meta description (TMD) for SEO pages
Day 7 : Generating Sitemaps to submit to search engine providers 

Tuesday, March 27, 2012

Error Initializing WC : Module not found

Did you make any changes to the WC application.xml and are now facing server start-up issues?

At times , make modifications to WC application.xml to say include a new service module within the BOD Framwork. If you do not create a back-up of the application.xml and face any issues after making the changes, you can try this very simple trick to revert the changes made to the XML and get the issues resolved.

In the "Design" view of the application.xml , you will find that as and when you make changes to the XML , the value of the "version" attribute changes. Simply edit the version attribute value and the XML changes will be rolled back to the version number selected.

Simple and easy! :)


Saturday, March 24, 2012

Coshopping - Steps to enable in WCS 7 Developer

Coshopping is one of the new features in WCS7 I am personally most excited about and can really add value & increase customer participation in any retailing site . I had introduced the concept of "Coshopping" in my previous post Coshopping- Shop with friends anytime.

Coshopping uses the WebSphere Application Server Communications Enabled Applications (CEA) Feature Pack and CEA peer-to-peer web collaboration widgets to synchronize each browser to the web page of the initializing shopper. 

 As I had promised to share the steps in my previous blog post , so here they are  :) -

Step 1 :Installing Feature Pack 2 or later 
Install WebSphere Commerce Version 7 Feature Pack 2 or later, which installs the coshopping feature.

Step 2 : Enable starter store enhancements 
Run the enablement scripts for starter store enhancements.


Step 3 : Download Websphere Application Server Feature Pack for CEA
The Feature Pack can be downloaded from the below link :
http://www-01.ibm.com/software/webservers/appserv/was/featurepacks/cea/
You will need Passport Advantage credentials to download the Feature Pack

This feature pack is one of the first WebSphere Application Server products to be installed by Installation Manager rather than by the programs based on InstallShield MultiPlatform (ISMP) that are used to install, update, and uninstall previous versions of WebSphere Application Server.

Once download is complete , extract the zip file and add the repository to the IIM (IBM Installation Manager).
File -> Preferences -> Repositories -> Add Repository..
The path of the repostory will be something similar to below :
<temp_directory>\cea_and_import_repositories\local-repositories\repository.config

Step 4 : Upgrade the WebSphere Application Server to Fix pack 17 and above
Important to note - whenever you apply Fix packs to the Websphere Application Server , be sure to apply the same level of fix pack to the Java SDK as well. If there are any mismatches , we will face issues while importing or synchronizing the Websphere Application installation into the Installation Manager.

You can choose to upgrade the WAS fix pack level using either Installation Manager or using Update Installer.

If using Update installer ,  the installation URL :
 
I had already upgraded the Websphere Application Test Server to 7.0.0.19 at the time of WCS 7 installation so I did not need to do this.

Optional: If you ever want to install a seperate instance of WAS

Download URL :
PartNumber : C1G0QML​.zip

Step 5 : Import the existing installation of the WebSphere Application Test Server into the IIM
  1. Open IIM
  2. Select "Import"
  3. Enter/Browse the Installation Directory of the Websphere Application Test Server. The path will  be - RAD_installdir\runtimes\base_v7\ and follow the steps and import.
  4.  The Websphere Application Test Server will be imported and now we can apply the Feature Packs to the installation using IIM. It will start appearing in the PackageGroup listings -


Step 6 : Install the CEA Feature Pack for Websphere Application Server 7

  1. Open IIM
  2. Select "Install"
  3. Select the packagename imported in step 5 and follow the GUI steps to install the feature pack 1.0.0.0



Step 7 : Update the CEA Feature Pack installed to version 1.0.0.1 or above
The latest version available is 1.0.0.11 and hence I installed the same.
Use the "Update" menu within the IIM to perform the activity

When you have finished the installation and upgrade, you need to create a WebSphere Application Server runtime environment that includes the feature pack's functions. We will augment the existing WAS profile.

Step 8 : Create a WebSphere Application Server runtime environment that includes the feature pack's functions
Augment the WebSphere Application Server profile.
  1. Open a command line.
  2. Go to the RAD_installdir\runtimes\base_v7\bin directory.
  3. Determine your profileName. To find a list of possible profileName options, manageprofiles.bat -listProfiles
  4. This command returns a list of the profileNameoptions that can be augmented. select the WebSphere Application profile.
  5. Backup the existing profile before augmenting 
    manageprofiles.bat -backupProfile -profileName profileName -backupFile <path of the backup zip>


  6. Run the manageprofiles command:
    manageprofiles.bat -augment -profileName profileName -templatePath ..\profileTemplates\CEA\default.ceafep
  7. If something goes wrong , either restore the backup profile (the backup taken in Step 8d) or use the "unaugment"  option to undo the augmentation
    manageprofiles.bat -unaugment -profileName profileName -ignoreStack -templatePath ..\profileTemplates\CEA\default.ceafep 
    OR
    manageprofiles -restoreProfile -backupFile <path of the backup zip>
Step 9: Configure the WebSphere Commerce test server:
  1. Open the WebSphere Application Server Administrative Console.
  2. Click Servers > Server Type > WebSphere Application Server > server1 > Communications Enabled Applications (CEA)
  3. Select Enable communications service.
  4. Change Virtual Host to WC_default_host, Click OK, and save the configuration.
  5. Click Environment > Virtual hosts > WC_default_host > Host Alias. Add the port for the SIP_DEFAULTHOST to the Virtual host. Ensure that a fully qualified domain name is used. You can check what the ports are for the SIP_DEFAULTHOST by selecting Servers > Server Type > WebSphere Application Server > server_name > Ports.
 Step 10: Integrate the CEA dojo library with the WebSphere Commerce EAR file.
  1. Stop the WebSphere Application test server.
  2. Close the WebSphere Commerce development environment.
  3. Go to WCDE_installdir\bin directory.
  4. Run the setupCoshopping.bat command.
Step 11: Publish the Madisons starter store 
Publish the Madisons.sar store archive. 
In Management Center, select the coshopping store function to add coshopping to the Madisons starter store storefront. 
In the Madisons starter store, use two different browsers to simulate a coshopping session.
Enjoy this amazing feature! 
Please feel free to drop comments incase you need any help with the steps.

Saturday, March 17, 2012

Search Term Associations

Search term associations suggest additional, different, or replacement products in search results. They can also link search terms to a selected landing page in the store. Search term associations are used as a product recommendation strategy to increase store sales when customers search for products, as the search submission is modified to increase or target search results.

What are some examples of search term associations?

Here are some examples of search term association activities that Product and Catalog Managers can create using the Catalog tool:
  • If a shopper searches the store for a laptop, you can define synonyms to include similar products in the search, such as notebook, netbook, or computer, to potentially increase the amount of search results that are returned. In this example, the search results include those for laptop, plus the search results for the notebook, netbook, or computer synonyms. This is helpful, for example, if your store sells many types of laptop computers.
  • If a shopper searches the store for a laptop, you can define replacement terms such as computer or desktop to modify the potential search results. In this example, the search results include the search results for the computer or desktop search terms, while optionally ignoring the original laptop search term. This is helpful, for example, if your store does not sell laptop computers, but does sell desktop computers.
  • If a shopper searches for a laptop, you can define the resulting landing page as a custom store page, showcasing a particular brand's laptop computers or other related products. Landing pages can also be used to promote certain activities in the store. For example, if a shopper searches the store for wish list, you can define the resulting landing page as the My Account: Personal Wish List page.

What are the benefits of search term associations?

WebSphere Commerce search, which includes support for search term associations, provides the following key business benefits:
  • Integrated search management tooling for business users in the Management Center, allowing business users to leverage site search behavior and other Precision Marketing triggers to offer product recommendations and promotions.
  • Use as a product recommendation strategy to increase store sales.

Which user roles use search term associations?

WebSphere Commerce search capabilities are easily leveraged by the following user roles:
  • Marketing Managers who want to define business rules to support various search functionality and influence search results for product merchandising to increase conversion rates.
  • Catalog and Product Managers who want to proactively influence search results and integrate search with merchandising and marketing.
 Demo
Infocenter Link : http://publib.boulder.ibm.com/infocenter/wchelp/v7r0m0/topic/com.ibm.commerce.admin.doc/concepts/cwnsearchtermassoc.htm
 

Precision Marketing - Category Product Recommendations

This post contains a three part video series to demostrate the "Precision Marketing" feature of the WebSphere Commerce and how it can be used to control the Category page Recommendations based on-
  1. Interactional Behavior
  2. Transactional (Shopping Cart)  Behavior
  3. Profile Information
This solution is recommended for websites where Collaborative Filtering may not be the ideal solution and the recommendations are based more on business rules. 

I hope you will enjoy the video series -

Part 1 : Recommendation based on Interactional Behavior (Page being viewed)



Part 2 : Recommendation based on Transactional (Shopping Cart)  Behavior (Items added in the shopping cart )



Part 3 : Recommendation based on Profile Information (Age Group)




Happy Recommending !

Friday, March 16, 2012

FB Integration



Facebook integration introduces the following Facebook functionality to the Madisons store:
  • Like button Social Plugin on the home and product pages
  • Send button Social Plugin on product pages
  • Facebook Activity Feed on the home page
  • Connect to Facebook
  • The Customer participates in Social Commerce trigger and target have been updated to capture 'Liking' on Product or Home pages via the marketing and promotions activities
A Facebook activity feed has been added to the store's home page. The Activity Feed plugin displays the most interesting recent activity taking place on your site. Shoppers can click on the links of recommended products to see if they like them. If the shopper has connected the store to their Facebook account or logged in using the Login button in the Activity Feed, a personalized feed is displayed featuring their friends' recommendations.
The Facebook integration features is independent of the Social Bridging and Social Commerce features and is easy to enable option for sites which are looking for some common basic FaceBook features such as Facebook Like , Facebook Share (Send) since the steps to integrate these features are much simpler than the Social Commerce Enablement. The FB integrations are based on the FBXML approach.

Pre-requisites:
1.       Feature Pack 4
2.       Madisons and MadisonsEnhancements SAR is published
3.       The enablement scripts for the “store-enhacement” is executed

Steps to enable:
  1. Step 1: Enable Facebook integration in the Store Management tool
    (Store Developer) In the Store Management tool, select the Facebook integration store function.
  2. Step 2: Create a Facebook application for your store
    (Store Developer) Register the store with Facebook.
  3. Step 3: Associate Facebook Application IDs for your stores
    (Store Developer) Insert the Facebook Application IDs for your stores into the STORECONF table.
  4. Step 4: Test Facebook integration on your storefront
    (Store Developer) Test Facebook integration by 'liking' your store's home page. Sadly , since callbacks to the local system is not possible, the “Send” functionality cannot be tested in the local system. We could use some concepts like “local tunneling” to enable web access to localhost.

Dialog activities can be created to target customers who performed FB “Like” on Homepage and Products.
For example, I have create a dialog activity which adds customer to FBLIKESEG when a customer clicks on the FB Like on Home page. A 10% discount on the order total is granted to all customers belonging to this category.



Below is a short demo video which demostrates the FB capabilities and Precision Marketing Social Commerce Extensions -