Wednesday, March 13, 2013
Tip of the Day: Finding a Link Between a BPM Worklist and an Enterprise Manager Instance ID
Problem Description
I want to trace the instance of BPM worklist in Enterprise manager console.
Using the search option available in the BPM worklist, we can easily search for a specific instance in a BPM worklist. But, if it is faulted, then how can we trace its corresponding instance in Enterprise manager console?
BPM Worklist
Enterprise Manager Console
Work around:
I tried printing instance ID in BPM worklist using a form, but there is no direct correlation of the BPM worklist instance id the instance ID from Enterprise Manager.
The other way is to look at the date-time stamp, but it is really painful process to track the exact instance in Enterprise Manager.
Better work around:
The following query provides insight and additional information from the BPM worklist:
SELECT TASKNUMBER, COMPOSITEINSTANCEID, INSTANCEID, TASKID,
ASSIGNEES, ASSIGNEESDISPLAYNAME, CALLBACKID, PROCESSID,
PROCESSNAME, PROCESSVERSION, ASSIGNEDDATE, CREATEDDATE,TITLE, USERCOMMENT
FROM wftask
WHERE TASKNUMBER = <task_number>;
--- The <task_number> is the task number of BPM worklist. Using this you can easily locate the composite instance for a given task number.
This query provides the COMPOSITEINSTANCEID which is instance ID of PROCESSNAME and PROCESSVERSION. This information can be used to find the matching instance in EM console under soa-infra -> default -> PROCESSNAME[PROCESSVERSION]
In addition to this, the INSTANCEID can be used to track down the instance in right click on soa_infra -> Service Engines -> BPEL. In the screen click on “Instances” tab. Enter the value in this and you will get the instance and other details.
Solution:
I am still looking for the easier way to trace EM instance from BPM task.
Thanks to Vikrant Korde for today's tip!
Thanks all,
-ryan
Monday, March 11, 2013
Update the WebCenter Content: Content Server Home Page without Customization
This feature has been a part of the Content Server product
for as long as I can remember but no one seems to remember it.
You can change the home page of the content server without
customizations. That’s correct! You can do this. And if you act now you can do
it twice!! For the price of once!!
OK enough levity. Too much coffee.
The method is relatively simple – use the Web Layout Editor
applet.
Log in as an administrator, navigate to the Administration
-> Admin Applets page and start the Web Layout Editor.
From the main menu, select Options -> Update Portal
In the Update Portal Page dialog, enter in the HTML and
IdocScript that you would like to use on the home page.
Select OK
For example, if it has never been changed before, then the
dialog will contain the following:
<!--
This area is fully Idoc Script capable. Use the
condition variable IsLoggedIn
to determine if page is delivered to an
authenticated user. Use the condition
variable IsDynamic to see if content is delivered
dynamically. Delete the
file <HomeDir>/data/pages/portal_message.inc
to revert back to the default
portal message.
The static portal page is not updated unless the
"Update Portal..." option is used in WebLayout
Editor.
To view example script below, copy it out of this
comment area.
<div align=left><b>Examples of
script:</b></div><br>
<$if
IsLoggedIn$>UserName =
<i><$UserName$></i><br><$endif$>
<$if
IsDynamic$>Current Time = <i><$dateCurrent()$></i>
<$else$>This
is a static page.
<$endif$>
-->
Simply move the closing comment tag (-->) above the opening div
tag and select OK.
Navigate back to the home page and refresh it and you will
see your name and the time on the home page.
Wednesday, March 6, 2013
How to configure Virtual Box with internet and host access
I have had such a hard time locating the information I
needed to get a VirtualBox VM to use both NAT and Host networks so that the VM
could see the internet and the host could see the VM with a known IP address
that I decided to write this post.
·
Host O/S is Windows 7 (64 bit)
·
VirtualBox is version 4.2.6 r82870
·
Guest O/S is
Oracle’s Enterprise Linux 5 (64 bit)
To make this work requires the following steps:
Setup the Host Network Adapter in VirtualBox
1.
Start VirtualBox
3.
On the left side, select Network
5.
Follow the prompts for locating the driver for
the new network. On my machine, the file is located at “C:\Program
Files\Oracle\VirtualBox\drivers\network\netadp”
9. Select OK to close the VirtualBox – Settings dialog.
Set up the VirtualBox VM
1.
With the VM shutdown, select the Settings for
the VM and open the Network dialog and set Adapter 1 as shown here and refresh
the MAC Address. No Port Forwarding is required.
3.
Select OK to close the settings dialog.
4.
Start the VirtualBox VM
Set the Network in the VirtualBox VM
Set the Network in the VirtualBox VM
1.
Log in as root
4.
Select the eth0 device and Edit. Verify that it
looks like the following. If not then change it.
eth0 is set for DHCP
There are no static routes defined
and the hardware matches the VirtualBox Adapter 1 hardware and MAC address.
eth0 is set for DHCP
There are no static routes defined
and the hardware matches the VirtualBox Adapter 1 hardware and MAC address.
5.
Select OK to save any changes
6.
Select the eth1 device and Edit. Verify that it
looks like the following. If not then change it.
Set the IP Address and Subnet mask
There are no static routes defined
and the hardware matches the VirtualBox Adapter 2 hardware and MAC address.
Set the IP Address and Subnet mask
There are no static routes defined
and the hardware matches the VirtualBox Adapter 2 hardware and MAC address.
7.
Select OK to save the changes
11.
Restart the VirtualBox VM
Update the Windows Hosts File
Update the Windows Hosts File
1.
Edit the hosts file
(c:\windows\system32\drivers\etc\hosts). Note that Windows hides the etc folder
so you will need to either show all hidden folders or type the path in.
2.
To the hosts file add
10.88.12.4 dev.example.com dev
10.88.12.4 dev.example.com dev
3.
Save and close the host file.
Verify Virtualbox VM can reach the internet and itself
Verify Virtualbox VM can reach the internet and itself
1.
When the VirtualBox VM is restarted, log in as a
non-root user
2.
Start the web browser
3.
Verify internet connection by selecting a known
site such as www.google.com
4.
Verify the local web server by http://dev (or whatever your VirtualBox VM hostname is)
Verify the Windows Host can connect to the VirtualBox VM
Verify the Windows Host can connect to the VirtualBox VM
1.
Open a web browser
2.
Verify internet connection by selecting a known
site such as www.google.com
3.
Verify the local web server by http://dev (or whatever your VirtualBox VM hostname is)
Monday, March 4, 2013
Oracle IPM: Customizing AXF Task Details page – Add new actions: Invoke Outcome
This blog
guides you to add functionality to the existing composites. There are 3
different type of actions configurable with Oracle provided AP Solution
Accelerator.
- Invoke “outcome” of human task
- Do validations, like Transaction id is blank.
- Allow user to pick user/ Group from list.
The below
description focuses on “invoke outcome”. Remaining type of actions and its
details will follow on next blogs.
For each solution namespace (can be analogous to BPEL
composite, most of the times) that you create, there is an AXF Tasklist page (url
has “cmd=Start<SOLN_NAMESPACE>&sol=<SOLN_NAMESPACE>” – assuming that you
have already made the database entries for Start<SOLUTION_NAMESPACE>. If
not, do not worry, there will soon be another article explaining how to do that)
where the end user is provided with the option to take any of the actions that
you have configured in your BPEL Human Task. The AXF task list page for a
particular Solution Namespace and Command Namespace provides you with all the
instances of invoices currently under a particular view.
View Task opens the AXF Task Details page, which has some actions in the left side bar.
In case you want more flexibility with these actions, you
need to do some data manipulations in the AXF Database, using the DEV_IPM
schema.
Let us first look at the tables in this story:
1. AXF_ACTION_MENU
In this table, the entry for Solution_Namespace is made.
Menu_ID is auto incremented using a sequence (AXF_ACTION_MENU_SEQ).
Rest all the entries are to be done
as they are for other rows.
2.
AXF_ACTIONS

Action_ID is again auto incremented using the sequence AXF_ACTIONS_SEQ.
Display_Text is the label you want to give your action on the UI.
Menu_Order acts as a rendering switch – 0 means visible and other
values means not rendered.
Menu_ID is the same as the one in the AXF_ACTION_MENU table, for
the Solution_Namespace.
3.
AXF_COMMANDS

SOLUTION_NAMESPACE
|
COMMAND_CLASS
|
COMMAND_NAMESPACE
|
<Your_Solution_Namespace>
|
oracle.imaging.axf.commands.bpel.AutotaskCommand
|
AutoOpenTask
|
<Your_Solution_Namespace>
|
oracle.imaging.axf.commands.bpel.ReleaseTaskCommand
|
CancelTask
|
<Your_Solution_Namespace>
|
oracle.imaging.axf.commands.bpel.CompleteTaskCommand
|
<Command Namespace you entered in
AXF_ACTIONS>
|
<Your_Solution_Namespace>
|
oracle.imaging.axf.commands.bpel.OpenTaskCommand
|
OpenTask
|
<Your_Solution_Namespace>
|
oracle.imaging.axf.commands.bpel.ReleaseTaskCommand
|
SkipTask
|
4.
AXF_SOLUTIONS

5.
AXF_SOLUTION_PARAMETERS

For each Command Namespace (i.e.
the action you want to add to the UI), there will be 3 entries, which will have
the following values:
On the AXF Worklist page, there is
an Auto Task button, clicking which open up all tasks in the list in serial
order for appropriate actions to be taken by the user. The CMD_AUTOTASK_OFF parameter key’s value will redirect AXF view to
the default starting point of your AXF flow in the case when the Auto Task
function is not available to the user.
CMD_AUTOTASK_ON points to AutoOpenTask, which is nothing but
another Command Namespace created as a part of the
Start<Solution_Namespace> entries. The details for AutoOpenTask are as
follows:
If you are creating a new composite
and don’t have the Start<SolutionNamespace> entries in place, then you
will have to do that first.
OUTCOME maps to the value which your BPEL flow is expecting as a
return value from the Human Task in this case.
PS: Please note that you are not supposed to create the entries for
AutoOpenTask as a part of this exercise. It is a separate topic, and will be
addressed in another post.
6.
AXF_SOLUTION_ATTRIBUTES
SOLUTION_NAMESPACE
|
PARAMETER_KEY
|
PARAMETER_VALUE
|
< SolutionNamespace>
|
BPEL_CONNECTION
|
SOA Server
|
< SolutionNamespace>
|
CONNECTION_PROVIDER
|
oracle.imaging.axf.servicemodules.bpel.workflow.AxfWorkflowServiceModule
|
< SolutionNamespace>
|
USE_AUTOTASK_LOCKING
|
FALSE
|
The keys CONNECTION_PROVIDER and
USE_AUTOTASK_LOCKING are given the standard values, as in the snapshot.
BPEL_CONNECTION is the name of the connection that is created for the SOA
Server in IPM UI.
Once
the entries are made using values that we are supposed to enter in various
tables as described above, there is one final step that remains to be done for
the changes to reflect on the AXF Task details page.
Open
the IPM Drivers UI (http://<your_server_ip>:16000/imaging/faces/Driver.jspx).
The page that looks like this:
Enter
the Solution Namespace, Command Namespace (Remember, the
Start<SolutionNamespace> command namespace. And yes, it is a Command
Namespace, though it is never shown as an action on the Task details page!!!)
and the user name.
Click
on Execute Request.
Click
on Clear Configuration Cache.
Click
on Reset DMS Metrics.
Click
on Execute Response. This shall open your AXF Tasklist page in a new tab, and
you should be able to see the newly added action on the details page.
Thanks all for reading!
Thanks all for reading!
Subscribe to:
Posts (Atom)