With IBM Case Manager 5.2, you can customize the style of the in-basket by building a custom in-basket widget, starting with the standard one, and adding a custom column decorator. Developers can override the getColumnDecorator() function on icm/pgwidget/inbasket/Inbasket class, which returns an object with a column id to the decorator function pairs.

The following sample will highlight the property name “flo” by its value range.

In certain situations like when debugging your custom widgets and actions, it is useful to load and view the uncompressed code for IBM Case Manager V5.2 for troubleshooting, application developing, or configuration purposes.

This article provides the steps to load the uncompressed code for Case Client, Case Manager administration client, and Case Builder.

There are also references on how to load the debug versions for IBM Content Navigator and how to turn on debugging by using the IBM Content Navigator administration tool.

Well it's December and the excitement around the next highly anticipated instalment of your favourite blockbuster hit is all around us.

I'm talking about IBM Case Manager v.next of course!

I just wanted to give you a spoiler free heads up to mark your calendars to gather your teams and check back here really soon for more details around this cool new release. We are in the final stages of getting all our bits in place and making sure all the objects that are included as part of the offering are in good health and ready to go so you can take your case solutions to the next level.

One of the major challenges in Software Development Lifecycle (SDLC) is the amount of defects that is found both during the test cycle and post the software release. Having a zero defect code is a myth and so the effort has always been to reduce the number of defects, be more prepared to handle the defects and faster turnaround cycles in terms of defect fixes, providing fix pack releases to customers and so on. In this article, we will look at how defect prediction using SPSS can help address some of the above areas.

Introduction:

SPSS Modeler is a predictive analytics platform that is designed to bring predictive intelligence to decisions made by individuals, groups, systems and the enterprise. It provides a range of advanced algorithms and techniques, including text analytics, entity analytics, decision management and optimization, to help you select the actions that result in better outcomes.

SPSS Modeler is used to build predictive models and conduct other analytic tasks. It has a visual interface, which allows users to leverage statistical and data mining algorithms without programming.

Why prediction?

Each defect discovered post the product release is a huge cost and impacts customer experience and requires extensive development effort. If there is data around the areas where more defects are expected, or areas where regressions are bound to be more, the teams can be better prepared in terms of planning, automation, resource management and so on.

Scope of prediction

A few of the prediction scenarios that can be further modified as per the type of application, industry and impact of defects and so on include:

From which functional area can we expect more number of defects from the next release?

From which functional area can we expect more number of regression defects from the next release?

From which functional area can we expect high severity defects in the next four months?

Which customer can raise the highest number of PMRs for the next release?

SPSS Implementation

SPSS Modeler offers a variety of modeling methods taken from machine learning, artificial intelligence and statistics. The methods available on the modeling palette enable you to derive new information from your data and to develop predictive models. Each method has certain strengths and is best suited for particular types of problems.

Data preparation:

Data preparation is one of the most critical and often, the time-consuming aspect in all data predictions. For this case study, we used defect data for a software product, for the last four years, for a set of identified components. The prediction was about incoming defects in the next six months in this Product/Component.

The sample of data that we input to the Modeler:

We developed a model using this data.

Next steps:

Upload the excel sheet to modeler,

Read the values of the sheet and assign the Input and Target for the values using the TYPE filed.

Forecast the data for the next four months using the TIME INTERVALS field.

Generate predictive report using the Time Plot Model. There are many others such as - <>,<>,<> and so on and based on the use case the appropriate model must be selected.

Graphical representation:

Tabular representation of the data:

Prediction result:

The column, “$TS-No of Defects” represents the expected number of defects expected in the next four months.This gives an early start to teams in terms of resource management, skills, estimation and helps with quick turnaround on fixes and releasing patches.

Conclusion

Modeler is an easy-to-use application that puts the power of predictive modeling in the hands of business users. Using predictive models, you can identify patterns based on what has happened in the past and use them to predict what is likely to happen in the future.

Automate decisions using business rules and add insight using predictive models.

Use prioritization, optimization, or simulation to reach the best decision based on the above.

Conduct analysis regardless of where the data is stored and regardless of whether it is structured or unstructured.

Solve a variety of business problems with an extensive range of analytics.

This is Part II of our research into using non-Dojo toolkit assets in IBM Content Navigator and IBM Case Manager.

In Part I, we described how to use the IBM Content Navigator JavaScript API from a standalone web page created using the jQuery toolkit. This standalone web page was added to a sub-directory of the IBM Content Navigator web application. The Dojo Toolkit is shipped with IBM Content Navigator. The jQuery toolkit was copied separately onto the Navigator web application. The standalone web page loads jQuery from the same web application on the same application server host. It uses a combination of Dojo and jQuery to execute IBM Content Navigator JavaScript APIs.

While the standalone web page shows that we can mix jQuery API calls, such as AJAX calls, with Dojo-based APIs there are more features that come with jQuery. One major aspect of jQuery is jQuery UI. The jQuery UI is a set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.

• It is a standalone web page, and not integrated with IBM Content Navigator
• It only utilized the jQuery library, not the jQuery UI widgets

The standalone web page provides a good playground and a good starting point for enabling jQuery in IBM Content Navigator. However, the only supported mechanism for extending IBM Content Navigator is via an IBM Content Navigator plug-in. In this article, we will describe how to leverage jQuery UI assets within an IBM Content Navigator plug-in.

(The article covers the additional sections below, which can be found in the pdf file at the end of this post.)

Creating an IBM Content Navigator Plug-in

Packaging of jQuery and jQuery UI

Loading jQuery and jQuery UI

Loading the jQuery CSS resource

Showing the jQuery UI widget

Using jQuery for IBM Content Navigator/IBM Case Manager Mobile

Object-oriented Refactoring

Calling jQuery API from Dojo

Calling Dojo API from jQuery

Creating an IBM Content Navigator Feature plug-in

Feature Pane – JQueryFeaturePane.js

The associated template file for the Feature Pane

The corresponding css style definition for the Feature Pane

Enabling the new feature

Conclusion

The jQuery plug-in loads both jQuery and jQuery UI, as well as jQuery UI CSS. Through a combination of Dojo and jQuery calls, it retrieves the available actions in IBM Content Navigator, and displays the top 5 actions, using the menu widget from jQuery UI.

IBM Content Navigator or IBM Case Manager plug-ins can be developed using either Dojo, or jQuery, or another Javascript library, or a mixture of Dojo and jQuery.

• Packaged jQuery inside the IBM Content Navigator plug-in, so that no separate setup is needed

• Made it easier to upgrade to latest jQuery and jQuery UI

• Load jQuery library during the initialization stage of the jQuery plug-in

• Execute the jQuery UI feature when the feature icon is activated

The plug-in demonstrates that jQuery can be safely mixed with Dojo. jQuery can co-exist with Dojo, and jQuery UI widgets can be used in or to extend IBM Content Navigator or IBM Case Manager widget. The plug-in is attached. jQuery library and jQuery UI library do not need to be downloaded separately , they have already been included in the JQueryPlugin.jar. No separate setup is needed on IBM Content Navigator server. The plug-in works on the Navigator mobile app in the ICM feature as well.

Ron Rathgeber is an Enterprise Content Management Software Architect working on the IBM Enterprise Records product in the IBM Software Group in the United States. Previously, he worked on the IBM FileNet Capture and FileNet WorkForce Desktop products. Ron has over 20 years of experience in the imaging and content management fields, working in the software development group. He holds a Bachelor of Science degree in Information and Computer Science from the University of California, Irvine.

IBM Content Navigator (ICN) is quickly becoming the client of choice for enterprise content management (ECM) applications. Many if not most ECM applications have integrated workflows to automate different processes and to ensure proper procedures are followed.

One of the key features of workflows are the step and launch processors. These processors provide the user interface that end users will see when performing a step in the workflow process. Since they are the interface that end users will see, they become one of the key factors to provide the overall workflow capability and for enabling end users to easily perform their tasks.

ICN provides both a step processor and a launch processor out of the box. These processors are designed to provide the capabilities that will be needed in many scenarios including:

Display the instructions for the step as well as general information about the step such as any deadlines.

Provide a property tab that will display the properties configured for that step.

Provide an attachment tab where attachments can be added or viewed.

Provide standard buttons for completing the step, reassigning the work, saving the work, and canceling the work.

If you have requirements to have a more customized step processor or need functionality that is not provided by the out of the box step processors, then you can easily create your own step and launch processors. The easiest way to do this is to create a step processor that is based on and derived from the existing step processor. This allows you to utilize the functionality provided by the existing processors and concentrate on providing the additional functionality needed for your use case.

In the IBM Content Navigator Redbooks publication, there is a chapter that describes how to extend the existing step processor by adding a Viewer widget. This allows the user to view the attachments in the same dialog where they are setting and viewing properties. This side by side layout is useful in many cases.

The high level steps for creating the custom step processor are described below.

In this step, you create a copy of the example step processor HTML file. You then modify this file to add a container for the viewer.

2. Create the new widget.

Next you copy the JavaScript file to create the new Viewer widget. This Viewer widget will display the ICN Viewer embedded in the step processor page. The startup code is modified to perform specific initialization such as creating the Viewer.

3. Modify JSP page.

Finally, you create a modified version of the JSP page to instantiate the new widget created in the previous step.

After you have created these files, deploy them to ICN, register them in the Process Configuration Console, and create a workflow that uses the custom step processor.

See the IBM Content Navigator Redbooks publication for details on creating a custom step processor.

This article is the first of a two-part series describing our research into using non-Dojo Javascript toolkits in IBM Content Navigator and IBM Case Manager. The first part will focus on how to use the IBM Content Navigator JavaScript model API with jQuery. The second part will describe how to leverage jQuery within an IBM Content Navigator plugin.

Although this article will focus on jQuery, the approach described in this article could be used to leverage other popular JavaScript toolkits with IBM Content Navigator and IBM Case Manager, such as AngularJS, CanJS, Backbone, etc. Both Dojo and jQuery are cross-platform Javascript library designed to simplify the
client-side scripting of HTML. Dojo is the javascript technology developed and used in IBM. jQuery is more popular on the web. While Dojo has a strong support of
internationalization and accessibility, jQuery is used by over 60% of the 10,000 most visited websites.

IBM Content Navigator (ICN) is the standard User Interface solution for IBM Enterprise Content Management (ECM) system. It is the foundation for IBM ECM. A number of IBM products, including IBM Case Manager (ICM), are built on top of ICN, utilizing its repertoire of numerous APIs, powerful features and friendly user-interface.

ICN is implemented in Dojo. It is widely adopted among IBM customers. However, some of the customers use jQuery as their inhouse javascript library. They may not have a lot of exposure to Dojo. These are customers who are jQuery experts and would like to utilize ICN API and libraries in Dojo. On the other hand, there are also customers who are Dojo experts and wish to utilize ICN using jQuery.

In this article, we are going to explore ways to use jQuery and Dojo on the same web page at the same time, and how to utilize ICN APIs from jQuery. We are looking to build a bridge between Dojo and jQuery, two of the most popular Javascript libraries.

Below is the link to a new article by Chad Lou and Brett Morris that describes the IBM Connections Profiles plugin and how to display business card in IBM Case Manager client application and IBM Content Navigator.

IBM Case Manager (ICM) is a web-based solution that helps customers streamline the creation and management of case workflow. ICM 5.2 is built on the IBM Content Navigator (ICN) framework.

Some customers have requested the ability to display dates in long format. The ICN team designed and provided a plugin, which essentially redefines ecm.model.ValueFormatter class to use a long format as the default in ICN. This enhancement works for ICN widgets as well as ICM widgets which are based on or which extend from ICN widgets. These ICM widgets are:

In-basket

Case Document

Case List

However the initial plugin has no effect for dates in other places of ICM such as:

One solution is to modify ICM code to display dates using ICN mechanism, which may become available in a future release. In the meantime, for ICM 5.2.1, we still need to address this customer requirement. This article discusses an approach to provide the support by way of a custom Long Date Plugin that extends the initial plugin.

A really long time ago, I described how you could use the Case List widget to display a list of "Related Cases"; cases that are somehow related to the case you are currently looking at.

This has been a pretty popular solution customization so I thought it was about time I updated it for ICM 5.2.x.

The use case here is that you want to display a list of related cases on a work details page that is used to process a task step for a particular case. You can easily modify the first bit if your Case List happens to be on another page (eg. payload.caseEditable.

Add a case list widget to your Work Details page

Use the wiring settings to disable the Select Case broadcast event. This ensures the case list does not interfere with other page widgets like the Case Infomation

Add a Script Adapter widget to the hidden page area

Enter the following script in the Script Adapter

Wire the inbound event of the Script adapter from the Page Container's "send Work Item" event

We use a broadcast event in our script so no need to wire the outbound event

The ability to easily configure personalized in-basket views for case roles is a great feature of Case Manager. It allows you to display what ever columns of case properties you like, making it easier for the end user to identify work.

In the initial release of Case Manager, some standard Case System properties do not show up as properties that can be exposed as in-basket columns. This is where the Reuse Property feature comes in. It allows you to specify case properties that may already exist in the target object store as well as giving you access to a few case system properties such as the Case ID.

To display the Case ID in an in-basket column, do the following:

Add the CmAcmCaseIdentifier as a solution property by entering it as a Reuse Property

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.

Overview

ICM eclipse plug-in is for quickly building up an ICM custom widget/action or custom editor project in minutes.
It allows you to create the following two types of projects by a wizard.

Custom Page Widget/Action Project

Custom Editor Project

A created custom page widget/action should work on either ICM 5.2.0 or 5.2.1.
However, a custom editor works only on 5.2.1, since custom editor for the properties view is a new feature introduced in 5.2.1.

Installation

Copy com.ibm.tsdl.icm.ui_*.jar to the dropins folder of your Eclipse (Juno, Kepler, or Luna).

Restart Eclipse

Usage

Select [File]-[New]-[Project].

In the [Select a wizard] dialog box, open the [ICM] node and select either [ICM 5.2 Custom Page Widget Project] or [ICM 5.2.1 Custom Editor Project].

Follow the wizard instructions. In either project type, you must specify the location of navigatorAPI.jar.

Description

With the wizard, you can choose whether to use a separate web project or to use only an ICN plug-in project.
You can configure custom properties, custom events, and custom actions.
Also, you can configure ICN plug-in configuration panel.

All the wizard pages have sample values as default values.
You can leave them as they are (except the location of navigatorAPI.jar), if you would like to create a hello world plug-in.

The location of navigatorAPI.jar is a required field. On Windows, it is typically located at
C:\Program Files (x86)\IBM\ECMClient\lib\navigatorAPI.jar
You cannot finish the wizard without specifying the location since it is necessary for building the project.

The ICM eclipse plug-in generates a working ICM plugin code. After you complete the wizard, without any modifications, you should be able to build the project by running build.xml with Ant, and the built ICM plug-in should work.
For example, if you configure event subscribers with the wizard, the resulting code will be a widget that simply displays subscribed values. This gives you information on how to get the subscribed values, how to display something on the widget, etc.

Yi Duan is an ECM Advisory Software Engineer in IBM Software Group, China. He has over 11 years of experience in software engineering. Yi joined IBM Content Navigator Quality Assurance team since its first release in 2011. He has extensive experience with IBM Content Navigator, especially in EDS. Prior to that, Yi worked in IBM Document Manager team for 6 years. Yi holds a Master degree in Computer Science from Beijing University of Posts and Telecommunications.

IBM Content Navigator has an extensible and pluggable framework that is based on the tier architecture and the usage of open standards such as JavaScript, HTML, CSS, and Java. It has powerful expandability. For a quick overview of the various options and framework, check out ONE UI - IBM Content Navigator as an application framework.

External data services (EDS)

EDS is an interface that IBM Content Navigator provides to access data from separate data sources. With EDS implementation, it is very easy for you to control the property dada and customize the behavior of the property. EDS is powerful. But in many scenarios, such as change properties order in the add dialog, you should implement request and response filter instead of using EDS.

Request and response filters

The request and response filters are parts of IBM Content Navigator extension points. In some instances, you might want to modify requests and responses so that you can modify the data that is being sent to or returned from the service. To accomplish this, you can create a plug-in to filter a request that is made to a service or to filter a response that is received from a service. EDS is a plug-in in IBM Content Navigator that is implemented by request and response filters. Often time, you would want to implement your own request and response filters. Other time, EDS can simplify your implementation.

When to use EDS and when to implement request and response filters?

Use EDS if you want to do some of the following tasks. Otherwise you probably need to implement a request or response filter:

Prefilling properties with values

Looking up the choice list values for a property or dependent property

Setting minimum, maximum values and length

Setting formats for properties

Setting property status, such as read-only, required or hidden

Implementing property validation and error checking

Where to use EDS?

According to the EDS implemented request and response filters, the following actions in IBM Content Navigator can be implemented:

Adding documents and folders

Checking documents in to the repository

Editing properties for one or multiple items

Editing item properties in the viewer

Using entry templates

Setting workflow step properties and workflow filter criteria fields

Creating or using searches

Controlling IBM Content Manager OnDemand search folders

If you want it in other actions, you probably need to implement a custom request or response filter.

For more information on EDS, response and request filters, check out the corresponding chapter in the new IBM Redbooks publication on IBM Content Navigator. In the book, we provide multiple examples of how to do these.