After conquering the challenge of adding a context sensitive Case Info widget to the Work page in a previous article, I wanted to see if I could use the In-basket's custom menu events to add an Open Case menu that displayed the case details page for the case associated with the work item.

The first step in this is adding your menu item to the In-basket's right-click context menu. Go into page edit mode and add your item using the In-basket widget's setting dialog. The event name you specify for your menu item, in this example I used doOpenCase, will appear as another choice in the In-basket's outbound wiring events.

Next, I added two Script Adapter widgets to the hidden widget area of the page. To keep things clear, I renamed one Handle Menu SA and the other Open Case SA.

The job of the Handle Menu SA is to transform the payload sent by the custom menu event into the payload expected by the Command widget's retrieve case information event. This event looks for the case ID information in the payload and tells the Command widget to load some of the information for the specified case. Wire your Handle Menu SA between the In-basket and the Command widget as shown below.

Now that the Command widget has loaded some of the case information, we need to tell it to open the case details. To do this, we use the Open Case SA grab the required parameters from the send case information event (the event you can wire to that tells you a new case has been loaded), format them into the payload required by the Command widget's open case details page event and wire the result back to the command widget as shown below. Note that the same Open Case SA is wired as both an input and an output to the Command widget.

The script in the Handle Menu SA that creates the required event payload looks like this:

A common use case for IBM Case Manager solutions is to have a manager assign a user from a role to handle a specific work item. Moving the item into the user's personal inbox is often undesirable due to the loss of easy access to the item once it goes there. By adding a "handler" property to the work item and displaying it in the In-basket allows both assignment and visibility. The trick then becomes "How do I easily display just the current user's assigned items from a shared In-basket queue?".

The IBM Case Manager In-basket widget can be configured to include user settable filter values where the user can enter a value for a column that will cause only work items with that value to be displayed. By default, the user must manually enter the filter value every time.

Dynamic in-basket filtering events to the rescue!

The IBM Case Manager 5.1 in-basket added a new inbound event that allows the user filter values to be set pro grammatically. Let's explore how that works.

Here's what the event payload looks like to set a couple filter values:

One really important thing to note in the event above is that the filter name is specified by its internal name, not its display label.

You can't see what internal name is created for you in the Case Builder UI, but there are two ways to find out what they are - look at the in-basket in Process Designer/PCC or send the In-basket selected event to the Script Adapter and look at its payload. The In-basket selected event is fired when the in-basket fire loads and also when the user clicks to another in-basket tab. Here's a snippet of what that event look like.

Summary

Download the
Generic Case Import Tool source code to help you to convert custom data into
real cases.With a few modifications for
your needs, this command line tool saves manual case creation time by
automating the import process in bulk.The tool can also create pseudo case data files that you can import for
testing your deployed case type on the development domain.The tool includes the following features:

Create
pseudo case data file

Create
cases in bulk.

Support
custom case data files

Support
custom random data file

Command
line based processing

Detailed
log file per execution

The Generic Case
Import Tool is intended to save you time and money by creating cases through
automation.The tool requires that the
IBM Case Manager API is installed on your target server.

Download the code

The import tool
source code is distributed as a self-contained compressed file. Extract the
compressed file to a location of your choice. Review the readme.doc file that
describes the contents of the compressed file.

Hello Community member! Here's an early holiday present for you! I hope you like it.

How many times have you heard the requirement to capture a comment when a user chooses to complete a work item with a particular response? For example, if a work item is Rejected, you must enter a comment that will be part of the case history.

With IBM Case Manager 5.1 and its enhanced widget events, this is now possible without having to write a bunch of custom widgets. Let's have a look how.

Let's say we have a set of responses for a particular step of a task.

When the user clicks the Complete Survey response we will just do the normal thing and complete and return to the in-basket.

If they click the Need More Details response, the requirements say that we must capture a case comment that explains the user's decision.

The first thing we need to do is disable the standard broadcast events that are fired when you click the buttons in the work item toolbar. These broadcasted events are "shouted out" for all to hear with the Command widget being the ICM one that is listening for it. In ICM, we use broadcast events as a way to make the standard widgets work together without requiring any manual wiring. In ICM 5.1, you can now disable the broadcast and then wire the widgets up manually, allowing you to potentially alter the default behavior.

Go into edit mode on your Work Details page and show the widget settings for the Work Item Toolbar.

Click the checkbox to disable the broadcasting of the Complete Work Item event

The Complete Work Item event will get called for both the standard Complete button if your work item has no responses as well as for any response button that replaces it. The event payload tells you which button was clicked.

Display the Hidden Widgets area by clicking the item below the orange Edit Page link

Drag a new Script Adapter widget into the Hidden Widgets area

You may want to the use the Script Adapter's menu to Rename it to something unique. This is helpful when your page contains multiple Script Adapters

Summary
Download sample code that can be used to build a sample external data service to use with IBM Case Manager, Version 5.1. External data integration is a feature of IBM Case Manager, V5.1 that allows certain information about case properties, such as choice lists, to come from an external data source.

The sample external data service is distributed as a self-contained ZIP file. Extract the ZIP file to a location of your choice. The expanded file structure includes JAVA source files, configuration files, and an Apache Ant script to build the application. The expanded structure also includes two technical documents that describe how to build and use the sample.

The sample can be downloaded and expanded to any machine. However, by default, the build files are configured to reference JAR files that are located on a machine where IBM Case Manager is installed. The build files can be modified to match your particular environment.

After you download the sample, see the included document UsingSampleExternalDataService.pdf for more information about building and using the sample service. The sample is a Java servlet-based web application that must be deployed to a WebSphere Application Server environment. After the application is deployed, a URI to the service must also be registered to a solution in IBM Case Manager.

Download a set of sample code to assist in your Case REST API application development. Areas covered by the sample code include the following tasks:

Retrieve solution information

Retrieve case type information

Add case comments

Update case properties

Retrieve case status and history

Split cases with document filing and document commenting

Change a task state

Add task comments

Create discretionary task instances

Retrieve roles and work items

Use an external data service with case type

Use an external data service with a case instance

The IBM Case Manager Case REST API sample code set is a collection of Java files that show coding samples from its APIs. The sample code set helps you understand how to call the API, how to set up the API, how to parse response data, and how to set up payload data. The code set requires successful CaseManager API installation on your target server for execution if desired.

Download the code

The sample code set is distributed as a self-contained ZIP file. Extract the ZIP file to a location of your choice. Review the readme.doc file that describes the contents of the ZIP file.

The Case Information widget has an option for its Case Document view where you can specify whether to view documents in the Viewer widget or always view them in a popup window and don't send the document event to the viewer.

In this use case, we want to support both; a normal view displays the document in the Viewer widget, but an alternate "open in popup" command from the More Actions menu or right-click menu allows the user to pop up a new window and leave it around for reference.

The first step for this is adding a custom menu to the Case Information Documents panel.

Go into Edit Page mode

Edit the Case Information widget's setting by selecting the Edit Settings item from the widget's menu.

Click to the Documents tab

Add a custom menu item like "Open in Popup" and give it an event name like "doOpenDoc"

Add a hidden Script Adapter widget and wire its inbound event to your new doOpenDoc event which now shows up as an available wiring option

Enter the following JavaScript into the Script Adapter, replacing the "myServer" and "TOS01" with you server name and target object store name (note: you can prevent hard-coding of this by using some of the client Javasript APIs

One of the most boring parts of a demo is watching someone slowly fill out a bunch of data fields. Often, however, good data is required to make the rest of the demo work. So what to do (besides learning to type really fast!)?

The Case Manager Client Case Data and Case Form widgets both support a couple of widget events that can make your demos fly. You can also use this technique in your real solutions as well.

The first event is a Field Changed event. This event is fired whenever you enter some data into the Case Data widget or a form and leave the field (by tab or click). The corresponding event is a Set Field event (and in ICM 5.1 a new Set Fields event) that allows you to pro grammatically set a fields value.

Here's how you do it:

Add a JavaScript widget to you page and in its settings, enter the script text like the following but change the property names to what yours are (note that a property is identified by its internal name).

Out of the box, Case Builder allows you to define one role in-basket and one personal inbox for each user in a role. In order to partition work or give users access to other relevant work, you can use Process Designer to extend your solution with additional in-baskets. These in-baskets can be configured to all the work items in a queue or they can use expressions to refine what is returned.