Migration from normal TaskSearch to TaskIndexedSearch

Hi all,

I am trying to convert the task search implemented in webmethods 7.1.3 into a indexed task search. I tried in several ways, with the same outcome:
an exception during the search:

Failed to evaluate binding expression: “#{activePageBean.taskSearchProvider}”

Search Query string:


{"#{taskSearchProvider.searchQuery.taskTypeID.value}", "task_type_ID"},
	{"#{taskSearchProvider.invocationID}", "#{activePageBean.activeSearchQuery.invocationID}"},
	{"#{taskSearchProvider.rowIdBinding}", "#{row.taskInfo.taskID}"},
	{"#{taskSearchProvider.searchQuery.taskID.value}", "#{activePageBean.activeSearchQuery.refineFields.taskID}"},
	{"#{taskSearchProvider.searchQuery.priority.value}", "#{activePageBean.activeSearchQuery.refineFields[\"priority\"]}"},
	{"#{taskSearchProvider.searchQuery.createdDateRange}", "#{activePageBean.activeSearchQuery.refineFields.createdDateRange}"},
	{"#{taskSearchProvider.searchQuery.modifiedDateRange}", "#{activePageBean.activeSearchQuery.refineFields.modifiedDateRange}"},
	{"#{taskSearchProvider.searchQuery.expirationDateRange}", "#{activePageBean.activeSearchQuery.refineFields.expirationDateRange}"},
	{"#{taskSearchProvider.searchQuery.acceptedByCurrent.value}", "#{activePageBean.activeSearchQuery.refineFields.acceptedByCurrentUser}"},
	{"#{taskSearchProvider.searchQuery.maxResults}", "#{activePageBean.activeSearchQuery.maxResults}"},
	{"#{taskSearchProvider.searchQuery.indexedField.operator}", "="},
	{"#{taskSearchProvider.searchQuery.indexedField.value}", "#{activePageBean.activeSearchQuery.refineFields[\"indexedField\"]}"},
	{"#{taskSearchProvider.searchQuery.recommendedAgent.fieldBinding}", "#{currentTask.taskInfo.customTaskID}"},
	{"#{taskSearchProvider.pagingSize}", "#{activePreferencesBean.initialPageSize}"},
	{"#{taskSearchProvider.searchQuery.indexedField.fields}", "IndexedField"},

Can anybody advise on a normal path to tackle the problem?

Thanks in advance.

Please see the attached document from our Task Engine Architect. It should help to clarify the documentation a bit.
Regards,
–mark
Conversion to Indexed Task Search Provider.doc (149 KB)

Hi Mark,

thank you for the response. I followed the exact steps sequence as described in the document. Nevertheless I tried it again, unfortunately with the same outcome:

  • whenever I open the application and I press the search button the following exception occurs:

     Failed to evaluate binding expression: "#{activePageBean.taskSearchProvider}" (attached snapshot)
    
  • the full stack trace from the MWS console: in StackTrace.txt

  • also attached you can find the SearchQuery.doc -> the search query how I have in code, after the query I added also the classes for search provider and custom query

Another question that appeared while retrying these things, was regarding the returned values of the provider: so if I understood correctly the only returned values are the ones indexed, or only the indexed values that I searched for? The whole TaskInfo, TaskData will not be available?

Thank you for your time. Looking forward for your feedback.

Regards,

Olimpiu

failed_binding.png
StackTrace.txt (19.5 KB)

Forgot to attach the SearchQuery, or it seems that doesn’t work for an unknown reason. So here it goes:



private static final String[][] TASKSEARCHPROVIDER_PROPERTY_BINDINGS = new String[][] {
	{"#{taskSearchProvider.searchQuery.taskTypeID.value}", "DF342B37-974E-0C67-0C73-DFF7C83BD506"},
	{"#{taskSearchProvider.invocationID}", "#{activePageBean.activeSearchQuery.invocationID}"},
	{"#{taskSearchProvider.rowIdBinding}", "#{row.taskInfo.taskID}"},
	{"#{taskSearchProvider.searchQuery.taskID.value}", "#{activePageBean.activeSearchQuery.refineFields.taskID}"},
	{"#{taskSearchProvider.searchQuery.priority.value}", "#{activePageBean.activeSearchQuery.refineFields[\"priority\"]}"},
	{"#{taskSearchProvider.searchQuery.createdDateRange}", "#{activePageBean.activeSearchQuery.refineFields.createdDateRange}"},
	{"#{taskSearchProvider.searchQuery.modifiedDateRange}", "#{activePageBean.activeSearchQuery.refineFields.modifiedDateRange}"},
	{"#{taskSearchProvider.searchQuery.expirationDateRange}", "#{activePageBean.activeSearchQuery.refineFields.expirationDateRange}"},
	{"#{taskSearchProvider.searchQuery.acceptedByCurrent.value}", "#{activePageBean.activeSearchQuery.refineFields.acceptedByCurrentUser}"},
	{"#{taskSearchProvider.searchQuery.maxResults}", "#{activePageBean.activeSearchQuery.maxResults}"},
	{"#{taskSearchProvider.searchQuery.recommendedAgent.operator}", "#{activePageBean.activeSearchQuery.refineFields[\"myField.operator\"]}"},
	{"#{taskSearchProvider.searchQuery.myField.value}", "#{MailboxInboxResultsDefaultviewView.myField}"},
	{"#{taskSearchProvider.searchQuery.myField.fields}", "MyIndex"},
	{"#{taskSearchProvider.searchQuery.myField2.operator}", "="},
	{"#{taskSearchProvider.searchQuery.myField2.value}", "#{activePageBean.activeSearchQuery.refineFields[\"myField2\"]}"},
	{"#{taskSearchProvider.searchQuery.mandatory.fields}", "MyIndex2"},
	{"#{taskSearchProvider.pagingSize}", "#{activePreferencesBean.initialPageSize}"},
};

Classes:

public class TaskSearchProvider extends com.webmethods.caf.faces.data.task.impl.TaskInboxIndexedSearchContentProvider 
public class CustomInboxSearchQuery extends com.webmethods.caf.faces.data.task.impl.TaskInboxIndexedSearchContentProvider.InboxSearchQuery



SearchQuery.doc (28.5 KB)

Probably the best bet is to file an SR, because this will likely affect others as well. Thanks for you doing this.
Regards,
–mark

Opened incident with SAG. Incident number:5062577. It will provide the outcome of the discussion.

Hi Mark,

iTrac WTN-1880 has been opened for this issue. Kindly check if I miss something.

I’m also having the same problem. Where you able to fix this issue?

Hello Experts,

Im getting the error "Failed to evaluate binding expression: “#{activePageBean.taskSearchProvider}” while checking my task inbox under MWS<Monitoring<Business<Tasks.
(Upgraded from BPM 9.5 to 10.1)
Thanks in advance.

Thanks,
Lavanya.

Continuing the discussion from Migration from normal TaskSearch to TaskIndexedSearch:

Hello,

Is there any idea on how to do - pub.task.taskclient:searchTasksIndexed with multiple TaskType ID’s. can anyone please help

As per the documentation: “You can search for multiple task types in a single query by specifying multiple taskTypeID values when you define the search criteria.
Delimiter is comma ( , )
For example:

“Fields”: [
“taskTypeID”
],
“Operator”: “in”,
“Value”:[“A2031C29-371D-54C9-AFE3-A887FE6E9438”,“D3598581-14E3-FDD5-82B6-EC507A0CCCE2”]

Hi,

I tried using , seperator. when used like that, Task data is coming as empty. PFA

IndexedSearch_screeshots.docx (53.2 KB)

Try to add it as another term:
image

No tasks found

No Tasks are showing response when specified task type ID in another term. please help.

Thanks,

Hi,

what about using Operator ‘=’ when using multiple terms?

Or apply the comma-separated list of taskIDs in the value field of the single taskID-term?

Regards,
Holger

Thank you! It worked and getting task data for multiple task id’s.