6 Replies Latest reply: Jun 6, 2011 11:13 AM by cenkozan RSS

    [BPM11g] "BPMWorkflowReassign" role in User's Guide

    725165
      In the Users Guide there are several references to the "BPMWorkflowReassign" role - where is this role defined? How can you grant it to users?

      Specifically in section "3.4 Reassigning and Delegating Tasks in Oracle Business Process Management Workspace" there is a sentence that reads "Users with the BPMWorkflowReassign role can assign tasks to any users in the organization."

      I've tried creating this role in the Administration -> Organization -> Roles section of the workspace and assigned users to it, but it didn't seem to do anything.

      Whenever I try to reassign or ad hoc route to users defined in external LDAP (Active Directory configured as described in "21.7.1 Adding an Authentication Provider" of the Admin Guide), it doesn't work. The ad hoc route just doesn't add the new assignee at all, and reassign actually unassigns the task completely.
        • 1. Re: [BPM11g] "BPMWorkflowReassign" role in User's Guide
          827290
          hi

          i have same problem


          please help



          bye
          • 2. Re: [BPM11g] "BPMWorkflowReassign" role in User's Guide
            297706
            BPMWorkflowReassign role is no longer used; any references in documentation are doc bugs and we will address them.

            Reassign capability is controlled by visibility rules in Task (that is, in .task file go to access --> actions). Note that this can be used to revoke privileges but not grant additional ones.

            If the scenario is that the current assignee's manager should have the Reassign privilege:
            a. Need to use the concept of Owner
            b. Owner can be dynamically assigned; so assign it to manager of assignee (or if you want to use a group, you can do that as well)
            c. If needed, take away the other privileges granted to Owner
            d. If needed, take away the reassign privilege from Assignee

            Related issue is how to control the list of reassign candidates. This can be done with Java; please see http://blogs.oracle.com/soa_how_to/2010/01/how_does_restricted_task_reassignments_work_in_soa_11g.html.
            • 3. Re: [BPM11g] "BPMWorkflowReassign" role in User's Guide
              827290
              tankyou for your attention


              i implemented RestrictedAssignmentCallback class . but only predefined users (like weblogic) and created users with "oracle.security.idm.UserManager" api , show in user list for reassignment in worklistapp.

              for exmaple i created user with name 'hamed' in weblogic console and restricted reassignment only to him . but it didnt work .


              please help me
              • 4. Re: [BPM11g] "BPMWorkflowReassign" role in User's Guide
                441803
                We can only read off only user store. What is the user directory configured to be used in SOA and when you add user in weblogic, do you know where this is added?
                • 5. Re: [BPM11g] "BPMWorkflowReassign" role in User's Guide
                  827290
                  one scenario is like this :

                  1- I created user 'weblogic' when i configured application server(new domain creation) .
                  2- I added new users with weblogic server console that stores them in embeded LDAP .
                  in this example : "user1" , "user2" , "user3" .
                  3- I added new users by "DemoCommunitySeedApp" application .
                  note : I know that this application uses "oracle.security.idm.IdentityStore" , "oracle.security.idm.User" ,
                  "oracle.security.idm.UserManager" , ... for creatiing new users and groups and application role .
                  users like : "jcooper" , "jstein", "wfaulk" , were added .
                  4- I extended IRestrictedAssignmentCallback for a sample task :

                  package org.basa.soa.restrictAssign;

                  import java.util.ArrayList;
                  import java.util.List;
                  import java.util.Map;
                  import oracle.bpel.services.workflow.task.IRestrictedAssignmentCallback;
                  import oracle.bpel.services.workflow.task.IRestrictedAssignees;
                  import oracle.bpel.services.workflow.task.ITaskAssignee;
                  import oracle.bpel.services.workflow.task.impl.TaskAssignee;
                  import oracle.bpel.services.workflow.task.impl.RestrictedAssignees;
                  import oracle.bpel.services.workflow.task.model.Task;
                  import oracle.bpel.services.workflow.IWorkflowConstants;



                  public class RestrictedAssignmentCallback2 implements
                  oracle.bpel.services.workflow.task.IRestrictedAssignmentCallback {

                  public IRestrictedAssignees getPermittedAssignees(Task task,
                  Map propertyMap,
                  String currentUser,
                  String identityContext,
                  String operation) {
                       if(operation.equals(
                  IRestrictedAssignmentCallback.OperationType.REASSIGN.toString())) {
                  System.out.println("in the re assign condistion");
                       return new RestrictedAssignees(createReassignTaskAssigneeList(),
                  true);
                  }
                       return null;
                  }

                  public List getRestrictedOperations(Task task,
                  Map propertyMap,
                  String currentUser,
                  String identityContext) {
                       List retList = new ArrayList();
                       retList.add(RestrictedAssignmentCallback.OperationType.REASSIGN);
                       retList.add(RestrictedAssignmentCallback.OperationType.ROUTE);
                       return retList;
                  }     

                  private ITaskAssignee createTaskAssignee(String name, boolean isGrp) {

                       return (new TaskAssignee(name, isGrp));
                  }
                  private ITaskAssignee createTaskAssignee(String name, String type) {
                  return (new TaskAssignee(name, type));
                  }

                  private List createReassignTaskAssigneeList() {
                  List retList = new ArrayList();
                  retList.add(createTaskAssignee("weblogic",IWorkflowConstants.IDENTITY_TYPE_USER));
                  retList.add(createTaskAssignee("jcooper",IWorkflowConstants.IDENTITY_TYPE_USER));
                  retList.add(createTaskAssignee("jstein", IWorkflowConstants.IDENTITY_TYPE_USER));
                  retList.add(createTaskAssignee("wfaulk", IWorkflowConstants.IDENTITY_TYPE_USER));


                  retList.add(createTaskAssignee("user1",IWorkflowConstants.IDENTITY_TYPE_USER));
                  retList.add(createTaskAssignee("user2", IWorkflowConstants.IDENTITY_TYPE_USER));
                  retList.add(createTaskAssignee("user3", IWorkflowConstants.IDENTITY_TYPE_USER));
                  return retList;
                  }
                  }

                  5- I logined in worklist app with weblogic user and want to reassign sample task to some one else ,
                  but i saw only these users in the list: "weblogic","jcooper","jstein","wfaulk"
                  and i didnot see these users : "user1","user2","user2"


                  plaese help
                  • 6. Re: [BPM11g] "BPMWorkflowReassign" role in User's Guide
                    cenkozan
                    Hi,

                    I have the same problem here. I can not update the task as any user. So I can not Add Comment, delete, ad-hoc route the task. Could you find a solution for this?

                    Edit:
                    Plus I can see a similar explanation in a Document like in the first comment.

                    "To add or delete a comment, you must have permission to update the task."

                    Where is that permission being hold?

                    Thanks.

                    Edited by: cenkozan on Jun 6, 2011 9:11 AM