Posted: 2 Nov 2016 2:48 EDT Last activity: 19 Oct 2018 2:01 EDT
How customize Assign-Worklist class using in portal
The SME would like several columns stocked in Work Object in the task list in portal.
The task list only returns lines from Assign-Worklist or Assign-Workbasket class.
So, we have added a join on report definition with the work object class but the performance are bad because this table is very big.
So, we try to customize the Assign-... class to stock the additional information. With this solution we can returns this information on report definition without add a join with the work object class. We have customized the NewDefault activity applied to Assign- Class to set this additionnal information and add this information on report definition used in Portal.
It's work fine but the new property are not optimize in the database table DATA.pc_assign_worklist.
We have tried to optimize this property but PEGA forbid it.
How customize this property to resolved our issue or have you an other idea to custom the assignment ?
You can request your DBA to create the columns in pc_assign_worklist table. Post that either recycle JVM or resave the Database Table instance for Assign-Worklist class. However, in this approach, you will have to write a separate process to populate the existing data to the new column.
Optimize for reporting option creates a new column in the respective table. That we can do manually as well. Create the required properties in Assign-Worklist class, and then you can update the table pc_assign_worklist by adding the required columns in it. Once you are done with that, ensure to test the connection from the Assign-Worklist database table rule. That helps in affecting the changes. Otherwise it does not respect the newly created columns. But you might need to pay attention during the upgrades.
You can create a new class with the required properties + keys of assign worklist class. And that class should associate to a new table where all the columns are present. Then update NewDefaults to add a new entry to this table. For every assignment record there would be a record in this new table. Report definition has to be updated by joining assign worklist table and newly create table. Here still we have to rely on join but the entries are not as many as in work class. It does not affect during the upgrade. But performance wise might not be the best.
Thank you for posting your query in the PSC. This looks like an inactive post and hence, we suggest you create a new post for your query. Click on the Write a Post button that’s available on the top right pane of this page. Once created, please reply back here with the URL of the new post.
You may also refer this discussion link as a reference in the new thread.
Finally, after a lot of research, the best pratice for PEGA (in version 7.x) is to use a join between assign table and work object table. So I reviewed my report definition in this way. I traced to get the real SQL request and reviewed the execution plan in a SQL Server client to identify the best way to optimize it.
I created new SQL indexes and reviewed a little bit my filters and now my application works very fast. Less than 0.1 second to get the list with about 5 millions rows on work object table and 100 000 rows in assign table.