Management Center model

Instances of business objects that have been loaded or created by the Business Object Editor are managed by the client side model (that is, the Management Center user interface).

This model is created when the editor is opened and disappears when the editor is closed. The model is responsible for invoking services that will create new objects, read existing objects, save changes to objects, and delete objects. If a unique business object is loaded more than once (for example through different Search or GetChildren service requests), the model will ensure that there is a single instance of that object.

User interface widgets can be bound to lists of objects, to a single object or to an object property. Multiple widgets can be bound to the same object instance. Changes made through one view will be reflected by all other views bound to that object (for example, if you change a promotion name, this change displays in the promotion's list view, properties view, and calendar view).

The model maintains the latest list of search results for each search type that has been declared for a tool.

The model maintains a list of objects that are currently in "open" state. These objects display under the Active Work node within the explorer view. An object will be moved to open state if the business user explicitly opens the object, or if the user makes a change to an object. Objects can be explicitly closed by the user. One or more list widgets can be bound to the list of open objects. The widgets will be updated if the list of open objects changes.

Business users can make changes to several business objects before saving their work. It is possible that other business users will be working on the same objects, causing save conflicts. These conflicts can be reduced by ensuring that component services are as granular as possible. Only the properties that are changed by the business user will be sent back to the server. If two business users change different aspects of the same object, none of their changes will conflict.

The model can be refreshed explicitly by the business user. This will ensure that changes made by other business users are visible in the client.

The client-side model only maintains objects that have an active navigation path that is available to the user. Examples of objects that have an active navigation path are open objects, objects displayed in an active list, and objects that are displayed in the explorer view. Objects that were retrieved from a discarded set of search results might not have an active navigation path and will be purged from the client-side model.

All objects in the client-side model are instances of lzx/commerce/foundation/restricted/ModelObject.lzx/wcfModelObject. All object properties in the model are instances of lzx/commerce/foundation/restricted/ModelObject.lzx/wcfModelProperty.