If you ever wondered how the BI Publisher API's worked then look no further. This is the ultimate blog on how the API's and there is a free working code base you can download and use for development.
There are four caveats:
1. This code is free but cannot be copyrighted, unless your oracle (but you need to discuss terms first with me)
2. I don't think I can distribute xdocore.jar file, you will need to download either in the latest patchset (ebs) or standalone version.
For 11i environment, I would suggest downloading patch: 5472959. If you put the j5472959_xdo.zip file in c:\JDeveloper\jdev\mywork\BIPublisherIDE\BIPublisherIDE\lib
the project should work.
3. If you improve the project you should share the information here in this blogpost.
4. If you download the project please post a "positive comment." Kidding...but it would nice!
History
Long ago, I was doing a tremedous amount of BI Publisher development inside the EBS and Oracle Portal. One of the problems I was having is that BI Publisher development can be time consuming when you continually have to reload your format template, data template into the database and re-iteratively submit concurrent requests.
I was also faced with other issues as well, what if I wanted to test eText and Bursting locally? There was no option to do this any product. The only way to test eText is start->programs- your bip installation-> run template viewer
How It Works: Architecture
The BIPublisherIDE is setup for a developer by a developer (it's just like the hair club for men, "I'm not only a member but I'm also a client.")
There is a config class, api class and utility class.
config->api->utility
1. The config class contains methods and creates connections to databases.
2. The api's class extends the config class and inherits the methods and has the ability to override the methods. This class contains all of the bi publisher core api's.
3. The utility class extends the api class, put simply the utility class is a wrapper. It sets the foundation for which api's to call based on what is set in the config file (xml).
The design is intentional and sets a precedence for doing report development. As developers we iteratively run unit tests till we receive the desired result. One of the most cumbersome problems we face is that there is a lot of "non-value" added steps in report development process. This is why report development to a certain degree needs to be configurable and run locally.
Other benefits of the design is that fact that it's not only a development tool, it can be deployed in other environments. For instance you can deploy the BIPublisherIDE jar file in a concurrent program or other web based environment like portal, websphere, etc (this might be helpful for apex too).
How to run the IDE (BIPublisherIDE.pdf)
Download the IDE (BIPublisherIDE.zip)
Next Article to Come: How to display a BIP Report using the OA Framework (i.e: like the PO)



10 comments:
I happened upon this but when I try to run it in Jdev 10G (10.3~) I am getting a java.lang.error - Any ideas?
It's the JRE. Make sure the project settings are pointing at the right directory.
Hi, the links are dead. Are the files still available somewhere?
Hi erik, can you be more specific as to what links are dead?
Also, if you downloaded the BIPublisherIDE yesterday I would suggest re-downloading it, I made some changes to fix a bug I introduced.
Hi Ike,
Finally had a chance to look at this very briefly. Scenario was I had an eText template and data xml file and wanted to test output generation. So I:
1. Installed the zip into R12 RUP6 jdev.
2. Put xdocore.jar in path from standalone BIP install
3. Configured xmlTemplateConfig.xml
4. Put my eText RTF and xml data as output_file_name.xml in the directory specified in xmlTemplateConfig.xml
5. Commented out the "if" statement block by "generate the xml file"
6. Ran XMLPublisherUtility successfully to generate the output file.
Would be good to have a "skip data generation" param in xmlTemplateConfig.xml.
Other than that, excellent work!
Regards,
Gareth
Hi Gareth!
Thanks for kicking the tires so to speak. Nice work getting everything up and running.....
I think if you don't populate the DATA_TEMPLATE_NAME field with a value it should handle your scenario. Either way I'm glad you got it to work.
Thats the nice thing about being able to see the code, you can change it as you see fit.
Their is another GUI version I have developed that I'm waiting for OTN to publish. It has a performance problem when displaying the log file and a couple of little bugs I need to fix.
Ask Tim D. about it.
Bin:
http://www.mediafire.com/file/detjohwunz1/BIPublisherToolBox.zip
Src:
http://www.mediafire.com/file/nz2ohzy2g2z/BIPublisherToolBoxSrc.zip
Hi Ike,
Would be good to get XSL-FO option into the bipide.
In the meantime I just threw in an XSL option:
1. Don't generate XSL from RTF when XSL template type (1 line change in XMLPublisherUtility.java):
Change
/**@generate the xsl file */
if (getStatus().equalsIgnoreCase("SUCCESS") && getFormatTemplateName() != null && !getTemplateType().equalsIgnoreCase("ETEXT") && !getTemplateType().equalsIgnoreCase("TRANSFORM_EXCEL") && !getTemplateType().equalsIgnoreCase("EXCEL_TO_XSL") && !getTemplateType().equalsIgnoreCase("BURST"))
To:
/**@generate the xsl file */
if (getStatus().equalsIgnoreCase("SUCCESS") && getFormatTemplateName() != null && !getTemplateType().equalsIgnoreCase("ETEXT") && !getTemplateType().equalsIgnoreCase("TRANSFORM_EXCEL") && !getTemplateType().equalsIgnoreCase("EXCEL_TO_XSL") && !getTemplateType().equalsIgnoreCase("BURST")&& !getTemplateType().equalsIgnoreCase("XSL"))
2. Change your xmlTemplateConfig.xml to:
< TEMPLATE_TYPE > XSL < /TEMPLATE_TYPE >
3. Leave your format_template_name in xmlTemplateConfig.xml as XXX.rtf as bipide appends with .xsl
< FORMAT_TEMPLATE_NAME > t.rtf < /FORMAT_TEMPLATE_NAME >
4. In the filesystem name your xsl file in as < format_template_name >.xsl ie. in my example XXX.rtf.xsl
Regards,
Gareth
Gareth,
Thanks for the suggestion, will keep that in mind for future releases of the BIPublisherToolBox. Keep me posted on any other area's of improvement. Also, if you would like to collaborate on the GUI version of the BIPublisherToolBox (formally known as the BIPublisherIDE) let me know.
Ike Wiggins
Hi, stumbeld on this and I would like to try this. Can you supply the xmlTemplateConfig.xml and xmlpublisher utility files? They do not seem to be in the zip file. Is there any way to install this tool? The installation steps are a bit unclear as to what to do.
Keep up the good work
The xmlTemplateConfig.xml is provided. It should be under the /src/bipublisher directory.
The BIPublisherIDE is java app. It's setup for JDeveloper10g. If your uncomfortable with java there is a gui option that's also available.
http://www.mediafire.com/file/detjohwunz1/BIPublisherToolBox.zip
Post a Comment