Chris_Thomas

Task History Out-of-Order

Discussion created by Chris_Thomas Employee on Sep 27, 2013
Latest reply on Oct 9, 2013 by Chris_Hackett

[color=#f60101]

[font=Comic Sans]***Please Note: This ONLY occurs when Oracle is configured as IdM's object store, This is NOT a problem you'll encounter with SQL Server as your IdM object store!***[size=7][size][font]

[color]
Question:

On the screen of the View Submitted Tasks task there is a Task History table at the bottom. The entries in that table are not in chronological order most of the time. For instance, if the task has a workflow process with multiple approval stages, the table should have entries like the ones below in that order:

1. A workflow item A was created and assigned to B
2. Workflow item A had action C performed on it by B
3. A workflow item X was created and assigned to Y
4. Workflow item X had action Z performed on it by Y


But, in the Task History table they may be listed in the following or another non-chronological order:

1. A workflow item A was created and assigned to B
3. A workflow item X was created and assigned to Y
4. Workflow item X had action Z performed on it by Y
2. Workflow item A had action C performed on it by B
How can IdentityMinder be configured to display the entries in the Task History table in proper chronological order?

Problem:

task history displayed in View Submitted tasks, isn't stored up to the Millisecond, which causes task history to be displayed in the incorrect order (not sequential). The intended sort order of the Task History table is clearly by time, but since the database does not store milliseconds, items that are recorded within the same second will appear out of order.

Observations:

The Task History table is DATE. The DATE type does not store milliseconds, only seconds. In order to fix the sort issue, the type of that database column needs to be changed to TIMESTAMP, which accounts for milliseconds.

I compared the

/opt/CA/IdentityManager/IAM_Suite/IdentityManager/tools/db/taskpersistence/sqlserver/idm_db_sqlserver.sql

-to-

/opt/CA/IdentityManager/IAM_Suite/IdentityManager/tools/db/taskpersistence/oracle9i/idm_db_oracle.sql

The Oracle DDL defines the following:

runtimeStatusDetail12 originationTime DATE NOT NULL

But SQLServer defines it as this:

runtimeStatusDetail12 [originationTime] [datetime] NOT NULL

However, I experimented with my CA Lab environment but the following didn't fix the problem;

alter table   RUNTIMESTATUSDETAIL12 modify (   ORIGINATIONTIME  TIMESTAMP );

Reproduction:

1) Deploy IdentityMinder with Oracle as the user store.
2) setup a simple two stage approval process for a task or event.
3) execute the task which triggers the workflow.
4) approve both stages and view the submitted tasks.
(*Please note: step 4 may take several attempts before the problem is reproduced)
(**Screen shot of the problem is attached)

Workaround / Solution:

[color=#f90707]There is currently no known workaround or solution to this problem, however if you'd like to see this fixed in a future release of the product, please contact support or me directly and request to open an enhancement request on this subject matter. [color]

Please post with any questions or concerns.
Thank you.
Regards,

Chris Thomas
CA Technologies
Principal Support Engineer
IdentityMinder Reporting Expert
Tel: +1-631-342-4360
Chris.Thomas@ca.com

Outcomes