WebSphere Commerce EnterpriseWebSphere Commerce Professional

Change control metadata for business objects in workspaces

Change control metadata is created whenever an add, change, or delete occurs in the context of a workspace. This information is retrieved for display purposes when a Get request is performed for an authoring environment, such as the workspaces feature of the Management Center.

Change control information is the context information captured when a business object is modified. Change control metadata is created whenever business objects are added, changed or deleted and is used to determine whether the current request can modify the business object.

As a result of a Get request, the Show BOD response is consists of the Show verb and a list of the Nouns that represent the data to return. Because change control metadata is information describing the business object, it is kept in the Show verb.

Note: The workspaces feature of the Management Center is not meant to be used concurrently with the workspaces feature of WebSphere Commerce Accelerator, although each tool may still be used separately. Performing similar tasks, such as catalog management, may lead to unpredictable locking behavior.

BOD service module and EJB workspace database table usage

Change control metadata is stored in the CMMETADATA table. This is the same table that contains the locking information for the EJB workspace programming model. This table contains the identifiers of the table and record that requires the lock along with the locking information.

Although the same table and information is shared between the EJB workspace programming model and the new BOD command framework programming model, the difference is the granularity of the locking information that is stored in this table. Unlike the EJB workspace programming model, the record information aboutly contains the high level objects (nouns and noun parts) instead of containing a record for every database record modified in that workspace. For example, under the EJB workspace programming model, there is a CMMETADATA record for CATENTRY, CATENTDESC and all child related tables of CATENTDESC. Under the BOD programming model, there is only one record for the parent table (the base table of the changeable part) and all checking is done against the parent table. In this case only CATENTDESC contains a CMMETADATA record which also prevents any updates to related child tables.