Description of Interactive Activity
Hi all...
I am trying to modify the description of an Interactive activity to show properly in the inbox.
I tried in the Argument mapping of the interactive activity to do description = "my string" but it dose not show up correctly in the inbox I get "myInteractiveDescription" under the description.
Any ideas???
tnx
-Lilach
I got it to work
In the begin activity under argument mapping there is "Advance" icon and in there I wrote
description = "My description..."
Similar Messages
-
Interactive activity with multiple transitions
I use BPM standalone and studio 10g. I create a business rule transition after an interactive activity. This activity also has an unconditional transition. If the amount is greater than 100, the process instance should go to the business rule transition.
However, in the real running process, if I set the amount is greater than 100, workspace will list 2 transitions (business rule transition and unconditional transition) path and let the user to select one.
If I set the amount to less than 100 (such as 10, 20), workspace just shows the unconditional transition.Hi Ye,
Eduardo brings up a good point. When you have multiple Conditional transitions leaving an activity, you can specify the order in which you want them to be evaluated by right mouse clicking the originating activity -> "Conditional transitions order". This is helpful because, even though several conditional transitions can evaluate as true coming out of a single activity - you still only want the work item instance to flow out of the activity via one of them.
It would be good if you could do the same thing when you have multiple business rule transitions leaving an activity, but unless this has been fixed on a patch that I'm not currently using - you cannot do this with business rule transitions. Unlike Conditional transitions, when you have multiple business rule transitions coming out of an activity and more than one evaluates as true, you have no control over the sequence you want them to be evaluated.
Guessing you've already done this, but I believe your options are to:
1) Avoid having multiple business rule transitions coming out of a single activity or
2) Do what Eduardo suggests and to make sure that none of the rules overlap (e.g. "amount > 100 && amount < 300") or
3) Do Eduardo's other suggestion and have a cascading list of Conditional activities. Each Conditional activity has one unconditional transition (going to another Conditional activity) and one business rule transition. If the business rule is true, you're done. If it's not true then you continue to the next Conditional activity which also has an unconditional transition (going to another Conditional activity if you have 3 business rule transitions you wanted to evaluate) and a second business rule transition.
Dan -
BPM process interactive activity(JSP) - external webservice method interac
I am using Oracle BPM studio 10.3.1.0.
I have one external web service published on glassfish application server, I have introspected it in my BPM process using its WSDL.
Now one of my BPM process interactive activity is there, which is represented by one JSP, I am giving some input to my JSP.
I want this input to be passed to the web service method as a parameter, and it should fetch the output, so basically I want to invoke the web service method, could you please guide me how to do it?
Thanks & Regards
AshishHy Ashih
I dont know if this is best way to do that, but I have a similar situation here, and I'm using AJAX do call the webservice method by BPM and retrieve data.
Something like this:
1 - Create the XMLHttpRequest() object in your jsp (if you need I have the entire code)
2 - Create the a JavaScript method for to call the OBPM method in your component
function mymethod(arg1, arg2, arg3)
xmlhttp.onreadystatechange=function()
if( xmlhttp.readyState==4 )
document.getElementById("AnyDIV").innerHTML = xmlhttp.responseText;
var resp = "<f:invokeUrl var='YourComponenteName' methodName='YourMethodName'/>";
//Incude how many args your need here
resp+="&arg1=" + arg1;
resp+="&arg2=" + arg2;
resp+="&arg3=" + arg3;
xmlhttp.open("POST",resp,true);
xmlhttp.send(null);
3 - You'll need a div html tag called "AnyDIV" to receive the BPM answer
4 - On you BPM component, in YourMethodName method (needs to be ServerSide = no), create two args, the first is httpRequest type (name request), and the second is httpResponse type (name response) (fuego lib)
5 - Type the code below in your BPM method to send info back to the JSP
//getting the args
String arg1 = request.getParameter(string : "arg1");
String arg2 = request.getParameter(string : "arg2");
String arg3 = request.getParameter(string : "arg3");
//Do the webservice call here, prepare the html answer and put it into an string variable
strReturn = "bla bla bla";
//Send the anwser back to the jsp
response.bodyTextContent(arg1 : strReturn);
Or you can do this using xml answer and deal with the tags with javascript
that's it -
Interactive activity, external task example???
Hi,
I'm trying to search for a simple external task example, however it is totally imposible to find anything ... :(
I would like to make a few questions about it. When you create an external task in a interactive activity, you can specify an URL where the request will be redirected when you click on a external task, but how do you send the information about the specific process you want to work with in the URL? is it possible to pass parameters to this URL ? which is exactly the correct use of the external URL configuration? if I pass the control to an external system, how this system is able to know which BPM process instance to work with?
Regards,
Antonio.Hi,
I've recently found out that Aqualogic simply sends the information about the process as request parameters to the external system:
taskIn:0
activity:TareaExterna
instanceId:/ExpenseReport#Default-1.0/6/0
participantId:Peter Jones
Very easy, however it is quite frustrating not finding anything about it. I agree with you that it is an upcoming technology, however the documentation of a product should have a minimum of quality, specially coming from an important company as BEA. They offer a functionality and simply do not explain how it works.
In any case, thanks a lot for answering my question!! :)
Best regards,
Antonio. -
Interactive activity deadline without due transitions
I need to define deadline for all interactive activities. However, I do not want to add due transitions or Connector to every interactive activity. How to set the activity deadline without due transitions?
Or, I add a due transition / deadline to all interactive activities. If the deadline is reached to any of them, an exception will start.
Or, if any activity is expired, it should go to a specific activity. How to do that?
For example, a process has 2 interactive activities, named a1 and a2. The first activity has a method:
activity as Activity
activity=Activity("a2")
t as Time
t = addSeconds(activity.deadline, i : 20)
It sets the deadline of a2. However, after it is deployed to BPM standalone 10g, when sending a1, Standalone shows error.
Sincerely
Edited by: YE on Jun 5, 2009 4:01 PMHi Ye,
There is a predefined variable called "deadline" you might want to consider using for this. Instead of having to add due transitions for each activity, if you set the deadline variable to some time in the future, once that time is exceeded the work item instance automatically throws an "InstanceExpiration" exception.
1) I usually set the deadline variable in the Begin activity in the process to some time in the future. Although you can set it there, it can be changed anywhere in the process if you want the deadline to be different in the next activity. You just need to be sure to set the deadline upstream of the activity.
2) Add an exception handler to catch the InstanceExpiration exception by:
a) adding an orphan Interactive activity
b) if an exception handler does not exist in the process, right mouse click anywhere in the white space of the process -> "Add an exception transition to" -> select the Interactive activity you added in the first step -> click the "Properties" tab -> select the Exception Name combo dropdown and pick "InstanceExpiration" -> click Ok and then Yes.
c) the logic in the Interactive activity that catches the overdue instances needs at least these statements:
// reset the deadline so another exception is not immediately thrown
deadline = 'now' + '2d'
// code here to do what it is that you want done (e.g. escalate the priority, send someone an email, etc.)
// now send the instance back to the activity where the deadline expired
action = BACK Hope this helps,
Dan -
Equivalent of Global Interactive Activity in 11g
Hello,
Is there an equivalent of Global Interactive (not Global Creation) activity in OBPM 11g? What I intend to do is to be able to have certain stand alone activities in the workflow bounded independently to different taskflows (there taskflows are associated with the business process but not directly linked to it). E.g. Let's say I have a requirement that the 'Manager' role in the workflow should be able to assign the primary process participants to different Line of Businesses based on day to day needs. All I need is a UI to achieve this. But I am also trying to leverage BPM roles so that only 'Managers' are able to see this link in their workspace / worklist and able to access this UI. We have previously implemented this using 'Global Interactive' in 10g. All we did was to place the activity in a manager swimlane and associate a screenflow to it. Trying to understand what 11g has to offer for this requirements.
Thanks,
GauravOne of the things that helps end-users train themselves on a process is to present a picture of where a work item instance that they are working on is located in the process. This is commonly referred to as the “you are here” map. In Oracle BPM 10g, this is done like this:
1. Add a Global Interactive activity to an abstract role (role with a name).
2. Name this new Global activity “You are here”.
3. Click Runtime in the left pane and check the "Has instance access" (do not check the checkbox labeled “Use activity for instance presentation").
4. Click the OK button.
5. Right mouse click this new activity and select Main task from the popup.
6. Change the Implementation type to "Show Process Image".
7. Click OK.
8. Save the project and reload the project.
9. Start the WorkSpace again. Log out and relogin.
10. On the right side of the inbox, for an existing work item instance click the "Select action" dropdown.
11. Click the new "You are here" action.
12. Note the red flag above the activity where this work item instance is located in the process.
Hope this helps,
Dan -
How to invoke BPM object instance variable from interactive activity?
I have a screenflow with an automatic activity "A" followed by an interactive activity "B". "B" calls a BPM object "X" and uses a JSP presentation to show its attributes. Is there a way to use another BPM object, say type "Y", create an instance variable of that type inside "A", and get its attributes values from the JSP page associated to "B"?
Edited by: user6473912 on 20/07/2010 03:37 PMTry this. It assumes you have:
<li> a user named "auto"
<li> a project variable named "customerType"
<li> an instance variable named "orderAmount" that is a decimal
<li> an instance variable named "order" that is a BPM Object that has attributes named "customerName" and "amount"
ps as ProcessService
xmlObject as Fuego.Xml.XMLObject
do
connectTo ps
using url = Fuego.Server.directoryURL,
user = "auto",
password = "auto"
instF as InstanceFilter
create(instF, processService : ps)
addAttributeTo(instF, variable : "customerType", comparator : IS, value : "Gold")
instF.searchScope = SearchScope(participantScope : ParticipantScope.ALL, statusScope : StatusScope.ONLY_INPROCESS)
for each inst in getInstancesByFilter(ps, filter : instF) do
// here's how to get the value inside a primitive instance variable
orderAmtObj as Object = getVar(inst, var : "orderAmount")
// here's how to get the value of attributes inside a complex BPM Object instance variable
// - in this case this is an "order" object with two attributes (customerName and amount)
orderObj as Object = (getVar(inst, var : "order"))
xmlObject = Fuego.Xml.XMLObject(createXmlTextFor(DynamicXml, object : orderObj, topLevelTag : "xsi"))
logMessage "The value of the order object's customer name is: " +
selectString(xmlObject, xpath : "customerName")
logMessage "The value of the order object's order amount is: " +
selectNumber(xmlObject, xpath : "amount")
// here's a rather uninspired way to retrieve who the participant is that was assigned the instance
logMessage "The participant assigned to this instance is: " + inst.participantId
end
on exit
disconnectFrom ps
endDan -
Problem with WebService to Create Interaction Activity
Hi everybody,
I am currently trying to create a new Interaction Activity using WSNavigator. However, I haven´t managed referencing an existing account. I always get the answer "Enter Activity partner". The Interaction Activity can be created, but without an Account.
Can anybody tell me which information I have to provide in my request to make an account reference or where I can obtain this information? I have already tried out all variations, but nothing has worked so far. Documentation doesn´t provide any information on this.
This is one example I have tried out (but as I said only one of many).The concrete error message is the following:
<Item>
<TypeID>119(COM_PARTNER)</TypeID>
<SeverityCode>3</SeverityCode>
<Note>Enter Activity partner</Note>
</Item>
What does "119(COM_PARTNER)" mean? -
Interactive activity with multiple business rule transitions
I use BPM standalone and studio 10g. I create two business rules.
Business rule 1: amount greater than 100.
Business rule 2: amount greater than 300.
An interactive activity has two business rule transitions and an unconditional transition. This activity is set to auto complete.
In an instance, I set the amount is 400. Then, the instance goes business rule 1 transition.
If I set this interactive activity to user select transition, the workspace lists 2 business rule transitions and let me to select one.Hi Ye,
Eduardo brings up a good point. When you have multiple Conditional transitions leaving an activity, you can specify the order in which you want them to be evaluated by right mouse clicking the originating activity -> "Conditional transitions order". This is helpful because, even though several conditional transitions can evaluate as true coming out of a single activity - you still only want the work item instance to flow out of the activity via one of them.
It would be good if you could do the same thing when you have multiple business rule transitions leaving an activity, but unless this has been fixed on a patch that I'm not currently using - you cannot do this with business rule transitions. Unlike Conditional transitions, when you have multiple business rule transitions coming out of an activity and more than one evaluates as true, you have no control over the sequence you want them to be evaluated.
Guessing you've already done this, but I believe your options are to:
1) Avoid having multiple business rule transitions coming out of a single activity or
2) Do what Eduardo suggests and to make sure that none of the rules overlap (e.g. "amount > 100 && amount < 300") or
3) Do Eduardo's other suggestion and have a cascading list of Conditional activities. Each Conditional activity has one unconditional transition (going to another Conditional activity) and one business rule transition. If the business rule is true, you're done. If it's not true then you continue to the next Conditional activity which also has an unconditional transition (going to another Conditional activity if you have 3 business rule transitions you wanted to evaluate) and a second business rule transition.
Dan -
Deadline for an interactive activity
In the process, there is an automatic activity (A) before an interactive activity. Please let me know how to set the deadline for the interactive activty through A.
The requirement is regarding setting up the SLA for an instance for every interactive activity. The instance should be highlighted in red once the SLA is crossed. I know how to customize the workspace for this. I am looking at how to set up the deadline (SLA) through code based on certain conditions.If you want the instance to remain in the Interactive activtiy even though the deadline has passed, you might not want to use a Due transition. The Due transition's whole purpose is to fire and have the work item instance flow through it after the time period specified inside the Due transition's property elapses.
You might want instead want to create a new project variable that represents some time in the future for the work item instance. This would have to be a time variable since an instance sitting in an Interactivity won't be able to indicate that a time period has elapsed except by comparing the current time with the time value you set in the project variable's time variable.
I'm not sure that the deadline predefined variable is a fit for what you're trying to do. You'd use the deadline predefined time variable to set an SLA for the entire process. Once this time period expires, the engine will fire an exception (an "InstanceExpiration" exception) that would need to get caught by an Exception Handler activity somewhere inside your process.
When you create a Due transition for an activity, it's a different type of SLA. It sets an SLA for a specific activity (vs. the entire process). You're not going to find much joy in trying to set the predefined variable activity.deadline. This is automatically set by the engine when the engine sees that an activity has a Due transition. The engine sets this time to the time in the future established by the Due transition. This is a read only predefined variable that you won't be able to set. Instead, consider creating and setting a new project time variable I mentioned above that you can check to see if the time has elapsed by comparing it with the current time.
To make a primitive instance variable (e.g String, Decimal, Time, etc.) available to a JSP, create a BPM Object with attribute(s) corresponding to the instance variables you want passed to the JSP. Prior to the Screenflow's Interactive Component Call task where you present the JSP, you'd just need to set the primitive instance variable(s) to the attributes in the BPM Object.
Hope this helps,
Dan -
Hi,
Could you please tell me how we can pass I/O arguments through PAPI WS/PAPI API to execute the Global Interactive activity, the main task defined for it is a Screenflow. Global Interactive activity is not having "Instance Access" check in the Properties option. We will then use these arguments inside the Screenflow for business process. As per my knowledge, for Screenflow mapping, we need to map "Value" with the appropiate arguments defined in the Screenflow argument mapping section. By default, "Value" shows predefined values.So, how we can map argument values coming from PAPI WS/PAPI API to this screenflow.
Thanks,
AbhishekOne of the things that helps end-users train themselves on a process is to present a picture of where a work item instance that they are working on is located in the process. This is commonly referred to as the “you are here” map. In Oracle BPM 10g, this is done like this:
1. Add a Global Interactive activity to an abstract role (role with a name).
2. Name this new Global activity “You are here”.
3. Click Runtime in the left pane and check the "Has instance access" (do not check the checkbox labeled “Use activity for instance presentation").
4. Click the OK button.
5. Right mouse click this new activity and select Main task from the popup.
6. Change the Implementation type to "Show Process Image".
7. Click OK.
8. Save the project and reload the project.
9. Start the WorkSpace again. Log out and relogin.
10. On the right side of the inbox, for an existing work item instance click the "Select action" dropdown.
11. Click the new "You are here" action.
12. Note the red flag above the activity where this work item instance is located in the process.
Hope this helps,
Dan -
Global Interactive activity link to be displayed only at instance end
Hi All,
I have a requirement where link in right hand side dropdown at instance level should be shown only when instance is completed. For this I am using one global interactive activity with 'has instance access' option checked and also 'read only' option checked. It is visible when instance is completed as well as when alive. I dont want the later part. Could anyone advice?
Regards,
Yasmin.Yasmin,
You need to persist your instance variables by inserting them into the database table. And then pull your compleled instances based a known parameter (let say a defined instance id that can be an oracle or sql row id).
Does this make sense to you?
Thanks
badam571
Edited by: badam571 on Apr 27, 2010 1:30 PM -
Two Due Transitions from tlhe same Interactive Activity
Hi all,
I am implementing a process where I need to send a notification to the user two times. One after 2 days to approve the task. Second after 4 days send a user another notification saying that u have not approved the task and therefore the ticket is being closed.
How do I do this using just one interactive activity?Hi,
You might want to consider using a variable in the Due Transition instead of hard coding '2d' or '4d'. This way you have just the one Due transition leaving the activity and it would timeout based on the interval variable. The interval variable would initially need to be set and then later set again after the first due transition fires.
hth,
Dan -
Multiple Approvals for an interactive activity
I have an interactive activity in my workflow. To proceed from this activity i need multiple approvals from different users/participants. The number of users/participants providing approvals are collected dynamically.All the users/participants are in the same role (Approver).
Also, the participant who approves the activity should not again see the pending item in his inbox but the other users should still be able to see it. For instance, if there are 3 approvals needed of user1,user2 and user3, and user1 approves then the item should now be visible as pending only for user2 and user3.
Appreciate any help regarding this.Hi Dan,
Thanks for your reply. I did try using the update() method but m still getting the same exception. Below please find the code snippet that i am using. Would be great if you help if me recognize the mistake:-
private DirectorySession createFDISession() throws AuthenticationException, ProtocolNotSupportedException{
DirectorySession directorysession = null;
this.configuration = configure();
String directoryId = "";
String fdiPreset = "";
directoryId = configuration.getProperty(ProcessService.DIRECTORY_ID);
fdiPreset = configuration.getProperty("FUEGO_FDI_PRESET");
DirectoryPassport directoryPassport = DirectoryPassport.createWithIDAndPreset(directoryId, fdiPreset);
directoryPassport.fillPassport();
directorysession = Directory.startSession(directoryPassport);
return directorysession;
public void addUserInFDI(UserVO userVO, List<String> roleMap) throws AuthenticationException, ProtocolNotSupportedException, DirectoryException
DirectorySession directorysession = null;
if (userVO != null && userVO.getUserId() != null && !userVO.getUserId().trim().equals(""))
// create directory session
directorysession = this.createFDISession();
List<RoleAssignment> roleAssignmentList = new ArrayList<RoleAssignment>();
try {
for(String role:roleMap)
roleAssignmentList.add(getRoleFromString(directorysession, role, "", ""));
String organizationUnit = configuration.getProperty("ORGANIZATION_UNIT");
String newUserPwd = configuration.getProperty("FUEGO_FDI_NEW_USER_PASSWORD");
DirOrganizationalUnit orgUnit = DirOrganizationalUnit.fetch(directorysession,organizationUnit);
DirHumanParticipant user = DirHumanParticipant.create(directorysession, userVO.getUserId(), userVO.getFirstName(), userVO.getLastName(),
userVO.getFirstName(), userVO.getEmail(), userVO.getPhone(), "",
newUserPwd, orgUnit,(RoleAssignment[]) roleAssignmentList.toArray(new RoleAssignment[roleAssignmentList.size()]), true);
//calling the update function on the created user
user.update();
System.out.println("permission : "+user.getPermissions());
finally
directorysession.disconnect();
} else {
log.info( "Invalid user's information : " + userVO);
private RoleAssignment getRoleFromString(DirectorySession directorysession, String roleParamStr, String roleStr, String parameterStr) throws DirectoryException
RoleAssignment roleAssignment = null;
roleStr = "";
parameterStr = "";
if(roleParamStr.indexOf("||") < 0)
roleStr = roleParamStr.trim();
else
ArrayList<String> roleParamList = getArrayList(roleParamStr, "||");
if(roleParamList != null)
roleStr = roleParamList.size() > 0 ? roleParamList.get(0).trim() : "";
parameterStr = roleParamList.size() > 1 ? roleParamList.get(1).trim() : "";
DirOrganizationalRole dirOrganizationalRole = DirOrganizationalRole.fetch(directorysession, roleStr);
if (dirOrganizationalRole.isParametric())
if (parameterStr == null || parameterStr.equals(""))
roleAssignment = new RoleAssignment(dirOrganizationalRole.getId(), parameterStr, 127, 0);
roleStr = roleAssignment.role;
parameterStr = roleAssignment.parametricValue;
else
roleAssignment = new RoleAssignment(dirOrganizationalRole.getId(), 95, 0);
roleStr = roleAssignment.role;
parameterStr = null;
return roleAssignment;
public ArrayList<String> getArrayList(String inputStr, String delim) {
ArrayList<String> returnStr = new ArrayList<String>();
if (inputStr!=null)
StringTokenizer strTokens = new StringTokenizer(inputStr, delim);
while (strTokens.hasMoreTokens()) {
returnStr.add(strTokens.nextToken().trim());
return returnStr;
} -
Method of Interactive activity
In BPM studio 10g, I create an interactive activity and its main task is a method (PBL). Then, I delete this activity.
However, this method is still in the dropdown list when I add another new interactive activity. How to remove it?Hi YE,
when you delete an activity, the method associated with it does not get deleted.
To delete the method, open the "OutLine" view of the process (double click the process. The outline view should appear at the bottom left corner. alternatively go to Window ---> Show View ---> Outline). There you will find all the Activities and methods in the process. Right click on the method you want to delete. You will get the delete option.
Hope this helps.
Cheers !
Rajat
Maybe you are looking for
-
I am having getting router.attach() to work properly Server server = new Server(Protocol.HTTP, 8182, new TestServerApplication()); server.start() Here's the code that's in the client ClientResource clientResource = new ClientResource( "http://localho
-
Plugin Effects not showing up in FCPX
Hi, I recently bought a new computer. I installed FCPX and copied my plugin effects to the movie folder (motion templates, etc.) the same way I had them working in my old computer, but the effects are not showing up in FCPX when I launch the Applica
-
How can i save sent sms messages C5-00
I cant see any sent sms messages on my phone. How do I set this up?
-
IPhoto will not open after Mountain Lion 10.8.1 update
Hello, I just did the software update for Mountain Lion to bring me to version 10.8.1. Now I am unable to open iPhoto. It bounces in the dock for a short time, and then an error window comes to "send" to Apple, and then you click on "Reopen" to try o
-
Getting rid of Tiger after successful upgrade?
If I'm satisfied with Leopard and did an upgrade is there an easy way to get rid of Tiger?