Author |
Message
|
vedbhat |
Posted: Sun Mar 24, 2002 8:11 pm Post subject: |
|
|
 Disciple
Joined: 19 Mar 2002 Posts: 186 Location: Singapore
|
Hi Everybody,
We are trying to develop our own Thick Client using Visual Basic. Can some one let me know which are the event that MQWF Server triggers, which I can trap and where can I find more details. |
|
Back to top |
|
 |
JImmy |
Posted: Sun Mar 24, 2002 9:13 pm Post subject: |
|
|
Acolyte
Joined: 23 Feb 2002 Posts: 59 Location: Shanghai, China
|
From my opinion, Knowing much about the APIs provided with the product is enough for writing a client for MQWF. The APIs can let you start and create an instance of one of the templates, monitor the whole process, check in/out the workitem, or transfer or force finish the work item, which one is the current acitiviy and who owns the activity. If your client just have the function like these, I think you just need to know the APIs.
And the red book MQWF for windows NT for beginner is a good reference for you to start.
Good Luck. |
|
Back to top |
|
 |
vedbhat |
Posted: Sun Mar 24, 2002 9:45 pm Post subject: |
|
|
 Disciple
Joined: 19 Mar 2002 Posts: 186 Location: Singapore
|
Hi Jimmy,
First of all thanks for the reply.
Actually we are building our own Runtime Client and the scenario is as below,
We are using Container data of each of the activities to display as the workitem in the Worklist and hide the actual Worklist ActiveX control provided by WF. If the Worklist is said to be in Push Mode then MQWF Server pushes an event to the client whenever the status of the workitem changes, indicating whether the activity is completed or started, In error state etc etc. If we cannot trap the event how can we refresh our list. If you are aware of any solution please let me know.
I couldnt find much details about the events and its description in Programming Guide.
Waiting for any reply.
Thanks and Regards
|
|
Back to top |
|
 |
JImmy |
Posted: Sun Mar 24, 2002 9:54 pm Post subject: |
|
|
Acolyte
Joined: 23 Feb 2002 Posts: 59 Location: Shanghai, China
|
Actually I have no idea about the "Trigger" you mentioned.
But I have an alternative way to do that. If you can write a program using java.util.Timer, in which you define a TimerTask to query the work item status every fixed interval, such as 5 seconds, you will know which activity is ready or checkout, etc. Then you can determine which work list should be refreshed.
Good Luck |
|
Back to top |
|
 |
jmac |
Posted: Mon Mar 25, 2002 7:37 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
If I understand you correctly, you are saying that you are going to use data from the container when you display the worklist. THIS might be a BIG mistake. You will need to access each workitem and then its container. This will not perform well. You should try to use only the API's that are given for the workitem object. IF you need container information, try hiding it in the Description field, which you can access, then parse out the data you need.
As far as getting the delta information on workitems in your worklist, I beleive that API is only available in C/C++. See the manual in the chapter "Client/Server communication and data access models" this is chapter 5 in the version of the doc that I have. The topic called "Receiving Information" in this chapter contains what I think you are talking about.
GOOD LUCK
_________________ John McDonald
RETIRED |
|
Back to top |
|
 |
vedbhat |
Posted: Mon Mar 25, 2002 5:16 pm Post subject: |
|
|
 Disciple
Joined: 19 Mar 2002 Posts: 186 Location: Singapore
|
Hi John,
As you said, We know there could be performance issue because need to loop to fetch container data for each item. We have already mentioned this to the customer and they insisted in creating this type of worklist as no of transaction is not high(Max around 150-200 workitems per day). Any suggestion on this.
Thanks and Regards
Ved |
|
Back to top |
|
 |
jmac |
Posted: Tue Mar 26, 2002 6:33 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
If you must access the container, then the price you are going to pay is performance. If it is a small amount of data try to put it into the Description, if you are writing your own client, then you should be able to control what if anything you display. The limitation is the size of the description field which is limited to 254 chars i think.
As far as getting the delta information when a Workitem changes, you can't really accomplish this in VB. This is a problem in general. What you need to do is to make sure that you trap the "Wrong State" error that you will get if you attempt to start an item that is already running. Then you need to decide whether or not you want to Refresh the worklist with each access by the user. Worklist refresh can be quite expensive so be careful.
Good Luck
_________________ John McDonald
RETIRED |
|
Back to top |
|
 |
|