Monday, February 24, 2014

WebSphere Commerce Utility examples


Oracle
Coming soon


CloudScape
  • di-preprocess.bat
  • D:\WCDE_ENT70\bin>di-preprocess.bat D:\WCDE_ENT70\search\pre-processConfig\MC_10351\Cloudscape

  • di-buildindex.bat
  • D:\WCDE_ENT70\bin>di-buildindex.bat -masterCatalogId 10351

  • acpload.bat
  • D:\WCDE_ENT70\bin>acpload MyCompanyCatalogAccessControlPolicies.xml

  • enableFeature.bat
  • enableFeature.bat -DfeatureName=management-center
  • enableFeature.bat -DfeatureName=store-enhancements
  • enableFeature.bat -DfeatureName=foundation

  • isRunning.bat
  • isRunning.bat

  • restoreDefault.bat
  • restoreDefault.bat force (optional)

  • setupPlugins.bat
  • setupPlugins.bat

  • resetstores.bat
  • resetstores.bat

  • updatedb.bat 
  • updatedb.bat cloudscape

  • setdbtype.bat
  • setdbtype.bat  cloudscape [createdb]

  • setenv.bat
  • setenv.bat

  • versionInfo.bat
  • versionInfo.bat


  • startWCToolkit.bat
  • startWCToolkit.bat


  • wcs_password <password> <salt> <key>
  • wcs_password bipinkumar <salt from userreg> <merchent key from wc-sever.xml>


  • publishstore.bat
  • publishstore localhost wcsadmin wcsadmin  D:\WCDE_ENT70\starterstores\ConsumerDirect\Aurora.sar

Thursday, February 13, 2014

A Checklist for SEO developers



Let me share the common  problems which required immediate Search Engine optimization

Problem
Solution
WCS
Page title has bad keyword
Provide more relevant keyword in the <title> column
Same
Page header has bad keyword
Provide more relevant keyword in the <head> column
Same
First Sentence of body
The first sentence has more value in the search engine indexes. So create it carefully
Same
Missing meta tag in HTML
Provide necessary meta tag which may keep you ahead in search ranking
Same
Page Content issues
 Keep updating the Content regularly
The data should be relevant for the site
 Same
301 Redirects:
Customer still refer to old URL from bookmark
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.
There are two tables
SEOREDIRECT : This tables hold the old url and new url
SEOREDIRECTTRAFFIC: Used for checking the traffic of redirect rule utilization
404 Issues,410,303,302
Same as 301
Same as 301
Dynamic URL
Change to static URL.
Apply Pattern file and mapper file to map the dynamic url to static values
Refer :SEOURLPatters-Product.xml
Table : SEOURL: Hold the catentry_id, category_id etc
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.
Limitation :  Commerce URL Mapping feature does not handle get and post forms.
Site map
Really a map for crawlers. Entry point for Search engine. This will help the crawler to ensure they cover all pages in your site
There are tools available in the market to create sitemap for you site.  Google also has.
Provide alternative set of pages which is exclusively for crawlers to read and index it
Stop Character in the Link
Associated with Dynamic URL
Avoid stop character in you content /Link everywhere.
Long URL
www.mystore/shop/product name. Keep it short and simple
/webapp/wcs/stores/servlet/ This is irrelevant to both crawlers and end users.
Change /webapp/wcs/stores/servlet/ to /shop in the wc-server.xml in the context in the SEOConfiguration part
Check your httdf.config file. You have to modify webserver level also  
Links matters
Provide enough cross linking between the pages.

Same
Words in Link
Provide good capture for you link rather than full url like
http://kingofwcs.blogspot.com
<a href=” http://kingofwcs.blogspot.com”>wcs Blog</>
Need Tools
Use Google webmaster tool to identify other issues reported from the crawlers
Same
Image Name
Give proper name for each of your image – The name should me matching with your content
Same
Alt message in Image
Provide meaning full message
Same
Invisible Text
Avoid invisible text and tiny text
Same
Keyword stuffing
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 )
Keep relationship between keyword and content

Loading time
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
Same
Dynamic content
Crawlers may not be happy with the dynamic content. Better to reduce it
Same
Image map
Links inside the image . WOW
Beware crawlers may reject it because of the security issues
There are some solutions

Graphics vs. text
Text will take more preference  

Table Structures
Use it but carefully
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,
JavaScript
Use it but carefully
Good link
Frame
Better to avoid this
Flash
Understand then use this
SessionID
If session timeout the page content vanishes.
Rewrite the Sessionid using URL rewriting .But how ? I have to find. It J




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. 




Thursday, February 6, 2014

Things to consider for Install Feature Pack 6 on WCS7.0

Steps to Install Feature Pack 6


  • Install WCS 7.0
  • Install IBM Update Installer version Version: 1.6.2 
  • Install WCS fix pack 7 ( 7.0.0.7)
  • Install WAS fixpack 13 (7.0.0.13 or above)
  • Check point : Try to load Madison store/Management Center. If any issue fix it before proceeding to next step
  • Install the Feature pack 6
  • Republish the server after the installation. (other wise your application may not work )
  • Execute below commands to enable the feature pack:
    • enableFeature.bat -DfeatureName=management-center
    • enableFeature.bat -DfeatureName=store-enhancements
    • enableFeature.bat -DfeatureName=foundation
  • If any issues restoreDefault.bat  and execute enableFeature.bat steps


For a successful build below message will be in \toolkitfolder\logs\enableFeature.logBUILD SUCCESSFUL

Optional : Public Aurora store

Tuesday, February 4, 2014

Feature Pack 6 - Page layout A Quick View

Prerequisites
      -> Your workspace should be in  the same version given below
      IBM WebSphere Commerce Version                  7.0.0.0
      WCS Fix paack Version 7.0.0.13 or above
      Feature pack Version 6.0.0.0
      -> Publish Aurora Starter store


Let me explain the quick way to implementing the page layout with new template

a) Create new file(MyNewHomePage) by copying form Stores/WebContent/Aurora/Layouts/HomePage.jsp

b) You can add or delete the widgets on this file.Make sure you are not braking the flow

c) Update the PAGELAYOUT  table with your query 

d) updaet Struts-config-ext.xml with your new view say - MyNewHomePageLayoutView with <forward> and <action>

e) Do acpload for above view

f) Open management cetner and check the newly crated teamplate

g) Assign the newly created template to the template type (HomePage). Provide necessary start date and end date

h) Refresh your Aurora store


Note:
FEP 5 also come with page layout .It is better to go with FEP6 due to enhanced features and bug fixing
WCS fixpack 13 or above and Feature pack 6 itself it enough for enabling the Page layout tool
Once you installed the FEP 6, make sure you enable the following components
enableFeature.bat -DfeatureName=management-center
enableFeature.bat -DfeatureName=store-enhancements
enableFeature.bat -DfeatureName=foundation

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

Page Review option in the FEP 6 is closing working with Page layout. This will help the business users to edit there content easy


Monday, October 7, 2013

JDBC Helpers in Commerce


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 .
How ? :
Create new datasource in your was console .
Use below method to execute the query by passing the datasource name (don;t pass jdbc/) and report query
Vector executeQuery(String dsName, String queryString)


ServerJDBCHelperAccessBean : Good to use if you want to connect same database where u r wcs tables are running

BaseJDBCHelper:
BaseHelper: You can use ds name/username/password and get the datasource connection



Thanks
Bipin



Sunday, October 21, 2012

how to copy one user details to another user?

I feel this is a very interesting feature..

1.How will you move the shopping cart details of the guest user to register user after login?

2.How you will move guest users shopping list to register user?

3.How you will move guest user Address to the Registered user ?

One of the solution is :  MigrateUserEntriesCmdImpl


This task command is used to migrate resources owned by one user to another.
The mandatory resources that are migrated are Addresses, Current Orders, Interest Items, Order Items, Orders, and Order templates.


Some of the methods are :
    migrate address
    migrate orders
    migrate coupons
    migrate current orders
    migrate experiment results
    migrate interest item list
    
    hope this will work out.......

Tuesday, May 29, 2012

DynaCache

Coming . soon

I am back  after a short break..
So many things we can discuss here on caching..let me draft the document
Draft v1.0


Dynacache :Advantages/Disadvantages
IBM WebSphere eXtreme Scale -WXS:
EHCache
Jboss cache :
infinispsan cache :
JBOSS DATA GRID (JDG) :

Let us go through  all market leaders ..

But before jumping to any caching.. we should familiar with some caching terminology

such as.. 
Cache id :A unique key to represent any cache object in the cache server
cache expire :Define a time period for any cache to expire 
Cache eviction :If cache is reached it maximum capacity.. apply some rule to remove the some of items to place new items
normally using some algorithm called.. LRU .. etc
invalidation :Invalid the cache id if the data in the cache is not sych with the source system
and..what else.. .

Why wee need caching /Or what time we should think about caching?
- If the cost of any object creation is too heavy 
- if any object is very frequently using/accessing
- if multiple users are using same object 
ya that object/component is eligible for caching.. 

Starting with Dyna cache...

Dyna cache:

This is a in-memory caching mechanism from IBM which is commonly using in the websphere app server
Dynacache is non-transactional and replicated caching system

Dyna cache supports - 
Servlet/JSP object caching, Command level caching.. 
Full page caching
Fragment caching
Data invalidation support
Cache monitoring mechanism
Fine.. that is a 100 feet level view of dynachahe. Let us go in deep

consume-subfragment
do-not-cache
do-not-consume
timeout
Servlet/JSP object caching:  The output of servlet/jsp will be cached against the cacheId

Tuesday, May 15, 2012

A Quick view - ATTRIBUTE DICTIONARY



The Story:
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.


Business Solution:
WCS provides a feature to keep set of common attributes that can be reused by multiple products- called as Attribute Dictionary

The Features:
-Control the product searchable ,comparable and displayable feature by changing the value in ATTR table
-Reduced data loading because attributes is saved in only one location
-Easy to manage the attributes
-Single Attribute dictionary is allowed for a given store. Under each Attribute dictionary you can upload any number of attributes
-Use the massload utility to upload to attribute dictionary


Data Model

ATTRDICGRP(attribute dictionary group)               -Define a attribute dictionary group
ATTRTYPE(attribute type)                                      -Define attribute type
ATTRDICTGRPATTRREL(attrdictgrp_id,attr_id)   -relation table for group and attribute
ATTRDICT(Attribute Dictionary- only one for given store)      -Dictionary - only one for given store
ATTR(attribute dictionary attributes-attr_id,attrtype_id,attrdict_id)   -Define any number of attributes
ATTRDESC                       -About the attribute
ATTRVALDESC(attrvalid)                             -Language sensitive attribute value description.)
CATENTRYATTR(catentry_id,attrid,attrvalid) -Relation table catentry-attribute and attrvalue

+ Feature pack 4 has this feature                            

Wednesday, May 9, 2012

OAuth Implementation in WCS

What is OAuth?
OAuth is an open standard for authorization. It allows users to share their private resources
(e.g. photos, videos, contact lists) stored on one site with another site without having to hand out their credentials,
typically supplying username and password tokens instead. Each token grants access to a specific site
(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).
This allows a user to grant a third party site access to their information stored with another service provider,
without sharing their access permissions or the full extent of their data.
Ref: http://en.wikipedia.org/wiki/OAuth

Why OAuth?
The OAuth protocol allows third-party applications to identify and authenticate themselves with a content provider.

Sample business scenarions?
1)You have purchased a product from Walmart online .and adding comments there
These comments will can be shared in the Facebook/twitter.

2)You have placed an online order for eBook "The Da Vinci Code" .You need this ebook on Your eReader application
Here the fullfillment details will be send to the concerned vendor and vendor will do order fullfillment for you

3)
You have added some game application on your Facebook
The game app will ask you to share some public informtion from Facebook



Advantages:?
High Business demands.
Share only the subset of the data with third-party applications
The end user has total control over the data
Secured data is not shared across third-party applications .
Limited access to secured data.
High securiy.
Very suitable on Web based application
Highly demanding the social commerce
No need to share the Username and password to third-party applications
etc etc


Overview?
There are manly 3 actors in this game

1.User- The end user (That is you :))
2.Vendor- Service Provider .Who actually holds your secure data such us credit card,personal info, photos etc.(eg: facebook)
3 Client- Consumer.Any Third party applications such as ecoomerce site, game applications etc


Game Rules
1. User  purchased items from the client(Third party applications)
2. User wants to use the data which is stored in the Vendor  side
3. CLient sends request to the Vendor to provde the secure data(limited access)

NB: Here user should register in both Client side and Vendor side

Action : 
User logged into Client side and make a link to the Vendor site
Vendor will do the authentcaion of the user and ask permission to the user to provide the temporary key to the client

User approves the permission(Client Authorization )

Vendor send a temporary key(life time is 10-20 mins) to Client

Client receives the temporary key and request a permanant key to the vendor with Client secret

Vendor validate the temporary key, client secreat then provide valid key with limited accees to the Client(valat key)

Client receives this valet key and saved in client location(DB,LDAP, etc)

CLient make a link with vendor and request for information(limited)

There will be mechanism to revoke the valet key as per the neeed





.

Thursday, November 17, 2011

Know about .keyring

.keyring
If you want to clear the existing password of SVN from RAD. then delete above file from
<<Rad installation locatoin>>eclipse\configuration\org.eclipse.core.runtime location

Thanks to Uma :)

Thursday, September 8, 2011

Read about OrderTrashCan

OrderTrashCan is a feature in WCS
  • This feature is ......?.......by default in v7
  • This feature is enabled by default in v6
  • 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.
  • If enabled, these rows are updated to belong to the trashcan. .
How to enable?
  • Edit the wc-server.xml with below entry
  • TrashCanEnabled="true"/>
OrderTrashCanClear
  • You can clear the trashcan by running the OrderTrashCanClear scheduled job which will delete the rows, or by using the Database Clean up utility

All about Schedules :

Tables

#SCHCONFIG
This table contains all scheduled job entries.
scchost -the host name of the instance on which the scheduled job will be run
sccpathinfo-the command name
sccquery-query string for the scheduled command.

#SCHACTIVE
The list containing what job will need to be run and the time when the job should execute
schactive.scsjobnbr =schconfig.sccjobrefnum

#SCHSTATUS
This table is a log of the status of scheduled jobs
schstatus.scsjobnbr =schconfig.sccjobrefnum
scsstate:state of the scheduled job.
scsresult: result of job: success or fail.

#SCHERRORLOG
This table contains the exception information when a job fails to execute successfully.
#SCHORDERS
This table contains the entries for scheduled orders

#SCHBRDCST
This table is used to log the status of broadcast commands for each of the clones
schbrdcst.scsjobnbr =schconfig.sccjobrefnum

#SCHCMD
The URLsthat can be used as a scheduled job by a store. This is for the Scheduler menu in the Administration Console.
supporting tables:CHKARRANG/CHKCMD

Friday, August 19, 2011

All about Registry in WCS

How to create your own Registry
 -Create a classfile which implements com.ibm.commerce.registry.Registry
 --public abstract interface Registry
 --public abstract void initialize()
 --public abstract void refresh()
What are the methods required in side the Registry
 -initialize() --call refresh method
 -refresh() --load the values

what is the  registry Entry in side the  wc-server.xml ?
<Registries>
 <registry  name="BipinRegistry" regClassName="com.xxx.BipinRegistry" />
</Registries>

How to invoke the registry from controller command
 -MyNewRegistry myregsty= MyNewRegistry (RegistryManager.singleton().getRegistry(MyNewRegistryname ));

When registry will load
 -While starting the server ,registry will initialize

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 Struts Configuring, the UrlRegistry has to be refreshed. Otherwise, the WebSphere Commerce runtime environment will not recognize the new URL.

Most commonly using registry: URLRegistry, Promotion Regisry

Wednesday, August 17, 2011

WebSphere Commerce business models



  • Direct sales
    • Consumer direct (B2C)
    • Business to business direct (B2B)
  • Scalable direct sales
    • Extended Sites
  • Value chain
    • Demand chain
    • Supply chain

Sunday, August 7, 2011

Catalog - MasterCatalog. SalesCatalog. and all

Catalog
The catalog subsystem is a component of the WebSphere Commerce Server that provides online catalog navigation, partitioning, categorization, and associations. In addition, the catalog subsystem includes support for personalized interest lists and custom catalog display pages. The catalog subsystem contains all logic and data relevant to an online catalog, including catalog groups (or categories), catalog entries, and any associations or relationships among them

Different between product and item?
A product, however, is a group of items that exhibit the same attributes.
For example, a hammer is a product, while the 15 inch hammer with a wooden handle is an item
An item is a tangible unit of merchandise that has a specific name, part number, and price.
For example, a 15 inch hammer with a wooden handle (part number 15) is an item.
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,
if applicable

About Master Catalog:
The master catalog is the central location to manage your store's merchandise.
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
You can share the master catalog across stores and define as many stores as needed.

About Sales Catalog
A sales catalog is a subset of the merchandise and services found in the master catalog.
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


Loading the catalog:
-Product Management tools in the WebSphere Commerce Accelerator
-loading utilities to mass load the catalog

Catalog entries
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.

Products
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.

Items
An item is a tangible unit of merchandise that has a specific name, part number, and price.
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.
Note: For WebSphere Commerce Accelerator users, the terms items and SKUs are considered synonymous.
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.

Bundles
A bundle is a collection of catalog entries to allow customers to buy multiple items at once.
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.

Packages
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.
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.

Dynamic kits
A dynamic kit is a type of catalog entry which can be dynamically configured by the customer.
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.

Static kits
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.

Product sets
Product sets are associated with published catalog entries.
A product set provides a mechanism to partition your catalog into logical subsets.
This partitioning allows you to show different parts of your catalog to different users.
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.

Attributes
Attributes are properties of products in an online store. There are two types of attributes:
--Defining attributes are properties, such as color or size. Attribute values are the property of an attribute such as a specific color
(blue or yellow) or size (medium). You must predefine attribute values before assigning them to items. Attribute values are implicitly related
to their attributes. Each possible combination of attributes and attribute values equals a new item. After creating attributes and their values,
you can update information such as name, description, and type (text, whole numbers, or decimal numbers). Defining attributes are used for SKU resolution,
where each possible combination of attributes and attribute values defines an item.

--In contrast, descriptive attributes simply provide additional descriptions. For example, some pieces of clothing should only be dry
cleaned, never washed, and a descriptive attribute can specify this dry clean only condition. Note that descriptive attributes are not
used for SKU resolution and are meant to enhance product descriptions, or to provide easy customization for your business specific information.

Attribute values
Attribute values are properties of an attribute such as a specific color (blue or yellow) or size (small, medium, or large).
You must predefine attribute values before assigning them to items. Each possible combination of defining attributes values defines an item.

Package attributes
Package attributes must be created from the attributes of the products that are contained within packages.
A package containing only items will have no package attributes.

Package attribute values
Package attribute values are the values assigned to package attributes. Package attribute values must be created from the attribute
values of the products that are contained within packages


Tables
STORECAT     -store to catalog
CATTOGRP    -catalog to group
CATGRPREL    -group to group
CATGPENREL    -group to parent
CATENTREL    -group to praent
CATENTREL    -parent to item


URLS---
StoreCatalogDisplay
TopCategoriesDisplay
CategoryDisplay
ProductDisplay

Commands--
StoreCatalogDisplayCmdImpl-
This command sets the view task that will display the Catalogs available to browse in the current Store.

TopCategoriesDisplayImpl-
This command sets the view task that will display the root Categories in a specified Catalog.

CategoryDisplayCmdImpl-
retrieves the configured display page for the specified category in the specified catalog.

ErrorMissingAttributeCmd-
This error task command is set when a Product to Item resolution fails due to missing product attributes.

ErrorProductAttributeCmd-
This error task command is set when a Product to Item resolution fails due to incorrect product attributes

ProductDisplayCmdImpl-
This command retrieves the configured Display Page for the specified CatalogEntry which will in turn be launched in order to
display information about the CatalogEntry.This command first ensures that the CatalogEntry specified by the
ProductId can be displayed in the current store, if published, and is not marked for delete.

ResolveSkuCmd-Certain catalog entries may need further processing before being added to an order.
An example is resolving a product into an item through SKU resolution, performed by the ResolveSkuCmd task command.


DataBeans--
StoreDataBean--extends StoreAccessBean ->salesCatalogs()
CatalogDataBean-extends CachedCatalogAccessBean ->getTopCategories()
CategoryDataBean-extends CachedCatalogAccessBean ->getSubCategories()
CatalogEntryDataBean-extends CachedCatalogEntryAccessBean
ProductDataBean-extends CachedProductAccessBean

Example
<wcbase:useBean id="catalog" classname="com.ibm.commerce.beans.CatalogDataBean" />


JSP
StoreCatalogDisplay.jsp
Index.jsp
    -parameters.jspf
    -nocache.jspf
TopCategoriesDisplay.jsp
    -LayoutContainerTop.jspf
        -HeaderDisplay.jspf
            -CachedHeaderDisplay
    -CachedTopCategoriesDisplay.jsp
    -LayoutContainerBottom.jspf

and more...




































Saturday, August 6, 2011

More about TypedProperty

   TypedProperty
  • Which extends HashTable
  •  Implements Serializable
  •  com.ibm.commerce.datatype.TypedProperty
  •  TypedProperty(),
  • TypedProperty(int initialCapacity),
  • TypedProperty(int initialCapacity, float loadFactor)
  • TypedProperty(Hashtable hTP) are constructors
  • example
  • TypedProperty rspProp = getRequestProperties();
  • rspProp.put("catalogId","10051");
  • Located in Enablement-BaseComponentLogic.jar

All about Organization Structure

About wcs Organization Structure:
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.

The basic organization structure is
(Root organization)  --> (Default Organiation)
(site administrator)         (customer)

Root organization:
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.

Default organization:
The default organization is owned by the root organization.
All guest customers and all customers in a consumer direct scenario belong to the default organization.
Customers in a B2B direct or B2B indirect scenarios should not be placed under the default organization,
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

Consumer Direct Organization structure
Root--Seller Organization--B2COrganization
Root--Default Org

B2B Direct Organization Structure
Root Organization -Default Organization
Root Organization - Buyer Organization
Root Organization - Seller Organization - B2B Organization
Both Default org and Buyer org will keep the customer data and Seller Organization will keep the store data
A child organizational unit (ou), B2B organization, is created under the seller organization to own the store (Business).
eg :

Extended Sites Organization Structure
Root org -Default Organization (customers who does NOT belogs to any body)
Root org -Buyer Organization (Buyers who represents organizations)
Root org -Seller Organization
  -B2C - Store A
  -B2B - Store B

Root Organization -Extended Sites Organization -
  -Extended Sites hub Organization (Channel adminstrators,Hub store)
  -Store directory Organization (Store Directory)
  -Asset Store Organization
   -Catalog Asset Store
   -Consumer direct storefront asset store
   -B2B direct storefront asset store