tag:blogger.com,1999:blog-52813665121671770292024-03-04T21:13:18.928-08:00Websphere commerce server Tips and ToolsTips and Tools for WebSphere commerce server.. from BipinM.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.comBlogger59125tag:blogger.com,1999:blog-5281366512167177029.post-51203973917982228712020-12-12T02:47:00.006-08:002020-12-14T19:20:27.146-08:00 WCS 9.1.3 | Setup workspace <p><span style="background-color: #ffa400;"> HCL Commerce V 9.1.3 has been release !!!</span></p><p><b><span style="color: red;"><br /></span></b></p><p><b><span style="color: red;"> Statutory warning :</span>Setting up workspace may take more time initially !!</b></p><p><b>Few points to remember </b></p><ul style="text-align: left;"><li>React Store front is recommend instead of Aurora legacy store </li><li>Use Elasticsearch instead of SOLR - It comes with NLP search - You cannot miss for next generation eCommerce experience</li><li>Elasticsearch is an open source tool you can setup independelly in any windows machine - But never try that for HCL Commerce. Use docker image of the elasticsearch for workspace setup </li><li>Test all links from the NIFI - will be good for quick check </li><li>V9.1.3 is more distributed in nature compared to V9.</li><li>Xc Server, Legacy Server, Search Server - Too many servers - But yes that is very important to to build the more distributed architecture - May be the Way to Pure Microservice Architecture . Yes HCL commerce need more and more changes to become fully microservice architecture </li><li>Publish Emerald store for B2C customers. Don;t forget to experiment the NLP cool feature provided by default with Emerald + Elasticsearch . (Eg : I am looking for blue Sofa) - Yes you will get blue sofa . </li><li>As of today Dec 1 - 2020 - Emerald store yet to get all features of the full-fledged ecommerce store features </li><li>By default Emerald disable the Order history page - You need to enable it manually </li><li>Publish Sapphire store for B2B customer </li><li>9.1.3 comes with Composer as a CMS engine . But this will not work for Emerald - You may have to use only for Aurora store </li><li>As per my knowledge HCL may release brand new dedicated - sophisticated enterprise grade content management system for HCL Commerce in Dec 2020 - or Early Jan 2021- Waiting ...</li><li>to be continue ...</li></ul><p></p><p><br /></p><p><br /></p>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com2tag:blogger.com,1999:blog-5281366512167177029.post-48823577494219790502015-10-06T00:55:00.004-07:002015-11-30T09:18:12.163-08:00Better Late than Never- WCS8 has been released <div dir="ltr" style="text-align: left;" trbidi="on">
WCS 7.0 initial version was released on 2010-October . Exactly after 5 yeras IBM announced the new version of WebSphere commerce - Version 8.0<br />
<br />
Here are the quick take away ..<br />
<br />
• CSR – Customer service representative features. A brand new features exclusively for CSR . This is a mandatory tool for any ecommerce applicattion . Thanks IBM to recognize the industry need <br />
• SaaS Based Cloud support - As expected .. Yet to see how the architecture difference on cloud <br />
• Spring Supported Management center - Happy for all Spring loving developers<br />
<br />
http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS215-305&appname=USN <br />
<br />
<br />
<br />
infocenter is given below<br />
https://www-01.ibm.com/support/knowledgecenter/SSZLC2/landing/wc_welcome.html?lang=en<br />
<br />
<br />
Waiting for there technical release <br />
<br />
<br />
<br />
Also announced the WCS 6.0 discontinue dates : Good by WCS 6.0 . <br />
http://www-01.ibm.com/support/docview.wss?uid=swg21967814&myns=swgws&mynp=OCSSYSYL&mynp=OCSSZMJX&mynp=OCSSPK6A&mync=E&cm_sp=swgws-_-OCSSYSYL-OCSSZMJX-OCSSPK6A-_-E</div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com1tag:blogger.com,1999:blog-5281366512167177029.post-55809649862620358492014-03-03T02:18:00.001-08:002014-03-05T06:15:57.559-08:00About crawler utility in WCS<div dir="ltr" style="text-align: left;" trbidi="on">
Command to execute :<br />
crawler.bat -cfg D:\WCDE_ENT70\search\solr\home\bipindroidConfig.xml<br />
<br />
Change following parameters:<br />
<span class="m"><</span><span class="t">var</span><span class="t"> name</span><span class="m">="</span><b>storePathDirecttory</b><span class="m">"</span><span class="m">></span><span class="tx">D:/WCDE_ENT70/workspace/Stores/WebContent/Aurora</span><span class="m"></</span><span class="t">var</span><span class="m">></span> <br />
<span class="m"><span class="m"><</span><span class="t">var</span><span class="t">
name</span><span class="m">="</span><b>filterDir</b><span class="m">"</span><span class="m">></span><span class="tx">D:/WCDE_ENT70/search/solr/home</span><span class="m"></</span><span class="t">var</span><span class="m">></span> </span><br />
<span class="m"><span class="m"><br /></span></span>
<span class="m"><span class="m"><br /></span></span></div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-10087523202233090822014-02-24T01:21:00.003-08:002014-03-11T10:56:28.606-07:00WebSphere Commerce Utility examples<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Oracle</b><br />
Coming soon<br />
<br />
<br />
<b>CloudScape</b><br />
<ul style="text-align: left;">
<li><b>di-preprocess.bat</b></li>
<li>D:\WCDE_ENT70\bin>di-preprocess.bat D:\WCDE_ENT70\search\pre-processConfig\MC_10351\Cloudscape</li>
</ul>
<div>
<br /></div>
<div>
<ul style="text-align: left;">
<li><b>di-buildindex.bat</b></li>
<li>D:\WCDE_ENT70\bin>di-buildindex.bat -masterCatalogId 10351</li>
</ul>
<div>
<br /></div>
</div>
<div>
<ul style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<li><b>acpload.bat</b></li>
<li style="font-weight: normal;">D:\WCDE_ENT70\bin>acpload MyCompanyCatalogAccessControlPolicies.xml</li>
</ul>
<div>
<br /></div>
<div>
<ul>
<li><b>enableFeature.bat</b></li>
<li style="border: none; margin: 0px 0px 0.25em; padding: 0px;">enableFeature.bat -DfeatureName=management-center</li>
<li style="border: none; margin: 0px 0px 0.25em; padding: 0px;">enableFeature.bat -DfeatureName=store-enhancements</li>
<li style="border: none; margin: 0px 0px 0.25em; padding: 0px;">enableFeature.bat -DfeatureName=foundation</li>
</ul>
<div>
<br /></div>
<div>
<ul>
<li><b>isRunning.bat</b></li>
<li>isRunning.bat</li>
</ul>
<div>
<b><br /></b></div>
</div>
</div>
</div>
<div>
<ul>
<li><b>restoreDefault.bat</b></li>
<li>restoreDefault.bat force (optional)</li>
</ul>
<div>
<br /></div>
</div>
<div>
<div>
<ul style="text-align: left;">
<li><b>setupPlugins.bat</b></li>
<li>setupPlugins.bat</li>
</ul>
</div>
<div>
<br /></div>
<div>
<ul style="text-align: left;">
<li><b>resetstores.bat</b></li>
<li>resetstores.bat</li>
</ul>
</div>
<div>
<br /></div>
<div>
<ul style="text-align: left;">
<li><b>updatedb.bat </b></li>
<li>updatedb.bat cloudscape</li>
</ul>
</div>
<div>
<br /></div>
<div>
<ul style="text-align: left;">
<li><b>setdbtype.bat</b></li>
<li>setdbtype.bat cloudscape [createdb]</li>
</ul>
</div>
<div>
<br /></div>
<div>
<ul style="text-align: left;">
<li><b>setenv.bat</b></li>
<li>setenv.bat</li>
</ul>
</div>
</div>
<div>
<br />
<ul style="text-align: left;">
<li><b>versionInfo.bat</b></li>
<li>versionInfo.bat</li>
</ul>
</div>
<div>
<br />
<br />
<ul style="text-align: left;">
<li><b>startWCToolkit.bat</b></li>
<li>startWCToolkit.bat</li>
</ul>
<br />
<br />
<ul style="text-align: left;">
<li>wcs_password <password> <salt> <key></li>
<li>wcs_password bipinkumar <salt from userreg> <merchent key from wc-sever.xml></li>
</ul>
<br />
<br />
<ul style="text-align: left;">
<li><b>publishstore.bat</b></li>
<li>publishstore localhost wcsadmin wcsadmin D:\WCDE_ENT70\starterstores\ConsumerDirect\Aurora.sar</li>
</ul>
</div>
</div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-86186080816690362612014-02-23T08:27:00.004-08:002014-02-23T08:27:32.608-08:00Apache SOLR - WCS Feature Pack 6<div dir="ltr" style="text-align: left;" trbidi="on">
Coming Soon ....</div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-19602501383667601382014-02-13T01:56:00.000-08:002014-02-13T01:56:01.386-08:00A Checklist for SEO developers<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
Let me share the common problems which required immediate Search Engine optimization<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="background: #C6D9F1; border: solid windowtext 1.0pt; mso-background-themecolor: text2; mso-background-themetint: 51; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Problem<o:p></o:p></span></div>
</td>
<td style="background: #C6D9F1; border-left: none; border: solid windowtext 1.0pt; mso-background-themecolor: text2; mso-background-themetint: 51; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Solution <o:p></o:p></span></div>
</td>
<td style="background: #C6D9F1; border-left: none; border: solid windowtext 1.0pt; mso-background-themecolor: text2; mso-background-themetint: 51; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">WCS<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Page title has bad keyword<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Provide more relevant keyword in the <title> column<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Page header has bad keyword<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Provide more relevant keyword in the <head> column<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">First Sentence of body<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">The first sentence has more value in the search engine indexes.
So create it carefully<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Missing meta tag in HTML<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Provide necessary meta tag which may keep you ahead in search
ranking<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">Page Content issues</span><span style="font-size: 12.0pt;"><o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> Keep updating the Content regularly<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">The data should be relevant for the site<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;"> Same</span><span style="font-size: 12.0pt;"><o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">301 Redirects: <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">Customer still refer to old URL from
bookmark<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Give a map in your site with old URL and new URL . After some
time if the customer is no longer refer to old url , then you can remove that.
<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">There are two tables <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">SEOREDIRECT : This tables hold the old
url and new url<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">SEOREDIRECTTRAFFIC: Used for checking
the traffic of redirect rule utilization<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">404 Issues,410,303,302<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">Same as 301<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">Same as 301<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">Dynamic URL<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Change to static URL.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Apply Pattern file and mapper file to map the dynamic url to
static values<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Refer :SEOURLPatters-Product.xml<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Table : SEOURL: Hold the catentry_id, category_id etc<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">SEOURLKEYWORD: Unique key word for each product /category which
user can use for search . This will be map with concerned product id or
catentry id in the SEOURL table. <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Limitation : Commerce URL
Mapping feature does not handle get and post forms.<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">Site map<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Really a map for crawlers. Entry point for Search engine. This
will help the crawler to ensure they cover all pages in your site<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">There are tools available in the market to create sitemap for
you site. Google also has.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Provide alternative set of pages which is exclusively for
crawlers to read and index it<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt;">Stop Character in the Link<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Associated with Dynamic URL<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Avoid stop character in you content /Link everywhere. <o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Long URL <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><a href="http://www.mystore/shop/product"><span style="color: windowtext; text-decoration: none; text-underline: none;">www.mystore/shop/product</span></a>
name. Keep it short and simple <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">/webapp/wcs/stores/servlet/ This is irrelevant to both crawlers
and end users. <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Change /webapp/wcs/stores/servlet/ to /shop in the wc-server.xml
in the context in the SEOConfiguration part<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Check your httdf.config file. You have to modify webserver level
also <o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Links matters<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Provide enough cross linking between the pages. <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Words in Link<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Provide good capture for you link rather than full url like<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">http://kingofwcs.blogspot.com<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><a href=” http://kingofwcs.blogspot.com”>wcs Blog</><o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Need Tools<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Use Google webmaster tool to identify other issues reported from
the crawlers <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Image Name<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Give proper name for each of your image – The name should me
matching with your content<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Alt message in Image<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Provide meaning full message<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Invisible Text <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Avoid invisible text and tiny text<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Keyword stuffing<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Avoid duplicate keyword. Do not try to cheat the search engine
crawlers. Once they found cheating they will block you from the list for ever
(it happened for BMW also )<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Keep relationship between keyword and content<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Loading time<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Understand that crawlers is also a software program They try to
download your page before indexing the context. If downloading time increase
they may ignore your page<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Dynamic content<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Crawlers may not be happy with the dynamic content. Better to
reduce it <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Same<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Image map<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Links inside the image . WOW<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Beware crawlers may reject it because of the security issues <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">There are some solutions<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><a href="http://www.searchenginesbook.com/imagemaps.html"><span style="color: windowtext; font-size: 11.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; text-decoration: none; text-underline: none;">http://www.searchenginesbook.com/imagemaps.html</span></a><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Graphics vs. text<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Text will take more preference <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Table Structures<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Use it but carefully <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Using tables for layout duplicates a lot of HTML markup for
every page in your site that is loaded. This duplication will effect your
page-load time, even if it is only slightly,</span><o:p></o:p></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">JavaScript<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Use it but carefully <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Good link <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><a href="http://www.developerdrive.com/2012/08/seo-and-javascript-dos-and-donts/">http://www.developerdrive.com/2012/08/seo-and-javascript-dos-and-donts/</a><o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Frame <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Better to avoid this <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><a href="http://www.smallbizwebsites.org/why-frames-are-bad-for-SEO.php">http://www.smallbizwebsites.org/why-frames-are-bad-for-SEO.php</a><o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Flash<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Understand then use this<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><a href="http://www.toprankblog.com/2009/11/seo-for-flash-tips/">http://www.toprankblog.com/2009/11/seo-for-flash-tips/</a><o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">SessionID<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">If session timeout the page content vanishes. <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Rewrite the Sessionid using URL rewriting .But how ? I have to
find. It </span><span style="font-family: Wingdings; font-size: 9.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-char-type: symbol; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: Wingdings;">J</span><span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.75pt;" valign="top" width="133"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 124.1pt;" valign="top" width="165"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 254.95pt;" valign="top" width="340"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
</tbody></table>
<br />
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: "ArialMT","sans-serif"; font-size: 14.0pt; mso-bidi-font-family: ArialMT;">Even with URL Mapping, Site Map and Search
Ranking, we cannot guarantee high ranking. That required several other
parameters. Google like search engine change the parameters regularly. </span><span style="font-size: 9.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></div>
<br />
<br />
<br />
<br /></div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-50536435482018437202014-02-06T01:04:00.001-08:002014-02-13T03:03:01.582-08:00Things to consider for Install Feature Pack 6 on WCS7.0<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Steps to Install Feature Pack 6</b><br />
<br />
<br />
<ul style="text-align: left;">
<li>Install WCS 7.0</li>
<li>Install IBM Update Installer version Version: 1.6.2 </li>
<li>Install WCS fix pack 7 ( 7.0.0.7)</li>
<li>Install WAS fixpack 13 (7.0.0.13 or above)</li>
<li>Check point : Try to load Madison store/Management Center. If any issue fix it before proceeding to next step</li>
<li>Install the Feature pack 6</li>
<li>Republish the server after the installation. (other wise your application may not work )</li>
<li>Execute below commands to enable the feature pack:</li>
<ul>
<li>enableFeature.bat -DfeatureName=management-center</li>
<li>enableFeature.bat -DfeatureName=store-enhancements</li>
<li>enableFeature.bat -DfeatureName=foundation</li>
</ul>
<li>If any issues restoreDefault.bat and execute enableFeature.bat steps</li>
</ul>
<br />
<br />
For a successful build below message will be in \toolkitfolder\logs\enableFeature.logBUILD SUCCESSFUL<br />
<br />
Optional : Public Aurora store</div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-25461175527030956442014-02-04T02:29:00.001-08:002014-02-13T03:03:27.532-08:00Feature Pack 6 - Page layout A Quick View<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<b>Prerequisites</b></div>
<div class="MsoNormal">
-> Your workspace should be in the same version given below</div>
<div class="MsoNormal">
<span class="Apple-tab-span" style="white-space: pre;"> </span>IBM WebSphere Commerce<span class="Apple-tab-span" style="white-space: pre;"> </span>Version 7.0.0.0</div>
<div class="MsoNormal">
<span class="Apple-tab-span" style="white-space: pre;"> </span>WCS Fix paack <span class="Apple-tab-span" style="white-space: pre;"> </span>Version<span class="Apple-tab-span" style="white-space: pre;"> </span> 7.0.0.13 or above</div>
<div class="MsoNormal">
<span class="Apple-tab-span" style="white-space: pre;"> </span>Feature pack <span class="Apple-tab-span" style="white-space: pre;"> </span>Version <span class="Apple-tab-span" style="white-space: pre;"> </span> 6.0.0.0</div>
<div class="MsoNormal">
<span class="Apple-tab-span" style="white-space: pre;"> </span></div>
<div class="MsoNormal">
-> Publish Aurora Starter store</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Let me explain the quick way to implementing the page layout with new template</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
a) <span class="Apple-tab-span" style="white-space: pre;"> </span>Create new file(MyNewHomePage) by copying form Stores/WebContent/Aurora/Layouts/HomePage.jsp</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
b) <span class="Apple-tab-span" style="white-space: pre;"> </span>You can add or delete the widgets on this file.Make sure you are not braking the flow</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
c) <span class="Apple-tab-span" style="white-space: pre;"> </span>Update the PAGELAYOUT table with your query </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
d) <span class="Apple-tab-span" style="white-space: pre;"> </span>updaet Struts-config-ext.xml with your new view say - MyNewHomePageLayoutView with <forward> and <action></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
e)<span class="Apple-tab-span" style="white-space: pre;"> </span>Do acpload for above view</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
f)<span class="Apple-tab-span" style="white-space: pre;"> </span>Open management cetner and check the newly crated teamplate</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
g)<span class="Apple-tab-span" style="white-space: pre;"> </span>Assign the newly created template to the template type (HomePage). Provide necessary start date and end date</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
h)<span class="Apple-tab-span" style="white-space: pre;"> </span>Refresh your Aurora store<br />
<br />
<br />
Note:<br />
FEP 5 also come with page layout .It is better to go with FEP6 due to enhanced features and bug fixing<br />
WCS fixpack 13 or above and Feature pack 6 itself it enough for enabling the Page layout tool<br />
Once you installed the FEP 6, make sure you enable the following components<br />
enableFeature.bat -DfeatureName=management-center<br />
enableFeature.bat -DfeatureName=store-enhancements<br />
enableFeature.bat -DfeatureName=foundation<br />
<div>
<br /></div>
<div>
Each template contains multiple widgets which will help you to keep your images/artifacts etc. Widgets are basically div tags - a place holder for business users to place there images and other text content. It is IT developer responsibility to create widgets . Make sure your widgets size is compatible with images and other content For better practice : Keep widget in data area and UI area</div>
<div>
<br /></div>
<div>
Page Review option in the FEP 6 is closing working with Page layout. This will help the business users to edit there content easy</div>
<br /></div>
<div>
<br /></div>
</div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-46348333913671752672013-10-07T15:18:00.001-07:002013-10-08T08:32:53.804-07:00JDBC Helpers in Commerce<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
ReportJDBCHelperBeanBase : If you want to connect a dedicated reporting database which is different than the production database then extend this class to execute your reporting query .<br />
How ? :<br />
Create new datasource in your was console .<br />
Use below method to execute the query by passing the datasource name (don;t pass jdbc/) and report query<br />
Vector executeQuery(String dsName, String queryString)<br />
<br />
<br />
ServerJDBCHelperAccessBean : Good to use if you want to connect same database where u r wcs tables are running<br />
<br />
BaseJDBCHelper:<br />
BaseHelper: You can use ds name/username/password and get the datasource connection<br />
<div>
<br /></div>
<br />
<br />
Thanks<br />
Bipin<br />
<br />
<br />
<br /></div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-32410501791267614792013-04-09T21:06:00.002-07:002013-04-09T21:08:19.719-07:00Contracts - A Snap shot<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ZWRasD9D1wRaBxTcK4r4Nz-BVUWo8uzwdsTHF17CxN4uwidiokuHgL29dJ8Cq88Mz7LIywhf2JrtDEqXFlA7Dc1yZMdYC04JoosYH6PVd6Sf_g3x3VBiWQXhrMm2mhN0IqzgW7MWqIVI/s1600/Untitled.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Redistribution not allowed" border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ZWRasD9D1wRaBxTcK4r4Nz-BVUWo8uzwdsTHF17CxN4uwidiokuHgL29dJ8Cq88Mz7LIywhf2JrtDEqXFlA7Dc1yZMdYC04JoosYH6PVd6Sf_g3x3VBiWQXhrMm2mhN0IqzgW7MWqIVI/s320/Untitled.png" title="only for kingofwcs.blogspot,com" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Redistribution not allowed.. </div>
<br /></div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-29947962569723225392012-10-21T17:19:00.002-07:002012-10-22T16:19:47.982-07:00how to copy one user details to another user?<div dir="ltr" style="text-align: left;" trbidi="on">
I feel this is a very interesting feature.. <br />
<br />
1.How will you move the shopping cart details of the guest user to register user after login?<br />
<br />
2.How you will move guest users shopping list to register user?<br />
<br />
3.How you will move guest user Address to the Registered user ? <br />
<br />
One of the solution is : MigrateUserEntriesCmdImpl<br />
<br />
<br />
This task command is used to migrate resources owned by one user to another. <br />
The mandatory resources that are migrated are Addresses, Current Orders, Interest Items, Order Items, Orders, and Order templates.<br />
<br />
<br />
Some of the methods are :<br />
migrate address<br />
migrate orders<br />
migrate coupons<br />
migrate current orders<br />
migrate experiment results<br />
migrate interest item list<br />
<br />
hope this will work out.......</div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-87417039098765351202012-05-29T14:50:00.001-07:002012-10-18T14:21:14.302-07:00DynaCache<div dir="ltr" style="text-align: left;" trbidi="on">
Coming . soon<br />
<br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">I am back after a short break..</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">So many things we can discuss here on caching..let me draft the document</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Draft v1.0</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Dynacache <span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>:Advantages/Disadvantages</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">IBM WebSphere eXtreme Scale -WXS:</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">EHCache<span class="Apple-tab-span" style="white-space: pre;"> </span>: </span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Jboss cache<span class="Apple-tab-span" style="white-space: pre;"> </span>:</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">infinispsan cache<span class="Apple-tab-span" style="white-space: pre;"> </span>:</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">JBOSS DATA GRID (JDG)<span class="Apple-tab-span" style="white-space: pre;"> </span>:</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Let us go through all market leaders ..</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">But before jumping to any caching.. we should familiar with some caching terminology</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">such as.. </span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Cache id<span class="Apple-tab-span" style="white-space: pre;"> </span>:A unique key to represent any cache object in the cache server</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">cache expire<span class="Apple-tab-span" style="white-space: pre;"> </span>:Define a time period for any cache to expire </span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Cache eviction<span class="Apple-tab-span" style="white-space: pre;"> </span>:If cache is reached it maximum capacity.. apply some rule to remove the some of items to place new items</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>normally using some algorithm called.. LRU .. etc</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">invalidation <span class="Apple-tab-span" style="white-space: pre;"> </span>:Invalid the cache id if the data in the cache is not sych with the source system</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">and..what else.. .</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Why wee need caching /Or what time we should think about caching?</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>- If the cost of any object creation is too heavy </span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>- if any object is very frequently using/accessing</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>- if multiple users are using same object </span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">ya that object/component is eligible for caching.. </span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Starting with Dyna cache...</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Dyna cache:</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">This is a in-memory caching mechanism from IBM which is commonly using in the websphere app server</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Dynacache is non-transactional and replicated caching system</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Dyna cache supports - </span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Servlet/JSP object caching, Command level caching.. </span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Full page caching</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Fragment caching</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Data invalidation support</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Cache monitoring mechanism</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Fine.. that is a 100 feet level view of dynachahe. Let us go in deep</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">consume-subfragment</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">do-not-cache</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">do-not-consume</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">timeout</span></span><br />
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Servlet/JSP object caching: The output of servlet/jsp will be cached against the cacheId</span></span><br />
</div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-91756917304810617562012-05-15T19:39:00.000-07:002012-05-15T19:39:03.619-07:00A Quick view - ATTRIBUTE DICTIONARY<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<b>The Story:</b><br />
Consider one business scenario where client wants to keep a set of common attributes for all products under a given store.Also this attributes may change frequently and client wants to control the product using same attributes.<br />
<br />
<br />
<b>Business Solution</b>:<br />
WCS provides a feature to keep set of common attributes that can be reused by multiple products- called as Attribute Dictionary<br />
<br />
The Features:<br />
-Control the product searchable ,comparable and displayable feature by changing the value in ATTR table<br />
-Reduced data loading because attributes is saved in only one location<br />
-Easy to manage the attributes<br />
-Single Attribute dictionary is allowed for a given store. Under each Attribute dictionary you can upload any number of attributes<br />
-Use the massload utility to upload to attribute dictionary<br />
<br />
<br />
<b>Data Model</b><br />
<br />
ATTRDICGRP(attribute dictionary group) -Define a attribute dictionary group<br />
ATTRTYPE(attribute type) -Define attribute type<br />
ATTRDICTGRPATTRREL(attrdictgrp_id,attr_id) <span class="Apple-tab-span" style="white-space: pre;"> </span>-relation table for group and attribute<br />
ATTRDICT(Attribute Dictionary- only one for given store) -Dictionary - only one for given store<br />
ATTR(attribute dictionary attributes-attr_id,attrtype_id,attrdict_id) -Define any number of attributes<br />
ATTRDESC <span class="Apple-tab-span" style="white-space: pre;"> </span>-About the attribute<br />
ATTRVALDESC(attrvalid) <span class="Apple-tab-span" style="white-space: pre;"> </span>-Language sensitive attribute value description.)<br />
CATENTRYATTR(catentry_id,attrid,attrvalid) -Relation table catentry-attribute and attrvalue<br />
<br />
+ Feature pack 4 has this feature <br />
<div>
<br /></div>
</div>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-64939590355651409252012-05-09T18:14:00.003-07:002012-05-28T18:12:33.154-07:00OAuth Implementation in WCS<div dir="ltr" style="text-align: left;" trbidi="on">
<b>What is OAuth</b>?<br />
OAuth is an open standard for authorization. It allows users to share their private resources<br />
(e.g. photos, videos, contact lists) stored on one site with another site without having to hand out their credentials,<br />
typically supplying username and password tokens instead. Each token grants access to a specific site<br />
(e.g., a video editing site) for specific resources (e.g., just videos from a specific album) and for a defined duration (e.g., the next 2 hours).<br />
This allows a user to grant a third party site access to their information stored with another service provider,<br />
without sharing their access permissions or the full extent of their data.<br />
Ref: http://en.wikipedia.org/wiki/OAuth<br />
<br />
<b>Why OAuth?</b><br />
The OAuth protocol allows third-party applications to identify and authenticate themselves with a content provider.<br />
<br />
<b>Sample business scenarions</b>?<br />
1)You have purchased a product from Walmart online .and adding comments there<br />
These comments will can be shared in the Facebook/twitter.<br />
<br />
2)You have placed an online order for eBook "The Da Vinci Code" .You need this ebook on Your eReader application<br />
Here the fullfillment details will be send to the concerned vendor and vendor will do order fullfillment for you<br />
<br />
3)<br />
You have added some game application on your Facebook<br />
The game app will ask you to share some public informtion from Facebook<br />
<br />
<br />
<br />
<b>Advantages:?</b><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>High Business demands.<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Share only the subset of the data with third-party applications<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>The end user has total control over the data<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Secured data is not shared across third-party applications .<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Limited access to secured data.<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>High securiy.<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Very suitable on Web based application<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Highly demanding the social commerce<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>No need to share the Username and password to third-party applications<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>etc etc<br />
<br />
<br />
<b>Overview?</b><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>There are manly 3 actors in this game<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>1.User- <span class="Apple-tab-span" style="white-space: pre;"> </span>The end user (That is you :))<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>2.Vendor- <span class="Apple-tab-span" style="white-space: pre;"> </span>Service Provider .Who actually holds your secure data such us credit card,personal info, photos etc.(eg: facebook)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>3 Client- <span class="Apple-tab-span" style="white-space: pre;"> </span>Consumer.Any Third party applications such as ecoomerce site, game applications etc<br />
<br />
<br />
<b>Game Rules</b><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>1.<span class="Apple-tab-span" style="white-space: pre;"> </span>User purchased items from the client(Third party applications)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>2.<span class="Apple-tab-span" style="white-space: pre;"> </span>User wants to use the data which is stored in the Vendor side<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>3.<span class="Apple-tab-span" style="white-space: pre;"> </span>CLient sends request to the Vendor to provde the secure data(limited access)<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>NB: <span class="Apple-tab-span" style="white-space: pre;"> </span>Here user should register in both Client side and Vendor side<br />
<br />
<b>Action : </b><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>User logged into Client side and make a link to the Vendor site<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Vendor will do the authentcaion of the user and ask permission to the user to provide the temporary key to the client<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>User approves the permission(Client Authorization )<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Vendor send a temporary key(life time is 10-20 mins) to Client<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Client receives the temporary key and request a permanant key to the vendor with Client secret<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Vendor validate the temporary key, client secreat then provide valid key with limited accees to the Client(valat key)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Client receives this valet key and saved in client location(DB,LDAP, etc)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>CLient make a link with vendor and request for information(limited)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>There will be mechanism to revoke the valet key as per the neeed<br />
<br />
<br />
<br />
<br />
<br />
.</div>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0Broad Way, Northville, NY 12134, USA43.2277569 -74.167014943.2263109 -74.169482399999993 43.229202900000004 -74.1645474tag:blogger.com,1999:blog-5281366512167177029.post-33100140960272513452011-11-17T07:07:00.000-08:002012-05-15T19:40:51.131-07:00Know about .keyring<div dir="ltr" style="text-align: left;" trbidi="on">
.keyring <br />
If you want to clear the existing password of SVN from RAD. then delete above file from<br />
<<Rad installation locatoin>>eclipse\configuration\org.eclipse.core.runtime location <br />
<br />
Thanks to Uma :)</div>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-77247654068642453732011-09-08T10:44:00.000-07:002011-09-08T10:54:04.757-07:00Read about OrderTrashCan<div dir="ltr" style="text-align: left;" trbidi="on">OrderTrashCan is a feature in WCS<br />
<ul style="text-align: left;"><li>This feature is ......?.......by default in v7</li>
<li>This feature is enabled by default in v6</li>
<li>If the OrderTrashCan feature is disabled, when a user deletes an order item or requisition list item the table rows representing those items are removed from the database. </li>
<li>If enabled, these rows are updated to belong to the trashcan. . </li>
</ul><div>How to enable?</div><ul style="text-align: left;"><li>Edit the wc-server.xml with below entry</li>
<li>TrashCanEnabled="true"/> </li>
</ul><div></div>OrderTrashCanClear <br />
<ul style="text-align: left;"><li>You can clear the trashcan by running the OrderTrashCanClear scheduled job which will delete the rows, or by using the Database Clean up utility</li>
</ul></div>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-29145274449095578592011-09-08T10:36:00.001-07:002012-10-21T17:09:04.375-07:00All about Schedules :<div dir="ltr" style="text-align: left;" trbidi="on">
Tables<br />
<br />
#SCHCONFIG<br />
This table contains all scheduled job entries.<br />
scchost -the host name of the instance on which the scheduled job will be run<br />
sccpathinfo-the command name<br />
sccquery-query string for the scheduled command. <br />
<br />
#SCHACTIVE<br />
The list containing what job will need to be run and the time when the job should execute<br />
schactive.scsjobnbr =schconfig.sccjobrefnum <br />
<br />
#SCHSTATUS<br />
This table is a log of the status of scheduled jobs<br />
schstatus.scsjobnbr =schconfig.sccjobrefnum <br />
scsstate:state of the scheduled job. <br />
scsresult: result of job: success or fail. <br />
<br />
#SCHERRORLOG<br />
This table contains the exception information when a job fails to execute successfully.<br />
#SCHORDERS<br />
This table contains the entries for scheduled orders<br />
<br />
#SCHBRDCST<br />
This table is used to log the status of broadcast commands for each of the clones<br />
schbrdcst.scsjobnbr =schconfig.sccjobrefnum <br />
<br />
#SCHCMD<br />
The URLsthat can be used as a scheduled job by a store. This is for the Scheduler menu in the Administration Console.<br />
supporting tables:CHKARRANG/CHKCMD</div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-60877859174202972962011-08-19T12:42:00.000-07:002012-10-14T17:55:49.124-07:00All about Registry in WCS<div dir="ltr" style="text-align: left;" trbidi="on">
How to create your own Registry<br />
-Create a classfile which implements com.ibm.commerce.registry.Registry<br />
--public abstract interface Registry<br />
--public abstract void initialize()<br />
--public abstract void refresh()<br />
<div closure_uid_h39hlg="117">
What are the methods required in side the Registry<br />
-initialize() --call refresh method<br />
-refresh() --load the values</div>
<div closure_uid_h39hlg="117">
<br /></div>
<div closure_uid_h39hlg="118">
what is the registry Entry in side the wc-server.xml ?<br />
<Registries><br />
<registry name="BipinRegistry" regClassName="com.xxx.BipinRegistry" /><br />
</Registries></div>
<div closure_uid_h39hlg="118">
<br /></div>
<div closure_uid_h39hlg="119">
How to invoke the registry from controller command<br />
-MyNewRegistry myregsty= MyNewRegistry (RegistryManager.singleton().getRegistry(MyNewRegistryname ));</div>
<div closure_uid_h39hlg="119">
<br /></div>
When registry will load<br />
-While starting the server ,registry will initialize<br />
<br />
<span style="background-color: white; font-family: verdana, arial, helvetica, sans-serif; font-size: 13px;">If the data in the tables associated with a registry is changed, you will need to refresh that registry for the change to take effect. For example, if a new entry is added to the </span><a class="xref" href="http://publib.boulder.ibm.com/infocenter/wchelp/v6r0m0/topic/com.ibm.commerce.developer.doc/tasks/tsdstrutsconfig.htm" style="background-color: white; color: #996699; font-family: verdana, arial, helvetica, sans-serif; font-size: 13px;" title="All major aspects of a Web application are configured declaratively by means of Struts configuration files. Action-mappings, global-forwards, message-resources, data-sources, form-beans, global-exceptions, and so forth, are among key elements found in Struts configuration files. (Refer to the Struts User Guide for the complete list and details.) Of these, WebSphere Commerce extends the semantics for action-mappings, global-forwards, and message-resources.">Struts Configuring</a><span style="background-color: white; font-family: verdana, arial, helvetica, sans-serif; font-size: 13px;">, the UrlRegistry has to be refreshed. Otherwise, the WebSphere Commerce runtime environment will not recognize the new URL.</span><br />
<span style="background-color: white; font-family: verdana, arial, helvetica, sans-serif; font-size: 13px;"><br /></span>
<span style="background-color: white; font-family: verdana, arial, helvetica, sans-serif; font-size: 13px;">Most commonly using registry: URLRegistry, Promotion Regisry</span><br />
<span style="background-color: white; font-family: verdana, arial, helvetica, sans-serif; font-size: 13px;"><br /></span></div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com1tag:blogger.com,1999:blog-5281366512167177029.post-49178658993068332282011-08-17T20:21:00.000-07:002011-08-19T09:24:58.853-07:00WebSphere Commerce business models<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<br />
<ul style="text-align: left;"><li>Direct sales</li>
<ul><li closure_uid_wajywm="103">Consumer direct (B2C)</li>
<li>Business to business direct (B2B)</li>
</ul><li>Scalable direct sales</li>
<ul><li>Extended Sites</li>
</ul><li>Value chain</li>
<ul><li>Demand chain</li>
<li>Supply chain</li>
</ul></ul><br />
</div>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-4188580020495196572011-08-07T17:28:00.000-07:002011-08-07T18:05:35.796-07:00Catalog - MasterCatalog. SalesCatalog. and all<div dir="ltr" style="text-align: left;" trbidi="on">Catalog<br />
The <span class="resultofText" name="resultofMatch">catalog</span> subsystem is a component of the WebSphere Commerce Server that provides online <span class="resultofText" name="resultofMatch">catalog</span> navigation, partitioning, categorization, and associations. In addition, the <span class="resultofText" name="resultofMatch">catalog</span> subsystem includes support for personalized interest lists and custom <span class="resultofText" name="resultofMatch">catalog</span> display pages. The <span class="resultofText" name="resultofMatch">catalog</span> subsystem contains all logic and data relevant to an online <span class="resultofText" name="resultofMatch">catalog</span>, including <span class="resultofText" name="resultofMatch">catalog</span> groups (or categories), <span class="resultofText" name="resultofMatch">catalog</span> entries, and any associations or relationships among them<br />
<br />
Different between product and item?<br />
A product, however, is a group of items that exhibit the same attributes. <br />
For example, a hammer is a product, while the 15 inch hammer with a wooden handle is an item<br />
An item is a tangible unit of merchandise that has a specific name, part number, and price.<br />
For example, a 15 inch hammer with a wooden handle (part number 15) is an item.<br />
Although items do not need to be related to any product, and can exist independently in the catalog, each item should be associatedto one product to maintain a consistent view when using the Product Management tools in the WebSphere Commerce AcceleratorA parent product is not required for each item. However, this is necessary in order to use the Product Management tools.Also, pricing and discounts will not be able to default to the parent product level, meaning that all items must have their own prices and discounts,<br />
if applicable<br />
<br />
About Master Catalog:<br />
The master catalog is the central location to manage your store's merchandise. <br />
Everything you need in your store is contained within the master catalog. It is the single catalog containing all products, items, relationships, and standard prices for everything that is for sale in your store<br />
You can share the master catalog across stores and define as many stores as needed.<br />
<br />
About Sales Catalog<br />
A sales catalog is a subset of the merchandise and services found in the master catalog.<br />
A sales catalog has a flexible display structure that allows you to associate products to more than one category,to suit the requirements of your store.Sales catalogs can be used in conjunction with the master catalog and contracts to control which products display for a particular customer<br />
<br />
<br />
Loading the catalog:<br />
-Product Management tools in the WebSphere Commerce Accelerator<br />
-loading utilities to mass load the catalog<br />
<br />
Catalog entries <br />
Catalog entries represent orderable merchandise in an online catalog. The entries typically have a name or part number, a description,one or more prices, images, and other details. A catalog entry can be a product, item, bundle, package, static kit, or dynamic kit.If necessary, you can create new catalog entry types that do not fit into one of the six existing models. More information about each type of catalog entry is available below. <br />
<br />
Products <br />
A product is a type of catalog entry. A product acts as a template for a group of items (or SKUs) that exhibit the same attributes. For example, a shirt is a product in your catalog. After adding attributes and attribute values to the shirt, each variation becomes an item, such as a small black shirt. <br />
<br />
Items <br />
An item is a tangible unit of merchandise that has a specific name, part number, and price. <br />
For example, a small black shirt is an item while a shirt is a product. All items related to a particular product exhibit the same set of attributes and are distinguished by their attribute values. <br />
Note: For WebSphere Commerce Accelerator users, the terms items and SKUs are considered synonymous. <br />
When using the Product Management tools in the WebSphere Commerce Accelerator, the orderable item is called a SKU. In the WebSphere Commerce database schema, this particular type of catalog entry is called an item.<br />
<br />
Bundles <br />
A bundle is a collection of catalog entries to allow customers to buy multiple items at once. <br />
For example, a bundle for a computer might be composed of a central processing unit, a monitor, a hard drive, and a CD-ROM drive. A bundle is a grouping of items, or a combination of products, items, and fully resolved packages. If you select a bundle which only contains items, the bundle is decomposed into separate orderable SKUsthat are added individually to the shopping cart. However, if you select a bundle which contains products, these products need tobe resolved into items through SKU resolution before they can be added to a shopping cart. In either case, once a bundle is decomposed and its component items are added to a shopping cart, you can modify or remove each item. <br />
<br />
Packages <br />
A package is an atomic collection of catalog entries. For example, a computer package might contain a specific central processing unit, monitor, and hard drive that cannot be sold separately. Similar to a product, a package has defining attributes and is a container for fully resolved packages. A fully resolved package is comparable to a SKU. A package has its own price and is an actual orderable SKU that can be added to a shopping cart.You cannot decompose or modify a package either during navigation or after the package has been placed in the shopping cart.<br />
Note: For WebSphere Commerce Accelerator users, packages and prebuilt kits are considered synonymous. When using the Product Management tools in the WebSphere Commerce Accelerator, a package is known as a prebuilt kit.In the WebSphere Commerce database schema, this particular type of catalog entry is called a package.<br />
<br />
Dynamic kits <br />
A dynamic kit is a type of catalog entry which can be dynamically configured by the customer.<br />
This configuration (or grouping) of products is based on the customer's requirements and is sold as a single unit.The components of a dynamic kit are controlled by an external product configurator through a set of predefined rules and user interaction,and supplied at order entry time. Adding a dynamic kit to an order is similar to adding a package.Like a package, the individual components of a dynamic kit cannot be modified and the entire configuration must be fulfilled as a whole.However, you may change the dynamic kit components by reconfiguring it using an external product configurator. <br />
<br />
Static kits <br />
A static kit is a group of products that are ordered as a unit. The information about the products contained in a static kit is predefined and controlled within WebSphere Commerce. The individual components within the order cannot be modified and must be fulfilled together.A static kit will backorder if any of its components are unavailable.A static kit is first created as a package, then configured by an administrator.<br />
<br />
Product sets <br />
Product sets are associated with published catalog entries. <br />
A product set provides a mechanism to partition your catalog into logical subsets. <br />
This partitioning allows you to show different parts of your catalog to different users. <br />
You can create a contract and specify that the participants of the contract are only entitled to purchase products that fall into a predefined product set.WebSphere Commerce provides tools to create and manage contracts and entitlement filtering rules on the master catalog.<br />
<br />
Attributes <br />
Attributes are properties of products in an online store. There are two types of attributes: <br />
--Defining attributes are properties, such as color or size. Attribute values are the property of an attribute such as a specific color<br />
(blue or yellow) or size (medium). You must predefine attribute values before assigning them to items. Attribute values are implicitly related <br />
to their attributes. Each possible combination of attributes and attribute values equals a new item. After creating attributes and their values,<br />
you can update information such as name, description, and type (text, whole numbers, or decimal numbers). Defining attributes are used for SKU resolution,<br />
where each possible combination of attributes and attribute values defines an item. <br />
<br />
--In contrast, descriptive attributes simply provide additional descriptions. For example, some pieces of clothing should only be dry <br />
cleaned, never washed, and a descriptive attribute can specify this dry clean only condition. Note that descriptive attributes are not<br />
used for SKU resolution and are meant to enhance product descriptions, or to provide easy customization for your business specific information. <br />
<br />
Attribute values <br />
Attribute values are properties of an attribute such as a specific color (blue or yellow) or size (small, medium, or large).<br />
You must predefine attribute values before assigning them to items. Each possible combination of defining attributes values defines an item. <br />
<br />
Package attributes <br />
Package attributes must be created from the attributes of the products that are contained within packages.<br />
A package containing only items will have no package attributes. <br />
<br />
Package attribute values <br />
Package attribute values are the values assigned to package attributes. Package attribute values must be created from the attribute <br />
values of the products that are contained within packages<br />
<br />
<br />
Tables<br />
STORECAT -store to catalog<br />
CATTOGRP -catalog to group<br />
CATGRPREL -group to group<br />
CATGPENREL -group to parent<br />
CATENTREL -group to praent<br />
CATENTREL -parent to item<br />
<br />
<br />
URLS---<br />
StoreCatalogDisplay <br />
TopCategoriesDisplay<br />
CategoryDisplay<br />
ProductDisplay<br />
<br />
Commands--<br />
StoreCatalogDisplayCmdImpl-<br />
This command sets the view task that will display the Catalogs available to browse in the current Store.<br />
<br />
TopCategoriesDisplayImpl-<br />
This command sets the view task that will display the root Categories in a specified Catalog.<br />
<br />
CategoryDisplayCmdImpl-<br />
retrieves the configured display page for the specified category in the specified catalog.<br />
<br />
ErrorMissingAttributeCmd-<br />
This error task command is set when a Product to Item resolution fails due to missing product attributes.<br />
<br />
ErrorProductAttributeCmd-<br />
This error task command is set when a Product to Item resolution fails due to incorrect product attributes<br />
<br />
ProductDisplayCmdImpl-<br />
This command retrieves the configured Display Page for the specified CatalogEntry which will in turn be launched in order to<br />
display information about the CatalogEntry.This command first ensures that the CatalogEntry specified by the<br />
ProductId can be displayed in the current store, if published, and is not marked for delete.<br />
<br />
ResolveSkuCmd-Certain catalog entries may need further processing before being added to an order. <br />
An example is resolving a product into an item through SKU resolution, performed by the ResolveSkuCmd task command.<br />
<br />
<br />
DataBeans--<br />
StoreDataBean--extends StoreAccessBean ->salesCatalogs()<br />
CatalogDataBean-extends CachedCatalogAccessBean ->getTopCategories()<br />
CategoryDataBean-extends CachedCatalogAccessBean ->getSubCategories()<br />
CatalogEntryDataBean-extends CachedCatalogEntryAccessBean<br />
ProductDataBean-extends CachedProductAccessBean<br />
<br />
Example <br />
<wcbase:useBean id="catalog" classname="com.ibm.commerce.beans.CatalogDataBean" /><br />
<br />
<br />
JSP<br />
StoreCatalogDisplay.jsp<br />
Index.jsp<br />
-parameters.jspf<br />
-nocache.jspf<br />
TopCategoriesDisplay.jsp<br />
-LayoutContainerTop.jspf<br />
-HeaderDisplay.jspf<br />
-CachedHeaderDisplay<br />
-CachedTopCategoriesDisplay.jsp<br />
-LayoutContainerBottom.jspf<br />
<br />
and more... <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</div>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com0tag:blogger.com,1999:blog-5281366512167177029.post-1515113907491034882011-08-06T17:28:00.000-07:002011-08-06T17:44:43.771-07:00More about TypedProperty<div dir="ltr" style="text-align: left;" trbidi="on"> TypedProperty<br />
<ul style="text-align: left;"><li> Which extends HashTable</li>
<li> Implements Serializable</li>
<li> com.ibm.commerce.datatype.TypedProperty </li>
<li> TypedProperty(),</li>
<li>TypedProperty(int initialCapacity),</li>
<li>TypedProperty(int initialCapacity, float loadFactor)</li>
<li>TypedProperty(Hashtable hTP) are constructors</li>
<li>example</li>
<li> TypedProperty rspProp = getRequestProperties();</li>
<li>rspProp.put("catalogId","10051");</li>
<li>Located in Enablement-BaseComponentLogic.jar</li>
</ul></div>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com1tag:blogger.com,1999:blog-5281366512167177029.post-28423997544782534422011-08-06T16:49:00.000-07:002012-05-28T18:46:06.292-07:00All about Organization Structure<div dir="ltr" style="text-align: left;" trbidi="on">
<div closure_uid_drlbpn="108">
About wcs Organization Structure:<br />
The WebSphere Commerce organization structure provides a framework for the actors, or entities, in your business scenario. This framework is organized in a hierarchical structure, which mimics typical organizational hierarchies with entries for organizations and organizational units and users.The organization structure and the access control model, are closely related, in that the access control model applies access control policies to organizations rather than to individual entities (stores, customers, administrators and so on).The policies that apply to an entity (or resource) are applied to the organizations that own the entity or resource.</div>
<div closure_uid_drlbpn="108">
<br /></div>
<div closure_uid_drlbpn="108">
<b>The basic organization structure is</b><br />
(Root organization) --> (Default Organiation)<br />
(site administrator) (customer)</div>
<div closure_uid_drlbpn="108">
<br /></div>
<div closure_uid_drlbpn="108">
<b>Root organization:</b> <br />
The root organization is the top level organization and is its own parent. All organizations in the WebSphere Commerce organization structure are descendents of the root organization. The site administrators are owned by the root organization. </div>
<div closure_uid_drlbpn="108">
<br /></div>
<div closure_uid_drlbpn="108">
<b>Default organization:</b><br />
The default organization is owned by the root organization.<br />
All guest customers and all customers in a consumer direct scenario belong to the default organization.<br />
Customers in a B2B direct or B2B indirect scenarios should not be placed under the default organization, <br />
but rather in the appropriate buyer organization. B2C users under the default organization can be managed by an administrator in WebSphere Commerce Accelerator.Business users outside of the default organization can be managed in the Organization Administration Console.Do no create stores under the default organization. Instead, create stores under a separate organization, such as the seller organization</div>
<div closure_uid_drlbpn="108">
<br />
<b>Consumer Direct Organization structure</b><br />
Root--Seller Organization--B2COrganization<br />
Root--Default Org</div>
<div closure_uid_drlbpn="108">
<br /></div>
<div closure_uid_drlbpn="108">
<b>B2B Direct Organization Structure</b><br />
Root Organization -Default Organization <br />
Root Organization - Buyer Organization <br />
Root Organization - Seller Organization - B2B Organization <br />
Both Default org and Buyer org will keep the customer data and Seller Organization will keep the store data<br />
A child organizational unit (ou), B2B organization, is created under the seller organization to own the store (Business). <br />
eg : </div>
<div closure_uid_drlbpn="108">
<br /></div>
<div closure_uid_drlbpn="108">
<b>Extended Sites Organization Structur</b>e<br />
Root org -Default Organization (customers who does NOT belogs to any body)<br />
Root org -Buyer Organization (Buyers who represents organizations)<br />
Root org -Seller Organization<br />
-B2C - Store A<br />
-B2B - Store B</div>
<div closure_uid_drlbpn="108">
<br />
Root Organization -Extended Sites Organization - <br />
-Extended Sites hub Organization (Channel adminstrators,Hub store)<br />
-Store directory Organization (Store Directory)<br />
-Asset Store Organization<br />
-Catalog Asset Store<br />
-Consumer direct storefront asset store<br />
-B2B direct storefront asset store</div>
<div closure_uid_drlbpn="108">
<br /></div>
<div closure_uid_drlbpn="108">
</div>
</div>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com2tag:blogger.com,1999:blog-5281366512167177029.post-73337424740406759082011-08-04T19:11:00.000-07:002011-08-11T11:16:31.833-07:00All about BCS or Business Context Services<div dir="ltr" style="text-align: left;" trbidi="on"><div closure_uid_vhcxe6="114"><b>About Business Context in WCS</b><br />
In previous releases, the context information was stored in the Command Context object.<br />
With the introduction of Business Context in this release, this information are now stored in various business contexts. Command Context becomes a helper class that wraps on top of these business contexts. <br />
<div closure_uid_rx246u="93">One can directly retrieve the same piece of information by retrieving the appropriate business context by using the CommandContext.getContext(businessContextName) method. </div>Information that is not available from business contexts, remains available and local to the Command Context object. <br />
A command can get the following key information from the command context<br />
Or<br />
Contextual informations are encapsulated in to different Business Contexts. Such as EntitlementContext, CommandContext etc<br />
BCS(Business Context Services) manages information used by Business Contexts</div><div closure_uid_vhcxe6="115"><br />
<b>What is Context?</b></div><div closure_uid_vhcxe6="115"><br />
</div><div closure_uid_vhcxe6="123"><b>What is Business Context Services?</b> The business context service manages contextual information used by business components. <br />
The information is encapsulated within different types of business contexts. <br />
This process formalizes the context infrastructure and fosters reuse between different business models</div>What is Business Context<br />
<div closure_uid_vhcxe6="116"><br />
<b>What is Command Context?</b><br />
Commands can obtain information using the command context. <br />
Examples of information available include the user's ID, the user object, the language identifier, and the store identifier. When writing a command, you have access to the command context by calling the getCommandContext() method of the command's superclass. The command context is set to the controller command when the command is invoked by the component facade. A controller command should propagate the command context to any task or controller commands that are invoked during processing</div> BaseContext baseContext = (BaseContext)getCommandContext().getContext(BaseContext.CONTEXT_NAME);<br />
baseContext.getRunAsId();<br />
baseContext.getStoreId()<br />
baseContext.getUserId()<br />
baseContext.getUser()<br />
baseContext.getStore()<br />
GlobalizationContext globalizationContext = (GlobalizationContext)getCommandContext().getContext(GlobalizationContext.CONTEXT_NAME);<br />
globalizationContext.getLanguageId();<br />
globalizationContext.getCurrency(); <br />
getCurrentTradingAgreements() <br />
getCurrentTradingAgreements(CommandContext)<br />
<br />
<div closure_uid_vhcxe6="117"><br />
<b>List all type of Business Context</b> public interface Context<br />
public interface CommandContext<br />
public class PromotionContext<br />
public interface BaseContext<br />
<br />
BaseContext <br />
This context contains the basic attributes that an activity needs, such as store ID, caller ID, and the run-as ID. <br />
<br />
EntitlementContext <br />
Contains the contract information associated with the user<br />
This context holds information about entitlement criteria, such as reduced prices for gold club membership. <br />
<br />
GlobalizationContext <br />
Contains the globalization/locale information assosiated with the session<br />
This context helps components determine locale-specific information such as what language a message should be rendered in, or <br />
what currency should be used in the calculation of a price. <br />
<br />
ContentContext <br />
If Workspaces are enabled, this context determines the content or business objects that can be displayed or edited based on<br />
versioning information. <br />
<br />
TaskContext <br />
If Workspaces are enabled, this context determines which task an administrator is currently performing. <br />
<br />
AuditContext <br />
This context is usually provided by third party components. You might want to bridge the gap to the third party interface instead of programming to it directly. This context enables you to connect to a different vendor's implementation of the service in the future without the need to rewrite your component. <br />
<br />
PreviewContext <br />
The preview context is the attempt to solve both problems by allowing multi-users to validate independent content without influencing other users and ensuring the content does not required additional changes after validation. In order to achieve this, a context object will be associated with the preview operation that will represent the state information that will be used when deciding the content to preview along with other external events. By associating a preview context with an activity, operations can use this content state information as a basis to decide what content to display. To solve the date issue, the preview context will contain the preview date which will be used to render the content to be display. By having activities having a unique preview context, this will allow multiple users to preview independent content without having to change content data or global system state information. <br />
<br />
ExperimentContext <br />
ExperimentContext is used to store the result of all active experiments for individual users, where result is a<br />
system-generated number which determines the control or test element to be selected in the experiment. <br />
This information is persisted throughout the user session, so the same result will be used in<br />
the same session without re-generation of the number. <br />
<br />
CatalogContext <br />
This context contains information related to the catalog in the current session, such as the catalog ID, the catalog owner, <br />
and whether this is a master catalog or not. <br />
<br />
GiftRegistryContext <br />
This context contains gift registry information for a user in the current session, such as a list of gift registries that the user has accessed, the relationship the user has to specific gift registries (gift giver, registrant or coregistrant), and the external ID of the gift registry the user is currently managing</div><div closure_uid_qhg7ap="106" closure_uid_vhcxe6="118"><br />
BipinContext !!<br />
No kidding.. It is possible You can create your own Context. Read the steps given below<br />
<br />
</div><div closure_uid_vhcxe6="118">Examples of Business Context and how to use it?</div><br />
How to create new Business Context?<br />
<br />
<div closure_uid_vhcxe6="119">Business Context configuration file?<br />
Default business contexts are defined in the xml/config/businessContext.xml file. <br />
The location of the file is defined in the BusinessContextService/BusinessContextConfigFile attribute in <br />
WebSphere Commerce configuration file (xml/wc-server.xml). <br />
Multiple file locations separated by commas are allowed for this attribute to support component-based development. That is, when creating a new business context, instead of modifying the default configuration file, you can define it in a separate file and append it to the end of the BusinessContextConfigFile attribute on the BusinessContextService element.<br />
This implementation allows for future upgrade to the businessContext.xml file without affecting the business context that you have registered.<br />
<br />
Refer details here<br />
http://www.ibm.com/developerworks/websphere/tutorials/0701_deluca/section6.html</div></div>M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com2tag:blogger.com,1999:blog-5281366512167177029.post-3447999291424779212011-05-18T14:57:00.000-07:002012-10-21T14:02:39.290-07:00What you Know about EDPOrder ?<div dir="ltr" style="text-align: left;" trbidi="on">
<div closure_uid_qecay8="111">
Noting ?? no probs.. </div>
here is the answer.. .<br />
<ul>
<li>An <span class="resultofText" name="resultofMatch"><span class="resultofText" name="resultofMatch">EDPOrd</span>er</span> can be seen as a portion of the complete order container. The orders subsystem part is the one that handles order items, taxes, etc. The <span class="resultofText" name="resultofMatch"><span class="resultofText" name="resultofMatch">EDPOrd</span>er</span> is the portion that handles the payments part only.</li>
<li>EDPOrder will provide the status of the task working on a payment action in backgroud</li>
<li>Copying from another blog</li>
<li><div class="MsoNormal" style="margin-bottom: 0pt;">
<span style="font-family: "Arial", "sans-serif";">At the time of adding item to shopping cart ORDERS,ORDERITEMS and EDPORDER will get populate</span></div>
</li>
<li><div class="MsoNormal" style="margin-bottom: 0pt;">
<span style="font-family: "Arial", "sans-serif";">Based on the customer payment selection in the order there is a payment instruction record will create in EDPPAYINST</span></div>
</li>
<li><div class="MsoNormal" style="margin-bottom: 0pt;">
<span style="font-family: "Arial", "sans-serif";">In the code, EDP Order data is retrieved using the EDPServices as shown below.</span></div>
</li>
<li><div class="MsoNormal" style="margin-bottom: 0pt;">
---Rest is copyed from chetan;s blog.. here .. </div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<span style="font-family: "Courier New"; font-size: 8pt; line-height: 115%;">EDPOrderData edpOrderData = EDPServices.getServices().getOmfAccessor().getOMF().getEDPOrder(new Long(getOrderId()), Integer.valueOf(storeId));</span></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<span style="font-family: "Courier New"; font-size: 8pt; line-height: 115%;">Long edpOrderId = edpOrderData.getOrderKey();</span></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<span style="font-family: "Arial", "sans-serif";">We get the EDP order payment instructions through the following</span></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<span style="font-family: "Courier New"; font-size: 8pt; line-height: 115%;">SortedSet pis = EDPServices.getServices().getOmfAccessor().getOMF().getPis(edpOrderId);</span></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<span style="font-family: "Arial", "sans-serif";">Using<b> </b>the payment instruction returned, you can get the details like amount, payment method, etc.</span></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<span style="font-family: "Arial", "sans-serif";">Orders data can be accessed using the websphere commerce OrderAccessBean and order details using OrderItemAccessBean</span></div>
<div class="MsoNormal" style="margin-bottom: 0pt;">
<br /></div>
<span style="font-family: "Arial", "sans-serif"; font-size: 11pt; line-height: 115%;">There is a PPCPAYINST table which stores the value object Payment Instruction in WCS which contains information for payment plugins to process the final payments. Payments for a specific payment method can only be charged upto a maximum specified by the AMOUNT column in PPCPAYINST table. PPCEXTDATA contains non-standard data specific to a payment method. For example, paymentexpress might have some non-standard protocol data which is stored in here</span></li>
</ul>
<div>
<span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span></div>
<div>
<ul style="text-align: left;">
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><b>Payment Tables </b></span></span></li>
<li><span style="font-family: Arial, sans-serif; font-size: 15px; line-height: 17px;">POLICY</span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;"></span></span></li>
<li><span style="font-family: Arial, sans-serif;">ORDPAYMTHD</span></li>
<li><span style="font-family: Arial, sans-serif;">ordpayinfo</span></li>
<li><span style="font-family: Arial, sans-serif;">paysummary</span></li>
<li><span style="font-family: Arial, sans-serif;">POLICYTYPE</span></li>
<li><span style="font-family: Arial, sans-serif;">EDPPAYINST</span></li>
<li><span style="font-family: Arial, sans-serif;">EDPORDER</span></li>
</ul>
</div>
<div>
<span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span></div>
<div>
<ul style="text-align: left;">
<li><span style="font-family: Arial, sans-serif; font-size: 15px; line-height: 17px;"><b>Payment flow</b></span></li>
<li></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Customer select payment method(VISA) from store front</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">OrderProcess invokes PrimePayment task command</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">select * from policy table where where policyname='visa'</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">update the EDPOrder table</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">PrimePayment task command calls the Payment rules engine</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">Payment rules engine determines the Action that needs to be performed</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">The Action (wrapped into event) is passed to the Payment plug-in-controller</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">The payment plug-in controller determines the plug-in to be used</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">The Action is invoked agaist the plug-in</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">The plug-in interacts with payment service provider </span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">All configures are there in </span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;">xml/config/payment(s)/paymentmapping.xml,*.xml</span></span></li>
<li></li>
</ul>
</div>
<div>
<span style="font-family: Arial, sans-serif;"><span style="font-size: 15px; line-height: 17px;"><br /></span></span></div>
</div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com1tag:blogger.com,1999:blog-5281366512167177029.post-42183451867827852662011-05-17T13:40:00.001-07:002012-10-22T19:11:04.454-07:00WebSphere Commerce Order Flow process<div dir="ltr" style="text-align: left;" trbidi="on">
<strong>WCS Order management flow</strong><br />
<strong>Place an order.</strong><br />
<ul style="text-align: left;">
<li>A customer(use store front) or an administrator(Use accelerator/MC) who has the authority to act on behalf of the customer places an order with the store.</li>
<li>While adding items to shopping cart order status will be Pending state</li>
</ul>
<strong>Check out:</strong><br />
<ul style="text-align: left;">
<li>After the shopper completes the order checkout sequence, the order moves from a Pending state (P) to M state (pending payment approval). Here the order can also go into the state of M or C (for some payment method) or L (no inventory and no back order) or B (some backordered orderitems).</li>
<li> When the order checkout sequence is complete the order moves to one of the following states: </li>
<ul>
<li> A:Payment authorization requires review </li>
<li> B:Backordered </li>
<li> C:Payment authorization complete </li>
</ul>
</ul>
<strong>Order Approval</strong><br />
<ul style="text-align: left;">
<li>B2B required Order Approval , B2C not required</li>
<li>Approve payment for the order, if required. Payment methods such as COD (Cash on Delivery) and Bill Me do not need approval. </li>
</ul>
<strong>Order Process</strong><br />
<ul style="text-align: left;">
<li>If the order contains products that are to be backordered, then it moves to state B (backordered). </li>
<li>Orders can be backordered with the command ProcessBackorders, or by a scheduler. </li>
<li>For reauthorization, the order goes back to state M or a state such as A, I, B, or C. After a backorder is approved, it should be allocated and not reordered, or else it may go back for approval again. </li>
<li>Order process includes following task -<u><strong>using accelerator </strong></u></li>
<ul>
<li>Finding Order</li>
<li>Change the quantity of the product in the order</li>
<li>Changing the purchase order number for an order in a B2B direct store</li>
<li>Add/Remove a product to an order</li>
<li>Selecting another shipping address/Shipping method/billing address for an order</li>
<li>Changing the total price of an order</li>
<li>Editing an order level adjustment</li>
<li>Changing the payment options/payment processing for an order</li>
<li>Add comments</li>
<li>View -Order summary/payment status/Order invoice </li>
<li>Cancel the orders</li>
<li>Apply Order Blocks</li>
</ul>
</ul>
<strong>Order Release:</strong><br />
<ul style="text-align: left;">
<li>Release the order to fulfillment. The Scheduler Job ReleaseToFulfillment releases the orders to fulfillment.</li>
<li>When all order items for the order are released, the order moves to state R (Released). </li>
</ul>
<div>
<strong>Order Fullfillment:</strong></div>
<ul style="text-align: left;">
<li>Create a pick batch for all orders released to the specified fulfillment center using Websphere commerce Accelerator</li>
<li>View and print pick tickets. </li>
<li>View and print packaging slips. </li>
<li>Pick and pack products specified in the pick ticket and packing slip. </li>
<li>Create package. </li>
<li>Ship goods. Ship the order to the customer. (No action from wcs)</li>
</ul>
<strong>Order Completion:</strong><br />
<ul style="text-align: left;">
<li>Confirm shipment has been sent. When all order items are shipped, the order moves to S (Shipped) status. </li>
<li>Finalize the order. </li>
<ul>
<li>The BalancePayment scheduled job initiates payment deposit. The order state moves to D (Deposited). </li>
<li>The OrderClose checks whether the shipped order is totally deposited. If YES, the order status is changed to 'D';</li>
<li>OrderPaymentSynchronize:Checks whether the order is totally authorized. If YES, the order status is changed to 'C'</li>
</ul>
</ul>
Note:<br />
Order Process flow another look<br />
<a href="http://www.albeesonline.com/blog/category/websphere/websphere-commerce-websphere/">http://www.albeesonline.com/blog/category/websphere/websphere-commerce-websphere/</a><br />
<br />
<div closure_uid_cougzh="95">
<div closure_uid_1q3xdb="104">
Some Order Command tips:</div>
<div closure_uid_1q3xdb="104">
<br /></div>
<div closure_uid_1q3xdb="104">
<strong>OrderItemAddCmdImpl</strong></div>
</div>
<div closure_uid_1q3xdb="112" closure_uid_cougzh="95">
<div closure_uid_1q3xdb="105">
Call ResolveSKUCmdImpl:<br />
+--Check the product attributes and based on that values locate the items , which is ready for order<br />
-check catentry is buyable or not<br />
-Check customer is entitlement to buy this catentry id<br />
-if all above params correct contine<br />
-if fails but continue=1 then skip to next order<br />
-if orderitemId is provided update the<br />
-if partnum/catentry provided new orderitem id<br />
-if address_id not specified use default(P,nickname)<br />
-if quantity is 0 delete<br />
-if shipmod id not availabnle use default<br />
-Call GetContractUnitPriceCmd to calcuate the price<br />
-OrderItemUpdateCmdImpl</div>
<div closure_uid_1q3xdb="105">
-OrderCreateCmdImpl</div>
<div closure_uid_1q3xdb="105">
-UpdateShippingAddressCmd<br />
+--call findAddressIdForOrderItem() to find the shipping address for orderitem<br />
+--call ValidateOrderAddressCmd to validate billingaddress and shipping address<br />
+--updateShippingAddress() </div>
<div closure_uid_1q3xdb="105">
-ValidateTradingPaymentCmd<br />
+--This command checks whether the payment method to be added comply with the BOPIS (Buy Online Pick In Store) rules. </div>
<div closure_uid_1q3xdb="105">
-DoInventoryActionCmd<br />
+--To do all inventory operations<br />
+--There are 10 usages identified as interfaces between the order commands
and this interface command.<br />
+--For every usage, different parameters are
required<br />
+--Action and parameters together will help to do further processing</div>
<div closure_uid_1q3xdb="105">
-UpdateShipInfoCmdImpl<br />
+--Update SHIPINFO table(ship carrier act number,ship charge type,ship instructions,ship mod)</div>
<div closure_uid_1q3xdb="105">
-RaiseOrderEventCmdImpl<br />
+--This Order task command is used to raise an order related event<br />
+--raiseOrderCancellationEvent()<br />
+--raiseOrderItemUpdateEvent()</div>
<div closure_uid_1q3xdb="105">
<b>OrderCalculateCmdImpl</b><br />
<span class="Apple-style-span" style="font-family: monospace;"></span><br />
<span class="Apple-style-span" style="font-family: monospace;">This command is called by OrderItemBaseCmdImpl and OrderItemDeleteCmdImpl to refresh the order price, charges and freebie items after Add, Update and Delete order item.</span><br />
<span class="Apple-style-span" style="font-family: monospace;">The default implementation of this command is OrderCalculateCmdImpl. But in out-of-the-box CMDREG table, the implementation of this command is mapped to PromotionEngineOrderCalculateCmdImp</span><br />
<br />
-Unlock the order<br />
-initialize the specified CalculationUsages that are enabled<br />
-if RulesBasedDiscount component is enabled<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-call discount service to obtain the list of catalogentry to add to order<br />
-if ATP is disabled and there is insufficient inventory<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-remove catalogentry from the list<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-add catalogentry identifier to outOfInventoryCatalogEntryId list<br />
-Recalculate specified calculation usages<br />
-call the OrderItemAdd<br />
-update the productTotal attributes of the Order and its OrderItems<br />
-update the SubOrders for the Order<br />
-apply the specified CalculationUsages that are enabled<br />
-summarize the specified CalculationUsages that are enabled<br />
-Finally, call the setResponseProperties() method.<br />
-ResolveOrderCmd<br />
-Promotion engine to determine the catalog entries to add<br />
-Recalculate Order</div>
</div>
<div closure_uid_cougzh="105">
<strong>OrderPrepareCmdImpl</strong><br />
-prepare order by<br />
-determine prices<br />
-discounts<br />
-shipping charges<br />
-shipping adjustment<br />
-taxes<br />
-Lock the order(1)<br />
-ensure all orderitems are buyable<br />
-update order item address<br />
-update order item validation<br />
-update order item prices<br />
-update order item total<br />
-update auto added order items<br />
-check order inventory<br />
<strong>OrderProcessCmdImpl</strong><br />
<br />
OrderPrepareCmdImpl<br />
-Prepares the orders for Display(OrderDisplayCmd)<br />
-Prepares the orders for OrderProcess<br />
-if no orderId then use Current pending order<br />
-Default error view OrderNoneErrorView<br />
-if commit=1 start new db transaction for every order<br />
-status should P WINE (bipins formula :)<br />
-Call PrepareOrder task command<br />
--Delete generated orderitems(PREPAREFLAG)<br />
--check CATENTRY.BUYABLE=1<br />
--If ATP inventory allocation is enabled/disabled, call the DoInventoryActionCmd<br />
--Call the ValidateDynamicKitConfiguration task command.<br />
--Obtain new unit price(GetContractSpecialPrice/GetBaseSpecialPrice)<br />
--Do not refresh prices for order items whose prepareFlags attributes specify "quotation<br />
-prepare order by<br />
-determine prices<br />
-discounts<br />
-shipping charges<br />
-shipping adjustment<br />
-taxes<br />
-lock the order<br />
-ensure all orderitems are buyable<br />
-update order item address<br />
-update order item validation<br />
-update order item prices<br />
-update order item total<br />
-update auto added order items<br />
-check order inventory</div>
<br />
<br />
<br />
<br />
<br />
<br /></div>
M.T Bipin Kumarhttp://www.blogger.com/profile/17071759766845206847noreply@blogger.com6