Advanced Case Management Whith IBM Case Management PDF
Advanced Case Management Whith IBM Case Management PDF
Wei-Dong Zhu
Brian Benoit
Bob Jackson
Johnson Liu
Mike Marin
Seema Meena
Juan Felipe Ospina
Guillermo Rios
ibm.com/redbooks
International Technical Support Organization
May 2014
SG24-7929-03
Note: Before using this information and the product it supports, read the information in
“Notices” on page xiii.
This edition applies to Version 5.2.0, IBM Case Manager (product number 5725-A15).
© Copyright International Business Machines Corporation 2013, 2014. All rights reserved.
Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP
Schedule Contract with IBM Corp.
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Now you can become a published author, too! . . . . . . . . . . . . . . . . . . . . . . . xviii
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Stay connected to IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Contents v
5.4.1 Multiple user solution development in Case Manager Builder . . . . 167
5.4.2 Solution assets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
5.4.3 Solution lock and draft object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5.4.4 Case Manager Builder save options . . . . . . . . . . . . . . . . . . . . . . . . 175
5.4.5 Committing and deploying a solution . . . . . . . . . . . . . . . . . . . . . . . 175
Contents vii
8.5.3 Solution properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
8.5.4 Document properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
8.5.5 In-basket properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Contents ix
11.6 Advanced customization scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
11.7 Multilingual support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
11.7.1 Translating the Case Manager user interface . . . . . . . . . . . . . . . . 450
11.7.2 Translating custom strings, solution assets, and others . . . . . . . . 451
Contents xi
xii Advanced Case Management with IBM Case Manager
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information about the products and services currently available in your
area. Any reference to an IBM product, program, or service is not intended to state or imply that only that
IBM product, program, or service may be used. Any functionally equivalent product, program, or service that
does not infringe any IBM intellectual property right may be used instead. However, it is the user's
responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document.
The furnishing of this document does not give you any license to these patents. You can send license
inquiries, in writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A.
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer
of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may
make improvements and/or changes in the product(s) and/or the program(s) described in this publication at
any time without notice.
Any references in this information to non-IBM websites are provided for convenience only and do not in any
manner serve as an endorsement of those websites. The materials at those websites are not part of the
materials for this IBM product and use of those websites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm
the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on
the capabilities of non-IBM products should be addressed to the suppliers of those products.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrate programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the
sample programs are written. These examples have not been thoroughly tested under all conditions. IBM,
therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:
Microsoft, and the Windows logo are trademarks of Microsoft Corporation in the United States, other
countries, or both.
Java, and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its
affiliates.
Other company, product, or service names may be trademarks or service marks of others.
Authors
This book was produced by a team of specialists from around the world working
at IBM Software Development Lab in Costa Mesa, California.
Bob Jackson is a Client Solutions Professional (CSP) with the Eastern Region
ECM SWAT Team in the United States. In this role, Bob provides consultation on
complex Case Management presales projects. Bob also presented IBM Case
Manager topics to major corporations worldwide. Bob developed many internal
IBM case management education, complex case management demonstrations,
proof of technology presentations, and proof of concept projects. His expertise
includes ECM, business process management, portal servers, application
servers, and web development. Bob is a licensed professional engineer with a
Bachelor of Engineering in Materials Science from Thayer School of Engineering
at Dartmouth College. He also holds an Artium Bacculaurei from Dartmouth
College.
Johnson Liu is a Software Engineer with IBM Software Group in the United
States. Johnson developed many early training workshops, white papers, and
code samples for IBM Case Manager. Johnson has expertise in and supports
customers in the areas of widget development, user interface, and solution
deployment and conversion. Johnson has a Bachelor of Science degree from the
University of California in Business Information Management.
Mike Marin is an IBM Distinguished Engineer and the chief architect for the IBM
Case Manager product. Mike also is an Association for Computing Machinery
(ACM) Distinguished Engineer and life member, with an MSCS in Artificial
Intelligence. He has more than 20 years of experience designing and developing
system software. For the last 20 years, he developed several workflow, business
process management (BPM), and case management products. He also
participated in standard organizations including WfMC, OMG, and OASIS
working on BPM and workflow standards. Mike edited and contributed to the
definition of several software standards and wrote several papers and articles on
the subject.
Very special thanks to Thuy Do, Yvonne Santiago and Darik Siegfried, who
always are extremely helpful in the production of IBM Redbooks publications,
especially this one.
In addition, thanks to the following people for helping us during and after the
residency:
Barry Beach
Joshua Burke
Dao Quynh Dang
Laurent Dubois
Mike Fannon
David Hanson
Preface xvii
Wen-Chin Hsieh (Steven)
Srinivas Jandhyala
Vishnu N KV
Diane McFee
Krishnaveni PillutlaLatha Ramakrishnaiah
Ravi Ray
Eugene Rozhdestvensky
Yvonne Santiago
Patricia Sort De Sanz
Brent Taylor
Xiao Ji Tian
Steve Timms
Thomas Yang
IBM Software Group, IBM US, and IBM India
Find out more about the residency program, browse the residency index, and
apply online at this website:
http://www.ibm.com/redbooks/residencies.html
Preface xix
xx Advanced Case Management with IBM Case Manager
Summary of changes
This section describes the technical changes that were made in this edition of the
book and in previous editions. This edition also might include minor corrections
and editorial changes that are not identified.
Summary of Changes
for SG24-7929-03
for Advanced Case Management with IBM Case Manager
as created or updated on April 27, 2015.
New information
The following new information is included:
Chapter 5, “IBM Case Manager tools” on page 125 is new.
Chapter 9, “Migrating and deploying solutions” on page 313 was re-written.
Chapter 11, “Customization topics” on page 411 many new sections about
customization scenarios were added.
Chapter 12, “Advanced solution topics” on page 453 is based on the original
“Round tripping” chapter and new content was added.
Chapter 13, “Business rules” on page 507 is new.
The book chapters were re-organized into three parts. The original part 3 of the
book was dropped from this release except the “Integration points” chapter. The
previous version of the book can still be downloaded as additional material along
with this current version of the book.
This book covers IBM Case Manager, Version 5.2. The previous edition covers
IBM Case Manager, Version 5.1.1.
A case folder is a container that allows workers to store and retrieve information
that pertains to the case. It also tracks the tasks that are required to process the
case.
For any case management solution, there can be many active cases. For
example, the customer complaint management solution creates a case for each
customer complaint. The term case instance is sometimes used to refer to these
individual cases.
Case workers are not the only individuals who interact with a case. A case
participant might be a user who helps process and close a case. A participant
also might be a user who performs management operations, such as
assessments, audit, and outcome analysis. Management functions can be
performed on a single case instance, or across many case instances. Case
management solutions provide participants with views into the case that allow
them to efficiently complete their assignments. However, not all the participants
in a case need the same level of flexibility or access to the case. In most
situations, one or a few knowledge workers control the case and other
participants are restricted to performing well-defined activities. The participants
who interact with a case can be organized by roles. For example, in a credit card
dispute case solution, roles might include customer service representative,
dispute agent, dispute supervisor, data clerk, and fraud investigator.
A case management solution must provide case workers with the full context of
the case they are working on. This context is referred to as a 360 view of the
case. In practice, case workers with enough privileges must have access to all
the information pertinent to a case. This information includes history, documents
of various media types, and content added by other case workers. In addition, the
360 view includes all the process information for the case. By having all the
relevant information available, case workers can make better informed decisions.
Case solutions are goal-oriented, but a business goal can be achieved in multiple
ways, and not all of them can be predetermined. Therefore, case workers require
the flexibility to decide how the goal is achieved. The focus of a case
management solution is the goal-oriented nature of the problem being solved. All
the detailed aspects of the solution work to achieve that goal. Whether it is a rule,
document, task, or a group of data elements, these characteristics all work to
help bring the case to its end state.
For example, in a credit card dispute case, the business goal is to resolve the
dispute. Although each case instance has the same goal, the outcome of each
case can be different. In the credit card dispute example, some disputes end with
the merchant returning money to the customer. Other disputes end with the
customer maintaining the charge on the credit card, the bank fixing an
accounting mistake, and so on.
The overall case design might look similar, but the case worker must react to new
information in ways that cannot be predetermined. New information can change
the outcome of a case in ways that can be determined only by the case worker.
However, not all aspects of a case are unpredictable, and so IBM BPM
technology can be used to model the predictable aspects of case solutions.
These predictable aspects of the case processing can be encapsulated into
process fragments that can be used as part of the toolset that case workers use.
Although the outcome of the case depends on case worker judgment, case
workers cannot arbitrarily decide the fate of a case. Case workers must justify
their decisions and collaborate, as necessary, to reach those decisions. The case
management solution must support this knowledge-intensive activity by providing
the tools and facilities to help the knowledge workers accomplish their work. At
the same time, it must provide the persistence, history, tracking, and monitoring
that is needed to justify and audit case worker actions and decisions.
IBM BPM models focus on the activities that are required to achieve the business
goal and the efficient ordering of those activities. Therefore, IBM BPM models
describe how the processes are done, in addition to what must be done.
1.2.4 Tasks
For the case model to achieve a balance between formal and informal processes,
the formal processes are broken into process fragments. This concept is the
case task, which corresponds to a process fragment, but also might be
implemented with other non-BPM technologies.
Tasks break the model of cases into two levels of abstractions. A task represents
a higher level of abstraction than process and describes “what” must be done. A
task also can describe “why” it must be done. For example, a task to review a
customer’s application must be done if a new customer application is received.
This concept allows the person modeling the case to model at a higher level of
abstraction and avoid describing the details of “how” a task must be done. When
you model a case, you are trying to answer the “what” and “why” questions by
using tasks. In contrast, when you model a IBM BPM process, the designer
answers the “what”, “who”, “when”, and “how” questions.
Figure 1-1 shows the IBM Case Manager case task page with a model of a case
that contains seven tasks. Tasks are not connected with lines as they are in
traditional IBM BPM systems because there is no execution order between them.
The tasks are designed as tools for the case worker.
In processing cases, organizations must manage the use of routine workers and
knowledge workers assignments. Most organizations manage the two pools of
workers separately, and separate routine workers roles and knowledge workers
roles. The concept of role allows organizations to fulfill those assignments by
moving workers between the roles, or having workers who are assigned to
multiple roles. Roles allow managers and supervisors to quickly and easily move
resources where they are needed.
At the other extreme of the spectrum, informal processes were called ad hoc
workflows in the 1990s. They evolved into collaborating technologies, including
email and instant messaging. The informal process is not modeled and cannot
be easily tracked by the system. The participants in the process must agree on
and understand the business goal and have enough information about how to
achieve it. There is no process to follow, and the system does not know when the
goal is achieved or when the process is started. These types of processes and
technologies are useful for non-repetitive and one-of-a-kind assignments that do
not need to be tracked or audited.
One aspect that is not shown in this figure is management and control. Within a
case management system, this is an overarching aspect of a solution. For
example, as shown in Figure 1-2, the line is drawn between “Process History
important for auditing” and “Documents and recordings are critical to justify
decisions” separating the nature of formal and informal processes. In contrast,
case management has an overarching view on both sides of the spectrum
concerning the case.
However, a typical file system is not flexible enough to store case information. For
example, a document might be used simultaneously in multiple cases, and
therefore must be in each case folder. A change to the document must be
reflected in all the cases. It also is important that metadata, version, and security
are maintained so the complete history of the case is kept current and traceable.
The need to find case information is not important only for case workers who
handle a single case instance. It also is important for participants, such as
managers or analysts who deal with aggregations of case instances. These
participants must extract patterns from case information. For example, they might
want to determine the frequency that a particular pattern occurs in a collection of
cases. In the credit card complaint solution, a manager might want to find the
percentage of complaints that are filed for a particular product or a particular
merchant. This information might be present only in the documents or emails that
are contained in the cases.
1.4.2 Security
By using an Enterprise Content Management system to store case management
content, including information and documents, you can maintain fine-grain
access control over the information. It is common for cases to deal with sensitive
information, so these documents must be protected from unauthorized access. In
certain scenarios, even those working on the case should have limited access to
the case information.
1.4.3 Retention
Case information is long-lived and can be subject to the lifecycle of content
objects in an Enterprise Content Management system. In particular, when the
processing of a case is completed, all of the case information remains and is still
available for users with the correct security privileges. Therefore, cases can be
reopened for processing or auditing, if required.
Case management recognizes that not all the tasks, steps, or activities of a
solution can be predefined. Therefore, case worker judgment and collaboration
are used to resolve the case. In certain case solutions, negotiation and
collaboration between case workers can be more important than imposing a fixed
set of activities in a particular order. However, too much negotiation and
collaboration can slow down the resolution of a case. Therefore, a balance must
be achieved. In many situations, experienced case workers can achieve the
correct balance. In other situations, business rules and analytics in the form of
decision support can be used to help strike the correct balance.
Although the case is the focus of a case management solution, the solution might
be composed of multiple types of cases. For example, a customer complaint
solution might have multiple types of complaints, depending on the product or
service the customer is complaining about. Each type of complaint can be
slightly different and can be managed by a different type of case worker.
Therefore, a solution often is composed of one or more types of cases.
Case management solutions also are appropriate for work that involves complex
decision making by knowledge workers that is based on the information and
documents that are associated with case instances. Typical applications include
exception handling, complaint or dispute management, contract management,
lending applications, benefits enrollment, invoice processing, change request,
and incident reaction. These types of solutions require the integration of
capabilities from multiple technologies that include content management, IBM
BPM, collaboration tools, social software, business rules, and analytics. The
case paradigm is applicable in multiple industries and environments that include
insurance, banking, healthcare, government, and utilities.
A clear understanding of the data and its source is needed to design the solution.
Understanding when and where to obtain the data, and how and where to update
it is important. The data processing might be by a business task, a data entry
window for the case worker to complete, or by external systems. In all cases, you
want to keep the case data in the case folder for processing and archival
purposes.
The case folder provides the context for the case workers to do their work. The
information that is contained in the case folder can be categorized into the
following types:
Properties: Not all case information is contained in documents. There are
discrete properties that identify the case and hold important status
information about the case. These properties, such as the customer name,
case priority, and account number, must be associated with the case folder.
Documents: Case management is content-centric, and case workers as
knowledge workers base their work on documents, including emails, text
documents, pictures, and spreadsheets. The case folder provides the
container to collect all the documents that are used in solving the case.
Tasks: The case folder contains all of the tasks that can be used in the case,
and each task contains state information. Some tasks might be waiting to be
run or are running or completed. This state information and history must be
preserved in the case folder.
History: Everything that happens to the case and its content must be
recorded as history. The case folder provides the container to keep that
history. The history includes when the case was created, when documents
and information were added, case comments, when tasks were started and
completed, and so on.
Cases must react to what is happening in the case folder so new tasks can be
run. New tasks might be needed when documents are added to the case, case
properties are modified or based on case actions. Case workers in the correct
role and with enough security privileges can view the state of the case tasks.
These case workers also can disable, run, and add new tasks to the case.
1.6.3 Tasks
In a case management solution, tasks are tools the case workers use to process
a case. The case worker or workers in charge of a case must decide which tasks
must be run to complete the case. Depending on the modeling of the case
solution, tasks might be started by the system or classified as required or
optional. A case worker with enough privileges can start, disable, or add tasks,
depending on the requirements of the current case instance. Figure 1-5 on
page 21 shows the interface that a case worker can use to interact with the tasks
in a case solution that is implemented with IBM Case Manager.
Well-known tasks can be defined as part of the modeling of the case solution.
(Figure 1-1 on page 9 shows an example of such a model.) However, not all of
the tasks are understood at modeling time. The case workers can add tasks
when they are working a case. In case modeling, tasks introduce a higher level of
abstraction than the process fragments. During the processing of an actual case,
tasks introduce a higher level of control. Case workers with the correct privileges
can see and control the tasks by using an interface similar to the one that is
shown in Figure 1-5. Other case participants see work to be done in their role or
personal in-baskets and might not have access to the high-level tasks. Tasks are
not assigned to people; however, personnel assignments can be done in the
process fragments implementing the tasks.
Tasks can be nested and composed of other tasks. Tasks that contain other tasks
are called container tasks. These tasks allow business analysts to organize case
solutions into sets of tasks that might be required at different phases of the case.
Historically, BPM and ECM solutions focused on process automation and the
business process workers. Case management changes this focus towards the
knowledge workers. The knowledge workers are more expensive resources and
were poorly served by previous technologies. Their jobs involve complex
decisions and the need for technology that can adapt to the changing business
needs of each potential business object that they are working with.
Knowledge workers also are faced with finding ways to more efficiently work with
complex business situations. These knowledge workers require flexible software
technologies to help solve these situations. Case management solutions equip
knowledge workers with the tools they need to achieve their goals in a complex
business environment. Companies benefit from providing these valuable
resources with the tools to allow them to focus on the areas where their
knowledge is best applied.
The case management paradigm of having a case folder to contain all pertinent
information and data that is required to solve a problem is used in multiple
industries. In certain areas, there are industry-specific case patterns that are
found, such as mortgage underwriting, insurance claims, or court case
management.
Government
Economic changes and the need to more efficiently respond to the needs of
citizens forced government agencies to respond accordingly. Increasing
demands for transparency and interoperation between agencies increased the
need to implement solutions that can provide complete views of their processes
and citizen interactions.
Many government agencies are facing financial crises that are forcing them to
seek more efficient and complete methods of providing services. The varied
requests and services that are provided lend themselves to case management
solutions. Some of the following challenges are commonly addressed:
Benefit enrollment administration
Grant request and administration
Organizational license applications and renewals
Criminal and civil investigations
Citizen management
Taxpayer management
Court case management
Investigations (criminal, fraud, and general)
Citizen inquiries and complaints
Insurance
Increased competitiveness, regulation, and the frequency of growth through
acquisition increased the needs for companies within the insurance industry to
find solutions that can be deployed across the entire organization. The need to
provide consistency within business processes became a focus that is coupled
with the need to increase the ability of knowledge workers to perform effectively.
Banking
The banking industry recently saw many changes because of increased
regulation and the effects of the recent economic cycle. There was an increased
level of attention towards the managing of and interactions with customers and
implementing stricter enforcement of policies and capturing the activities
supporting decisions. Increased attention to customer relationships resulted in
more focus on consistency of service and providing knowledge workers with a
complete view of the various aspects of any process that they are working. The
efficient management of customer interactions or inquiries is as important as
asset management. The following banking industry challenges are ideal
candidates for case-based solutions:
Loan underwriting
Loan post close review
Mortgage servicing
Dispute resolution
Customer inquiry
Account opening and maintenance
Credit/Debit card inquiry
Loss mitigation
Commercial lending
Consumer lending
Investment and wealth management
Utilities
The utilities industry, like many others, underwent changes in technology with
many companies working to modernize their case management systems. With
many manual and paper-based processes, they provide an open environment to
apply case management solutions. As a highly regulated industry, the need to
efficiently complete business processes is a high priority. With the large effect of
increased weather-related incidents, the utilities industry discovered areas that
require increased management and efficiency to handle these extreme
variations. Case management solutions in the utilities industry address the
following challenges:
Rate case justification
Claim management
Post disaster management
Permit request management
Land rights management
Property management
The complaint case is first reviewed for validity and then is routed to a specialist,
depending on the category of the complaint. The process of resolving the case
does not necessarily take the same path every time. However, it almost always
involves collecting documents, collaboration between individuals and teams, and
tasks, such as reviews and investigations. Different tasks must be carried out
depending on the nature of each complaint. The outcome of the case relies on
the experience and judgment of the person who is working on the complaint
case. That person is guided by the company rules and regulations.
In this example, if the complaint is from a customer with a high rating, more tasks
must be performed. The customer rating is based on business rules. This rating
can depend on various different factors, such as transactions revenue, the
number of previous complaints, and time of membership.
In the real world, almost every case management system must be integrated to
one or more external systems. The example shows how this configuration is
supported through different integration points.
Many companies have a team of analysts who are responsible for analyzing the
historical patterns of the complaints and their outcomes. This process allows the
company to gain a better insight of customer-related issues. By learning from
previous complaints cases, the company improves not only its case processing,
but its products and services. The optional Content Analytics component can be
used to analyze the complaint data, comments from the case workers, and case
documents across many complaint cases.
The company uses a multi-dimensional system for rating its customers to help
give a balanced view of the customer and support the customer communication
processes. If a complaint is received from a high-value customer, the account
manager for the customer is notified. The account manager then contacts the
customer to assure them that the complaint is receiving attention.
In some situations, the client manager or customer relationship staff also might
suggest a different product to the customer as an alternative. From the case
management perspective, this up-sell activity means that a separate set of tasks
must be processed and tracked in the context of the case.
The specialist collects all of the necessary documentation that is related to the
case. This process might involve requesting more information from the customer
or getting information from other systems inside the company. In complex cases,
a small team of specialists might work on the case cooperatively. If a product
safety issue is suspected at any point, a safety investigator is required to
participate in the review and provide an assessment.
After the final determination is made, the outcome is communicated back to the
customer. Depending on the severity and complexity of the case, a formal report
might be filed in the case folder.
The specialist teams are led by their team managers. The managers are
responsible for the monitoring of service levels, distribution of work, and ensuring
correct operations by the teams. The managers have the authority to assign
tasks and to reassign work from one member of the team to another.
The case reviewer is responsible for ensuring the completeness and consistency
of the documentation. The information must be able to be used as evidence to
support the decision-making process. Case information that is related to
complaints is used by the Quality Review Board in their regular sessions. It also
is used to support the analysis of trends and to help identify new issues and
systemic discrepancies.
There are associated tasks that run automatically whenever certain types of
documents are added to the case; for example, a review process when a new
contract arrives.
For more information about licensing of IBM Case Manager components, see the
following website and search for the term “Case Manager”:
http://www.ibm.com/software/sla/sladb.nsf
3.1.10 Reporting
IBM Case Manager supports powerful reporting that is based on IBM Cognos®
BI reports and Real Time Monitoring dashboards. You can customize reports to
view historical and work-in-progress data that is generated by Case Analyzer by
using online analytical processing (OLAP) cubes.
Development environment
The development environment consists of the IBM Case Manager design object
store and a target object store that is configured to include a workflow system.
You can use the development environment to design, deploy, test, and refine
case solutions before you move them into the test, pre-production, or production
environment.
In the design phase, you create a case solution for the business problem. Lay out
all the necessary solution artifacts, such as properties, roles, in-baskets, solution
pages, case types, properties layout views, business rules, tasks, and process
workflows by using the IBM Case Manager Builder tool. The design object store
contains all of the case solution artifacts that were created during the design
phase by using Case Manager Builder. The target object store contains the
deployed solution objects for testing.
The development environment allows for distinct project areas, each with their
own target object store and workflow region. The development environment
supports multiple project areas to allow different business analysts to create their
own solutions and reset their environments separately, if required.
Test environment
The test environment is similar to the production environment, but is used for
user-acceptance, performance, and other pre-production testing. The test
environment consists of a staging object store and a target object store that was
configured to include a workflow system. However, it does not have Case
Manager Builder because solutions are designed in the development
environment only. Case solutions are deployed to the target object store by using
the Case Manager administration client. Small test environments are sometimes
configured to share resources with a development environment; for example, by
using the same database or LDAP server.
For the test phase, the solution artifacts in the development environment are
migrated and deployed to the test environment. During testing of the solution,
changes might be required. These changes must be made in the development
environment and the updated solution must be migrated again into the test
environment. After the iterative process of testing is complete and you are
satisfied with the solution performance, you are ready to migrate the solution
from the development environment to the production environment.
You migrate Case Manager artifacts by using the IBM Case Manager
administration client and FileNet P8 artifacts by using FileNet Deployment
Manager tools. For more information about these tools, see 3.4.1, “Case
Manager Builder” on page 55 and 3.4.2, “Case Manager Client” on page 55.
Production environment
The production environment is where the case solutions are deployed, run, and
managed. The production environment consists of a staging object store and a
target object store that are configured to include a workflow system. Similar to
the test environment, it does not have Case Manager Builder tool. This
environment often is separate from other environments so the production system
is isolated from any testing problems.
For the manage phase, the solution package and related artifacts are migrated
and deployed from the development to the production environment. You migrate
Case Manager artifacts by using the IBM Case Manager administration client
and FileNet P8 artifacts by using FileNet Deployment Manager tools. They are
then deployed to the target object store.
The development environment provides project areas with their own target object
stores and workflow isolated regions. Project areas help developers to limit the
effects of resetting the test environment where the target object store and
workflow isolated region are reinitialized, which deletes all solutions and other
artifacts that were deployed.
After the design cycle is finished and the solution is ready for testing, use IBM
Case Manager administration client to migrate the solution package from the
development environment to any preproduction and production environments.
For more information about solution deployment, see IBM Case Manager 5.2
Deployment Guide, which is available at this website:
https://www.ibm.com/developerworks/community/blogs/e8206aad-10e2-4c49-b
00c-fee572815374/entry/ibm_case_manager_5_2_solution_deployment_guide?l
ang=en
All data that is related to cases that are managed in IBM Case Manager solutions
are stored in the Content Platform Engine repositories.
IBM Case Manager components can be divided into the following categories:
Core components
Customization components
Customization extensions
The IBM Case Manager extensions, which are shown in a red box in Figure 3-2,
are not bundled with the IBM Case Manager license. These components must be
licensed separately.
Note: IBM Case Manager license provides unrestricted use of IBM Case
Foundation. Cognos Real Time Monitor is bundled with Case Foundation. To
enable its use, you must configure Case Analyzer services.
Case Manager Builder creates a package of files that are known as the solution
package. It uses the Case Manager API to deploy the artifacts that are defined in
the solution package into the desired project area.
Figure 3-3 on page 45 shows the Case Manager Builder home page that you see
after you log in to Case Manager Builder. This page lists all of the available
solutions in the design object store and their deployment status inside the
development environment.
The IBM Case Manager Client is a widget application with a set of pages that are
configured to work together. Business analysts design the views and in-baskets
for case workers. They can use the predefined or customized pages with other
widgets for specific roles and tasks.
IBM Case Manager Client is integrated with IBM Content Navigator and provides
an improved user interface. It follows IBM OneUI style to maintain a consistent
user experience with IBM Content Navigator.
Figure 3-4 Case Manager Client for Customer Complaint Management solution
For more information about pages, see 4.1, “IBM Case Manager object model”
on page 71 and 4.2, “Case object model implementation” on page 102.
Developers can use the following APIs to extend a case management client
application:
Case Manager JavaScript API
Case Manager Java API
CMIS for FileNet Content Manager
The Case Manager JavaScript API uses the Dojo toolkit, which is an open source
JavaScript library for web development.
The classes in the IBM Case Manager JavaScript API are divided into the
following packages that are based on functionality:
icm.model.package
Contains the classes that represent objects in the Case Manager domain.
These case management objects, which include solutions, cases, work items,
and tasks, map to Content Platform Engine objects on the server.
icm.action.package
Represents actions that users can perform on case management objects.
These actions can be added in toolbars or menus for a widget.
icm.base.package
Supports the definition of custom events, actions, page widgets, and
constants.
icm.dialog.package
Contains classes that represent the dialog boxes that are used in Case
Manager Client.
icm.pgwidget.package
Contains classes that represent page widgets that are provided by IBM Case
Manager.
icm.util.package
Provides support for multiple widgets.
icm.widget.menu package
Represents the menus and toolbars that are used with page widgets.
CMIS REST API Java archive files are packaged with IBM Case Manager 5.2 but
are deprecated in the future. CMIS is now included with IBM Content Navigator
and is the recommended package to use in your custom case management
applications.
For a full listing of the IBM Case Manager API capabilities, see the IBM Case
Manager documentation. From IBM Case Manager 5.2 Information Center, click
Developing case management applications.
In addition to storing the solution-related files, the Content Platform Engine was
upgraded with the following features to support IBM Case Manager:
Task
The task class is a Content Platform Engine base class. An instance of the
Task class represents a piece of work in a case.
CaseType
This class is implemented as a subclass of the Case Folder class
(CmAcmCaseFolder).
Content activity monitoring
Content activity monitoring is an extension of the Content Platform Engine
auditing framework with which you can monitor and analyze property
changes.
Case object model
The Case object model provides add-ons for the design and target object
store metadata, code modules, and subscriptions for handling events from
cases.
In addition to the preceding features, the Content Platform Engine also provides
support for the documents, folders, annotations, and pages that are needed to
process a case.
The Content Platform Engine’s workflow system supports IBM Case Manager
mainly in the following areas:
Designing the solution in Case Manager Builder:
– Support for creating roles, in-baskets, tasks, and workflows that are
associated with case management solutions.
– Support for workflow authoring in Case Manager Builder.
– Support for sharing existing workflows in solution packages by using
Process Designer and associating them with Case Type tasks.
– Support for offline validation of workflows in Case Manager Builder.
– Support for augmented solution authoring in Process Designer, which also
is known as round-tripping authoring.
FileNet Workplace XT
IBM Case Manager release 5.2 has a dependency on FileNet Workplace XT for
the following functions:
In the development environment, WorkplaceXT enables access to Process
Designer to support the workflow round-tripping between Process Designer
and Case Manager Builder. Additionally, it allows the developer to define form
policy templates for the case solution if this kind of form behavior is required.
In the production environment, WorkplaceXT is not required unless the case
management solution is using form policy templates.
Although these components are integrated with IBM Case Manager, they are not
essential for solution authoring or execution. However, they can add great value
and power to IBM Case Manager solutions.
Tip: Some of these optional components are licensed on a limited use basis.
For more information, see the licensing terms in the documentation.
Although Cognos BI is not included, Case Analytics reports can be loaded and
viewed in the Cognos BI report studio.
IBM Sametime
By using IBM Sametime, case workers can collaborate while processing cases,
including starting instant messaging sessions with others who are working on the
case.
These extensions are not bundled with the IBM Case Manager product and are
separately licensed. For more information about product licensing, see this
website:
http://www.ibm.com/software/sla/sladb.nsf
While you are designing a solution, Case Manager Builder looks for a process
application on IBM BPM Server with the same name as the solution name. It
associates this application to the case solution by using the default snapshot.
Also, Case Manager Builder provides an enhanced user interface for task editing.
By using this interface, you can associate process definitions of the process
application to Case Type tasks.
For more information about configuring IBM BPM with IBM Case Manager, see
Chapter 17, “Integrating with IBM Business Process Manager” of the previous
version of this IBM Redbooks publication. This version of the book can be found
as part of the downloadable material that is associated with this book. For more
information, see Appendix A, “Additional material” on page 563.
Configuring IBM Content Manager with Case Manager is easy by using the
provision of connection definition in the project area. Use Case Manager Builder
to define IBM Content Manager item type document dependency and
preconditions on Case Types and tasks. Event handlers are available in IBM
Content Manager and IBM Case Manager to exchange events between
repositories.
For more information about configuring IBM Content Manager with IBM Case
Manager, Chapter 15, “Integration with IBM Content Manager” of the previous
version of this IBM Redbooks publication. The previous version of the book can
be found as part of the downloadable material that is associated with this book.
For more information, see Appendix A, “Additional material” on page 563.
These JavaScript APIs allow developers to easily extend IBM Content Navigator
and IBM Case Manager functionality. The APIs also include the following
benefits:
Separation of business logic and User Interface
The model layer clearly partitions the business logic from the UI layer
Shared model object
Model objects that contain business and server side objects can be shared
across widgets, including custom widgets
Reusable components
Reuse visual widgets from the IBM Content Navigator widget library to build
more complex custom UI widgets and dialogs, and reuse and extend IBM
Case Manager page widgets for customization.
These model classes provide functionality that is not possible to achieve through
the navigator API alone. Figure 3-6 shows the model object layer.
If the built-in case widgets do not provide the required functionality for your case
solution, developer can create custom widgets and pages to satisfy individual
requirements.
Page
An IBM Case Manager Page is a visual component that is composed of several
page widgets, which work together to fulfill larger functions. The page controls
the layout of page widgets, set up of the event wiring between page widgets, and
services as an event broker routing the event from publisher to handler. Unlike
IBM Content Navigator visual components, page is no longer an MVC unit, there
is not a centralized controller between page widgets. They work together by
using unidirectional communication (event) and bidirectional communication
(coordination). If a page widget does not fit to a custom solution in a page, it can
be replaced by a custom page widget.
Container widget
An IBM Case Manager container widget is the content pane of the case feature.
It provides a selector for the user to select a solution and role. The container
shows the pages that are associated with the role in a tab container. By default,
there are cases and work pages. Users can start working from these pages,
starting cases, and work items in new pages for further processing.
Event
An event is the mechanism that provides the unidirectional communication
means from one page widget to another page widget (or container). The Case
Manager Client supports event broadcasting, event wiring, and publishing event
cross pages. The event mechanism is built on top of dojo/topic APIs, with more
scope to limit the event publish/subscribe inside a page rather than global.
Important: The IBM Case Manager applications must all be in the same
WebSphere Application Server profile. The IBM Case Manager configuration
tool does not run under WebSphere Application Server, but must be installed
on the same server as the IBM Case Manager applications.
The IBM Case Manager WebSphere Application Server profile and FileNet P8
components (Content Platform Engine) can be collocated and run on a single
server. Alternatively, they can be separated and run on multiple servers. The
servers can be physical servers or guest hosts that run on supported virtualized
platforms. The IBM Content Navigator and IBM Case Manager must be on the
same WebSphere Application Server ND cluster. The FileNet Workplace XT
component must be on a different WebSphere Application Server ND cluster.
The IBM Case Manager WebSphere Application Server profile that is shown in
Figure 3-8 on page 61 contains the following applications:
Case Manager Builder
A solution builder tool that is deployed only in the development environment.
IBM Case Manager run time (also known as the Case Manager Client)
The runtime environment that is used for starting, processing, and interacting
with cases. This run time is deployed in the development and production
environments as a Content Navigator plug-in.
Content Navigator
Case Manager Client uses the IBM Content Navigator framework and
provides extended document viewing capabilities, such as rendition and
annotation support for office documents and PDF. It also can provide
side-by-side viewing of multiple documents in the same viewer.
Case Manager administration client also uses the IBM Content Navigator
framework.
FileNet Workplace XT
FileNet Workplace XT is required for development purposes if the solution
uses P8 eForms policies and entry templates. FileNet Workplace XT is not
required for a production environment.
Integration Tier Application (also known as IBM Case Manager API)
Figure 3-9 shows a production IBM Case Manager environment with built-in
redundancy for each component to provide higher availability. The figure does
not include the optional Case Manager components.
Case worker clients connect to the Case Manager Client URL to log in and
interact with cases. In a highly available IBM Case Manager WebSphere
Application Server profile, there are two or more instances of IBM Content
Navigator (Content Navigator Case Manager Client plug-in) application that are
running. Load balancing and failover for the IBM Content Navigator application
instances are achieved by using WebSphere Application Server Network
Deployment for this application cluster, fronted by a load balancer.
In an IBM Case Manager environment, the Enterprise JavaBeans (EJB) and web
services interface are used to interact with the Content Platform Engine. For
more information about high availability and scalability for the Content Platform
Engine, see this website:
http://www.redbooks.ibm.com/cgi-bin/searchsite.cgi?query=filenet
When you are planning IBM Case Manager solutions, remember the following
considerations:
Estimated number of solutions and case workers
Anticipated number of concurrent solution designers
Does Line of Business require dedicated environments, or can shared target
environments be used?
Does each dedicated environment require a different LDAP Directory Service
repository?
In terms of software maintenance, is it acceptable to have multiple
environments that need patching and updating?
In terms of operational considerations, is the ability to stop, start, and backup
IBM Case Manager solutions independently a requirement?
The simplest configuration is to host all IBM Case Manager solutions in a single
target environment. In this type of configuration, all of the solutions are deployed
to a single target object store and share a single isolated region.
GCD
Database
schema
Target Environment
Solution A
Figure 3-10 One target object store hosting three IBM Case Manager solutions
Instead of having all the IBM Case Manager solutions in a single shared target
environment, each solution can be deployed into a separate target environment.
In this configuration, each solution is provided with a dedicated target object
store and workflow system isolated region. This configuration provides data
separation between the solutions, which provides more flexibility for database
operations and maintenance.
In this scenario, it is possible to configure each target environment with their own
LDAP Directory Server repository to isolate the security between solution
spaces. To accomplish this, your P8 domain must be configured with federated
LDAP repositories. You configure each target environment to point to a specific
LDAP realm.
Region1
Solution A
DOS
Deploy
Database Staging Area
schema
TOS2 Solution B
Region2
Deploy
Database
schema Solution C
TOS3
Region3
Figure 3-11 Multiple target object stores with one solution in each
GCD1
Database
schema
ICM administration
Deploy client
TOS1
DOS1
Region1 Solution A
Staging Area
Target environment
Global configuration database
GCD2
Database
schema ICM administration
client
TOS2 Deploy
DOS2
Region2 Solution B
Staging Area
Target environment
Global configuration database
GCD3
Database
schema ICM administration
client
TOS3 Deploy
DOS3
Region3 Solution C
Staging Area
Target environment
Figure 3-12 Dedicated FileNet P8 domain for each IBM Case Manager solution
It also is possible to host the databases for each domain in separate instances or
database servers. This type of deployment provides the most flexibility for
production environments.
Note: When dedicated P8 Domains are used for each IBM Case Manager
solution, each P8 Domain must have their own distinct IBM Case Manager
server instance.
This chapter describes the inner workings of IBM Case Manager. It addresses
the IBM Case Manager object model and the way it uses the internal services
from the IBM FileNet Content Platform Engine. This chapter also describes the
integration with the IBM Content Manager from the data model perspective.
Solution
Case type
Task
External process
Step
There can be many solutions in an IBM Case Manager system. For example, you
can have one for Complaints Management, one for Human Resource Case
Management, and one for the Legal Department.
Each solution can handle various case types. For example, the Complaints
Management system must handle customer complaints, internal employee
complaints, and customer feedback. The solution might have a case type for
each of these inputs.
Each case type can have a number of tasks. A task has one or more steps that
must be completed. A task also can start external processes from IBM Business
Process Manager. For example, a task in the Complaints Management use case
might be to review a product-related complaint.
Document types help you to organize and classify the documents that belong to a
case. You can provide more information about the documents by assigning
properties to the document type. For example, a document type in the example
might be a complaint letter. Different types of cases can access different types of
documents. Documents often are used by the case workers while they process
task steps.
The following sections describe each entity within the IBM Case Manager object
model.
4.1.1 Solution
A solution consists of a user interface with document types, property types, case
types, and tasks. For example, a solution in a Complaints Management system
might include the following case types:
Customer complaints
Internal employee complaints
Customer feedback
The different types of cases within this solution are related, but have different
tasks that must be completed to complete the case. Roles are defined at the
solution level so that case workers with roles in this solution can handle different
case types within it. The case types all use similar document types (such as a
complaint letter) and properties (such as the date when the complaint was
received).
Solution
1
n n n n
n n Document
Case Type Page Role
Type
1 n n
1 n n
n n
Folder Task n In-Basket
1 1
1 n
n n
Rule Process Property
n
n
View 1
Choicelist
Each IBM Case Manager solution has a solution prefix to provide unique
identification in an object store and workflow system isolated region.
Case Manager Client represents a solution in which users log in to manage and
process their cases. The solution contains the pages for case and step data.
These pages are known as Case pages and Step pages. The pages display user
interface widgets that allow users to view in-baskets of available work, process
work, and search for cases.
For more information about the CmAcmDeployedSolution class, see the IBM
Case Manager V5.2 Information Center and click Developing case
management applications → Content Platform Engine add-on extensions
for Case Manager Builder → IBM Case Manager target object store
extensions → Folder subclasses → Deployed Solution class.
Solution package
A solution package is a set of files and folders that are the artifacts of a solution.
Figure 4-3 shows the solution package content.
Property
Role
May call
Choice List another
In-Basket workflow
Document
Type
Solution folder
Figure 4-3 Solution package
In addition to these artifacts, there might be more artifacts that are included in a
solution package, such as forms and document templates.
Content Platform Engine implements the case type as a subclass of the Case
Folder class (CmAcmCaseFolder). The Case Folder class is a subclass of the
Base Case class (CmAcmBaseCase).
For more information about the CmAcmCaseFolder class, see IBM Case
Manager 5.2 Information Center and click Developing case management
applications → Content Platform Engine add-on extensions for Case
Manager Builder → IBM Case Manager target object store extensions →
Folder subclasses → Case Folder class.
Cases
A case is an instance of a case type. It also is called a case instance. A case is
persisted by using a case folder structure.
Figure 4-4 shows a case instance. As shown in the diagram, a case or case
instance is created from a case type. A case instance comes with a case folder,
case properties, tasks that are associated with the case (optional), and case
comments (optional).
Containment
History
Other folder
CE Audit
Folder structure was Log
defined in the Case Type
Case History
Containment
Document
Documents comes from
a document class
A case contains a case folder and case history that is associated with it. The
case history comes from the object store audit log and workflow system event
log, which is not shown in Figure 4-4. The case folder can have subfolders to
structure the document content. The comments from case workers throughout
the case lifecycle also are associated with the case.
In an IBM Case Manager environment, case workers can update the case
properties in one of the following ways:
Update the case properties from Case Manager Client.
Update the case properties from the data that is associated with a task for a
case. The task also can include data from a workflow process or an external
process, such as IBM WebSphere Process Server.
Update the case properties by using custom applications.
Case state
At any moment, a case has one of the following states, which the Content
Platform Engine event handler manages:
NEW
A case is set to this state when Content Platform Engine creates it.
INITIALIZING
A case is set to this state while Content Platform Engine initializes the case
properties. While Case Manager is initializing the case, the case should not
be used nor any operation performed on it.
WORKING
A case is set to this state when there are incomplete tasks or when case
initializing is finished and the case is ready for further operations.
COMPLETE
A case is set to this state when all of its required tasks are completed or
manually disabled, or any running task processes are completed or stopped.
FAILED
This state is not used by the default IBM Case Manager. However, you can
use this state in your custom applications to indicate a case that is in an
exception or abnormal state.
COMPLETE
FAILED
Remember: Capitalized letters and underscores are used for the Case and
Task states in this book. The actual states that are represented in the Content
Platform Engine differ because they use spaces and are not capitalized. For
example, the actual state is “Disabled by user” instead of
“DISABLED_BY_USER”.
The Content Platform Engine Case Folder Update event handler enforces the
following case state transition rules (see Figure 4-5):
The user cannot reset the state to NEW.
The user cannot reset the state to INITIALIZING.
If a case is in the WORKING state, the case state can be set to either
COMPLETED or FAILED.
If a case is in the COMPLETED state, the case state can be set to
WORKING.
If a case is in the FAILED state, the case state can be set to WORKING or
COMPLETE.
A case is set to COMPLETED state if all the required tasks are started and any
running tasks are completed or stopped. The required tasks here are the tasks
that are marked as required at design time. After a task is started, the Case
Manager Client also displays the started task as a required task.
Roles are defined at the solution level, so roles are shared across case types.
During the task design process, steps in a task are associated with roles. At run
time, case administrators are responsible for assigning actual users to the roles.
Each role has at least one in-basket that is associated with it. The role
determines the pages to which the users or groups of the role have access.
When you define a case type, you can select different Case page layouts for
different roles.
Each role has at least one solution page that is associated with it. You can create
and assign solution pages to the role that provides case workers with access to
the cases and work items in a solution.
For each role and associated in-basket that is defined in a solution, Case
Manager Builder defines a role, associated in-basket, and a work queue in the
Process Engine Configuration File. You also can use Process Designer to create
a role without creating a work queue. In addition, you can use Process Designer
to delete the work queue that is created for a role that is defined in Case
Manager Builder.
The properties that are specified for a role in-basket become the displayed data
fields for the corresponding isolated region work queue.
The normalized role name is the role name that uses only characters that are
valid for a queue name in workflow system.
Each user often has a personal in-basket. However, you can configure a role to
not show its personal in-basket to a case worker. Therefore, having an in-basket
for a user is optional.
At the level of the isolated region, all solutions that are inside a Project Area
share an Inbox queue for the personal in-basket. IBM Case Manager uses a
default workflow data field that is named “SolutionIdentifier” to filter work items
into personal in-baskets that are based on the solution name.
Figure 4-7 Configuring a role to allow moving work to the personal in-basket
When this option is enabled, case workers are allowed to transfer work from the
role in-basket to their personal in-basket. They do so by selecting one or more
items in the role in-basket and by using the menu option Move Item to personal
In-basket. They also can move work back from their personal in-basket to the
role in-basket. They can do so by selecting the corresponding entries from their
personal in-basket and by using the menu option Return Item. You can use this
configuration for roles that might have to spend a longer time to complete their
work. You also might need to suspend work and you want to make sure that the
person that started to work on an item can continue this work later on.
At the technical level, this configuration is stored as a boolean attribute for the
role and is called ECM_canMoveWorkToPersonalInBasket.
When this option is enabled, users can select one or more entries from the role
in-basket or their personal in-basket and assign them to another user. When
work is reassigned from your personal in-basket, you see an extra option in the
panel, as shown in Figure 4-9.
Selecting the option means that you want to approve the work item after the
person you assigned it to completes it. As a result, this work item reappears in
your in-basket in the same workflow step after the other person completed it.
Otherwise, the work item is placed automatically into the next workflow step.
At the technical level, this configuration is stored as a boolean attribute for the
role and is called ECM_canAssignWork.
Important: IBM Case Manager allows a user to assign work to other users
only if all of the following conditions are true:
The user is member of at least one role with ECM_canAssignWork = true.
The work item is not locked by another user.
The current workflow step has the reassign option enabled.
To display this in-basket for a role, enable the setting that is shown in
Figure 4-10.
Figure 4-10 Configuring a role to show the in-basket for all assigned work
As a result, a new in-basket that is named “All Assigned Work” is available in IBM
Case Manager Builder, as shown in Figure 4-11.
Figure 4-11 Configuring the in-basket that shows all assigned work
Figure 4-12 shows how the “All Assigned work in-basket” is presented to the user
in the IBM Case Manager Client. The sorting for the work item in this basket is by
user ID and then by the column that you select.
Figure 4-12 In-basket showing all work that is assigned for a solution
For this use case, configure the supervisor role to show the “All assigned work”
in-basket and to enable this role to reassign work to others. The supervisor role
can then easily find all work that is assigned to a particular user and can reassign
some or all of it to other case workers.
You can configure the access to the “All assigned work” in-basket for several
roles in a solution. At the technical level, this configuration is stored as a boolean
attribute for the role and is called ECM_viewAssignedWorkInBasket.
Default settings
When you create a role in IBM Case Manager Builder, the configuration
parameters are set to the default values that are listed in Table 4-2.
ECM_canMoveWorkToPersonalInBasket true
ECM_canAssignWork true
ECM_viewAssignedWorkInBasket false
For more information about how to access the Process Designer from a solution
in IBM Case Manager Builder, see “Configuration in Process Designer” on
page 476.
If you changed custom attributes for a role, you must redeploy your solution for
the new configuration to be picked up.
Tip: For test purposes, you can directly modify the role attributes in the
runtime environment by using the Process Configuration Console. However,
any changes you apply here are overwritten with the information in the
solution package after you redeploy the solution.
When you select a role from the list, the users that are assigned to that role are
shown in the right side of the window. You can then select the user that you want.
The number of roles that are displayed depends on the security settings, which
are described in the next section. Users see the role-based assignment window,
as shown in Figure 4-14 on page 88.
Case workers can still search the Directory Services for the user name by
selecting the option Search All Users at the top of the role list, as shown in
Figure 4-15.
Figure 4-15 Search for users in the directory service for reassigning work
By default, all users are not restricted on the use of rosters, event logs, and
queues that are defined in a solution. Therefore, set the security on these objects
as required to satisfy your security requirements. When you change security,
adhere to the rules that are listed in Table 4-3.
Move work to personal in-basket from role 1. Query and Process right on the
in- basket current work queue
2. Query right on Inbox queue
3. ECM_moveToPersonalInbasket = true
for role that uses in-basket
Reassign work from role in-basket 1. Query and Process right on the
current work queue
2. Has ECM_canAssignWork=true
Return work from “All assigned work” Query on destination work queue
in-basket
Reassign work from “All assigned work” 1. Query and Process on Inbox queue
in-basket 2. Has ECM_canAssignWork=true
The user needs to belong only to one role of the solution to have access to all the
roles of the solution and the roles membership. To change the role attributes,
such as adding a new member to a role, the user must have the write access to
the application. That is, for read-only operations, such as retrieving the list of
roles or the members of a role, the user needs to belong only to one role.
The document type maps to a document class in the IBM FileNet P8 domain. It
maps to an item type in IBM Content Manager, if IBM Content Manager
integration is used.
Documents that are associated with cases are categorized into types. A
document type can trigger a case or task creation. When you design the case
types, you can assign a document type to be the initiating document type (also
called initiating document type) for a case type. When users create a document
of the initiating document type for a case type, IBM Case Manager creates a
case instance of that case type. A document type can be the initiating document
type for one or more case types.
Tip: The display name for a document type is the document type name. The
symbolic name for a document type uses the following format:
Consideration: Required tasks are all the tasks that are running (the started
tasks) and the tasks that have the required attributes.
Only tasks with the filing and property update preconditions can be repeated.
The filing and property update preconditions can have a property expression as
more constraints.
For example, you can define a repeatable task with filing (of document class A)
and property condition (P1 > 100 and P2 = true). For another example, you can
define a repeatable task with property P1 update and property expression
condition (P2 = true).
Document filing and property update preconditions are always evaluated first,
then the property expression is evaluated.
Hidden task
By using IBM Case Manager, you can define hidden tasks. A hidden task works
the same way as a non-hidden task of the same type, but it is not displayed in the
Tasks tab in IBM Case Manager Client. Hidden tasks are helpful for background
processing tasks, such as initialization or cleaning up that are started based on
certain conditions, but do not need to be visible to the case worker.
Container tasks are useful to group a number of tasks. You also can make them
available to the case worker only when certain conditions of phases in the case
management process are reached. This way, container tasks help to reduce the
number of tasks that are presented in the IBM Case Manager Client. This is
especially useful for complex case types. For example, a comprehensive task
type can have many single tasks defined. However, depending on the
progression of the case, many of these tasks never need to be created because
their corresponding preconditions are not met. Therefore, they are of no value for
the case worker in that case.
Without container tasks, all of these tasks are visible in the Task tab of the Case
Information widget. However, most of them are in the waiting state and might
never get started. By using high-level container tasks, the worker sees only a few
container tasks waiting instead of all of the subtasks that are part of the container
tasks.
Container tasks also reduce the resources that are spent for a case. Each task
instance corresponds to a Task Object in the Content Platform Engine, even if the
task is in waiting state. Another advantage of the container task is the
performance for a case creation. If you have a case with 200 independent tasks,
Case Manager creates 200 task objects. However, if the 200 tasks are grouped
into 5 containers and 35 stand-alone tasks, Case Manager creates only 40 task
objects.
Discretionary container tasks are powerful tools that allow case workers to bring
in a predefined set of tasks into a case. This is useful when you cannot describe
all of the preconditions that automatically or manually start the tasks. It provides
support for highly dynamic and adaptive case management by enabling case
workers to judge and decide which tasks must be used on a case-by-case basis.
Because container tasks do not have a workflow that is associated with them,
you cannot convert an existing task into a container task. In that case, create a
container task instead and move your existing task into that container task.
A container task is completed only when the following conditions are true:
All required subtasks are completed or manually disabled (for manual tasks
only). All required tasks that are in the FAILED state also must be stopped.
Any working subtasks are complete or stopped/aborted.
An optional container task in WAITING or READY state is not evaluated for the
case completion computation, even if the container task includes a required
subtask. This is because the subtasks are not created until the container task is
in the WORKING state. If a container task contains a required subtask that is
intended to affect the case completion computation (even if the container task is
not started), configure the container task as a required container task.
Task Classes
A Task type is a definition of a task class. IBM Case Manager release 5.2 uses
one single task type, which is CmAcmCaseTask. Previous IBM Case Manager
releases used a separate task type CmAcmCaseTaskWithIntiatingDocument for
tasks that are associated with a document filing precondition. This class is
deprecated in release 5.1.1. The document that started the task (the initiating
document) is stored in the CmAcmTriggerDocument property with the task.
For more information about the CmAcmCaseTask class, see the IBM Case
Manager 5.2 Information Center and click Developing case management
applications → Content Platform Engine add-on extensions for Case
Manager Builder → IBM Case Manager target object store extensions →
CmTask subclasses → Case Task class.
Group Mode
This property specifies whether a task is stand-alone, inclusive, or exclusive.
This property is a choice list property with the following values:
– Not Grouped (0): The task does not belong to any group. This value is the
default value.
– Exclusive (1): The task belongs to an exclusive group. When IBM Case
Manager promotes a member of an exclusive group from READY to the
WORKING state, the rest of the group is set to
DISABLED_BY_EXCLUSIVE.
– Inclusive (2): The task belongs to an inclusive group. When IBM Case
Manager promotes a member of an inclusive group from READY to the
WORKING state, the rest of the group is promoted to
REQUIRED_BY_INCLUSIVE.
Is Container
This property specifies whether a task is a container task, and can have the
values TRUE or FALSE.
Parent Task
This object valued property contains the parent container task for Subclass.
Filing Document
This object valued property contains the document, that if filed, triggers the
start of the task, if the task has the document filing precondition.
4.1.10 Tasks
Tasks are the instances of task types that are created by IBM Case Manager
when a case is created.
Task states
A task can be in one of the following states:
WAITING
A task is in this state when IBM Case Manager first creates it.
READY
A task is in this state when the precondition for the task is met.
WORKING
IBM Case Manager starts a workflow that is associated with a task when it is
in this state. A task can enter this state when one of the following events
occurs:
– A case worker creates a discretionary task.
– A case worker starts a manual task that is in the READY state.
– The task was in COMPLETED state and a restart was issued successfully
through the API.
You can use a Stop request to gracefully end a task in WORKING state. As a
result, any existing workflows for this task are ended. Stopping tasks is useful in
the following situations:
A task no longer must be completed.
A task process failed and cannot be recovered.
A case must be ended; for example, when a customer decides not to pursue a
complaint.
IBM Case Manager supports Stop and Restart invocation against a workflow
system-based regular task only. It is not supported to stop or restart an IBM
BPM-based task and container tasks. Additionally, discretionary tasks can be
stopped only.
A stop request deletes all of the active work items for a single workflow process
instance. This process updates the corresponding task’s state to FAILED and the
Disabled State property to DISABLED_ABORTED. Any further workflows that
are started by this main workflow are not ended by the request. Furthermore,
ending a workflow does not compensate any changes that are applied to external
systems, such as values that are changed by using DBExecute or Web Services
calls.
The user who initiates a Stop request must have query rights on the roster and
query and process rights on all queues of the solution. For a Restart request to
succeed, the requesting user must have create rights for the solution roster.
Existing and running task instances of earlier IBM Case Manager versions can
be stopped, but they cannot be restarted after the system is upgraded.
Task preconditions
The following preconditions to start a task are possible:
Filing
To create a task, case workers must file into a case instance a document of a
document class that is specified in the filing precondition for the task. IBM
Case Manager sets the state of a task that is based on its start mode. You can
select which document types are evaluated for a filing precondition.
Multi-selection of document types is supported. A filing precondition can be
combined with property expression preconditions.
Property update
Creates a task if one or more case properties are changed. If multiple
properties are selected for a property update precondition, the properties are
logically combined in an OR condition. For example, Complaint Category OR
Complaint Description is changed. More case property expressions can be
added to the property update precondition with an AND operator. The case
property update precondition can be combined by AND or OR. For example,
(Complaint Category OR Complaint Description is changed) AND
(Complaint Status = Processing OR Complaint Status = Pending).
Property expression
When an expression that contains case properties satisfies the condition that
is specified in the property precondition, IBM Case Manager sets the state for
a task to READY. Then, based on its start mode, the task is promoted to
WORKING state.
No precondition
IBM Case Manager promotes the state of a task to WORKING immediately
after creation.
For repeatable tasks with a property update precondition when the update event
triggers, the system checks whether a task of that type is in the WAITING state. If
it is not in that state, a task is created.
When the container task is moved into the WORKING state, the following
processing is started:
The corresponding top-level subtasks are created and put in WATING state.
Subtasks with no precondition or property preconditions that are met are
promoted to READY state.
Subtasks that are configured as automatic are promoted to WORKING state
and the corresponding workflow starts.
Subtasks with property update or document filing conditions wait for the
appropriate event to happen before they are evaluated.
With IBM Case Manager release 5.2, you can change the preconditions for tasks
in a deployed solution by redeploying the solution. This process can change the
precondition and the precondition type. For example, you might decide that a
verification task be started based on a property update instead of a property
condition. You also can change a property-based precondition to a document
filing precondition, or vice versa.
If you change the precondition for task and redeploy the solution on a production
system, run the Precondition Checker utility to update running cases. The
Precondition Checker checks for any existing tasks that are in a Waiting state. If
the tasks satisfy the changed precondition, they are promoted to a READY state.
It is mandatory to run the Precondition Checker in the following situations:
A property precondition was changed
A property update or document filing precondition was changed to a property
precondition
An existing precondition of any kind was changed to “No precondition”
IBM Case Manager organizes its objects into the following main categories:
Design object store (solution packages or artifacts).
Target environment (solution instances or deployed solutions). The target
environment consists of one target object store and its associated workflow
system isolated region.
IBM Case Manager configuration tool installs IBM Case Manager design object
store add-ons while it configures an IBM Case Manager environment. IBM Case
Manager configuration tool also creates a folder structure for IBM Case Manager
to organize IBM Case Manager solution packages and artifacts.
Figure 4-18 shows the root folder structure for IBM Case Manager in a design
object store.
Figure 4-19 shows the root folder structure for IBM Case Manager in a target
object store.
Root Folder
Contains all the solutions
- IBM Case Manager
deployed in this object store
- Solution Deployments
- <Solution name>
- Case Types
- Cases
Cases are stored in a year,
month, day, random number - <year>
folder structure to avoid
large amount of instances in
a single folder - <month>
- <random number>
+ <case instance>
Each target object store is associated with a workflow system isolated region. An
isolated region stores process data for the solutions. When users deploy the
solutions, IBM Case Manager API transfers the workflow configuration
information and workflow collections for the solution to the isolated region.
Workflow system metadata includes application space, roster, event logs,
queues, roles, in-baskets, and workflow classes.
Figure 4-20 on page 107 shows the workflow system isolated region in a target
object store.
Role Task
Isolated Region
Figure 4-20 Target object store and workflow system isolated region
Project areas are used only in development environments. A single design object
store can hold multiple project areas, and each one maps to one development
environment. A solution must be unique at the design object store level. That is,
two project areas cannot have the same solution.
Project areas are used to determine the access to the solutions. Each has its
own target object store and workflow system isolated region. Each project area
can have multiple solutions and be shared by multiple developers. However, each
developer uses only one project area.
Figure 4-21 on page 108 shows how project areas in the design object store can
be mapped to the target object stores.
Isolated region
Project Area n
Target Object Store n
Isolated region
IBM Case Manager administration client handles the privileges that are required
for a user to access the design object store of the project area. However, it does
not add the privileges for the user in the target object store and isolated region.
To avoid reconfiguration later, plan the necessary user access to a project area
before you create the target object store and workflow system.
Remember: For IBM Content Manager integration, each target object store in
IBM FileNet P8 maps to an IBM Content Manager Server (Library Service).
Therefore, you need multiple IBM Content Manager servers for multiple
project areas.
To customize applications, you can use the default pages as templates to create
more pages to provide customized views for different user roles and create page
layouts for steps and cases. For more information about pages, see Chapter 10,
“User interface and widgets” on page 357.
Solution page
Solution pages provide case workers with access to cases and work items that
are in a solution. The solution pages include Work page and the Cases page, as
shown in Figure 4-22 on page 110.
Work page
The Work page contains in-basket widgets that display the work items in the
in-basket of a role and a personal in-basket. By default, the Work page contains
the Add Cases and Manage Roles options. Add Cases allows case workers to
create new cases. Manage Roles allows the case administrators to assign role
membership.
Cases page
The Cases page provides case search capability. The page also displays search
results in a Case List widget.
For more information about the standard widget, see the IBM Case Manager 5.2
Information Center and click Designing your case management solution and
application → Adding and deploying a case management solution →
Designing the case management client application → Creating a custom
page → Widgets.
For more information about enhancing your IBM Case Manager solution by
developing and adding your own widgets, see 10.5, “Creating and deploying a
custom widget” on page 386.
For more information, see 4.2, “Case object model implementation” on page 102.
This section describes the Content Platform Engine enhancements that are used
by IBM Case Manager.
Functions
IBM Case Manager Builder adds the following extra data fields that are required
by IBM Case Manager components:
SolutionIdentifier
The SolutionIdentifier is a string-valued field that contains the <solution
prefix>_<solution name> value. Case Manager Client uses the
SolutionIdentifier to identify from which solution a work item comes when the
personal in-basket is displayed.
F_CaseFolder
F_CaseFolder identifies the case class and its instance. Content Platform
Engine uses the F_CaseFolder data field to retrieve and update the values for
the case properties.
F_CaseTask
F_CaseTask identifies the task class and its instance. Content Platform
Engine uses the F_CaseTask data field to update the state for a task.
You can directly assign a new value to the case property or use it in a workflow
expression the same way as any other workflow data field.
Figure 4-25 Accessing case and task properties in the Expression Builder
With this process, you can easily access case or task properties from a workflow
definition. It also helps avoid errors because of misspelling. To access the
business objects data fields, open the expression builder and select Business
Objects from the drop-down menu on the left side. Then, select F_CaseFolder
or F_CaseTask as the business object, and double-click one of the associated
data fields from the Properties list.
For more information about using the Expression Builder, see the IBM FileNet P8
5.2 Information Center and click Integrating workflow into document
management → Designing workflows → Define workflow properties →
Expression Builder.
You can also define step parameters directly from Process Designer and start
them with F_CaseFolder.<properties>.
When IBM Case Manager starts the workflow by using the Content Platform
Engine event handler, Content Platform Engine assigns the filing document to
the attachment parameter for a task.
For more information about launch mode, see 4.1.9, “Task type” on page 91.
You can interact with IBM Content Manager documents that are attached to
cases and tasks in the same way as you do with documents that are stored in
IBM FileNet P8. You can attach the IBM Content Manager documents, update
them, and delete them from the case. In addition, document events can trigger
tasks.
Figure 4-26 shows the object model that is used for the IBM Content Manager
integration. CM8 in the figure stands for IBM Content Manager. ICM in the figure
stands for IBM Case Manager.
Event subscriptions are supported as with the IBM FileNet P8 repository. For
example, you can configure a solution so a new case is created when a case
worker creates a document in an IBM Content Manager item type. Adapters are
used to monitor the events and ensure that the appropriate actions are carried
out.
The associations of event subscriptions and IBM Content Manager item types
are configured when you set up the integration.
For each document that is associated with a case in IBM Content Manager, there
is a proxy document in IBM Case Manager (IBM FileNet P8), of class
CmAcmCM8ProxyDocument. This proxy object holds no user properties.
For more information about the object class, see the IBM Case Manager 5.2
Information Center and select Developing case management applications →
Content Platform Engine add-on extensions for Case Manager Builder →
IBM Case Manager target object store extensions → Custom subclasses
and properties of the Document class → Proxy Document Class.
For each case folder in IBM Case Manager (IBM FileNet P8), there is a proxy
object in IBM Content Manager. This proxy object does not include any user
properties. Instead, it contains the following properties that identify the case
folder in IBM Case Manager:
Case ID
Case folder GUID
Initiating document ID
Object store symbolic name
Solution name
Case type
Case folder name
The information about the integration connection with IBM Content Manager is
held in a special custom object of the IBM Content Manager Integration Data
class, CmAcmCM8IntegrationData. The information is managed by IBM Case
Manager administration client.
For more information about the class, see the IBM Case Manager Information
Center and select Developing case management applications → Content
Platform Engine add-on extensions for Case Manager Builder → IBM Case
Manager target object store extensions → Custom Object subclass.
Part 2 Solution
development
This part guides you as you get started with IBM Case Manager solution
development. It describes designing a solution, building a simple solution, and
deploying a solution.
This chapter describes these tools and includes the following sections:
IBM Case Manager tools overview
IBM Case Manager configuration tool
IBM Case Manager administration client
IBM Case Manager Builder
Tip: We recommend using this chapter as a reference of how to use the tools.
If you want to quickly get started with solution design and building, you can
jump to the following chapters:
For more information about getting started with designing a Case Manager
solution, see Chapter 6, “Designing case management solutions” on
page 179
For more information about getting started with building a simple Case
Manage solution, see Chapter 7, “Building a simple solution: Part 1” on
page 211 and Chapter 8, “Building a simple solution: Part 2” on page 267.
For more information about deployment, see Chapter 9, “Migrating and
deploying solutions” on page 313.
To run the command-line interface (CLI) for the configuration tool, run the
configmgr_cl command from the <Case Manager Install
Directory>/configure directory.
2. Enter a profile name to create a profile and click Next. Select the option to
create a development or production environment profile, as shown in
Figure 5-2 on page 128.
For more information about configuring the environment, see the IBM Case
Manager Information Center and select Installing and configuring IBM Case
Manager → Installing and configuring on a stand-alone server →
Configuring IBM Case Manager.
You must restart the application server after running all of the tasks.
If the IBM Case Manager administration client is not available by default, you can
open the default desktop for Case Manager Client and add the IBM Case
Manager administration client feature under appearance tab. This enables IBM
Case Manager administration client plug-in on the Case Manager Client desktop.
This section describes the following features that are provided by IBM Case
Manager administration client:
Copying a solution
Creating solution templates
Using solution templates
Exporting and importing a solution
Exporting business rules
Configure locks
Enabling case history store
Widget packages
Configuring an audit
Configuring security
Manage project areas
Extra options for an administrator in administration client
There are two methods to copy a solution: By using Case Manager Builder and
by using IBM Case Manager administration client. More options are available
when you use the IBM Case Manager administration client to perform a solution
copy.
Restriction: You cannot copy a solution that has files that are checked out
in the solution package if you select the Validate this solution before
copying option.
The solution is then copied and is available for editing within Case Manager
Builder, as shown in Figure 5-12.
3. Review the solution details that are provided in the first window of the wizard,
click Finish, as shown in Figure 5-14 on page 142.
Test your solution template after it is created and address any issues before you
pass it to others to use. If the template creates identifiers, perform a run through
of a new solution that is based on the template to verify that nothing was broken.
The following extra options are available when you create a solution template:
Create unique identifiers when a solution is created from the template.
If your solution does not have any dependencies on any identifiers, select this
option.
An example of the use of this option is if a solution was developed entirely in
Case Manager Builder or Process Designer. With such a solution, no external
assets rely on any symbolic names. This is the default option.
Use existing unique identifiers when a solution is created from the template.
If your solution has dependencies on any identifiers and requires that those
identifiers do not change names, select this option.
An example for the use of this option is if your solution contains extra assets
that rely on objects in the solution. These extra assets can be an IBM Form,
stored search, or custom application that interfaces with solution data. A
company-wide form might reference CC_Address from the sample solution. If
so, a basic template provides the Address property to all new solutions so that
the form does not require modification. The form continues to map to
CC_Address and all new solutions that are based on the template contain
CC_Address for the form.
3. Specify a name and prefix for the new solution and the project area. Leave the
other options as default and click Finish.
For the example, enter Customer Complaints Newer1 as the name of the new
solution and CCN1 as the prefix, as shown in Figure 5-16 on page 144.
If you have more than one project area, you can select another project area.
For the example, use the default project area of
dev_env_connection_definition.
Upon completion, your are informed whether the action is successful. If so, you
can see your new solution in Case Manager Builder.
3. Complete the solution name and prefix for the new solution and click OK.
In the example, Customer Complaints Newer is the solution name and CCN is
the solution prefix, as shown in Figure 5-18.
4. The solution is created and you are automatically taken to the edit window of
the new solution.
2. In the wizard, enter the solution package file name and click Finish.
For example, enter Customer_Complaints_solution.zip as the name of the
solution package, as shown in Figure 5-20 on page 147.
By using the IBM Case Manager administration tool, you can import a solution
package. To import a solution package, complete the following steps:
1. Click Import and select the Import Solution option to import a solution in
IBM Case Manager administration client, as shown in Figure 5-21.
2. In the wizard, select the solution package .zip file name by using the Browse
option and click Next, as shown in Figure 5-22 on page 148.
3. Review the solution package details before you import the package and then
click Next, as shown in Figure 5-23.
2. In the wizard, enter the rule package name and click Finish.
For the example, enter Customer_Complaints_rules.zip as the name of the
solution rules package, as shown in Figure 5-27 on page 151.
On successful completion, the rules package is saved on the local file system.
For more information about creating rules and configuration, see Chapter 13,
“Business rules” on page 507.
Administrator can unlock solution artifacts that are preventing the development or
deployment of a solution. Multiple locks can be released in one request.
Complete the following steps to unlock a solution:
1. Open the solutions in IBM Case Manager administration client. Right-click the
solution name and select Configure → Locks, as shown in Figure 5-28 on
page 152.
2. The wizard shows the locked solution artifacts. Select a solution artifact and
click Unlock, as shown in Figure 5-29.
In this example, Customer Information view is locked by the user p8admin.
To enable case history store, select the Enable case history store option in the
target object store, as shown in Figure 5-30.
You can register more widget packages in IBM Case Manager administration
client. In the design object store, select Widget Packages → Register Custom
Widgets, as shown in Figure 5-31 on page 154.
You can upload custom widget packages to IBM Case Manager. Register the
widgets to make them available for design and run time. If a custom widgets
package contains an EAR file, the EAR must be manually deployed.
Tip: The custom widgets package also can be registered using the IBM Case
Manager configuration tool, which deploys the EAR file.
3. In the wizard, select Create an audit configuration and click Next, as shown
in Figure 5-33.
7. Select Apply audit configuration and then click Apply to apply the audit
configuration to the solution immediately, as shown in Figure 5-37.
4. The wizard shows all of the roles of a solution and different permission
options for each role. Select the permissions for different roles and click Next,
as shown in Figure 5-41.
In this example, select Create Case permission for the role Contact Center to
allow the role to create cases and the View Case permission for the role
Manager to allow the role to view case details in IBM Case Manager.
6. Select the user and associate with different roles, as shown in Figure 5-43 on
page 162. In this example, user P8Admin is associated with role Specialist.
7. Select the option to apply the security configuration. Click Save to save the
configuration and then click Apply to apply the security configuration to the
deployed solution immediately, as shown in Figure 5-44.
Figure 5-44 Security Configuration: Applying the security configuration to the solution
In IBM Case Manager administration client, the design object store contains a
default folder to define project areas. An administrator can right-click the project
area folder to define a new project area. To view the project area details,
right-click an existing project area and select View and Edit, as shown in
Figure 5-45.
After the project area is created, the administrator can register the project area,
as shown in Figure 5-47.
The second set of options concern document types. The example solution has a
document type that is called Customer Correspondence that is used in the
following examples:
Use new document types when the new solution is deployed.
Document types that are defined in the original solution have their prefix
changed to match the prefix that is defined for the new solution. In the original
solution, the symbolic name of this document type is
CC_CustomerCorrespondence. With this option selected, the document type
takes on the symbolic name CCID_CustomerCorrespondence. The document
type is then controlled by the new solution, which can modify the document
type as needed.
Remember: If you use existing document types, you must track solution
migration and deployments. A copied solution that reuses document types
must be deployed after the original solution.
For more information about how to create a solution in IBM Case Manager
Builder, see the following resources:
Chapter 6, “Designing case management solutions” on page 179
Chapter 8, “Building a simple solution: Part 2” on page 267
Starting from IBM Case Manager V5.2, Case Manager Builder supports multiple
users editing a solution. Multiple developers can build different parts of a solution
at the same time. Designing in multiple user mode speeds up the solution design
process and enables solution developers to make effective use of their
development team.
The save and close operation allows the user to save their work and exit their
editing session without losing their work. Changes are not included in the
released solution and the locks remain in place until the Commit operation occurs
(see Figure 5-48). This allows for deployment of the solution while portions of the
solution are edited.
The commit operation promotes the edits to the solution, which results in new
versions of the solution objects and releases the locks. After the commit is
complete, the changed solution elements are included in the next deployment.
Note: Not only is it a good general security practice, developers should always
use different user accounts. If they share an account, unexpected results can
occur if the users do not coordinate resulting in changes being committed
before they are completed.
In addition to these assets, the following assets are added to support multiple
user editing:
Solution locks object: Contains the lock information for a solution.
Solution locks
When a user edits, adds, or deletes an asset in the Case Manager Builder, the
respective asset file is locked for the user and a solution lock object is created for
the solution. A solution lock object stores the lock information of all the assets in
a solution. Solution locks object files are created under the solution folder and is
a subclass of the Solution Lock Control custom object.
After an asset is locked by the user, other users who edit the solution can see the
associated assets in read-only mode. The solution locks are stored in an XML
format inside solution locks object. Each lock contains the following attributes:
type: Represents the object type, such as SDF, page, rule, view, and task.
resource: Contains the name of the asset that is locked.
displayName: Contains the display name of the asset.
Page Work is shown to users in read-only mode. Users can view only the details
of the page, such as name and description, as shown Figure 5-52.
Locking tasks
Tasks are locked when the task workflow that is opened for editing is a step
designer or process designer. Other users can still open the locked task to view
the workflow in a read-only mode. A lock icon is shown to indicate that a task is
locked. Different users can simultaneously lock and edit different task workflows
under a case type.
Draft objects
When user clicks the Save button in Case Manager Builder, it saves the changed
assets in their respective draft objects.
Committing a solution
When a user commits a solution, all locks that are owned by the user are
released. Assets that are locked by other users are not updated and remain
locked. When a user commits the changes, the draft changes are committed as
major versions into the respective configuration files. After they are committed,
the solution package files are available for deployment and for other users to edit
or view.
A solution change can be committed in IBM Case Manager Builder from the
manage solutions page. A commit link is provided for each solution to commit the
changes, as shown in Figure 5-56 on page 176.
Figure 5-57 Confirmation window that is shown to the user upon commit
Users can review the lock details and click Commit My Changes to commit the
solution changes.
Note: IBM Case Manager administration client can be used to unlock solution
assets that are owned by other users. For more information, see 5.3.6,
“Configure locks” on page 151.
Deploying a solution
If there are any uncommitted changes in the solution, a deployment confirmation
window is shown to the user when a user deploys a solution. The deployment
confirmation window shows the assets that are locked by the current user and
other users. Users can commit the changes before the deployment is performed.
Figure 5-58 on page 177 shows the deployment confirmation window.
When a user deploys the solution, only the committed assets are deployed. The
assets that are locked by the other users are in draft mode and are not deployed.
For more information about multiple users editing the solution, see IBM Case
Manager Information Center and select Designing your case management
solution and application → Adding and deploying a case management
solution → Multiple user editing of solutions.
This chapter is intended to help the solution designer to plan and design a
solution. It describes design principles and gives an overview of the range of
tools and features that can be used to build an IBM Case Manager solution.
IBM Case Manager provides many capabilities and tools that can be used to help
meet these goals when you design a solution.
Before you design a solution with IBM Case Manager, you should have a basic
understanding of the IBM Case Manager components and data model. For more
information about the components, see 3.3, “IBM Case Manager components”
on page 42. For more information about the data model, see 4.1, “IBM Case
Manager object model” on page 71.
Consider reusing an existing solution template and then using your new design
as a template for future solutions. For more information about solution templates,
see the following sections:
5.3.2, “Creating solution templates” on page 141
5.3.3, “Using solution templates” on page 143
5.3.4, “Exporting and importing a solution” on page 146
IBM Case Manager provides a rich set of tools that allows solutions to be rapidly
prototyped and reviewed by the users. The complete initial case definition can be
quickly prototyped and provided to the users in a development environment for
direct interaction and feedback. They can have hands-on access to the case
data, documents, and the tasks. Feedback can be directly modified in the Case
Manager Builder tool, which provides continued refinement of the user interface.
Iterative methodology helps ensure that the requirements are more inline with
what the business requires. It also provides early feedback on what the system
looks like and how it behaves. Providing early access to the solution interface
provides earlier confirmation of the approach and increased positive adoption of
the solution by users.
The definition of the case is not always an easy process nor is there a single right
answer. The case must be defined in a way that can be applied to the business
process and business goal. Sometimes a case, such as a claim, can be easily
identified. Sometimes, it might not be so easy to identify what is a case. In
general, a case is a business entity that has an identifiable beginning, lifecycle,
and end. It often is the focus of a business process that all users interact with and
reference. Common case types include a loan, account, policy, and claim. The
more clearly defined the case is, the easier it is to find the attributes of it.
It is often the situation that a solution requires multiple case types. A good
approach is to identify cases as they align with the overall business processes
and lifecycle. An example of this can be seen in the banking industry where the
underwriting process represents one case that completes by generating another
case, the loan.
As shown in Figure 6-1, the case can interact with that data at any point within
the case’s lifecycle. The identification of the interaction points and the timing of
the data are part of the design of the case. The case data addresses the
following questions:
What data is needed to complete the case?
What data or systems must be aware of the case’s progress?
From which systems does the case need data?
What key performance indicators and other reporting metrics are needed
against the case?
What systems act as the system of record for the data?
What synchronization is needed with the case management solution and the
system of record (assuming the case management solution is not the system
of record)?
After the activities are defined, work with users to understand the following
information:
How a user interacts with the tasks.
When and why the tasks are needed or defined.
How and when these tasks must be started.
Who works on the tasks.
Any dependencies among the defined tasks.
Common questions include: How do you decide how to break down the
necessary work into tasks? Is it better to have bigger tasks that handle larger
segment of work, or many smaller tasks? These questions do not have a single
answer but there are guidelines that can be followed in determining what is a
task. The primary driver is the overall business process that is supported and the
logical breakdown of work within the process.
A task typically has a clear start event (either system or user) and a defined
completion. A typical approach to defining tasks is to limit them to no more than
3 - 5 user steps whenever possible. It is best to try to limit the complexity of
individual tasks and use preconditions to manage task order rather than build
large complex tasks. This provides greater flexibility within the solution and
greater adaptability to changing business needs.
Forms also play a role in what is considered content within the system. A form
can be a set of data or help to visual a set of data. The differences here can have
some impact on design. Forms that are used for a user interface construct must
exist at design time to ensure that it is part of the solution package and to tie it
within the user interface. Outside of these design considerations, the rest of the
design follows a typical Enterprise Content Management focus. Document types
are displayed within the case. They have properties and security that must be
implemented.
Business rules are outside of the tasks that allow for the rule inputs and outputs
to be defined independently of the task workflow. The detailed decisions that
affect a task routing to be encapsulated within a rule can be called from a single
step or multiple steps rather than increase the complexity of the tasks workflow.
With the rules being defined externally to the tasks, the same rule can be applied
to multiple tasks within a case and modified as needed without requiring the
updates to be made to all tasks. After rules are defined, they help ensure
consistency and accuracy when data is involved.
The more functionality that can be included through definition and configuration,
the easier the solution is to develop and maintain. Utmost effort often is made to
meet requirements through definition and configuration. Not all customization
can be eliminated, but the flexibility of the tools that are included in IBM Case
Manager can reduce this effort.
For more information about the IBM Case Manager data model concept, see 4.1,
“IBM Case Manager object model” on page 71.
Document types also include documents that are stored as structured form data
objects.
The Complaint Management solution example has the following document types:
Correspondence: Triggers a task for document approval before it is mailed to
the complainant
Supporting Document: Used for any other document that is filed into a case,
such as an email or scanned in letter
Page layout changes can be made within the configuration of the solution. The
goal of the definition is to establish the core case and flow of the case rather than
focusing on the details of the user interface. The page modifications within the
definition can be limited to the widgets and their layout on the default pages.
The Properties Layout view provides the ability to define how properties are
presented to users when they process a task step or open a case. In the
definition of the solution, the initial view of the case properties is laid out and
applied to the Properties widget of the appropriate pages. The flexibility of the
Properties Layout view reduces the need to use forms to present case and
workflow properties to users. More views can be refined and adjusted within the
configuration to create task step or role-specific views.
After the task is named, it is necessary to define the characteristics of the task
and how it starts, whether it is required, visibility, and preconditions.
Discretionary tasks are tasks that do not have preconditions and are based on
the decisions of the user when to create these tasks. These tasks are often the
activities that are most variable and require the expertise of the knowledge
worker to determine when they need to run rather than an easily definable
condition.
Required tasks
This type of task is one that the case state cannot be set to completed until this
task is completed.
Hidden tasks
Defining a task as hidden still allows a task to run and perform all of its actions,
but the task is not visible to users when the list of tasks that are running within the
case is reviewed. The most common use for hidden tasks is for background tasks
that perform automated processes, such as data synchronization from other
systems.
Preconditions
For automatic and manual tasks, it is necessary to define the business
preconditions under which that task is created. When a task is set with no
preconditions, it is created at the same time that the case is created. For tasks
that can run only after the case is created, the preconditions must be defined.
Repeatable
Tasks with a document that is filed and property condition is met can be set as
repeatable. A repeatable task is one that can be run more than once in the
lifecycle of a case and must run when the precondition is met.
Table 6-1 shows the task types, their characteristics, and the use cases.
Required Started by: A workflow that runs when the case is created. It
Automatic System must be completed.
Required Started by: A workflow that runs when a user starts it. It must
Manual User be completed.
Required Repeatable: A workflow that runs when a user starts it. It must
Manual with Yes be completed.
property A user can start the workflow only if the
preconditions precondition is met.
All-inclusive sets form a simple abstraction of parallel and required work activity.
In practice, all-inclusive sets are often used with a group of optional manual
tasks. When a user starts or disables one of the tasks, the other tasks in the
group also must be started or disabled.
Mutually exclusive sets are groups of tasks in which only one of the tasks within
the set can be run within the lifecycle of the case and starting any of these tasks
disables the remaining tasks.
Task steps
With the task properties and preconditions set, the focus can shift to defining the
underlying workflow of the task. This is where all of the users steps of the task
are to be defined and placeholders for system steps can be created. The focus of
the task workflow definition is to identify the role, decisions, and properties of
each user step of that task’s workflow.
As in defining the solution, the capabilities that are outlined in this section require
no coding or scripting. A good understanding of the IBM Case Manager
architecture is needed. Many capabilities that are outlined in this section are
available by using enhanced capabilities of the Case Manager Builder and the
IBM FileNet Process Designer to make direct modifications to the solution. Other
configuration capabilities are available by using other products that are bundled
with IBM Case Manager
The added in-baskets are configured to define the properties and work items that
are returned to the user. In-baskets are configured to provide the following
specific presentations and capabilities of the work queues or inbox:
Adding system fields as columns
Fields that were not defined in the Case Manager Builder but are available in
the system and can be added to the work queue and in-basket as columns.
The use of pre-filtered, sorted in-baskets
Different views of work queues can be displayed to a user or role by
configuring more in-baskets that contain pre-filtered, sorted work items.
Setting the order of in-baskets
The order in which in-baskets are displayed in the Case Manager Client can
be configured.
Advanced widgets, such as the case visualizer or custom widgets that are
developed for Case Manager, can extend the functionality that is available in the
configuration of pages.
For more information about capabilities that are available within the FileNet
Process Designer, see Introducing IBM FileNet Business Process Manager,
SG24-7509.
These properties can still be available to the user at each of the individual user
steps of the workflow process and used in In-baskets to present the data to
users.
Running ICM_Operations
IBM Case Manager includes ICM_Operation component functions that provide
advanced case interactions that can be used within task workflows. These
functions provide many of the common case interactions that are performed by
the system as a workflow runs.
IBM Case Manager supports FileNet eForms and IBM Forms. Form templates
use the available forms design, templates, validation, and runtime scripting
capabilities. This section outlines these capabilities.
Remember: Each form product has its own unique user interface functions
and features. For example, IBM Forms supports dynamic forms. These forms
allow the visibility of form fields, controls, and sections to be controlled that are
based on pre-filled data and field value entries, such as property information.
Form data objects can be extended to provide more business object functionality
by extending the form data object class. This extended object class can be
configured to use case properties, such as enabling normalized data collection in
the case. The extended form data object class can be added to the solution to
allow you to define its uses in the solution. This method is useful for collecting
structured data objects that are to be used for analysis and reporting purposes.
Great care must be used when this functionality is provided so that overuse and
the resulting avoidance of the use of defined tasks by the users is avoided. It is
recommended that this functionality is provided only to advanced knowledge
workers and carefully tracking is done by using reports and analytics.
The following aspects of security definitions must be considered when you set up
your production environment:
Case Content security
Role security
Page security
Setting the appropriate security on the case type class, case folder class, and
task classes controls who has permissions to those objects. These permissions
include creating cases, accessing case information, creating tasks, and other
actions.
Security also can be set on the document classes that are associated with a
case type. Each document class that is defined within Case Manager Builder
creates a corresponding document class when it is deployed. Access to these
document classes can be controlled as any other content object.
More detailed security can be applied to roles and queues by using the Process
Configuration Console.
Page security
Most page-level security within Case Manager is handled through the association
of task detail and add task pages and their association with specific steps in the
task workflow processes. Case detail pages and solution pages are managed
through Case Manager Builder.
The Case detail page that is presented to the user when they open a case is
determined by the default case detail page and the ability to associate specific
case detail pages with specific roles. Also, the solution pages that are available
to a role is configured within the Case Manager Builder in the same location that
the roles are defined.
Case load Stores historical information about the number of cases in process
during a specified time.
Cases in Stores nearly up-to-the-moment information about all cases that are
progress in progress in the system. The information includes the number of
cases, processing times, and status.
Task load Stores historical information about the number of tasks in process
during a specified time.
Tasks in Stores nearly up-to-the-moment information about all tasks that are
progress in progress in the system. The information includes the number of
tasks, processing times, and status.
Queue load Stores historical information about the amount of work that is done
in each queue during a specified time period.
Work item Stores historical information about processing time for work items
processing time during a specified time. The information can be broken down by user.
Routing Stores historical information about the number of work items going
from a source step to a destination step. The information can be
broken down by user, time, and exposed user-defined fields.
Work load Stores historical information about the amount of work that is done
in the system during a specified time.
Reporting by using cubes enables reports to be “sliced and diced” and users can
drill down to obtain more detail. Cubes often are used to supply summarized
information about cases, tasks, and workflow information.
Fact tables
Fact tables are single-dimensional tables of information. By using fact tables, you
can generate reports that contain detailed case information. Reports list all
cases, tasks, or workflows and can group, total, and provide averages by using
tabular calculations in the report. The fact tables do not summarize the data
directly from multiple cases, tasks, or workflows.
Exposed field
An exposed field in the reporting database is a case property or a workflow data
field. Each cube (fact) table can have zero or more exposed fields. Exposing
fields allows case properties to be made available for reporting purposes.
Configuring a solution for reporting involves creating exposed fields and setting
up reports. This process can use Cognos BI, Microsoft Excel, or other tools that
can generate reports from a reporting database.
Because real-time monitoring uses the same cubes and fact tables that are used
in reporting, similar procedures are used to extend the reporting database to
display case, task, and workflow information. Dashboard objects can then be
configured to display more information as required.
Custom widgets
When the standard widgets cannot provide the functionality that is required for a
solution, custom widgets can be developed and configured into the solution
pages to meet these needs. Developers can develop custom widgets that can be
placed on a page and interact with the standard and any other custom widgets
that might be there.
For more information about custom widgets, see 10.5, “Creating and deploying a
custom widget” on page 386.
For more information about the external data services, see 14.6, “External data
service” on page 557.
Extending forms
IBM Forms and FileNet eForms can be extended by using scripting. By using
scripting, the forms can be more flexible within the user interface or provide
interaction with external systems.
FileNet eForm provides JavaScript API. The API is often used to develop
enhanced forms that are used for data entry.
IBM eForm has server APIs that provide low-level access to XFDL forms in Java,
C, and COM. With these APIs, you can develop applications that analyze,
validate, and create XFDL forms. IBM Form also provides Functional Call
Interface for runtime custom XFDL capabilities.
Published APIs
Case Manager includes several published APIs that allow for customization in
each of the outlined methods. This provides the full flexibility and control over
solutions that are needed to meet the most demanding requirements. The
following APIs are available that allow the developer to select the most
appropriate choice for their needs:
IBM Case Manager JavaScript API
Use this API to customize your Case Manager Client application.
IBM Case Manager Java API
Use this API to create servlets for custom web applications and to develop
custom component queue applications.
For more information about the APIs, see Chapter 14, “Integration points” on
page 545.
In 7.3, “Defining the case type” on page 227, we describe the creation of case
types by using the properties, roles, in-baskets, and document types that are set
up in this section.
Tip: The basic property types are string, integer, datetime, float, and
Boolean. Properties can be a single value or multiple values. The
Customer Complaint solution uses only single values.
4. In the same manner, add the rest of the properties that are listed in Table 7-1
on page 218.
5. For the property with choice list, select your choice in the Manage Choice
Lists Name field. For example, complete the following steps to define the
choice list Case Sources as shown in Figure 7-6 on page 217:
a. Enter Case Sources in the Manage Choice Lists Name field.
b. To add a choice, click Add Choice Item and enter the choice information.
In the example, enter Form for Display Name and Value.
c. Repeat these to add the following choice items for Case Sources choice
list:
Form, Email, Fax, and Letter
e. To verify the choice list you just added, select the choice list for the
property. In the example, the Case Sources choice list is selected for the
property Case Source, as shown in Figure 7-7.
f. To add another choice list, click Add Choice List. Table 7-1 shows the
complete choice list that we add for the solution.
g. When you finish creating all of the choice lists, click Close.
6. Repeat steps 1 - 5 to complete the solution properties by using Table 7-1.
Table 7-1 shows a complete choice list we use for our sample solution.
Complaint Category String(64), Choice list: The type of complaint that was
Complaint Categories submitted.
Properties that are used as case search criteria often require indexing to
improve performance. Monitor your system during testing and in production to
determine the final set of properties to configure for indexing.
Part of the completed property list looks similar to the list that is shown in
Figure 7-8.
Tip: The type of personal in-basket to display for a role can be customized.
The following selections are available:
Personal (Common): Show the common view: Defines a common
in-basket for every role.
Personal (Role): Show the custom view: Defines an in-basket specific
for the role.
Do not show common or role personal in-baskets: Show just personal
inbox: Not role in-basket is shown for the role.
Sales Agent Sales Agent This role is for the sales agents who interact with
customers for any sales opportunities.
6. Click OK All to complete the in-basket configuration for the Contact Center
role.
7. Repeat steps 1 - 6 for the other roles. Assign the properties, sort parameters,
and filter as you did for the Contact Center role in-basket. See the Table 7-4
for the in-basket configuration.
Tip: It is a good idea to click Save after you complete the roles configuration.
4. Add properties for this document type. For the sample solution, we use the
properties that we created for the document type. Complete the following
steps to add the properties:
a. Click Add Property and select Existing.
b. Click Case Number to assign the existing properties to the document
type, as shown in Figure 7-14.
c. Repeat these steps to add other properties that you want for the document
type.
Supporting Document Case Number Documents that are received from the
customer to support customer complaints.
Tip: The properties for documents are significant to the document rather than
the case. In this example, the case properties are used for illustrative
purposes only.
3. The Case Type configuration page is shown in Figure 7-16. You can configure
various options for the case type.
Figure 7-18 Adding properties that appear in the Case Summary view
Tip: To the right side of each of the properties in the Available Properties field
is an arrow. Clicking that arrow to move the property into the Properties in the
Case Summary view field and back.
The order that the properties are displayed in the view is the order that they
are displayed in this field. The properties can be moved up or down by clicking
the Move Up or Move Down icons to the right of the property name.
Complete the following steps to create the Customer Information view with the
properties layout specified:
1. Click the Properties Layout tab.
2. Click Add View, enter Customer Information, and then click OK, as shown in
Figure 7-19.
3. Click the Open Properties View Designer icon at the right of Customer
Information view tittle, as shown in Figure 7-20.
6. Drag the Customer Rating field into the property list container that was added
in step 5. Properties palette is below the containers palette to the left of
property view designer, as shown in Figure 7-23.
Figure 7-23 Adding Customer Rating property into property list container
8. Following the same procedure that was used for adding the property list
control, add a tabbed Layout container to the bottom of the canvas, as shown
in Figure 7-25.
10.Select Customer Information Tab in the tabbed layout that was configured in
step 9 and add a multiple column layout into it.
11.Drag the following properties to multiple column layout, as show in
Figure 7-27 on page 236:
– Left column: customer number, customer since, customer address, and
customer state
– Right Column: customer name, customer city, customer email, and
customer telephone
The completed multiple column layout looks similar to the one that is shown in
Figure 7-28.
14.Click Save at the upper right of the Properties View Designer window to save
the changes, as shown in Figure 7-30.
Tip: By using IBM Case Manager 5.2, case designers can define custom
properties layouts and assign them to the properties widget in Page section.
This feature provides flexibility when data entry and display interfaces are
defined.
Complete the following steps to define the properties that are available for case
search:
1. Click the Case Search tab.
2. Configure the Case Search view by adding properties in the left column
(Available Properties) to the right column (Properties in the Case Search
view), as shown in Figure 7-32 on page 240.
When case worker perform searches, these property fields are available for them
to perform the search.
4. Click Save.
In this chapter, we define only the rule. In Chapter 8, “Building a simple solution:
Part 2” on page 267, we show you how to use the rule within a case task.
Complete the following steps to define the embedded rules as a table-based rule
for a customer’s rating:
1. Select the Rules page and click Add Rule.
3. After the rule is created, open Rule Designer by clicking Rule Name or the
Rule Designer icon to the right, as shown Figure 7-35.
4. Click each column header and assign the following names for each column
that we use in the rule table, as shown in Figure 7-36:
– Customer Since
– Transaction Amount
– Customer Rating
6. The Condition editor features interactive help to support rule authoring. Press
the spacebar to show the list of available fields and scroll down to find “the
Customer Since of” field, as shown in Figure 7-38.
8. To complete the column condition, press the spacebar and select is more
than <a number> from the list, as shown in Figure 7-40.
Tip: The column condition that we defined affects every cell for this
column; however, you can override the condition for a specific cell if
required.
The completed the Customer Since column can look as shown in Figure 7-42.
11.For the Customer Rating column, you set the values for this field when the
other columns values (Customer Since and Transaction Amount) are met, as
shown in Figure 7-44.
Upsell Required, Automatic, This container task starts the subtasks that
Opportunity Container, Property are contained in it when there is a
precondition possibility of an upsell opportunity.
Upgrade Plan Required, Automatic, This task starts automatically when there is
Exclusive, Property a non-product related upsell opportunity.
precondition
5. Click OK at the bottom of the Manage Sets window to close the window. The
set is associated with tasks later in this procedure.
3. On the General tab, complete the following steps to configure the task
attributes:
a. Select Upsell Opportunity as the task name.
b. Select Task Starts: Automatically.
c. Leave the Required option cleared because this task is an optional task.
3. On the General tab, complete the following steps to configure the task
attributes:
a. Select Task Starts: Automatically.
b. Select Upgrade Options from the Assign to set field.
c. Select the Required option for this task.
The results are shown in Figure 7-50.
7. You can see the task moved to the container by clicking Go to subtasks of
Upsell Opportunity, as shown in Figure 7-54.
At this stage, the Upsell Opportunity container task contains the subtasks that
are shown in Figure 7-56.
3. On the General tab, enter Verify Billing as the name, select Task Starts:
Automatically and Optional.
4. On the Preconditions tab, complete the following steps to configure the task
preconditions:
a. Select A document is added to the case.
b. Select Document of a type defined for this case and Supporting
Document from the menu for the document type.
c. Add the following preconditions:
• Valid = True
• Complaint Category = Billing
d. Click OK.
Create the Review Product Complaint task with the configuration that is shown in
Figure 7-60 on page 259. Make sure that you select Task Starts: Automatically
and leave the Required option cleared because this is an optional task.
Add the task with the configuration as shown in Figure 7-63 on page 261. Make
sure to select the Task Starts: Manually option and leave the Required option
cleared to make it an optional task.
Set the Preconditions for the Investigate Product Safety task as shown in
Figure 7-64.
Figure 7-65 Configuring the general tab for Send Corresponding Letter
Add the task with the configuration as shown in Figure 7-68. Make sure that the
Discretionally option is selected for the “This task starts” field.
Figure 7-68 Configuring the general tab for Send Corresponding Letter
Figure 7-70 shows all of the required tasks for the Customer Complaints solution.
Figure 7-72 shows all of the discretionary tasks for the simple Customer
Complaints solution.
Troubleshooting: If the swimlanes are missing when you open the Step
Editor, ensure that the current version of your browser is supported by IBM
Case Manager.
Figure 8-2 Using the Step Editor to design the Upgrade Product workflow task
7. In the Step Properties pane (on the left), enter Communicate Upgrade Options
in the Name field. This process sets the step name.
8. Click the Edit icon to the right of the Case Properties field.
9. On the Case Properties tab, click Select Property.
Remember: This example maps all of the case properties to data fields in
the task (workflow). However, only those fields that are required by the task
must be mapped.
12.Click the Validate icon to apply your changes and validate the task. If there
are validation errors, they are displayed in the lower left on the task.
13.Click Save and then Close to complete editing of the task workflow.
14.Click Save and Close to save and close the solution.
Tip: Save and Close the solution often to save the solution artifacts in the
design object store.
Figure 8-9 shows the task diagram for the Upgrade Plan task.
Figure 8-10 shows the task diagram for the Call Customer task.
6. Select all case properties as the step parameters and click OK.
7. Drag the connector from the Launch Step to the Verify Complaint step.
8. Create another Billing Adjustment step in the Billing Agent swimlane.
9. Drag the connector from the Verify Supporting Doc to the Billing Adjustment.
11.Create Contact Center swimlane and add the Send Correspondence step to it.
Figure 8-14 shows the task diagram for the Verify Complaint task.
Complete the following steps to create the Send Corresponding Letter task
diagram:
1. Complete the following steps to create the attachment that starts the task as a
property in the workflow:
a. Start the Step Builder for the Send Corresponding Letter task.
b. Click Manage Attachments at the top of the Step Editor.
c. Click Add Attachment.
d. In the Attachment Name field, enter CorrespondingLetter. Do not include
any spaces because Content Platform Engine does not allow spaces in
attachment name.
Figure 8-19 Creating the attachment so that it is available as a parameter to the step
2. Use the procedure that is described in 8.1.1, “Creating the Upgrade Product
task diagram” on page 268 to add a swimlane role and step and edit the
following step properties:
a. Select Contact Center for the swimlane role.
b. Enter Review Corresponding Letter for the step name.
Figure 8-20 Adding case properties to the step in Read only mode
3. In the Step Properties pane, click the Edit icon to the right of the Attachments
field.
The Send Corresponding Letter task also can contain a step that generates a
customer letter. This step uses a third-party tool to generate the letter to be sent
to the customer.
Complete the following steps to create the Investigate Employee task diagram:
1. Complete the following steps to define the attachments for the task workflow,
as shown in Figure 8-24 on page 291:
a. Click Manage Attachments at the top of the Step Editor.
b. Click Add Attachment.
c. In the Attachment Name field, enter CorrespondingLetters (no spaces
allowed).
d. In the Prompt field, enter Corresponding Letters.
e. Click OK.
Requirement: For a case worker to see the attachment when they are
opening a work item, you must define the attachment by using Add
Attachments. After you define it, use step properties to add the attachment
to the step. The attachment must be created in each task that contains
steps where the attachment is shown.
Figure 8-24 Defining attachments to use in the Investigate Employee task diagram
2. Update the step properties for the Launch Step by completing the following
steps:
a. Select Launch Step.
b. In the Step Properties panel, click the Edit icon to the right of the
Attachments field.
Figure 8-26 on page 293 shows the task diagram for the Investigate Employee
task.
Remember: This validation is for this Case type and its collection of Tasks
only. This process does not validate the entire solution.
The solution is now complete. After you build the solution, you must deploy it in
an environment before you can use it.
3. Click Deploy to confirm and commit changes that were made on the solution
before deployment, as shown in Figure 8-31 on page 297.
The deployment might take some time to complete. The status bar shows the
deployment status.
Requirement: Follow the guidelines in the “Planning for IBM Case Manager
security” section in IBM Case Manager Information Center to give users
access to the cases and tasks.
After the successful deployment, test the solution by completing the following
steps:
1. From Case Manager Builder, click Test for the Customer Complaints solution,
as shown in Figure 8-34.
Figure 8-38 Selecting the Complaint case type for add case
16.The case now has one completed task, as shown in Figure 8-43 on page 306.
17.The Contact Center creates a letter to inform the customer of the case status
in the Letter Templates folder and files it in the current case. File the
document to the subfolder Correspondence of the case instance. To file the
letter, complete the following steps:
a. Click the Documents tab of Case Information.
b. Double-click the Correspondence folder.
c. Click Add → Add Document from Local System, as shown in
Figure 8-44.
19.Carl processes the work for the Send Corresponding Letter task.
20.Sally processes the work for the Call Customer and Upgrade Product tasks,
which closes the possible upsell opportunity. Processing these two tasks
completes the Upsell Opportunity task.
21.Steve reviews the case information, then sets the Complaint Status to Close.
This step completes the work for the Close Complaint task.
With IBM Case Manager, we can use different migration models, depending on
the kind of asset that we want to migrate. This chapter describes the different
migration models, starting with describing the advantages for each approach and
suggesting how to combine the best of each one.
For example, you can have an environment for business analysts and solution
developers to create a solution, an environment for developers to perform
functional testing, and another testing environment for system integrators to test
everything. Lastly, every company has a production environment on which the
final tested solution is deployed for case workers to work on active and archived
cases.
To better control versions of the solution definition, the solution design tools
(Case Manager Builder and FileNet Process Designer) are only available in the
development environment. This configuration ensures that the solution, which is
the core of the solution application, follows a well-controlled modification
process. The solution definition is governed by using well-defined procedures
with a “one source” approach. The development environment manages the
solution definition and all other environments contain migrated versions that are
deployed to, but not edited in, those other environments.
Any issues that are found in UAT that require changes to the solution must be
resolved and tested first in the development environment. Then, the solution is
migrated and redeployed to the UAT environment for verification and further
testing. Therefore, the solution moves through the environments in stages: DEV
-> UAT, DEV -> PROD, as shown in Figure 9-2 on page 317.
The UAT environment can still be used to capture, potentially automate, and test
the configuration steps that are required to support the solution. If the UAT
environment for the IBM Case Manager system uses the same LDAP as the
production environment, then, as with the traditional application, the testing,
solution application installation, and configuration documentation and any
automation that is developed can be used directly when the solution is deployed
into the production environment.
The core application migration path uses the IBM Case Manager solution
migration model where all assets should treat the development environment as
the “single source” for the solution application.
Another example is Content Platform Engine workflow system assets that are
defined outside of IBM Case Manager that are incorporated into the solution,
such as a workflow system configuration or component queue. Following the
traditional application model, the definition of these assets might be modified in
the UAT environment and then must be migrated back to development.
Figure 9-4 shows the overall migration and deployment process at a high level.
This reflects migrating and deploying from a development environment to a
non-development environment.
The overall migration and deployment procedure includes the following overall
steps:
1. Preparation:
a. Preparing IBM Case Manager assets
b. Preparing FileNet P8 assets
c. Preparing other IBM assets and external artifacts
2. Migration:
a. Migrating IBM Case Manager assets
a. Migrating FileNet P8 assets
a. Migrating other IBM and external artifacts
3. Deployment:
a. Deploying IBM Case Manager assets
b. Deploying FileNet P8 assets
c. Deploying other IBM and external artifacts
4. Configuration:
a. Configuring IBM Case Manager assets
b. Configuring FileNet P8 assets
c. Configuring other IBM and external artifacts
For more information about migrating and deploying of these assets, see the IBM
Case Manager 5.2 Solution Deployment Guide, which is available at this website:
https://www.ibm.com/developerworks/community/blogs/e8206aad-10e2-4c49-b
00c-fee572815374/entry/ibm_case_manager_5_2_solution_deployment_guide
This guide is divided into three parts and each part focuses on one of the three
types of assets. The content of this chapter is based on the guide. However, we
present the migration and deployment information in a sequential approach,
following the logical order of steps you perform during a solution migration.
You can use the procedure that is presented in this book as a checklist for your
application migration and deployment process. For more information, always
reference the guide.
The rest of the chapters in this book follow the overall procedure that is outlined
here for preparing, migrating, deploying, and configuring the solution.
Note: For more information, see the topic in IBM FileNet P8 5.2 Information
Center, which is available at this website:
http://pic.dhe.ibm.com/infocenter/p8docs/v5r2m0/topic/com.ibm.p8.com
mon.deploy.doc/deploy_ce_import_concepts.htm
IBM Content IBM Content IBM Content IBM Content IBM Content
Manager item Manager Manager Manager Manager
types system library server system system
administration administration administration
client client client
IBM Content IBM Content IBM Content IBM Content IBM Content
Navigator Navigator Navigator Navigator Navigator
desktop configuration administration administration
database tool tool
Custom widget External tool External tool External tool IBM Case
(example: Manager
Rational® configuration
Application tool or
Developer) administration
client
IBM Content
Navigator
administration
tool
Application
Server's
administration
console
External Data External tool External tool External tool External tool
Service
9.4 Migration
The migration phase consists of exporting the assets from the source
environment, staging the solution definition in the destination staging object
store, and preparing to import the remaining assets into the destination
environment.
As shown in Figure 9-5, the migration process from a final UAT system to the
production system consists of the following steps:
1. Export the solution.
To export the deployed and tested solution from the development
environment, complete the following steps:
a. Log in to the IBM Case Manager administration client by using the
following URL:
http://<ICMserver_host:ICMserver_port>/navigator/?desktop=icmadmi
n
The following default URL is used when IBM WebSphere is used as the
application server:
http://<ICMserver_host>:9080/navigator/?desktop=icmadmin
b. Browse to the design object store for the development environment and
open it by completing the following steps:
i. Select the Solutions node in the navigation pane, as shown in
Figure 9-6.
ii. Select the wanted solution from the list on the right side. Use the
Actions drop-down menu and choose Export → Solution.
c. In the Name the solution package dialog box, enter the Solution package
file name. Click Next.
d. Verify that the information about the Review the solution package to export
dialog box is correct. Click Finish to start the export process.
e. Wait for the processing to complete and confirm that the solution package
successfully exported.
f. Click Download and Close to use your browser to download the solution
package .zip file to a well-known location.
2. Export the security configuration manifest.
If a security configuration was created, you can export the manifest that can
be associated with the solution from the development or UAT environment.
The security configuration can be applied to the imported solution after it is
deployed. Before it is applied, the imported configuration can be edited to
incorporate any changes that are required by the security model or LDAP for
the destination environment.
e. In the Name the package and select security manifests to export dialog
box, enter the Configuration package file name. From Available manifests,
select the security configuration manifest to export. Click Next, as show in
Figure 9-8 on page 333.
f. Verify that the information in the Name the security configuration dialog
box is correct. Click Finish to start the export process.
g. Wait for the processing to complete and confirm the configuration package
successfully exported.
h. Click Download and Close to use your browser to download the
configuration package .zip file to a well-known location.
3. Import the solution.
Use the IBM Case Manager administration client to import a solution package
that was previously exported from another environment. The exported
solution package includes all assets that were created for the solution in Case
Manager Builder.
d. In the Solution package file name field, enter or browse to the .zip file that
contains the solution package to be imported. Click Next, as shown in
Figure 9-10.
e. Review the information in the Review the solution package to import dialog
box. Check the Replace existing solution option at the bottom of the
dialog box so that the import updates the existing solution definition.
f. Click Next.
g. In the Map users and groups dialog box, click Search to select the user or
group to map to values that are valid for this environment.
h. Map all users and groups to users and groups that are valid in the
destination environment LDAP. Users can be mapped to groups and
multiple users or groups can be mapped to the same user or group (as
shown in Figure 9-11). The information that is captured during the
preparation phase helps with choosing the mappings.
i. Click Finish and verify that the import completed successfully, as shown in
Figure 9-12 on page 336.
d. Complete the following steps in the Name the security configuration dialog
box:
i. In the drop-down menu for the Target environment name, choose the
target environment definition that contains the deployed solution to
which the security configuration is applied, as shown in Figure 9-17.
At least one valid entry must be added to ensure that a user has the
permissions that are needed to administer the solution. The following
preferred practices are helpful:
Add the user who is editing the security configuration manifest so
that user can make further modifications after the security
configuration is applied later. In this example, this user is ceadmin.
Notice that the Remove button is disabled for this user so the entry
cannot be removed after it is added.
Add a group that holds all users that can act as solution
administrators. Groups are easier to manage than lists of users that
are added directly to the security configuration.
Note: For more information about a complete scenario for this security
configuration sample, see Part 1 of IBM Case Manager 5.2 Solution
Deployment Guide, which is available at this website:
https://www.ibm.com/developerworks/community/blogs/e8206aad-10e2-
4c49-b00c-fee572815374/entry/ibm_case_manager_5_2_solution_deploy
ment_guide
Note: For more information about a complete scenario for this security
configuration sample, see Part 3 of IBM Case Manager 5.2 Solution
Deployment Guide, which is available at this website:
https://www.ibm.com/developerworks/community/blogs/e8206aad-10e2-4c4
9-b00c-fee572815374/entry/ibm_case_manager_5_2_solution_deployment_g
uide
c. In the Target environment name drop-down menu in the Select the target
object store dialog box, choose the target environment definition name for
the target environment to which the solution is deployed. Click Next.
d. In the Review the solution to deploy dialog box, verify the information and
click Finish and then verify that deploy completed successfully, as shown
in Figure 9-23.
e. Click View Log to save the log for later reference. It is recommended that
you choose a file naming scheme and location so these logs can be used
to retain a history of the changes that are applied to the system.
Open and review the saved log to verify that the solution deployed as
expected.
http://<ICMserver_host:ICMserver_port>/CaseManager/CASEREST/v1/info
9.6 Configuration
After a solution is migrated and deployed, more system configuration steps might
be required (depending on the features of the solution). These configurations
steps are described in this section.
https://www.ibm.com/developerworks/community/blogs/e8206aad-10e2-4c4
9-b00c-fee572815374/entry/ibm_case_manager_5_2_solution_deployment_g
uide
e. For each subsequent dialog, review the information for accuracy, then click
Next.
Repeat this step until the Apply the security configuration dialog box
opens.
f. Making the following selections in the Apply the security configuration
dialog box:
• Apply the security configuration to ask the system to use the
security configuration manifest to apply the security configuration to the
deployed solution in the selected target environment.
• Apply the role membership to ask the wizard to configure the role
memberships. This takes the place of the use of the Manage Roles
operation in IBM Case Manager 5.2 Case Manager Client.
• Apply to all discretionary tasks to ask the wizard to apply the
specified security to all discretionary tasks in the solution. Use this
option often provides a starting point. Then, security is further refined
manually by using ACCE to customize access to individual
discretionary tasks.
Click the Apply button to start the process, Figure 9-26 on page 352.
h. Click View Log to save the log for later reference. It is recommended that
you choose a file naming scheme and location so these logs can be used
to retain a history of the changes that are applied to the system. Open and
review the saved log to verify that security was applied as expected.
2. Modify and verify.
After completing the deployment and configuration process, we might need to
make some final configurations and verify that solution process is complete
and consistent. The following tasks are common in this stage:
a. Optional modification of existing case instances.
Changing a solution and redeploying it can affect existing case instances.
IBM Case Manager tools help modifying existing case instances, including
precondition checking and case synchronization.
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.case
mgmt.design.doc/acmdr005a.htm
For a component queue, the Adapter and Operations tabs contain information
that is brought to the destination system with the export and import of the queue
definition by using the Process Configuration Console. Some properties might
need modification to reflect the destination system. For example, the JAAS
credentials often must be updated to reflect the correct user account for
processing the component queue on the target environment.
http://pic.dhe.ibm.com/infocenter/p8docs/v5r2m0/topic/com.ibm.p8.pe.con
figui.doc/bpfc084.htm
Note: For more information about a complete example for this configure step,
see Part 2 - phase 4 of the Solution Deployment guide, which is available at
this website:
https://www.ibm.com/developerworks/community/blogs/e8206aad-10e2-4c4
9-b00c-fee572815374/entry/ibm_case_manager_5_2_solution_deployment_g
uide
Part 3 Solution
customization and
advanced topics
This part describes IBM Case Manager solution customization topics, such as
user interface customization, development, rules, security, and advanced topics.
After the changes on a page are saved, the business analyst must deploy the
solution before the changes are seen on the page in Case Manager Client.
In the main layout area, the widgets are laid out according to how the layout is set
in the page options settings. There are icons on each widget to change its
settings and wiring. Also, each widget on the main layout area can have its height
adjusted to automatically fill its allotted section or to be a specific percentage or
pixel count of its size.
Note: When you are setting the size of a widget in Page Designer, make sure
to confirm and verify the wanted sizing of the widget in Case Manager Client.
Toolbar area
The toolbar area of Page Designer allows the business analyst to open the Page
Options pop-up window, open the Wire Events pop-up window, show or hide the
hidden widget area, and show or hide borders on the page. All of these options
are in the form of four icons in the toolbar area, as shown in Figure 10-4.
Page Options
The Page Options pop-up window in Page Designer allows a business analyst to
change the page title, set the layout of the page, and add sizing options to the
sections of a page.
In Figure 10-5 on page 362, the Page Options pop-up window shows the page
title and layout style for the Cases page.
The Page title allows the business analyst to change the name of the page, add a
special character, and append a case ID, case title, step name, or work item ID.
Note: The collapsible option allows the case worker to toggle the specified
column to be shown or hidden on the page in Case Manager Client.
Each preinstalled widget in IBM Case Manager includes events that are incoming
or outgoing events that can be wired to another widget. In the Wire events pop-up
window, widgets can subscribe to an outgoing event from another widget or
broadcast an event to another widget.
For more information about the incoming and outgoing events for each widget,
see the IBM Case Manager Information Center, which is available at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.help.doc/acmwc026.htm
The show or hide hidden widget icon allows the business analyst to add or
remove widgets from the hidden widget area that does not render the widgets in
run time in Case Manager Client. However, the widgets still load and function as
if they are visible on the page.
After one user modifies a solution asset, such as a page, view, business rule,
in-basket, role, document type, case type, or task, that solution asset is locked
until the user saves and commits the changes. After changes to solution assets
are committed and deployed, the changes to the solution assets are available in
Case Manager Client to the other users of the solution.
As shown in Figure 10-7, Case Manager Builder has a pop-up window that
shows lock information about what solution assets are locked by which user.
Note: If there are any locked items by another user, Case Manager Builder
warns you when you attempt to deploy the solution.
This section assumes that you created, deployed, and tested your solution with
the Case Manager Builder application in your development environment. If you
have not done so, read the following chapters before you proceed:
Chapter 7, “Building a simple solution: Part 1” on page 211
Chapter 8, “Building a simple solution: Part 2” on page 267
Case Details
The Case Details page type allows a case worker to view or update properties for
a case. The Case Details page also allows the case worker to add documents,
tasks, or comments to the case. This page type contains the following default
pages:
Case Details (for viewing or updating a case)
Case Details Form (for viewing or updating a case with a Form)
Add Case
The Add Case page type allows a case worker to create specific cases. This
page type contains the following pages:
Add Case (for creating a new case)
Add Case Form (for creating a new case with a Form)
Split Case
The Split Case page type allows a case worker to create a case that is based on
existing cases. This page type contains the default page Split Case, which is
used for creating a case with the reused values from an existing case.
Add Task
The Add Task page type displays when a case worker adds a discretionary task
to a case. This page type contains the following default pages:
Add Task (for adding a task, adding a document, or viewing documents)
Add Task Form (for adding a task, adding a document, or viewing documents
with a Form)
Work Details
The Work Details page type includes the step pages that display when a case
worker opens a work item. This page type contains the following default pages:
Work Details (for viewing, updating, or completing a work item)
Work Details Form (for viewing, updating, or completing a work item with a
Form)
For more information, see the IBM Case Manager Information Center, which is
available at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.help.doc/acmwrh19.htm
Creating a page
To customize a page as a specific page type, create a page and configure
widgets and delete widgets as needed.
2. After the page is registered, click the hyperlink on the page name or the first
icon to open Page Designer, as shown in Figure 10-9 on page 369. This is
where widgets and the page layout can be customized.
3. After opening Page Designer, click the Page options icon in the Toolbar area.
Change the layout to three-column header. The page layout changes to a
different layout. A header is a top section of the page in which the toolbar
widget is placed. You also can rename the page in the Page options pop-up
window.
4. Dragging a widget from the widget palette area to the main layout area adds
the widget to the page. Drag the Toolbar widget to the header section of the
page, as shown in Figure 10-10 on page 370.
5. Repeat step 4 for the Search and Case List widget. Drag the Search widget
into the left column and the Case List widget into the center column. Click
Save or Save and close to save the changes in Page Designer.
Note: Because Case List has handler functions for the Search widget’s
search cases event, the Case List widget does not need to be wired to the
Search widget to display case items.
Only Solution page types can be specified for a role. To assign a custom page to
a role, complete the following steps:
1. In Case Manager Builder, click the Roles tab and then click the specified role
or the pencil icon to edit the role.
2. Click the Pages tab when you are editing the role and then click the Assign
Page drop-down menu to select the newly created custom page, as shown in
Figure 10-11 on page 372. Make sure to click OK to confirm your changes
and then save your changes in Case Manager Builder.
Only Work Details page types can be specified for a work item. To assign a
custom page as the default Work Details page for a step in a task, complete the
following steps:
1. In Case Manager Builder, click the Case Types tab and select the case type.
2. Select Tasks to open the Tasks page.
3. On the wanted task, click the Edit Steps icon to open Step Designer.
4. Within Step Designer, select the step and in the Step Properties area, select
the wanted page from the Page Layout drop-down menu.
By using the Properties View Designer, you can create various custom views for
each case type. Before you access the Properties View Designer, ensure that the
wanted case properties are in the Properties page for a case type in Case
Manager Builder.
5. After dragging the tabbed layout container into the canvas, two tabs are
shown in the container. Click and rename the tab title to be Customer Related
in the title field for the Settings pane. The second tab can be renamed as
Complaint Related.
6. Proceed to drag properties that relate to the Customer into the Customer
Related tab. Then, drag properties that relate to the Complaint into the
Complaint Related tab.
For more information, see the IBM Case Manager Information Center, which is
available at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.help.doc/acmsdh60.htm
Alternatively, you can specify what view to show on a specific page through the
Edit Settings window on the Properties widget.
Note: When you are configuring the Properties widget view, we recommend
that you configure the system-generated view or a custom view as the default
view for a particular case type. The default view is rendered in the Properties
widget whenever the Properties widget is not specifically configured to render
another view.
To configure the default view for a case type, complete the following steps:
1. In the Properties Layout tab, ensure that the default view is set to the newly
created custom view, as shown in Figure 10-15. This renders the properties
layout with the newly created custom view.
Figure 10-15 Setting the default view of a case type with a custom view
2. After setting the default view of a case, validate in Case Manager Client that
the custom view that is selected as the default view shows up in the Case
Details page.
Figure 10-16 Setting a custom view in the settings window of the Properties widget
Note: If the Properties widget is configured in this manner, the default view
setting is ignored.
To minimize the configuration burden of setting a view for each case type in
the Properties widget, you should override the default view only when
necessary.
You can add a wire between a source widget and a target widget. When the
source widget publishes the wired event, the published event is sent to the event
handler (or handlers) in the widget (or widgets) to which it is wired.
Figure 10-17 Selecting Edit Wiring from the Widget menu icon
The Wire Events pop-up window opens with focus on the widget and the
wiring it has with other widgets on the page.
The drop-down menu for the source widget includes all of the widgets in the
page that can handle events. The widgets that can publish events only are not
listed.
4. Click Add Wire and the two widgets are officially wired. An entry appears in
the table, as shown in Figure 10-19.
The source end of the wire displays the event that is sent by the source
widget. The target end of the wire displays the event that the target widget
receives.
To change the source or outgoing event, click the drop-down menu for the
source widget field or the outgoing event field. Then, click Add Wire to add a
new widget wiring.
For more information about the IBM Case Manager Model classes, see this
website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/index.jsp?topic=%2Fco
m.ibm.casemgmt.development.doc%2Fjsdoc%2Findex.html
Table 10-1 Outgoing events that are broadcasted by the In-baskets widget
Event title Event ID Payload Description
The events that are handled by the In-baskets widget are listed in Table 10-2.
Table 10-2 Incoming events that are handled by the In-baskets widget
Event title Event ID Payload Description
Apply filter icm.ApplyFilter filter Update the work items that are
listed in the in-basket that are
based on the specified filters.
For more information about incoming and outgoing events for each widget, see
the IBM Case Manager Information Center, which is available at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.help.doc/acmwc026.htm
Table 10-3 Outgoing events that are broadcasted by the Search widget
Event title Event ID Payload Description
Table 10-4 Incoming events that are handled by the Search widget
Event title Event ID Payload Description
In Case Manager Client, the case worker can click the Advanced Search link to
search on specific case properties. The case worker can then specify any other
properties in the user-specified properties section on the Advanced Search
window.
Note: The search results that are displayed in the Case List widget from the
Search widget can be shown in a Details view or a Magazine view.
The Details view and Magazine views for the Case List widget can be found on
the Case List widget in Case Manager Client and in the Settings window for
the Case List in Case Manager Builder.
For more information about the custom search widget, see the Converting a
Custom Search Widget from Case Manager 5.1.1 to Case Manager 5.2
developerWorks® article, which is available at this website:
https://www.ibm.com/developerworks/community/groups/service/html/commun
ityview?communityUuid=e8206aad-10e2-4c49-b00c-fee572815374#fullpageWidg
etId=Wf2c4e43b120c_4ac7_80ae_2695b8e6d46d&file=e3ff1d40-31e0-469a-9ecf-
aa7a03e73a46
For more information about custom widgets in IBM Case Manager V5.2, see the
IBM Case Manager Information Center, which is available at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.development.doc/acmwt000.htm
To create the Custom Search widget, you must set up your development
environment first.
A custom widget in IBM Case Manager can be packaged in a JAR file or in a JAR
and an EAR file. It is up to the application developer to choose whether to include
an EAR file in the custom widget package. With an EAR file, an application
developer can include the custom widget with a content pane inside of an EAR
file, such as the custom search widget. With a JAR file, an application developer
can package one or more IBM Content Navigator custom plug-ins.
The following benefits are achieved by including the optional EAR file in the
custom widget package:
Separates IBM Content Navigator plug-in code from the custom widget code,
which allows the application developer to add modularity
Organizes multiple custom widgets within the EAR file apart from the JAR file,
which allows the application developer to deploy and register one custom
widget package
Debugging the custom widget can be easier with folder path because of the
modularity of the EAR file and the JAR file
Can help avoid class path conflicts
The following benefits are achieved by not including the optional EAR file in the
custom widget package:
Allows application developer to use only IBM Case Manager administration
client to register and unregister the custom widget package. The application
developer does not need to navigate to the application server.
Convenient for simple widget testing and deployment because there is no
other EAR file to maintain.
To set up your development environment, create a project that contains the files
for the Custom Search widget (see Figure 10-24 on page 389). You also can use
Eclipse or another integrated development environment (IDE).
Note: Ensure that you have the appropriate Java JRE or JDK configured on
your Eclipse or IDE to compile the project or run the ANT file to build the
widget package.
In this example, these two JSON files are contained in a directory that is called
ICMRegistry where this folder also can include images that are used for the
widget package, such as thumbnails or icons and any translated resource files.
As shown in Figure 10-24, the widget definition and catalog files are in the
ICMRegistry directory.
Complete the following steps to create your widget definition and catalog files:
1. Create the widget definition JSON file. The file mainly defines source files,
events, and properties for the widget. Complete the following steps:
a. The beginning clause of the widget definition file contains the ID, title,
category, description, preview icon path, icon path, help path, and runtime
class name, as shown in Example 10-1 on page 390.
b. The second portion of the widget definition JSON file includes any
properties to be included in the custom widget. In the custom search
widget, there are two properties. These properties are in the Edit Settings
window of the widget within Page Designer.
One property is called PreferredHeight and another is customProperty1.
They are shown in Example 10-2.
2. Create the catalog JSON file. The file has the description for the widget
package and lists the widgets that the package holds. Complete the following
steps:
a. The first part of the catalog JSON file contains the name, description,
version, categories, and locale, as shown in Example 10-4. The locale
should be entered as shown in Example 10-4 if no locale is specified. For
other locales, specify them under the folder nls in ICMRegistry. The
categories and version fields are optional.
"runtimeClassName":"icm.custom.pgwidget.customSearchWidget.Custom
SearchWidget",
"help": "acmwrh126.htm",
"previewThumbnail":"imags/caseinfo_thumb.png"
}
]
}
In the initial JavaScript file, it is important to load the CSS files that are used for
the page widget and to register the Dojo module path for the custom widget’s
runtime code, as shown in Example 10-6 on page 393.
var paths = {
"icm/custom":"/ICMCustomWidgets/icm/custom"
};
require({paths:paths});
For more information about how to create plug-ins in IBM Content Navigator, see
the IBM Redbooks publication, Customizing and Extending IBM Content
Navigator, SG24-8055, which is available at this website:
http://www.redbooks.ibm.com/abstracts/sg248055.html
These facilities enable the page widget construction and allow the business
analyst to dynamically adjust page behavior without any (or very little)
programming.
The UI dijit should not access any IBM Case Manager Page container-related
APIs, which limits its usage to only the IBM Case Manager Case Client.
Separating the UI dijit from the page widget layer allows you to reuse this dijit in a
custom application or plug-in built on top of IBM Content Navigator. The dijit also
can be reused in a non-ECM environment if it does not use any ECM related API.
The dijit should also make available necessary Dojo methods and events to allow
interested parties (the page widget wrapper or other custom widgets) to
exchange data or get notified by user interaction.
After the user interface part of the page widget is finished, you create a page
widget wrapper that extends this UI dijit and converts it into an IBM Case
Manager page widget. The page widget wrapper should be the place where the
page container-related code is kept. It accepts widget settings from the page
container and passes them to the underlying dijit. It should also connect to Dojo
events that are exposed on the dijit to be notified of user actions.
As an optional separation, you can separate the event handling logic from the
page widget when the event handling is getting complex. For example, if you
have complex logic to pre-process or post-process the event data, you can
create a separate event listener object, which holds the event handler
implementations. Then, page widget can delegate the event handling logic to the
event listener object.
Figure 10-25 on page 395 shows the high-level idea of constructing a page
widget. The classes in the black box implement and handle the user interface
while the classes in the red box are base IBM Case Manager classes that the
custom widget inherits.
EventListener
Complete the following steps to create the custom page widget with content
pane:
1. Create the content pane HTML page and content pane JavaScript file to
display a user interface in the custom search widget.
2. Create the main custom widget JavaScript file, CustomSearchWidget.js. In
CustomSearchWidget.js, the file grabs the values from the content pane
HTML page from the user that ate based on the input, then uses the IBM
Case Manager JavaScript Reference API to construct a search criteria
payload, then broadcasts the search results and payload to the Case List
widget to run the search.
10.5.5 Creating IBM Case Manager JavaScript API calls and objects
The IBM Case Manager JavaScript API is useful for custom widgets to call
certain actions and start events that are used by other preinstalled page widgets.
The documented IBM Case Manager JavaScript API is available at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/index.jsp?topic=%2Fco
m.ibm.casemgmt.development.doc%2Fjsdoc%2Findex.html
Example 10-7 Performing the custom search using IBM Case Manager JavaScript API
var solution = this.solution;
var params = {};
params.ObjectStore = solution.targetObjectStore.id;
var criterion = new ecm.model.SearchCriterion({"id":
"CmAcmCaseIdentifier", "selectedOperator": "STARTSWITH", "dataType":
"xs:string", "defaultValue" : "%", "value": "%", "values": ["%"]});
params.criterion = [criterion];
var ct;
widget.solution.retrieveCaseTypes(function(theCaseTypes)
{
ct = theCaseTypes[0].name;
});
params.caseType = ct;
params.solution = solution;
The first build.xml file creates the IBM Content Navigator plug-in file, as shown
in Example 10-8.
Note: To build the IBM Content Navigator plug-in JAR file, the
navigatorAPI.jar file must be included in Eclipse or the IDE. The
navigatorAPI.jar file often is found in ...\ECMClient\configure\lib.
Example 10-8 Ant build file for the IBM Content Navigator plug-in JAR file
<?xml version="1.0" encoding="utf-8"?>
<project name="ICM Client Build" default="all" basedir=".">
<target name="clean">
<delete>
<fileset dir=".">
<include name="*.jar" />
</fileset>
</delete>
</target>
<target name="buildPlugin">
<javac target="1.5" source="1.5" destdir="./bin" srcdir="./src"
debug="on" includeantruntime="false">
<classpath>
<pathelement location="./lib/navigatorAPI.jar" />
</classpath>
</javac>
<copy todir="./bin" overwrite="yes">
<fileset dir="./src">
<include name="com/ibm/icm/extension/custom/WebContent/**/*.*"
/>
</fileset>
</copy>
The second build.xml file creates the WAR and EAR files for the custom page
widget, as shown in Example 10-9.
Example 10-9 Ant build file for the custom page widget EAR and WAR files
<?xml version="1.0" encoding="utf-8"?>
<project name="ICM Client Build" default="all" basedir=".">
<target name="clean">
<delete>
<fileset dir=".">
<include name="*.war" />
<include name="*.ear" />
</fileset>
</delete>
</target>
<target name="createWAR">
<war destfile="./ICMCustomWidgets.war"
webxml="./WebContent/WEB-INF/web.xml">
<fileset dir="./WebContent">
<include name="**/*.*" />
</fileset>
</war>
</target>
<target name="createEAR">
<ear destfile="./ICMCustomWidgets.ear"
appxml="./WebContent/META-INF/application.xml">
<fileset dir="." includes="*.war"/>
</ear>
</target>
The third build.xml file packages the IBM Content Navigator plug-in JAR file, the
EAR file for the custom page widget, and the directory that is holding the widget
definition and catalog JSON files into one .zip file that is ready to deploy into
IBM Case Manager, as shown in Example 10-10.
<target name="package">
<ant antfile="${plugin.home}/build.xml" >
<property name="basedir" value="${plugin.home}"/>
</ant>
<ant antfile="${webapp.home}/build.xml">
<property name="basedir" value="${webapp.home}"/>
</ant>
<zip destfile="../ICMCustomWidgets.zip">
<fileset dir="${plugin.home}">
<include name="*.jar" />
</fileset>
<fileset dir="${webapp.home}">
<include name="*.ear" />
</fileset>
<zipfileset dir="../ICMRegistry" prefix="ICMRegistry">
</zipfileset>
</zip>
</target>
If the custom widget package contains an optional EAR file, the IBM Case
Manager configuration tool deploys and registers the custom widget package.
Both options are described in this section. Do not perform both options; instead,
perform only one option, depending on the structure of the custom widget
package.
Complete the following steps to deploy the custom widget package by using the
IBM Case Manager administration client:
1. Open the IBM Case Manager administration client.
2. Click to open the design object store under the Object Stores folder in the
navigation tree.
3. Click the Widget Packages folder to open it in a new tab, as shown in
Figure 10-26.
Note: Selecting the Replace if already registered option in the Verify the
selected widgets package window replaces the existing custom widget with
the updated widget package if the custom widget package is already
deployed and registered on the Application Server.
Complete the following steps to deploy a custom widget package by using the
IBM Case Manager configuration tool:
1. Open the IBM Case Manager configuration tool.
2. Click File → Open Profile and select the IBM Case Manager configuration
profile file.
3. Right-click Deploy and Register Widgets Package and select Copy
Selected Task, as shown in Figure 10-28 on page 402. A copy of the existing
task with the existing values is made.
Figure 10-29 Modifying the Widgets package file path in the configuration tool
5. After all of the information is verified as correct on the copied version of the
Deploy and Register Widgets Package, click Save and then click Run Task.
6. Validate that you see that the task finished running successfully without any
errors in the Console window on the bottom of the IBM Case Manager
configuration tool.
The expected output looks as is shown in the following example:
Starting to run Copy_of_Deploy and Register Widgets Package
Note: If the custom widget package includes an EAR file, make sure that the
custom widget enterprise application in WebSphere or other application
server is started before the custom widget is added to the page.
Complete the following steps to add the custom widget to the page:
1. In IBM Case Manager Builder, edit the wanted solution.
2. Open Page Designer with the wanted page on which to add the custom
widget. For the custom search widget, it is added to the Cases page.
3. Drag the custom widget from the widget palette to the main layout area, as
shown in Figure 10-30 on page 405.
Note: The custom widget's catalog and definition JSON files specify the
widget palette category section in which the widget appears within Case
Manager Builder.
Case workers can now create custom tasks to represent procedures that are not
predefined in the case type.
For more information about custom tasks, see the IBM Case Manager
Information Center at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.client.doc/acmrth09.htm
After the custom tasks are enabled, make sure that you commit the changes and
deploy the solution. Then, the case worker can create custom tasks by
completing the following steps:
1. Browse to the case details, work details, or the tasks tab in the Case
Information widget to create a custom task. Click Add custom task to create
a custom task.
The custom task editor pop-up window opens to allow the case worker to start
creating the custom task.
2. Enter a name and a description for the custom task.
Note: A decision point must follow a work item. The user must make a
decision if the work item is assigned to the user.
The user interface of the Timeline Visualizer widget includes a primary and a
secondary timeline. The primary timeline shows the duration of the entire case.
Users can move sliders and zoom in on the specific range within the case
timeline, which is represented by the secondary timeline. The Timeline Visualizer
widget is on the case details page by default. The user interface of the Timeline
Visualizer widget (when it is maximized) is shown in Figure 10-33 on page 410.
Primary Timeline
Histogram
Secondary Timeline
(zoom)
Case Series
The Instruction widget is on the Custom Task Details page by default. A sample
view of the Instruction widget is shown in Figure 10-34.
The solutions can be grouped by using project areas so that only the relevant
business analysts are given access privileges to the solution and solution
definition. Project areas add security and autonomy to IBM Case Manager
solution development.
In addition, project areas help to limit the effect of resetting the test environment
to other users who are working on other projects in the same development
environment. Resetting the test environment removes deployed case solution
artifacts from the target object store and the process configuration information. A
reset also reinitializes the target object store and the isolated region that is
associated with the project area.
Instead of resetting everything in a test environment, you can use project areas
to reset the development environment only of a particular project area. This
isolation prevents the reset that disrupts the work of other business analysts who
are working on different project areas.
For more information about how to save user-defined assets, see the IBM
Case Manager Information Center at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/index.jsp?topic=%2
Fcom.ibm.casemgmt.design.doc%2Facmdr001.htm
Users and solutions can easily be moved from one project area to another, but
each user can belong only to one other project area in addition to the default
project area. After a user is assigned to a project area, the user can modify or
define solutions within that specific project area.
For more information about how to set up and manage project areas in IBM Case
Manager V5.2, see the IBM Case Manager Information Center at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.design.doc/acmdt015.htm
Client-side Custom code that The client application runs the case folder search
runs on client and stores the document in the matching case
application folder upon ingest.
Server-side Java Event Action A Java based event action is created to handle the
matching and filing of the case document.
This method is the best method for production
implementations.
Remember: The key that is used is not necessarily the same as the Case
Title designated property, although this is a common practice.
3. By using the wizard, add an event action. In the example, the display name is
called Automated Case Document Filing Action.
4. In the next window in the wizard, select JavaScript as the event action type.
5. Paste the JavaScript code that is provided in Example 11-1 on page 417.
drcr.save(RefreshMode.NO_REFRESH);
}
}
6. Create a subscription for the wanted document class or object by using the
newly created event action. Complete the following steps:
a. Identify and click the wanted document class or object for which you want
to create a subscription.
The example uses the Correspondence document type.
b. From the Action menu, click New Subscription to add a subscription (see
Figure 11-2) to this document class.
8. In the Select the Triggers window of the wizard, select the wanted triggers for
the new subscription. In our example, select Creation Event, as shown in
Figure 11-4 on page 420.
9. In the Select an Event Action window of the wizard, choose the newly created
event action and finish the wizard to complete the new subscription.
For more information about how to create a code module for automated
document ingesting can be found at the IBM FileNet P8 Information Center,
which is available at this website:
http://pic.dhe.ibm.com/infocenter/p8docs/v5r2m0/topic/com.ibm.p8.ce.adm
in.tasks.doc/p8pcc047.htm
For more information about how to handle ingested documents through workflow,
see 14.5, “Using Content Platform Engine workflow integration” on page 555.
The Split Case page is designed for splitting cases. The Split Case page is
started when the case worker clicks Split Case on the Case toolbar.
When a case is split, a case is created that is based on information from the
original case. Documents in the original case can be selectively moved to the
new case. The new case can be of the same case type or a different type within
the same solution. After the split, the two cases continue independently. The
case history shows the split action and the other related case.
This section describes how to split a case by using the Split Case page.
Tip: The property fields in the new case are completed with matching values
from the original case. However, if the case has a property that has a default
value and the current value of the property in the original case is NULL, the
property is set to the default.
The tasks from the original case continue to run, and new tasks for the new case
are started in the normal fashion. They function the same as though they were
created through the Add Case function. If the user chooses to do so, selected
documents are filed into new case at the case root level. The history of the
original and the new case shows the split action and a link to the other case.
Figure 11-6 shows the history of the split case activity for the example use case.
In IBM Case Manager, there are various ways to customize a solution to add
functionality by using custom code in the custom action or toolbar, code in the
script adapter widget that is wired with preinstalled widgets, or with custom
widgets. These can be considered as basic, intermediate, and advanced levels of
customization to IBM Case Manager. This section focuses on the basic
customization scenarios.
The customization scenarios are provided as a subset of the many different ways
to customize IBM Case Manager. Each customization scenario can be altered to
achieve a different result and be provided as working examples.
5. Click OK to add the new button to the toolbar. Then, click OK again to exit the
Toolbar window and save the changes.
6. Commit and deploy the changes to the solution and validate the button in
Case Manager Client.
Complete the following steps to add an option to show a link to the case through
a menu action in the Case List widget:
1. From Case Manager Builder, open Page Designer on the wanted page.
2. Edit the settings of the Case List widget on the page. In this example, we edit
the settings of the Case List widget on the Cases page.
3. Click the Menu tab, and then click Add Menu Item.
There are various actions that are available by default. For example, choosing
Script Action allows a custom script to be run when the button or menu is
selected.
if(c == x[0].getCaseTitle())
{
alert("This is a special case, please review this case.");
}
else
{
alert("This is a normal case, please proceed.");
}
6. Click OK to add the menu item. Click OK again at the bottom of the Case List
settings window to save the changes.
7. Commit and deploy the changes to the solution and validate the script in Case
Manager Client.
The customization scenarios are provided as a subset of the many different ways
to customize IBM Case Manager. Each customization scenario can be altered to
achieve a different result and are provided as working examples.
We want the user to select a case in the Case List widget, for a pop-up window to
show the number of documents, and show the document ID of each document in
the root folder of the case. We want to use a script that gets the case folder
ContentItem from the case editable object that is passed in the payload.
4. Click the Edit Wiring icon of the Script Adapter widget and wire it to the Case
List widget to receive the Select Case outgoing event. Click Add Wire and
then click OK to exit the window.
5. Save and close the Cases page, deploy the changes to the solution, and
validate this customization scenario in Case Manager Client, as shown in
Figure 11-8.
5. Click OK to add the new menu action for the In-baskets widget. Click OK to
save the changes to the In-baskets widget.
6. Drag the Script Adapter widget from the widget palette area to the main layout
area. Click the Edit Settings icon and paste the script that is shown in
Example 11-4 on page 430 into the JavaScript text area. Then, click OK to
save the changes to the Script Adapter widget.
Tip: When possible, it is recommended that you add the Script Adapter to
the hidden widgets page to avoid cluttering the page.
7. Click the Edit Wiring icon on the Script Adapter widget to wire the Script
Adapter widget to the In-baskets widget. Select In-baskets as the source
widget, select *open_all_event as the outgoing event, and select Receive
event payload as the Incoming event.
8. Click Add Wire and then click OK to exit the window.
9. Save and close Page Designer and deploy the changes to the solution. To
validate this customization scenario, click the first work item once and hold
the Shift key to highlight the second work item in the In-baskets widget. Then,
right-click either case and select Open All to open them in multiple tabs, as
shown in Figure 11-10.
7. Click OK to add the button to the toolbar widget and then click OK to save the
changes to the toolbar widget.
8. Save and close the page in Page Designer, then deploy the changes to the
solution. To validate this customization scenario, click Add Entry Template to
open a pop-up window to add the entry template, as shown in Figure 11-11
on page 433.
5. Click OK at the bottom of the form to add the new menu item. Click OK again
to save the changes to the Attachments widget.
6. Drag the Script Adapter widget from the widget palette area to the main
layout area. It is recommended to put this Script Adapter widget into the
hidden widgets area. Click Show/Hide Hidden Widgets in the toolbar area of
Page Designer to show the hidden widgets area.
7. Click the Edit Settings icon on the Script Adapter widget.
8. Select the Block outbound event option.
10.Click OK in the Script Adapter widget. Then, click the Edit Wiring icon on the
Script Adapter widget.
11.Under the section that is labeled Incoming Events for the Script Adapter,
specify the following values under each drop-down menu:
– Source widget: Page Container
– Outgoing event: Send work item
– Incoming event: Receive event payload
12.Click Add Wire.
13.Specify a second incoming event for the Script Adapter with the following
values:
– Source widget: Attachments
– Outgoing event: *icm.AddDocToBothCaseAndAttachment
– Incoming Event: Receive event payload
14.Click Add Wire.
15.Under the section that is called Outgoing Events for the Script Adapter,
specify the following values under each drop-down menu:
– Outgoing event: Send event payload
– Target widget: Attachments
– Incoming event: Add document attachment
16.Click Add Wire. Then, click OK to save the changes to the wiring for the
Script Adapter widget.
17.Save the changes to the page, deploy the changes in Case Manager Builder,
and open Case Manager Client to validate the customization scenario.
18.On the Work Details page, browse to the Attachments widget, click Actions,
and then select the newly created menu item, Add Document From Local
File System. The window that opens after you click the menu item does not
require the user to specify where to save the attachment. The attachment is
automatically saved to the case folder.
Note: The script that is shown in Example 11-8 on page 438 is specific to
the Customer Complaints solution. Make sure to create a case property for
the Customer Complaints solution that is called AssignedToUser. The
in-basket dynamic filter searches on this case property and matches it to
the user name, which is case-sensitive.
7. Click the Edit Settings icon for the In-baskets widget and select the Do not
populate the in-basket until the dynamic filter is received option. This
ensures that the in-basket widget loads only when the filter is received.
8. Save and close the changes to the page within Page Designer. Ensure that
the newly created case property AssignedToUser is available to the case type
and the Specialist in-basket.
9. To validate this customization scenario, create a case and enter P8Admin if
you are logged in as P8Admin for the case property AssignedToUser on the
Work Page in Case Manager Client. Ensure that the case is opened to the
Specialist queue and it appears in the in-basket widget on Case Manager
Client.
In Figure 11-12 on page 439, there are three work items in the Specialist
queue, but only one is available because it has the value P8Admin, which
matches the logged in user.
6. Save the changes to the page, deploy the changes to the solution, and open
Case Manager Client to the page with the Case List widget. In this example,
we open the Cases page and click a case in the Case List widget. The History
tab of the Case Information widget shows the comments of the case.
When the page broadcasts a SendCaseInfo event, for example, each widget
begins the process of loading their widget content. This loading is asynchronous
and can take longer for some widgets, such as the Form widget. In the case of
data widgets, such as the Properties, Form, Attachments widgets, one widget
can complete the loading process and prepare for user input before another.
Therefore, the user can begin interacting with that widget’s user interface while
the other widgets are still loading. Because all of these widgets share a controller
instance, it becomes difficult to ascertain the controller’s initial state when testing
for dirty state.
Specifically, the LOADWIDGET topic indicates that a widget can begin loading its
content. The completion callback is called when the loading process is complete.
The Properties widget responds to this topic by loading the widget in a read-only
state to temporarily prevent user input.
The following customization scenario shows how coordination topics can be used
to customize some of the controller while the page is loaded:
1. Open the Case Details page in Page Designer.
2. Drag the Script Adapter widget from the widget palette area to the main layout
area or the hidden widgets area.
3. Wire the Script Adapter to the Send case information event from the Page
Container widget.
4. Click the Edit Settings icon for the Script Adapter widget and paste the
custom script that is shown in Example 11-10 into the JavaScript text area.
This custom script uses the Property Controller to detect if the user changed
the Upgrade Category case property value to Product or Service Plan on the
Case Details page. If the user selects Product, the Part Number case
property becomes required and the Customer Since case property is hidden.
If the user selects Service Plan, the Customer Since case property becomes
required and the Part Number case property is hidden.
IBM Case Manager V5.2.0.001 adds the LOADWIDGET and
AFTERLOADWIDGET topics that allows the coordination events to be run.
upgradeMethodValueChangedHandler(upgradePropertyController.get("valu
e"));
5. Save the changes to the page and deploy the changes to the solution. To
validate this customization scenario in Case Manager Client, open the Case
Details page and notice that the Customer Since field is hidden and the Part
Number field is required when Product is selected in the Upgrade Category
field. Similarly, notice that the Part Number field is hidden and the Customer
Since field is required when Service Plan is selected in the Upgrade Category
field.
11.5.8 Getting the next work item with custom logic after completing
a work item
This customization scenario allows the user to complete a work item, then have
some custom logic to retrieve the next work item automatically. The custom logic
in this specific example retrieves the next work item that has the same step name
as the one that was opened from the In-baskets widget.
This customization scenario uses the get next option that is available in the
Work Item Toolbar widget’s Complete action. The Complete action in the Work
Item Toolbar widget can be enabled to automatically get the next work item. This
retrieves the next work item when the case worker clicks Complete.
For the Customer Complaints solution, if a case worker is of the Specialist Role
and opens the only Review Product Compliant work item in the work queue and
the rest of the work items in the queue for the Specialist role are Review
Non-Product Compliant work items, the work details page notifies the case
worker that there are no more work items to retrieve.
require([
"dojo/_base/declare",
"dojo/_base/lang",
"icm/util/WorkItemHandler",
], function(
declare,
lang,
WorkItemHandler
) {
if(payload !== null){
var workItemEditable = payload.workItemEditable;
var UIState = payload.UIState;
if ( workItemEditable !== null) {
/*If the current work item is not gotten from get next
function, just show it*/
var stepName = workItemEditable.getStepName();
if(UIState !== null && UIState.get("GetNext") === true){
/*do any rules based on business logic*/
}else{
widget.lastWorkItemStepName = stepName;
widget.onBroadcastEvent("icm.SendWorkItem",
payload);
}
}else{
widget.lastWorkItemStepName = stepName;
widget.onBroadcastEvent("icm.SendWorkItem", payload);
}
}
}
});
return null;
7. Click the Edit Wiring icon on the Script Adapter widget and enter the following
values under the section that is labeled Incoming Events for the Script
Adapter:
– Source widget: Page Container
– Outgoing event: Send work item
– Incoming event: Receive event payload
8. Click OK to save the changes to the Script Adapter widget.
9. Save the changes to the page, deploy the changes to the solution, and open
Case Manager Client to validate this customization scenario. To validate,
open a work item directly from the In-baskets widget to view the work item on
the Work Details page. Then, complete the work item and notice that the next
work item with the same step name comes up automatically. When there are
no more work items with the same name in the In-baskets widget, a window
opens.
require(["icm/util/SearchPayload"],function(SearchPayload){
solution.retrieveCaseTypes(function(){
solution.retrieveAttributeDefinitions(function(attributesDef) {
var searchPayload = new SearchPayload();
searchPayload.attributeDefinitions = attributesDef;
params.ObjectStore = solution.getTargetOS().id;
var criterion = new ecm.model.SearchCriterion({"id":
customerStateAttrId, "name":customerStateAttrDisplayName,
"selectedOperator": "NOTIN", "dataType": "xs:string","defaultValue"
: "Completed", "value": "Completed", "values": ["Completed"]});
params.criterions = [criterion];
params.CaseType = caseType;
params.solution = solution;
searchPayload.setModel(params);
});
});
});
For more information about custom widget development, see 10.5, “Creating and
deploying a custom widget” on page 386.
This section describes what can be localized and how to configure individual
components for multilingual support in IBM Case Manager.
For more information about translating custom strings, see 11.7.2, “Translating
custom strings, solution assets, and others” on page 451.
For information, see the IBM Case Manager Information center, which is
available at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.design.doc/acmdt025.htm
IBM Case Manager provides the Step Designer for creating and managing tasks
within the Case Manager Builder. The following task components are provided:
Activity steps
Attachments
Properties
Routes
Rule steps
Stub steps
Workflow groups
There are many configuration options for each of these components that allow
the Step Designer user to create and manage complex workflow operations
within a case.
This chapter is intended for the user who works with the solution in ways that are
not available in the Step Designer application. Others that are involved in solution
design should review these topics to better understand the capabilities that are
not accessible from the Case Manager Builder application.
The person who performs the activities that are described in this chapter might
have one of many titles in an organization, such as business analyst, IT
administrator, developer, systems engineer, and architect. This chapter
describes activities that are not traditional developer activities because actual
programming is not required.
Note: IBM FileNet Business Process Manager was renamed as IBM Case
Foundation.
For more information, see IBM Case Manager Information Center at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/index.jsp?topic=%2Fco
m.ibm.casemgmt.installing.doc%2Facmin141.htm
Figure 12-1 Accessing Process Designer from Case Manager Builder’s Solution level
When a solution or task is opened by using the Process Designer in this manner,
the multiuser editing mechanism protects the solution artifacts from editing
conflicts. Workflows and workflow configuration functionality (including roles and
in-basket definitions) are editable only if a lock is granted for the items.
For more information about multi-user editing, see 5.4.1, “Multiple user solution
development in Case Manager Builder” on page 167.
Figure 12-2 on page 457 shows the option of opening Process Designer within
Case Manager Builder at the Task level.
Table 12-1 lists the differences between solution-level integration and task-level
integration.
Table 12-1 Differences between Solution level and Task level integration
Solution-level integration Task-level integration
Process Designer selectively locks Process Designer locks the selected task.
portions of the solution as they are
accessed.
The user can edit all of the unlocked task The user can edit unlocked task
workflows and the solution workflow workflows only.
configurationa that are associated with the
case type.
For Process Designer to work properly with case elements, the proper libraries
must be installed. In distributed environments, it is possible they were not
installed properly. For more information about the proper configuration for
WorkplaceXT, see this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.installing.doc/acmin141.htm
Complete the following steps to edit the solution from the Process Designer:
1. Start the Process Designer and select File → Solution → Edit, as shown in
Figure 12-3.
2. Select the solution to edit by browsing to the object store and selecting the
solution definition.
As with solution editing that is listed in Table 12-1 on page 457, you have control
over most aspects of the solution. The solution or task is opened by using the
multiuser editing mechanism that protects the solution artifacts from editing
conflicts. That mechanism ensures that workflows and workflow configuration are
editable only if a lock is granted for the items.
Warning: This method should be used only when a solution workflow cannot
be opened through other methods. Otherwise, avoid accessing workflows in
this manner because it bypasses the built-in Case Manager multiuser locking
mechanism. When a workflow is opened this way, it is opened as a
stand-alone workflow that is independent of the Case Manager environment.
For more information about multi-user editing, see 5.4.1, “Multiple user solution
development in Case Manager Builder” on page 167.
Figure 12-5 shows the most common method for adding workflow data fields to
an activity step. The user selects the data field under the Available Parameters or
the Selected Parameters columns and moves them by using the arrows that are
between the columns.
Figure 12-7 on page 462 shows the step details of the use of the advanced
editing option. All of the shown step parameters are case properties. Workflow
data fields appear without the function icon and the expression column matches
the Name column. The expression column shows the value that is passed to the
step parameter that is shown in the Name column.
We include the description of shadow fields in this section only for older tasks
that still have and must use shadow fields.
When a Case Manager solution is upgraded to 5.2, shadow fields are not
removed. You can and should remove these shadow fields unless you used them
for a specific purpose. Upgraded solutions can include operations that use
shadow fields as workflow data fields. Therefore, before shadow properties are
removed, the workflow must be examined to ensure that removing the shadow
fields does not cause unexpected results.
The example that is listed in Table 12-2 shows how three different variables for
TaskTrigger are available to a task workflow. When a case property and its
shadow field are present in a workflow, the case property or the shadow field
value displays in a queue. Further, when a task workflow starts with a shadow
field, the value of the shadow field is set to the Case Property value by the
Launch Event processor.
The case property and its shadow field continue to exist as two independent
variables that are available to the workflow designer. We recommend against the
use of shadow fields for new task workflow steps to reduce confusion. The use of
a like-named Data Field for a case property, such as TaskTrigger alongside
F_CaseFolder.TEST_TaskTrigger, remains an acceptable practice. Further,
solutions that are upgraded from older versions should be evaluated regarding
how existing shadow fields are used.
Queue updates
When case properties are made available on a queue for use in an in-basket,
those properties are automatically tagged for Event Update and the Value
Provider is set to F_CaseFolder. These related settings are visible when the
solution is edited in the Process Designer but not visible in the Case Manager
Builder.
For example, the search and the case information widgets use the case folder
objects while the in-basket widget shows queue entries. The vwtool and Process
Administrator applications display granular information about running workflows
that require a special understanding of the core workflow system.
To access the advanced queue settings (as shown in Figure 12-8), open the
solution in Process Designer and click View → Configuration, expand the work
queues, right-click a queue, then click Properties → Data Fields.
When the queue is viewed, the values that are displayed on the queue can differ
from what is seen on the workflow object when the Process Administrator or
vwtool is used. When an administrator views a work item, they might be looking
at the work object, the workflow roster, or the queue record. Each returns
different information.
For more information about accessing the step parameters display as shown in
Figure 12-9, see 12.2.4, “Activity parameters in Process Designer” on page 460.
When the variable is modified in the Case Manager activity step, the case
property updates automatically and workflow data fields are updated by a post
assignment that is automatically added to the step by Case Manager Builder.
Figure 12-10 on page 467 shows how case properties update the local field
when an activity step was created in Case Manager Builder. Case Manager
Builder version 5.2+ does not create the After Completion assignment
operations.
Experienced workflow designers are familiar with these shadow fields and the
issues that are associated with their use. Solution designers often use the local
variables within the workflow as local parameters. They strategically insert
assignment steps to update the case property with the shadow field value. They
also were aware that activity steps were configured to retrieve the current case
property value and assign it to the shadow field.
When modified outside the scope of an activity step, the shadow field value often
differs from the case property value. Workflows that are designed in this way
pose a special challenge when the solution is upgraded because removing the
shadow fields can cause the workflow to fail or behave unexpectedly.
Implications
As of version 5.2, builders of new solutions and editors of solutions that are
migrated from earlier versions must understand that the values that are displayed
on a queue depend on the Event Update and Value Provider settings. They also
must understand that the post-assignment operations might not be present on an
activity step. Assuming that we have a Case Property with a matching shadow
field, Table 12-3 on page 468 shows the possible queue configurations.
Solutions that are transferred from older versions of Case Manager retain their
configuration and behavior with the caveat that the queue information is updated.
When a solution is upgraded to version 5.2, the activity steps retain their old
configuration.
New activity steps are added without the post assignment operations, which
means that the solution designer must be aware that the local shadow value is
not synchronized with the case property value when the activity step completes.
Further, a case property that is added to an activity step results in the
suppression of the shadow field changes on the activity step.
When updated workflows are modified, the confusion is worse because an older
step might have the post-assign operations to update the shadow field where
new steps in the task do not update the local shadow field.
If two steps modify a case property, the case property has the value set by the
last step when they complete. Further, because of real-time system resource and
queuing issues, there is no guarantee which step makes the last change.
Consider the following assignment steps that are configured to modify the
property F_CaseFolder.ClaimAmount:
F_CaseFolder.ClaimAmount initial value is 0
– Step A runs the setting
F_CaseFolder.ClaimAmount=F_CaseFolder.ClaimAmount+1000
– Step B runs the setting F_CaseFolder.ClaimAmount=10
If the two steps are queued to run simultaneously, the outcomes might be:
– If Step B runs last F_CaseFolder.ClaimAmount is10
– If Step A runs last F_CaseFolder.ClaimAmount is 1010
Case properties are global variables accessible to any running case task.
Further, with the proper permissions, they also are modifiable from the Case
Information widget.
The ICM_Operations and its operations that are listed in Table 12-4 provide
workflow operations for case management.
As other workflow operations are needed, more operations are added to these
components.
For more information about these operations, see the following resources:
Adding case operations to a task:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/index.jsp?topic=%2
Fcom.ibm.casemgmt.help.doc%2Facmpdh20.htm
Adding rule operations to a task by using Process Designer:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.case
mgmt.design.doc/acmdt043.htm
For our example, we notify a user when a document is added to a case. We use
this example to show the use of some of the advanced processing capabilities
that are available to the solution designer.
For this example, we assume that there are users who should be notified when a
document is added to a case. We create a task that runs each time a document
of any type is added to the case. That task extracts information from the
document and uses it for the subject of the email and for the email body. We use
a case property to determine who is to receive the email message.
The component integrator is part of the toolset from the process services in the
Content Platform Engine. It extends the capabilities of the workflow system with
Java class public methods. When installed, those methods act as components in
the workflow process. For our example, we use the CE_Operations component
that is included with the IBM Case Foundation product. CE_Operations provides
a suite of operations for manipulating and interrogating content that is stored in
the Enterprise Content Management system repositories.
This example uses the simple solution that was developed in Chapter 7, “Building
a simple solution: Part 1” on page 211 as the basis. This technique is easily
implemented and extended in any solution. For this example, the solution
designer creates the task and inserts the activity and stub step configuration that
is often done by the business analyst.
When you set these preconditions, you can choose to have the task start
when a document of any type is added to the case. You also can set up the
task to start whenever a document of a specific type is added to the case.
For our example, we are going to send an email when a document of the
Supporting Document type is added to the case. We also are going to have
the email sent when a document is added rather than the first time a
document is added, which is why we set the task as repeatable.
When a task starts that is based on adding a document to the case, property
preconditions can be used to decide whether the task starts. For example, we
can create a case property Notify on Document Arrival as a true or false
Boolean. Then, it can be used as a task precondition to determine whether
the task runs.
This completes the task creation and from this point, the business user can
edit the steps by using the Step Editor and insert stub steps into the task
signifying what is needed. For this case, we save and close the solution at this
point.
10.Click Validate → Save and close.
11.If the new task is edited by another user, click Commit to commit the
changes.
The task can be created by the business user and the solution designer then
completes the more advanced configuration. You can start your solution editing
in Process Designer in multiple ways. For this example, we edit the solution from
the Case Manager Builder by completing the following steps:
1. To start editing the solution from Case Manager Builder, enter the following
URL in a web browser:
http://<host>:<port>/CaseBuilder
2. Go to the Customer Complaints solution (as shown in Figure 12-13) and
select More Actions → Open Process Designer to start the Process
Designer application on the solution.
When a user opens a Task Workflow, this workflow is locked to the user ID to
prevent editing conflicts.
When a solution is edited in Process Designer, the solution designer can
access the process-related aspects (including the queue definitions) of the
entire solution. For example, the solution designer can select steps from one
task workflow and copy it to another by editing that workflow.
4. Set up the attachment information by clicking Workflow Properties →
Attachments and configure it by using the following information (see
Figure 12-15 on page 478):
– Name: Document
– Description: Document
– Initiating Attachment icon: selected
– Array box: not selected
The blue arrows that are shown in Figure 12-15 on page 478 point to the icon
and the resulting icon on the attachment. The red arrow points to the Array
box.
d. Click OK.
e. Repeat these steps for each value that you want to retrieve from the
document.
Figure 12-19 shows the added operation, getStringProperty.
7. Complete the following steps to insert steps and routes onto the workflow:
a. Drag an Assignment step from the icon bar onto the workflow map. Set its
name to Set email Properties by clicking the step and entering the step
name.
a. Drag a Component step from the icon bar onto the workflow map. Set its
name to Send email by clicking the step and entering the step name.
b. Insert routes to connect the steps, as shown in Figure 12-20.
9. Configure the Set Email Props step. For each of the data fields in Table 12-6,
complete the following steps:
a. Click the first empty field in the Name column and select the name from
the drop-down menu.
b. Click the Expression column and enter the expression from Table 12-6
exactly as shown, including the quotation marks.
Table 12-6 Set email Props Assignments
Name Expression
from “[email protected]”
to F_CaseFolder.CC_NotificationemailAddresses
When values are entered in the Expression field, the editor remains active
until you press the Enter key on your keyboard. If you did not press the
Enter key, the expression shows with a second set of borders.
After the process is completed, the step is configured as shown in
Figure 12-23 on page 483.
10.Before you return to Case Manager Builder, validate the workflow collection
by clicking File → Validate Workflow Collection and making any required
corrections.
Important: Always validate your workflow collection before you save and
close your solution in Process Designer. Make sure that there are no errors
before you return to Case Manager Builder.
There are various reasons to create more in-baskets for a role. Extra in-baskets
can help with server-side filtering on geographic regions or customer status, for
example. For the Customer Complaints use case scenario, we create an
in-basket for complaint categories. Creating a choice list makes it easy to
designate in-baskets.
Complete the following steps to create an in-basket for each category. Apply the
in-baskets to the Contact Center role:
1. From Case Manager Builder, select Customer Complaints solution, and
click More Actions → Open Process Designer.
2. When you are prompt to select a case type, select Complaint, as shown in
Figure 12-24. Because we are editing the in-baskets, we can select any of the
task workflows. Click OK when you are done.
4. Check that we are modifying the CC_ContactCenter queue under Queue for
in-baskets.
Figure 12-26 Adding four new in-baskets to the Contact Center queue
13.Repeat step 12 on page 487 for each in-basket, defining the following filter
appropriately:
– For the Service in-basket, specify CC_ComplaintCategory = ‘Product’
– For the Billing in-basket, specify CC_ComplaintCategory = ‘Billing’
– For the Other in-basket, specify CC_ComplaintCategory = ‘Other’
14.To associate these in-baskets with a role, click View → Roles, as shown in
Figure 12-30.
Figure 12-32 Viewing the main in-basket of the Contact Center role
Figure 12-33 Viewing the custom in-basket of the Contact Center role
You can create multiple in-baskets for a queue that can be added to a role.
However, you cannot assign multiple roles to the same queue, as shown in
Figure 12-34.
Figure 12-38 Adding a system property to the system fields on the new queue
d. You can manually add more data fields. Earlier, you created extra workflow
data fields for the Verify Document task. Add those fields to the queue.
Double-click the cell with a blank Field Name and enter the data fields that
you defined. The result should look as shown in the example in
Figure 12-40.
Figure 12-40 Adding the additional data fields to the new queue
c. This step must function within the Case Manager Client user interface so
you must use an available Step page as your step processor. Click the
General tab and select the step processor.
The example uses CC_CmAcmSTEP_DEFAULT_PAGE, as shown in
Figure 12-45.
This error means that you have not set the Step Processor to a valid
Step page. For every activity step in a solution, the Step Processor
must be set to a registered Step page for the solution.
d. While you are in the Review Error step, select the Parameters tab. Move
everything from Available Parameters other than SolutionIdentifier, as
seen in Figure 12-46.
e. Click the Routing tab. Add the two responses by double-clicking the
empty cell under Name to edit a response and enter Skip. Enter Repeat for
the second response.
The configured responses are shown in Figure 12-47.
h. Drag the two return steps into the workflow, as shown in Figure 12-49.
Figure 12-49 Adding two return steps after you remove the system step
i. Complete the following steps to rename each return step and set its
expression:
i. Click the first Return step.
ii. Under the General tab, enter Return True for the Step Name.
iii. Enter true for the Return Expression.
iv. Click the second Return step.
v. Under the General tab, enter Return False for the Step Name.
vi. Enter false for the Return Expression, as shown in Figure 12-50 on
page 502.
For more information about how return values are used in a submap, see the
IBM FileNet Information Center at this website:
http://publib.boulder.ibm.com/infocenter/p8docs/v5r1m0/topic/com.ibm
.p8.pe.designerui.doc/bpfdh003.htm
7. Complete the following steps to create a route from the Review Error step to
the Return True step:
a. On the route properties, enter Repeat for the Route.
b. Select Conditional Route under Routing.
c. Select ALL for the Condition.
d. Select Repeat for the Response.
e. Click ADD to create the condition.
The result should look as the example that is shown in Figure 12-51 on
page 503.
8. Create a route between the Review Error step and the Return False step.
Enter Skip as the route name and set the response as Skip. The route
configuration is shown in Figure 12-52.
Figure 12-53 Validated workflow collection after you configure the Malfunction map
Malfunctions now insert a work item into the Administrators queue. You can
assign the Malfunction in-basket to any role. For more information, see 12.5.2,
“Creating more in-baskets” on page 483. It can be an IT role or the Contact
Center role in the example solution. This user can review the values and
determine whether the step must be repeated (possibly with new values) or end
and the workflow process continues.
As a brief example of this error handling, the following process might occur with
the Verify Document task:
1. Add the Malfunction in-basket to the Contact Center role.
2. A document is added to a case as a Supporting Document with the following
properties:
– Title: Bob's Attachment
– Case Number: C1600
– Customer Name: Bob
– Customer Number: 88489299
3. The Verify Document task is started.
4. A user in the Contact Center role sees the Verify Document work item.
5. The user determines that the content is not relevant.
6. For some reason, the user removes the document from the attachments by
using the attachments widget. The user then clicks Remove Document.
9. This advanced user notices that an attachment is missing. The user adds the
document in the case, Bob’s Attachment, back to the attachment, as shown in
Figure 12-55.
10.The advanced user believes that this action fixes the problem and selects the
Repeat response so that the CE_Operations can try again.
11.The document is confirmed as moved out of the case.
This chapter describes business rules engine concepts and techniques for using
integrated and external rules. It outlines the benefits of using embedded and
external rules engines to manage business rules in a case management system.
This chapter does not describe the IBM rules products in detail. For more
information about ILOG JRules, see the Redbooks publication: Governing
Operational Decisions in an Enterprise Scalable Way, SG24-8127.
Rules engines allow for more efficient and consistent rule evaluations through
centralization and by abstracting the rules out of the workflow or program. The
business analyst or IT professional can use rules to design and implement
complex decision processes by using native language instead of using
programming or complex workflow decision mechanisms. Although the
underlying workflow systems can be, and often are, used to implement many of
the decisions available in a rules engine, the practice is problematic. It leads to
excessive complexity, which makes creating and maintaining the workflows more
costly.
For case management systems, human judgment and the business rules are key
factors in deciding the outcome of cases. The use of the rules engine to guide the
case workers and support the business processes yields better and more
consistent outcomes.
Also, business rules often change more frequently than the workflow processes.
Separating the definition and deployment lifecycle levels of the workflow system
and the rule logic results in a more adaptive system overall. Incorporating a rules
engine into a case management system is useful because a change in the
business rules often affects the behavior of ongoing and new tasks.
Rules engines all rely on underlying programming codes for their running. But,
they provide a more easily understood business rule language. Instead of having
to learn the details of a programming language, rules engines provide easily
understood native language grammar, which makes them more readily available
to the business user. For example, a simple rule is “if the Total Transaction
Amount of a complaint is more than 10000, then set the Customer Rating of the
complaint to “DIAMOND”.”
The Case Manager rules engine uses the Business Rules Embedded component
of IBM Operational Decision Manager 8.5. Case Manager integrated rules, which
also known as embedded rules, to provide for two types of rules: textual and
decision tables. These two rule types provide a robust capability for decision
making within the case management system. The integrated rules use case
properties in their evaluation and pass case properties to the rules engine. The
results return directly to the case in a seamless integration.
For more information about the operators, see the Operational Decision Manager
V8.5 Information Center, which is available at this website:
http://pic.dhe.ibm.com/infocenter/dmanager/v8r5/index.jsp?topic=%2Fcom.
ibm.wodm.rules.embedded.overview%2Farules%2Fcon_rules_embedded_arules_o
verview.html
Custom parameters are variables that are defined and used in a rule. They can
be single value or multi-value. Custom parameters are used to map external data
All case properties are available in creating rules. They can be specified as
shown in the following format:
<property> of <CaseType>
For example:
set CustomerAge of Banking to 60
For example:
make it true that Banking is Member
You use the provided text-based rule editor to create and edit a rule. The editor
has an option of enabling completion menu options. Completion menu options
help you write rules by providing the necessary syntax and prompting for the
relevant variables or values for rules.
All errors and warnings are shown in real time in the console at the bottom of the
editor. Solution deployment is unsuccessful until all errors in the rules are
resolved.
If all of these conditions are satisfied, the customer’s loan can be approved.
Also, there should be a place where remarks can be added when the loan is
processed. The person processing the loan also can append message to the
loan case.
The properties that are needed for the solution are listed in Table 13-1.
Table 13-2 shows the choice list options for the solution.
Table 13-3 shows the custom parameters that are required to create the loan
approval rule.
Table 13-3 Customer parameters that are created for the rule
Name Data type Single value or
multiple values
For this example, “Bank Processes” is created as a case type in the solution.
Figure 13-2 on page 516 shows when the text rule is created in the solution.
By default, table-based rules have three condition columns, one action column
and up to 20 rows. Other columns and rows can be added. For each column,
conditions and actions must be defined. These options are available by
right-clicking the menu.
A Refresh button at the upper-left corner of the table validates and removes any
unused rows. Also, the values in the rows are sorted in the ascending order. Any
overlaps or gaps are verified if the options are enabled in the menu.
For each row in a text-based column, the conditions in all the condition columns
are evaluated and all the corresponding actions are then executed. All rows in the
decision table are executed. If there are rows with the same values in all the
condition columns but different values in the action columns, the results depend
on the execution order. Ensure that the combination of the condition columns is
unique in the decision table.
For all other scenarios or conditions, Customer Rating is not set in this particular
example.
To see the rule in text format from within Case Manager Builder, pause the
mouse over the index for a row and the pop-up window shoes the underlying rule,
as shown in Figure 13-4 on page 518. In this example, the second rule from the
table is translated as: If the Customer Since value (of the Complaint case type) is
more than 10, set the Customer Rating (of the Complaint case type) to
DIAMOND.
If you are familiar with the previous rules implementation, you are used to
creating rules, rule sets, and rule flows in the Rules Studio or the Rule Team
Server environments that uses these concepts. The integrated rules engine
provides similar capabilities, as shown in Table 13-5 on page 520.
Because the integrated rules are executed directly within the Case Manager
workflow system, the workflow system provides a ready-made mechanism for
creating custom rules implementations. Where rules within a rule set executed in
parallel, or serially, each rule step can be implemented in the same way.
For decisions that require more than a single rule step, the solution designer
should use a case task to implement the rule. The reasons are that the task can
be repeated and the task workflow rules instances can share parameters. That
way, complex decisions that involve multiple rules are achieved without the extra
burden that an external rules engine entails.
The integrated rules engine allows the business user a great deal of latitude in
implementing complex decisions. Case Manager provides the ability to use rules
without the need for extensive rules training. Where the business user develops
rules and later analysis determines that an external rules engine is required,
Case Manager Builder provides utilities for transferring rules to IBM Operational
Decision Manager.
For more information about the integration of IBM Operational Decision Manager
with IBM Case Manager, see this website:
http://www.ibm.com/developerworks/community/groups/service/html/communi
tyview?communityUuid=e8206aad-10e2-4c49-b00c-fee572815374#fullpageWidge
tId=Wf2c4e43b120c_4ac7_80ae_2695b8e6d46d&file=aa46cea1-17df-4d18-bfac-7
c3768874aa1
The integrated rules capabilities in IBM Case Manager are included with the
product. But, there are situations where the use of an external rules engine is a
better decision for an organization. IBM provides the ability to export an existing
rule from a Case Manager solution for import into the IBM Operational Decision
Management (IODM) rules engine. The tutorial that was described in the
previous section shows how to transfer the rules.
Guidance for choosing between integrated rules and external rules via IODM is
provided in Table 13-6.
Rules creation Simplified rules creation and Developed by using IODM tools
and implementation via Case and implemented via web
management Manager Builder application. services calls.
Target users Can be created and maintained Decision Server Rules designer
by business users without requires special training and is
special training. geared towards technical user.
Decision Center is geared
towards the business analyst.
Integration Direct Integration: The business Integrated via web services, the
rule is tailored to the solution rules are more general.
and uses case properties
directly.
Integration Tightly integrated, directly uses Case properties that are passed
with case Case Manager case properties to rules engine via a web service.
properties in the rules.
Data types Supports IBM Case Manager Supports all Java data types,
data types: strings, integers, including hashes, enumerations,
floats, and Booleans both as and multi-dimensional arrays of
single value fields and as single those data types.
dimension arrays.
Custom widget Rules are called from a task Rules are available to
and forms step. applications from various means.
integration For example, a web service call
can invoke the rule.
Rules changes Business rules are maintained Implemented within the Rules
within. Changing a rule requires Engine outside the scope of Case
redeployment of the Solution Manager.
Rule sharing Limited to within a case type. Rules are available to all parts of
an organization.
To create a text-based rule by using rule wizard, complete the following steps:
1. Start the rule wizard by holding down the Ctrl key and pressing the Spacebar.
Whenever the Ctrl+space combination is used, the wizard appears and
guides the user through the rule creation. When the options appear, hovering
the mouse over one of the options results in more information, as shown in
Figure 13-10 on page 525.
Because of the direct integration of the rule with Case Manager, the options
that are available to the user are tied directly to the case type. This provides
an intuitive interface when you are using the same case properties that are
used elsewhere in the solution without the need for abstract variables
common to programming implementations. Therefore, the rule options are
dynamically generated based on the properties of the case type.
As shown in Figure 13-9, you can press Ctrl+space and select the correct
option from the menu listing.
2. Press Ctrl+space and go to if <condition>, as shown in Figure 13-9.
Figure 13-10 Text Rule Wizard: the Total Transaction Amount of <a caseType>
For this sample, we add the rule at the end of Verify Complaint task. To
implement the new rule to the task, complete the following steps:
1. Edit the solution.
2. Select Case Types → Complaint → Tasks.
3. On the Verify Complaint task, click the Edit Steps icon.
4. Drag a rule step into the system swimlane.
5. Complete the following steps to configure the new rule step:
a. In the Name field, enter Transaction Amount Rating.
After the solution completes deploying, the rule is invoked when the task runs.
Complete the following steps to examine the table-based rule in our example:
1. Edit the Customer Complaints solution.
2. Select Case Type → New Account case type.
3. Select Rules. The rules that are associated with the solution are displayed, as
shown in Figure 13-12. For our sample, there are two table-based rules and
one text-based rule.
From here, you can add, edit, and delete the solution rules. If you hover your
mouse over an entry, options for modifying and deleting the rule display.
By selecting the pencil icon, you can edit the rule name, description, and rule
type, as shown in Figure 13-12.
5. Click the Rules Parameters icon in the upper left corner of the table and view
the rule parameter, Random Number, that is used in the rule, as shown in
Figure 13-14 on page 529.
In Case Manager business rules, case properties are used in evaluating the
rules. Rule parameters are used when business rules require information that
is passed from the workflow. In our example, we use one such parameter,
Random Number. This allows the user to define the data type for the
parameter.
You can add more custom parameters for the rule.
6. Click Close to close the pop-up window.
7. Review individual rows in the rule table by placing the cursor over the row
index. After a short pause, a pop-up window opens, as shown in Figure 13-15
on page 530. The tabular form of the rule often is much easier to understand
when complex combinations of related properties are evaluated. The pop-up
window shows the following details of the rule:
– The Category column compares the value of the Complaint Category of
the case type to the values in the column. Because the Complaint
Category uses the Billing choice list, the decision table rules constrain
the possible match options to the same choice list.
Figure 13-15 Detail of the first row rule in the QC Decision rule table
– The Random Number is used for selecting a random sample of the cases to
run through Quality Control. The Random Number is number 0 - 100. Its
value is calculated in the workflow and passed to the rule when it is called.
– The actions for the rules are to set the values of two Boolean case
properties that are based on the condition columns. Start QC is set to true.
Send email is set to false. As with the case list, the two Boolean operations
are automatically constrained to the possible values.
– The rule passes back a string property Notification email Addresses from
the column. Because the property is a string property, the user can enter
any valid string into the column.
Here, we see that the Credit Score is a workflow property.
8. Complete the following steps to review the configuration for each of the
condition columns:
a. Right-click the column header.
b. Select Update Column... to edit the column condition.
The rules are configured for each condition column starting with an if. The
same wizard that is used to configure a text-based rule is used for the
columns. You can try configuring a column by deleting the existing
For more information about editing solutions with the Process Designer, see
12.2, “Process Designer integration” on page 455. Example steps also are
provided in “Configuration in Process Designer” on page 476 under that section.
Complete the following steps to invoke a Case Manager rule by using the
Process Designer:
1. Start Case Manager Builder.
2. Open the Task workflow map in Process Designer.
3. Drag a component step to the workflow map if it is not previously added by
using the Case Manager Builder.
4. Change the step name to Execute Rule.
After the solution is deployed, run cases with various parameters to test the rule.
When they are used, rule operation failures because of incorrect inputs on the
data fields can be corrected to allow the workflow to continue. The system
administrator can change the data field values and continue the workflow
repeating the failed step by setting the F_WFReminder=1. This allows the
solution designer to aggregate problems by using fewer fixes rather than
redeploying the solution for every error.
If the rule step is added through Case Manager Builder, it is not necessary to
create data fields for every rule parameter. Instead, it is recommended that
assignments are created for the customRuleParameterNames and
customRuleParameterValues.
For more information about implementing rules management, see the IBM
Redbooks publication Governing Operational Decisions in an Enterprise
Scalable Way, SG24-8127.
You also can find more information from the Information Center, which is
available at this website:
http://www.ibm.com/support/docview.wss?uid=swg21503801
To configure the integration to the Rules project, you need the location of HTDS
WSDL. Complete the following steps:
1. Log in to the Rules Execution Server console by using the following URL:
http://localhost:8080/res, username/password = resAdmin/resAdmin
2. Click the Explorer tab.
3. Expand RuleApps in the Explorer tree to see the deployed versions of your
rule application, as shown in Figure 13-19.
5. This action brings up the WSDL in the browsers (see Figure 13-21). Copy the
URL for the location of the WSDL for use later.
6. Use the WSDL that was obtained for your rule application from the Rules
Execution server to configure a partner link in FileNet Process Designer.
Ensure that the FileNet Component Manager and the ILog JRules Execution
Server (RES) are running before you configure the web service to start the rule.
The calculation of the rating can be done at various points in the case. It also can
be configured to run as an individual task. For this example, the rating value is
determined at the beginning of the case so that this information is available from
the start.
A task to verify the complaint information at the start of the case exists. Extend
that task to include a step to get the customer rating from WebSphere ILOG
JRules by completing the following steps:
1. By using Case Manager Builder, configure the Verify Case task and add a
Stub step to the system swimlane. Extend this stub in the next step by using
the Process Designer to start the web services call to WebSphere ILOG
JRules.
Ensure that all of the necessary case properties are assigned to the steps,
and then save and redeploy the solution.
2. Complete the following steps to set up the partner link:
a. Log in to the FileNet Workplace XT and open the Process Designer.
b. Select the solution option from the menu and browse through the design
object store to find and edit the Customer Complaints solution.
c. Select the Verify complaint workflow definition from the workflow list in
the View menu.
d. Click the Web Services tab.
e. Select Partner Link and configure it by clicking Invoke and then enter the
WSDL URL as shown in Figure 13-23 on page 540. This example uses a
Partner Link that is called “Rules_TDS”.
Requirement: Ensure that none of the parameters that are used to start
the web service have a null value at run time.
4. Configure the web services Invoke step by clicking the System step (which is
called CalculateRating) that was created in Case Manager Builder. Select the
function Invoke, then Assign, as shown in Figure 13-25.
Apart from the workflow data fields, the other parameters are as follow:
– DecisionID: This is an optional parameter on input for JRules, but is
available by default when the Invoke step for the integration is configured.
– ILOGMessage: This returns messages from the rules engine.
– Count: returns the count of rules fired.
Restriction: At run time, none of the outgoing parameters can be null. Null
values can cause errors on the web service invocation. This restriction
includes all the internal parameters, such as DecisionID.
7. Run the Verify commad and save the solution. Exit Process Designer. Use
Case Manager Builder to run the Commit command, then run the Deploy
command and test the updated task.
Tip: To check whether a rule was run, use View Statistics (from the
Ruleset view) from the JRules RES console.
8. Test the business rule by creating a case in the Case Manager Client.
The Case Manager Model API extends the IBM Content Navigator API by adding
other functionality to each object that is created from a class.
For more information about specific examples of Model API in IBM Case
Manager, see the following sections:
10.5, “Creating and deploying a custom widget” on page 386
11.4, “Basic customization scenarios” on page 424
11.5, “Intermediate customization scenarios” on page 426
For more information about the IBM Content Navigator API reference, see the
following resources:
IBM Redbooks publication, Customizing and Extending IBM Content
Navigator, SG24-8055:
http://www.redbooks.ibm.com/abstracts/sg248055.html?Open
IBM Content Navigator Information Center:
http://pic.dhe.ibm.com/infocenter/p8docs/v5r2m0/topic/com.ibm.develo
pingeuc.doc/eucdi000.htm
For more information about the IBM Case Manager JavaScript API reference,
see the IBM Case Manager Information Center:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/index.jsp?topic=%2Fco
m.ibm.casemgmt.development.doc%2Fjsdoc%2Findex.html
This API returns responses in the JavaScript Object Notation (JSON) format.
Your application can request information about case objects and manipulate
those case objects by using this API. The API can be used in the following
examples:
A web front end on the internet retrieves case history that is based on a case
record locator and presents it to the external user. Use the case history
resource for a case.
An external application must read the status of all tasks in a case. Use the list
of task instances resource for a case.
An external application processes fees that are associated with a case and
adds a comment to the case. Use the case comments resource for a case.
An external application must create a case for processing extra information.
Use the cases resource.
A custom widget must create a task without leaving the page. Use the
discretionary task types resource to list available tasks to create, and then
use the create task resource to create the task.
For more information about this API, see IBM Case Manager, Version 5.2
Information Center, which is available at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.development.doc/acmdv014.htm
Use this API for the following role and work item-related information:
Roles
Work basket information and filters
Work items that are assigned to a role or user
Work item information
Saving and completing work items
Current user and search for users
Your application can request information about business process objects and act
on those objects by using this API. It can be used in the following examples:
A web front end on the internet must display actions for external users as part
of a process in a case. Use the queue elements resource on a designated
role in-basket with query parameters as necessary.
A web front end on the internet must complete an action or work item as part
of a process in a case. Use the step element resource to update the work item
information and dispatch it, which completes the step.
An external application that employees use daily must display a work item
count for each of their role work baskets. Use the role resource to get work
baskets. Then, use queue elements count resource on those work baskets.
A custom widget must show all work items across multiple roles for a
manager to view in one list. Use the role names resource on the solution
application space to gather work baskets and then queue elements.
For more information about this API, see IBM FileNet P8, Version 5.2 Information
Center, which is available at this website:
http://publib.boulder.ibm.com/infocenter/p8docs/v5r2m0/index.jsp?topic=
/com.ibm.p8.pe.dev.doc/rest/rest_ref.htm
Your application can request information about content objects and act on those
objects by using this API. It can be used in the following examples:
A web front end on the internet must add form details from an external user
as a document in a case. Use the create document resource to provide the
form details as a content stream.
An external application must capture the state of a case at the time of an
event in the external system. Use the content resource for the case folder to
retrieve object properties.
A custom widget is working with a specific document and must present a
toolbar that is based on user security for that document. Use the content
resource for the document object to retrieve allowable actions.
For more information about this API, see the following OASIS website about
Content Management Interoperability Services Version 1.0:
http://docs.oasis-open.org/cmis/CMIS/v1.0/os/cmis-spec-v1.0.html
The following developerWorks articles describe how to map REST calls to Model
API calls and give an example of how to move between REST API calls to Model
API calls in custom widgets in IBM Case Manager V5,2:
Using the Model API and REST API call in custom widgets for IBM Case
Manager V5.2:
https://www.ibm.com/developerworks/community/groups/service/html/com
munityview?communityUuid=e8206aad-10e2-4c49-b00c-fee572815374#fullpa
geWidgetId=Wf2c4e43b120c_4ac7_80ae_2695b8e6d46d&file=4afc8752-188b-4
7e1-95c2-0c595e96cfed
Mapping REST calls to Model API calls in Case Manager 5.2:
https://www.ibm.com/developerworks/community/groups/service/html/com
munityview?communityUuid=e8206aad-10e2-4c49-b00c-fee572815374#fullpa
geWidgetId=Wf2c4e43b120c_4ac7_80ae_2695b8e6d46d&file=63d89c08-282a-4
8b2-a90d-dff346469f01
In addition to the two Java APIs, FileNet P8 supports other languages through a
web service abstraction. For brevity, topics are addressed by referencing the
Java APIs that map to web services.
When compared to CMIS, the Content Engine Java API offers finer control of all
objects in the repository. CMIS is a specification that is still under development
and is designed for compatibility with various repository types. As a result, only a
subset of enterprise content management functions is made available through
CMIS.
For more information about this API, see IBM FileNet P8, Version 5.2 Information
Center at this website:
http://publib.boulder.ibm.com/infocenter/p8docs/v5r2m0/topic/com.ibm.p8
.ce.dev.java.doc/overview-summary.html
You use this API to harness the full capabilities of a FileNet P8 workflow system.
When compared to Process Engine REST API, the Process Engine Java API
offers finer control of all information that is related to workflows. Process Engine
REST API was around for a few years, whereas the Process Engine Java API
was available for many years. As a result, only a subset of workflow system
functions is available through Process Engine REST API.
For more information about this API, see the IBM FileNet P8, Version 5.2
Information Center at this website:
http://publib.boulder.ibm.com/infocenter/p8docs/v5r2m0/topic/com.ibm.p8
.pe.dev.java.doc/filenet/vw/api/package-summary.html
Similar to the Case Rest API, as described in 14.2.1, “Case Manager REST API”
on page 547, the new Case Java API can be used to retrieve and manipulate the
following case-specific information:
Deployed solutions and Case Manager configuration information
Case types and document types that are included in a deployed solution
Available task types
Create, update, and split cases
Create relationships between cases
Create and retrieve case comments
Retrieve case history
Start manual and discretionary tasks
Your application can request information about case objects and manipulate
those case objects by using this API. The API can be used in the following
examples:
An external, Java based application must read the status of all tasks in a
case. The com.ibm.casemgmt.Case class has methods for retrieving the tasks
of a case, which are represented as com.ibm.casemgmt.tasks.Task objects.
An external enterprise Java application processes fees that are associated
with a case and adds a case comment. The com.ibm.casemgmt.Case class
can be used to add and retrieve comments, which are represented as
com.ibm.casemgmt.Comment objects.
An external application must create a case for processing extra information.
The com.ibm.casemgmt.Case class has factory methods that can be used to
create a case.
For more information about this API, see the IBM Case Manager, Version 5.2
Information Center at this website:
http://pic.dhe.ibm.com/infocenter/casemgmt/v5r2m0/topic/com.ibm.casemgm
t.development.doc/acmjd001.htm
An extended function is the ability to show websites dynamically. The widget can
receive a URL. If a URL payload is received, the widget renders that URL in the
iframe. The URL can contain a query string so you can access any web
resources, even with query parameters. You can develop a custom widget to
send a URL or you can use the Script Adapter to integrate other widgets with the
website display.
The basic function of this widget is to receive a payload from an event and send
that payload as an event. The payload and the event can be anything. This
feature is most useful when you translate payloads between existing widgets on
a page. One widget might send a payload with “ContactName” whereas another
widget requires “Name” only. In this instance, the Script Adapter can transform
the payload as needed.
When you are developing your own widget, you have few limitations. You can
harness the full capabilities of JavaScript and the Dojo libraries. You can
customize payloads and create useful events on receiving or sending. You can
interact with existing systems that provide a REST interface, or you can create
your own iframe as an advanced Website widget. You can render data from other
widgets or back-end systems, as required. You also can create a settings
interface to configure the widget differently on different pages.
If you store procedures that are created in your database, it is easy to implement
the DbExecute system step as a step in your task workflow.
The following common use cases are for an external data service:
Creating conditional choice lists where the values that are available in a
property are dependent upon the value of another property. A common
example is city and state in which cities are available in the city drop-down
menu depends on the selected state.
Populating fields that are based on a lookup, such as account number.
Complex data validation.
These contents were not updated for this edition of the book. However, they are
still valuable to use as reference.
To access this content, download the previous version of the book. For more
information, see Appendix A, “Additional material” on page 563.
The integration chapters from the previous version of the book are summarized
here for your reference.
This chapter does not describe the IBM WebSphere ILOG JRules product in
detail. For more information about the product, see the Redbooks publication:
Patterns: Integrating WebSphere ILOG JRules with IBM Software, SG24-7881.
The chapter was not updated for this edition of the book. However, its content is
still valuable to use as reference.
To view this chapter, download the previous version of the book. For more
information, see Appendix A, “Additional material” on page 563.
The chapter was not updated for this edition of the book. However, its content is
still valuable to use as reference.
To view this chapter, download the previous version of the book. For more
information, see Appendix A, “Additional material” on page 563.
The chapter was not updated for this edition of the book. However, its content is
still valuable to use as reference.
To view this chapter, download the previous version of the book. For more
information, see Appendix A, “Additional material” on page 563.
The chapter was not updated for this edition of the book. However, its content is
still valuable to use as reference.
The chapter was not updated for this edition of the book. However, its content is
still valuable to use as reference.
To view this chapter, download the previous version of the book. For more
information, see Appendix A, “Additional material” on page 563.
Select Additional materials and open the directory that corresponds with the
IBM Redbooks form number, SG247929.
The publications that are listed in this section are considered particularly suitable
for a more detailed discussion of the topics that are covered in this book.
IBM Redbooks
The following IBM Redbooks publications provide more information about the
topic in this document. Some publications that are referenced in this list might be
available in softcopy only:
Customizing and Extending IBM Content Navigator, SG24-8055
Disaster Recovery and Backup Solutions for IBM FileNet P8 Version 4.5.1
Systems, SG24-7744
Federated Content Management: Accessing Content from Disparate
Repositories with IBM Content Federation Services and IBM Content
Integrator, SG24-7742
IBM Content Analytics Version 2.2: Discovering Actionable Insight from Your
Content, SG24-7877
IBM FileNet Content Manager Implementation Best Practices and
Recommendations, SG24-7547
IBM FileNet P8 Platform and Architecture, SG24-7667
IBM High Availability Solution for IBM FileNet P8 Systems, SG24-7700
Introducing IBM FileNet Business Process Manager, SG24-7509
Understanding IBM FileNet Records Manager, SG24-7623
You can search for, view, download, or order these documents and other
Redbooks, Redpapers, Web Docs, draft, and other materials at the following
website:
http://www.ibm.com/redbooks