Oracle Business Intelligence 11g, doesn’t provide any built-in method to allow Agent to automatically export/archive OBIEE11g content(Entire Dashboard(or) Dashboard Page(or) Analysis(or) Conditional Report of Agent(or) even Briefing Book) to file system, although this can be done by linking an action to the agent which invokes server scripts, like EJBs, VBs etc.. which physically move the OBIEE11g content to the file system.
Action Framework of OBIEE 11g opens up direct integration with Java. So, any process that can be called via Java can be directly called from OBIEE 11g as well.
We will archive/export OBIEE content by Invoking a Java Method from Actions.
For Eg: Export OBIEE Dashboard page as pdf,excel,csv etc.. and save it in any shared drive(D:\SaveOBIEEReportinLocaldrive\Content)
Applies to:
This solution provided in this document is applicable on the below version of OBIEE11g.
Oracle Business Intelligence Suite Enterprise Edition – Version 11.1.1.7.0 and later
Information in this document applies to any platform.
Solution:
Invoke a Java Method (EJB)
This action type allows users to browse for target Java methods deployed in Enterprise Java Beans (EJBs) and then create an Agent à Action to invoke the selected Java method.
Summary
- Deploy “OBIEEContentExportApp.ear” file into weblogic Managed Server (bi_server1)
- Update “ActionFrameworkConfig.xml” file to enable Java Method calls from OBIEE11g
- Create an Agent to Export/Archive OBIEE 11g content to FileSystem
1. Deploy “OBIEEContentExportApp.ear” file into weblogic Managed Server (bi_server1)
i) Download the below “OBIEEContentExportApp.ear” file and place it under <MIDDLEWAREHOME> (For Eg: C:\Middleware)
(FYI: The above ear is developed by me using JDeveloper/ADF .This ear is generic, reusable and no hardcoded report paths implemented in it. You can deploy and use it any OBIEE 11.1.1.7.0 + to export/archive OBIEE content to your shared/local file system)
ii) Open weblogic console(http://localhost:7001/console) and go to deployments as shown below.
iii) Click Lock & Edit from Change Center as shown below.
iv) Click “Install” from Summary of Deployments tab as shown below.
v) Select Path: < Middleware>\OBIEEContentExportApp.ear (refer below screen for example path) and click Next.
vi) Select “Install this deployment as an application” radio button and click Next.
vii) Select bi_server1 as target and click Next.
viii) Leave the default settings in the below window and click Next.
ix) Select “No, I will review the configuration later.” radio button and click Finish as shown below.
x) Click Activate Changes as shown below.
xi) You have to get the below message once Activate Changes successful.
xii) By default the deployed application will be in prepared state. Here select the application and start it as shown below.
xiii) Deployed application should be in Active mode as shown below.
2. Update “ActionFrameworkConfig.xml” file to enable Java Method calls from OBIEE11g:
i) We need to update the ActionFrameworkConfig.xml to enable Java Method calls from OBIEE. Navigate to “<MiddlewareHome\user_projects\domains\bifoundation_domain\config\fmwconfig\biinstances\coreapplication\ActionFrameworkConfig.xml” and update file as shown below.
DownloadActionFrameworkConfig.xml.txt
(Refer the above file for updating your Action framework config file as below.Rename ActionFrameworkConfig.xml.txt to ActionFrameworkConfig.xml)
Registry:
<registries>
<registry>
<id>reg03</id>
<name>Sample EJBs</name>
<content-type>java</content-type>
<provider-class>oracle.bi.action.registry.java.EJBRegistry</provider-class>
<description>Custom Java classes which can be invoked as action targets</description>
<location>
<path/>
</location>
<custom-config>
<ejb-targets>
<appserver>
<context-factory>weblogic.jndi.WLInitialContextFactory</context-factory>
<jndi-url>t3://localhost:9704</jndi-url>
<server-name>localhost</server-name>
<account>WLSJNDI</account>
<ejb-exclude>mgmt</ejb-exclude>
<ejb-exclude>PopulationServiceBean</ejb-exclude>
</appserver>
<ejb-app>
<server>localhost</server>
<app-context>ActionSamplesEJB</app-context>
</ejb-app>
</ejb-targets>
</custom-config>
</registry>
</registries>Account:
<accounts>
<account>
<name>WLSJNDI</name>
<description>Account used to access WLS JNDI.</description>
<adminonly>false</adminonly>
<credentialkey>JNDIUser</credentialkey>
</account>
</accounts>
Now, restart all OBIEE 11g services.
3. Create an Agent to Export/Archive OBIEE 11g content to FileSystem:
i) Login to OBIEE 11g (http://localhost:9704/analytics) and create an agent as shown below.
ii) Navigate to Delivery Content tab and select Content as Dashboard page and select Dashboard page as shown below and click Ok.
iii) Navigate to Recipients tab and select any “Role” as recipient . Here I selected BIAdministrator role for example. Refer the below screenshot.
iv) Select User Destinations as “Home Page and Dashboard” as shown below.
v) Navigate to Actions tab and from Add New Action -> Invoke a Java Method as shown below.
vi) From Select Java Method pop-up window, select “ArchiveOBIEEContent” method as shown below and Click OK.
vii) You will get New Action Window as shown below.
viii) Here in this example, I added the below parameters
Enter Location to Archive: D:\SaveOBIEEReportinLocaldrive\Content\Overview.pdf
Content to Archive: Delivery Content
And click OK.
Note: When you select “Content to Archive: Delivery Content”, you may get the below warning. Ignore this and click OK.
ix) Save the agent and Run it.
Now, you can see that your Delivery content : Overview dashboard page saved under given path as shown below!!!.
Observations:
- You can save/archive all the below formats .
- You can save even conditional analysis (the one we create condition on Agent as shown below)
Hope this blog helped you..
– Prasad Madhasi
Reference:
http://docs.oracle.com/cd/E23943_01/bi.1111/e16364/actions.htm
http://www.rittmanmead.com/2010/09/oracle-bi-ee-11g-action-framework-java-ejbs-and-pdf-watermarks/