10- ICM 5.2- Model API
10- ICM 5.2- Model API
© Copyright IBM Corp. 2013. Course materials may not be reproduced in whole or in part without prior written permission of IBM.
Introduction
Course Overview
– Present the Case Client Model API introduced with ICM 5.2
Target Audience:
– Anyone designing or supporting solutions with ICM 5.2
Suggested Prerequisites:
– General familiarity with ICM and client JavaScript development
Version Release Date: September, 2013
The ICM Model API are JavaScript classes that are part of the larger
ICM JavaScript Toolkit
They are non-UI components and generally represent ICM objects in the
repository such as Solution, Case, Task, etc.
They communicate with mid-tier services through a navigator plug-in.
Like with the navigator model API and services, the public API is the
JavaScript Model API. The plug-in services are not public API.
– We do not expect custom code to call the plug-in services directly
through HTTP. The only supported use is a JavaScript client calling
the model classes.
The model classes extend and reuse some navigator model classes.
The model classes provide functionality where it is not sufficient or
possible to achieve through the navigator API alone.
The ICM Model API are classes under the icm.model package
Case Client 5.2 calls the ICM model classes for functionality that Case
REST (runtime features only) provided in previous releases
– Communicating with the mid-tier through plug-in services
Benefits of integrating with navigator services through plug-ins
– Sharing connection to the server and the performance and simplified
session management that comes with that
– Sharing of the Request model object and its links to the desktop for
free message logging, status, relogin, and error dialogs
Likewise the core navigator model classes are used where PE REST
and CMIS were used previously
The model classes offer similar functionality as REST but in the form of
an object-oriented API
– Objects with state and encapsulate that state as you would expect
Work items
– ICM Model exposes a WorkItem object that encapsulates some
ICM specific behavior
• Better integration with case properties in the API
– Retrieve a particular work item or obtain an ICM WorkItem
given a navigator WorkItem (for example from an inbasket
query)
– Lock or unlock the work item
– Save or complete the work item
– Update the step parameters (properties) when saving or
completing
In developing a custom widget you may also have occasion to use the
Property Controller classes (under the icm.model.properties.controller
package).
These classes provide the controller for the view rendered in the
Properties Widget.
They provide some additional features such as a mechanism for binding
and unbinding the controller to an ICM model object.
You can use the Property Controller classes to customize the
functionality of the properties view.
Some additional details are discussed in another presentation.