Dynamic kits are intended to be used when there are a lot
of possible combinations and you do not want to define a SKU for each
combination. A dynamic kit has one SKU but may be composed of different
combinations of components depending on what the customer chooses. When a
customer buys a dynamic kit, it assigns a configuration ID to it
(identifying the item SKUs that go into this kit as chosen by the
customer).
A large portion of setting up the dynamic kit is configured externally to
WebSphere Commerce by either a third party vendor or by the customers
themselves. If there is no real need for dynamic kits, for example not
very many combinations, then using a product with multiple SKUs is a much
simpler approach.
The following page in the Information Center provides a good overview of
what a dynamic kit is: http://publib.boulder.ibm.com/infocenter/wchelp/v6r0m0/index.jsp?topic=/com.ibm.commerce.developer.doc/concepts/ccaconfig.htm.
The page also gives an example of a shopping flow that a customer can go
through to buy a dynamic kit. It also points out which data beans and
commands are useful when working with a dynamic kit.
The Information Center also has a data model diagram which shows which
database tables are used for storing or defining a dynamic kit: http://publib.boulder.ibm.com/infocenter/wchelp/v6r0m0/index.jsp?topic=/com.ibm.commerce.data.doc/refs/rdmprodconf.htm.
The following tables are part of this diagram: CATENTRY, BASEITEM,
ITEMSPC, ITEMTYPE, CATCONFINF, ORDERITEMS, OICOMPLIST.
You must define your configurable components in the same way you define
any other catalog items. Every component must have a SKU. Then define your
dynamic kits like any other catalog entry. Every dynamic kit must have a
SKU.
Here is a sample XML definition of a dynamic kit and of the configurable
components:
<!-- Define a Catalog Entry for the Dynamic Kit -->
<catentry catentry_id="10551" baseitem_id="10551"
member_id="70000"
catenttype_id="DynamicKitBean" partnumber="MYKIT-0101"
mfname="IBM" markfordelete="0" buyable="1" />
<catentdesc catentry_id="10551" language_id="-1" available="1"
published="1" name="MYKIT-0101" shortdescription="MYKIT-0101 Dynamic Kit"
/>
<itemspc baseitem_id="10551" itemspc_id="10551" member_id="70000"
partnumber="MYKIT-0101" markfordelete="0" discontinued="N" />
<baseitem baseitem_id="10551" member_id="70000"
partnumber="MYKIT-0101" itemtype_id="ITEM" quantitymeasure="C62"
markfordelete="0" quantitymultiple="1.0" />
Optionally, you can assign a predefined configuration to a dynamic kit.
For example, define which component(s) are preselected with each dynamic
kit by default. Here is an example of how to define a base configuration:
<!-- Define the base configuration for your Dynamic Kit
-->
<catreltype catreltype_id="DYNAMICKIT_COMPONENT" description="The
predefined dynamickit to component relationship" />
<catentrel catentry_id_parent="10551" catentry_id_child="1011"
catreltype_id="DYNAMICKIT_COMPONENT" quantity="1" sequence="1" />
<catentrel catentry_id_parent="10551" catentry_id_child="1012"
catreltype_id="DYNAMICKIT_COMPONENT" quantity="1" sequence="2" />
In the above example, 1011 and 1012 are the catentry_ids of two of your
components.
So, in terms of the data that needs to be loaded to your database
initially, the dynamic kit is not much different from other catalog
entries. What keep in mind is that the most important part of the
dynamic kit functionality has to still be configured by you outside of the
out-of-the-box tables and resources. For example, decide how
and where you want to store information such as which components can go
with which dynamic kits. WebSphere Commerce does not provide you with
tables and rules as to where and how you can store this information. As
you can see from the example above, the only relationships-type of
information you can define is your base/predefined configuration.
In terms of the shopping flow, on the product display page for the dynamic
kit, have a 'Customize and Buy' button. This button takes the
customer to a page where the contents of the dynamic kit can be
customized. Once the customer has chosen which components to include as
part of the dynamic kit, a configuration_id must be assigned to this
configuration and the DynamicKitConfigurationAddCmd command called.
Use the CATCONFINF database table to store information that can be
required by your external configurator to configure the dynamic kit. For
example, you can store the URL location of a JSP page that will handle the
configuration part.
|
Segment
| Product
| Component
| Platform
| Version
| Edition
|
Commerce
| WebSphere Commerce Business Edition
| Implementation / Usage
| AIX, i5/OS, Linux, Solaris, Windows
| 5.6, 5.6.1
| Business Edition
|
|
Current web document: http://www.ibm.com/support/docview.wss?uid=swg21292211
|