Configuring Main Task of Interactive Activity to use Portlets

Hi,
I currently have a ALBPM implementation where we are using Screenflows in our Main Task of the Interactivity Activity to interact with the user.
Now we plan to replace the screenflow with portlets as we are implementing the Weblogic Portal Server and would like to have all the UI be developed using portlets.
Unfortunately we are unable to find any tutorial or guide that can help us with the steps involved with the same. And also who can we test the invocation of the portlets using the ALBPM workspace.
Regards,
Kartik

Hi Ritu,
I'm guessing you might have logic inside your Interactive activity that looks like this:
input "Enter the customer id: " : customerName
    using title = "Customer Information",
          buttons = ["Ok", "Cancel"]
    returning selectedButton = selectionAlthough I find "input" and "display" statements useful for initial prototyping and some testing, don't take it beyond that. The problem with these statements is that they tie up a thread as long as someone has the input or displayed dialog up. Quickly you'll run out of threads as people march off to lunch with these dialogs left up on their screens. Instead use Screenflows with either JSPs or BPM Object presentations to render information to end users.
In direct answer to your question though, if you're using the input statement (again - don't do this in production) be sure to handle the variable that contains the value of the button clicked. The above logic would be changed to the logic shown below to handle the Cancel button being clicked:
selectedButton as String
input "Enter the customer id: " : customerName
    using title = "Customer Information",
          buttons = ["Ok", "Cancel"]
    returning selectedButton = selection
if selectedButton = "Cancel" then
   // action is a predefined variable that is an enumeration used in this case to cancel the user's input
   action = CANCEL
endHope this helps,
Dan

Similar Messages

  • Optional Task in Interactive Activity usage?

    Hi Gurus,
    BPM version : 10.3.2
    You will be appreciated if some could explain about the optional tasks in the Interactive activity? and how can I execute the same using PAPI?
    Thanks in advance.
    -Narasimha

    Hi Ritu,
    I'm guessing you might have logic inside your Interactive activity that looks like this:
    input "Enter the customer id: " : customerName
        using title = "Customer Information",
              buttons = ["Ok", "Cancel"]
        returning selectedButton = selectionAlthough I find "input" and "display" statements useful for initial prototyping and some testing, don't take it beyond that. The problem with these statements is that they tie up a thread as long as someone has the input or displayed dialog up. Quickly you'll run out of threads as people march off to lunch with these dialogs left up on their screens. Instead use Screenflows with either JSPs or BPM Object presentations to render information to end users.
    In direct answer to your question though, if you're using the input statement (again - don't do this in production) be sure to handle the variable that contains the value of the button clicked. The above logic would be changed to the logic shown below to handle the Cancel button being clicked:
    selectedButton as String
    input "Enter the customer id: " : customerName
        using title = "Customer Information",
              buttons = ["Ok", "Cancel"]
        returning selectedButton = selection
    if selectedButton = "Cancel" then
       // action is a predefined variable that is an enumeration used in this case to cancel the user's input
       action = CANCEL
    endHope this helps,
    Dan

  • Unassign a task using Global Interactive activity.

    Hi,
    There is a task assigned to a particular user. I want to unassign that task from Global Interactive activity but it is not working. Steps followed by me are:
    1. Global Interactive activity for unassigning any task at any time from the instance drop down.
    2. A screenflow is called in the Global Interactive activity for unassign.
    3. In the screenflow I have an automatic activity where I have written Participant.next=Participant.Unselect;
    The log message in the automatic activity after the above written code shows participant value is blank. But when it comes out of the screenflow to the main process the participant automatically gets assigned. In the workspace the activity shows that it is still assigned to the user.
    Note: I cannot use OOTB feature of Unassign because I need to show a screen with some reasons for Unassign, so I'm using a screenflow.
    Kindly revert ASAP.

    Hi Yasmin,
    Try executing the code at the process level or use the product feature 'Unassign'.Hope it helps.
    Regards,
    Ritu S.
    Edited by: Ritu Singh on May 17, 2010 1:21 AM
    Edited by: Ritu Singh on May 17, 2010 2:04 AM

  • 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.

  • Hello my name is jose quant, and let me know how I can use CAMERA RAW adobe bridge because the bridge use and want to open a camera raw image, I get a message that says: MAIN BRIDGE aplicaion NOT ACTIVATED. BRIDGE REQUIRES A PARTICULAR PRODUCT HAS BEGUN A

    Hello my name is jose quant, and let me know how I can use CAMERA RAW adobe bridge because the bridge use and want to open a camera raw image, I get a message that says: MAIN BRIDGE aplicaion NOT ACTIVATED. BRIDGE REQUIRES A PARTICULAR PRODUCT HAS BEGUN AT LEAST ONCE TO ACTIVATE THIS FEATURE. I wonder what that means?
    I use a lapto (windows 7) 64-Bit operating system.
    Thank you,
    my email is: [email protected], if you send me the answer to my query

    You need to activate Photoshop.
    Mylenium

  • HT4061 i already restored my iphone succesfully using an itunes on my desktop, my iphone restarts and to configure language,country etc.unfortunately, activating my iphone is not possible itunes told me to insert a sim but my  simcard was inserted...help

    i already restored my iphone succesfully using an itunes on my desktop, my iphone restarts and to configure language,country etc.unfortunately, activating my iphone is not possible itunes told me to insert a sim but my  simcard was inserted...help me pls.

    Most likely, your phone was previously hacked to carrier unlock.  When you restored the phone, the hack was removed and the phone re-locked to its original carrier.  It now will recognize only the SIM card from that carrier, and can be used only with that carrier.

  • 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,
    Gaurav

    One 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

    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,
    Abhishek

    One 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

  • Error in external interactive activity redirection from workspace

    I'm not able to configure external interacitve activity in studio 6.0.
    Here what's done:
    -added activity, main task imlementation = external
    -assigned prepare(), commit() methods
    -added new server configuration
    When launching workspace, the > sign on activity in inbox, throws:
    "The task is external and it needs to be invoked through an API call and not through the Classic WorkSpace."
    I should redirect to external server, as promised with studio help:
    "Configuration: you can optionally define an URL. When the task is executed from WorkSpace, WorkSpace redirects the execution to the URL. "
    The same happens if project is deployed to standalone 6.0
    Any solution or exact instuction how to configure external activities for albpm 6.0?

    I'm not able to configure external interacitve activity in studio 6.0.
    Here what's done:
    -added activity, main task imlementation = external
    -assigned prepare(), commit() methods
    -added new server configuration
    When launching workspace, the > sign on activity in inbox, throws:
    "The task is external and it needs to be invoked through an API call and not through the Classic WorkSpace."
    I should redirect to external server, as promised with studio help:
    "Configuration: you can optionally define an URL. When the task is executed from WorkSpace, WorkSpace redirects the execution to the URL. "
    The same happens if project is deployed to standalone 6.0
    Any solution or exact instuction how to configure external activities for albpm 6.0?

  • Transport request main task releasing problem

    Hi friends,
    Environment is Linux, ECC5.0, Two system landscape,
    I have problem with Transport Request task releasing when I am going to release the subtask that willbe released success fully when I am trying to releasing the main task that task is not released and at that time the system wil hang( mesg on the status bar is tp is connected success fully) thats it we wait for long time then also that looks thats only no log will be generating in usr/sap/trans/log there will be a log on this one that log is
    WARNING:/usr/sap/trans/tmp/<username.LOS>is already in use (10), I'm waiting 3 sec(20070326124305). My name:pid 7265 on test(sd1adm)
    after saw the this mesg I kill the 7265 pid then also same proablem.
    I change the ownet of the request then the request is released but not uppeard in the import que. whn i am trying to import in que as manually that will appear in que but not importing when i press the import button the error is tp error 0203.
    I check the both users authorizations also bothe authorizations also same then why it wil happening ???
    then I check the nfc also that service also running ok the six services are 1.off 2.off 3.on 4. on 5.on 6.off.
    I mount the trans dir also the mounting points also ok tms configuration is also ok
    wt can i do plz help me with ur valuable suggessions
    Thankyou
    Ranjith

    Hello Ranjith,
    This is usually because the tp transport buffer lock file remains locked by the
    operating system (OS).
    You should be able to move or delete this file from the DIR_TRANS/tmp dir.
    After that the tp should run fine after.
    Thanks,
    George

  • 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

  • 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

  • Create new instance through global interactive activity

    Hi All,
    I have a requirement where when instance is completed, I need to provide a link at instance end through global interactive activity. Once user clicks on that activity a screen appears where user clicks on button and new instance should be created.
    Now the problem is I tried notifying the main process and then use process creation activity to create instance but this cannot be used as instance is already completed.
    Second approach i used is processinstance.create method. But new insatnce is not getting created. Also i m not getting any exception.
    Please reply as this is very important requirement.
    Regards,
    Yasmin

    Create a new instance before the END activity is executed..
    After the screenflow for the global activity pass a variable to collect the button value on ON CLICK..
    If button value = true, then call a sub-process else END.. The sub-process does not need any Global activity to start the process . The values would be passed from the BEGIN activity of the sub-process itself.

Maybe you are looking for

  • JDeveloper EJB Class Editor lock

    I created an EJB using JDev and used the EJB class editor to build the fields/methods in the bean. After working on the EJB for quite a while I reopened the EJB Class editor and found a blue error at the bottom of the window stating : Editor locked :

  • Archiving Documents Using Conditional Build Tag

    I'm looking for suggestions to resolve a problem I've encountered this week. Using information from a post by Rick Stone, I was able to create a CBT (Exclude_from_Search) that, when applied to a topic, removes that topic from the published Search res

  • When i put my headphones in the jack sound keeps coming out of the speakers

    what should i do

  • Hide Columns in Discoverer

    Does anyone know if it is possible to hide a column in a discoverer report? I had to include a data element from a folder in order to do a calculation on the data element, however, the data element itself is meaningless for the report and I want to h

  • FEATURE REQUEST:  Rearrangeable Finder sidebar categories in Leopard

    I've been searching high and low for information on rearranging the categories in Leopard's Finder sidebar, and I've yet to see anything indicating this is possible. In my digging, I've discovered that you can completely remove categories by un-check