Monday Sep 12, 2011

HTML in XML Support

I luckily still get to see some internal emails from the development team. I saw one today making mention of an upcoming roll up patch set that is coming. This piqued my interest as I thought, was there one for August? Indeed there was or is, check out patch 12831433. Digging into the patch read me I found a nugget of gold that many folks have been looking for ... out of the box HTML >> FO formatting.

I have written about this subject elsewhere in the blog and you can find em using the search box. This is new, this is out of the box support to convert you stored XHTML to the required format for Publisher's underlying language, XSL-FO. What do I mean by that? Being able to take

<B>This is bold text</B>
and convert to its XSLFO equivalent

<fo:inline font-weight="bold">This is bold text</fo:inline>

There are some restrictions to what's available right now but its a big step forward. Here's the details.

This patch supports HTML embedded in XML. The following new layout command is added to retain HTML format from data in the final output.
<?html2fo: xpath?>
The HTML code you want converted of course needs to be within the report's xml data so that the template processor can work on it. Further, the html2fo command needs the HTML to be inside a CDATA section in the report data. The term CDATA is used to describe or store text data that should not be parsed by the XML parser. For example the < and > characters denote the opening and closing characters for an XML element tag. In our case we want them to denote the opening and closing of HTML commands. Without the CDATA section the XML parser would attempt to parse and process the HTML commands resulting in unexpected results to say the least. 
In the example below the HTML code is embedded in the field RTECODE.
<?xml version="1.0" encoding="UTF-8"?>
<font style="font-style: italic; font-weight: bold;" size="3"><a
href="">oracle</a></font> <br/>
<font size="6"><a href=""></a></font><br/><br/>

The next question is how do you get the CDATA sections wrapped around your HTML code?  Your HTML does not need to be stored into the database with the CDATA sections already attached. Well, you can do it in your SQL query but you need to use a very specific way to achieve it:

select '<![CDATA' || '['|| RTECODE || ']' || ']>' as "RTECODE"
from table x

You'll be thinking, hey, I can get rid of a set or two of those concatenation pipes, don't do it! Please use the example above and stick to it. If you do remove some of the || then the CDATA section will not be preserved correctly by the extraction engine.

Sample usage in rtf template (assume the data.xml is as above).


Supported html formats:

  • Paragraph Font style ( bold, italic, plain, underline, subscript, superscript and strikes-through)
  • Font size
  • Font family
  • Background color
  • Foreground color
  • Paragraph alignment (center, left, right and justify)
  • Paragraph indent
  • URL link
  • List
  • Bullet List
  • Number List

Non-Supported formats:

  • Nested List (List with Indent)
  • Some HTML tags/attributes which manually inserted like Table, Image, etc... in stead of HTML editor
Pretty cool, if you are on and not up to the August patch set, give it a try!

Friday Aug 19, 2011

BI Publisher and WebDAV ... done!

A suitable sub title for this post might be, 'Tim, taking a tiny step forward after several days of misery is now a happy camper.' Isn't it amazing in the world of software and development how:

1. What looks to be the simplest thing in the world can trip you up, kick you in the googlies while you're down and generally be a bit of a meany and 

2. Once you have beaten said bully into submission you feel so glad; you stand at your desk and smile a very self congratulatory smile (even cheer, I did) that no one else around you understands. Especially your dog, who is sitting faithfully at your feet and interprets this exuberant display as the signal that he is going to get to go outside and play ball. Sorry, Bandit, I got a blog post to write dude! But I digress ...

By the way, if you are interested, that's Bandit on the left, quite mad of course. Digby, the bear chasing jail bird, center and the fluff puff, fatty cakes on the right, is Hazel. What you can not see is my wife dangling a juicy red steak out of picture to get all three of them to pay attention for just an 1/8 of a second. It's a dogs life in the Dexter household I can tell you!

To the meat of this post and the reason for my misery followed by elation, setting up BIP to send documents to Oracle Universal Content Manager (UCM) using webdav in particular. I should state at this point that here is some documentation on how to set up 'webdav' however its generic. I know Leslie (doc person) will be the first to admit, its probably not enough. I also know that the meat of this post will make it into the official documentation. I shared my success with Leslie this afternoon, she at least understood my happiness and did not want to go out and play ball. At least I don't think she did?
Having read this back, I would like to publicly apologise to Leslie for intimating that she enjoys going outside and playing ball and any connotations that may have given rise to in your head dear reader!

Of course, it's actually quite simple to set up and my happiness is tinged slightly with a feeling of stupidity. I'm sure even my 10 year nephew could have worked it out in minutes, maybe my brain is finally giving up on me. I take comfort in the fact that the setup, in my  humble opinion lacks a field. Looking at the setup page, I know its small:

There are very few fields to fill:

  • Server Name
  • Host
  • Port
  • Username
  • Password
  • Authentication Type - this needs to be set to 'Basic' for UCM, so I am assured.

Simple right? Thats what I thought too. In fact it is simple, it's knowing what you need to put into said fields to get BIP to talk to UCM is the key.

I have been working with some customers who are using UCM so Im going to base my instructions on but the basics are going to be the same for whatever version you are using. Firstly, you need to know the webdav URI for the server. This is what tripped me up for the longest time. Scouring the intertubes I got to a small post from Oracle's own Kevin Smith stating:

The format for the WebDAV URL has changed in 11g. It is now


If you are using OHS in front of UCM it will be


and you will have to add _dav location to themod_wl_ohs.conf file

   <Location /_dav>

This moved me forward a little. I had the server name and the port and that all important, webdav string for my 11g server, '_dav/cs/idcplg/webdav/' For those of you wondering what OHS is, its Oracle HTTP Server, yeah I had to go look that up too! After conversing with Kevin and Kyle (another great blogger) I found that the 16200 port was a bit of a red herring. If you use the default install of UCM, its actually running on port 7001. With that nugget I could move further forward. Now just take a look at the delivery page for a webdav channel at runtime:

Again a bit small, sorry, the fields this time are:

  • Web Folder Server
  • Remote Directory
  • Remote Filename
  • Username
  • Password

Well, looking at my UCM instance and the folders I have, you could reasonably expect to be able to use 'WebCenterSpace-Root/bipublisher' as the remote folder field value, right? Wrong! you also need the '_dav/cs/idcplg/webdav/' string too aaand a leading and trailing slash. So to get my content to by bipublisher folder I need:


as my remote folder entry. If you're wondering, yes, I am working on some WebCenter-BIP integration at the moment too.

So, yes, your users are going to need to remember to put that 'prefix' string in every time. Hence my observation that we need another field in the server config page. Once you understand how BIP puts the URL string together it all becomes clear:

http://+server+:+port+/remote_folder/+remote_filename in my case
http://owcvm03:7001/ /_dav/cs/idcplg/webdav/WebCenterSpace-Root/bipublisher/1.pdf

UCM is not alone, Sharepoint and other webdav servers also have their own 'prefix' strings. I'll be logging that enhancement on Monday! For Sharepoint customers, some brave soul has already worked out what you need to get BIP posting docs -

Now I had the correct remote folder string, all was well with the world. I can push content in, as long as the folder was either public or accessible by the user you specify in the username/password fields. Which gets me back to the set up page, whats the username/password there for? That's something Im still playing with and will update this post with results as I find out. But you got the basics, right?

For the file name, of course, you do not necessarily want to be fixed. I have tested all of the dynamic naming support documented here and it all works. The millisecond option that looks like an uppercase 'I' is actually a lower case 'L', go figure.

This solution has been tested with and

An Update: As Barb asked in the comments, can this be applied to EBS? Not out of the box but you can use the delivery APIs to send the document via webdav via virtual printer channel attached to the concurrent request. More on a series of virtual channel entries start here.

Dropping docs into any document repository is all well and good. I had a warm fuzzy glow for all of 30seconds when I got this working. However, whats the use of a document in a repository without any meta data to describe it? BIP can not do that right now, at least not out of the box. That particular nut is being cracked and I'll post once I have more info.
For now, I'm off to play with the dogs, Bandit, bring that ball back!

Thursday May 12, 2011

BI Publisher 11g - is here!

New Oracle BI Publisher 11g Release is released! Here is a list of the new features.


Much Faster Interactive Reporting Experience

Using BI Publisher to interact with your data is snappy. Generating interactive report output uses less memory and is faster than ever. BI Publisher’s highly optimized, three layer caching mechanism provides a highly responsive, interactive reporting experience.

New Interactive Component - List

The List component is a nifty way to filter data in an interactive report. When you click values in the list, BI Publisher automatically filters the data in the report. In the Layout Editor you can set the orientation of the List to be horizontal or vertical and over 30 other options to make it visually appealing for your consumer needs. Lists are another great way to interact with your report to gain more insight. See a quick demo



Both Native and Web Apps for iPhone & iPad

More and more business tasks are performed on mobile devices like iPhone and iPad, so why not browse reports and interact with your data on your mobile device with BI Publisher? Simply access your BI Publisher reports with Safari or other browsers on your iPad or iPhone, or install the Oracle BI Mobile App for iPhone and iPad to enjoy the same rich, fast interactive reporting experience as on your desktop or laptop. See sample pictures.

Enterprise Reporting Platform for Oracle - E-Business Suite

BI Publisher now supports Oracle E-Business Suite’s data level security based on user responsibility and allows you to switch responsibilities on the fly. You can use BI Publisher to view, manage, and deliver reports against E-Business Suite data and join and aggregate with data from other data sources. Utilities are available to help you convert from Oracle Reports and upgrade to BI Publisher 11g. Start taking advantage of many of the great BI Publisher 11g new features with your E-Business Suite data today.



New Data Source – Local Excel File

Often times you need data in Excel to supplement other data or you need to visualize it quickly. BI Publisher added Excel files as a data source so you could create a report against Excel data located on the server. BI Publisher goes one step further. Now you can upload Excel spreadsheets from your local machine directly to a Data Model. Create reports from the uploaded Excel spreadsheet or join it and aggregate it with other data sources. Reporting with local Excel files is a great way to empower your users to visualize and share data easily and still maintain a centralized report environment. See a quick demo

New Template Type - Excel Template

Some users just love Excel, so we added Excel as a report layout design option. In addition to the existing template options like BI Publisher Templates, RTF, PDF, Flash, and others, you can now use Excel to design your report the way you want, using custom functions and Excel Macros to split data across multiple sheets, calculate values dynamically, then share with your colleagues.



Auditing and Monitoring

Auditing is not just about compliance, it’s a way to improve customer service by understanding what your users like to do, when and how they access and view reports. BI Publisher included a framework to help IT Administrators collect data required for auditing. BI Publisher enhances the audit and performance information captured and introduces a method to store the data into a database. Now you can use BI Publisher to visualize, analyze and report on your auditing and performance information. See a quick demo.

New Output Format Type – Native Excel 2007 Output

Now you can download your report as Excel 2007 format and open it with the latest Excel on both Windows and Mac with high fidelity formatting and layout. You can use repeating groups in your report to automatically group data in separate worksheets. With this format option the downloaded Excel file is 70% smaller compared to other Excel output types, which makes it easier to share your report in Excel with your colleagues.



Reports Development Life Cycle Management

Developing reports often involves multiple phases and processes before going live. Reports need to be moved to a testing environment after the development and then to the production environment. You can use the new BI Publisher Catalog Utility to move your reports either one at a time or in batch from one environment to another all without shutting down servers so users can continue to generate the mission critical documents and reports they need.

Also, we have many more enhancement requests implemented in this release and fixed bugs from the previous release. Try download from here and start BI Publisher 11g today!

Want to learn more about BI Publisher?


Follow us @bipublisher for our latest news, inside scoop, or tweet us your feedback!


Connect with other BI Publisher professionals!


Find How-to and solutions over 500 articles!


Subscribe our channel and check our introduction and How-to videos!


Ask any question you have and get answered at our Discussion Forum!

Thursday Mar 10, 2011

Dynamic Data Connections

[Read More]

Friday Feb 11, 2011

Interactive Master Detail Report Just A Few Minutes Away!

[Read More]

Friday Nov 12, 2010

The Unsung 11g Hero

[Read More]

Friday Oct 08, 2010

Reporting on Local Data

[Read More]

Thursday Sep 09, 2010

10g August Update

[Read More]

Wednesday Sep 08, 2010

Monster BIP 11g Install

[Read More]

Monday Aug 16, 2010

11g is here!

[Read More]

Wednesday Jun 16, 2010

BIP June 2010 Update Available

[Read More]

Tuesday Jun 08, 2010

BIP and Mapviewer Mash Up I

[Read More]

Friday May 21, 2010

Real Excel Templates 1.5

[Read More]

Monday May 17, 2010

JDBC Triggers

[Read More]

Thursday May 13, 2010

Embedding BIP just got easier!

[Read More]

Wednesday May 12, 2010

2D Barcode Addendum

[Read More]

Thursday May 06, 2010

BIP Enterprise Patches

[Read More]

Wednesday Apr 14, 2010

CSV Anyone?

[Read More]

Friday Apr 02, 2010


[Read More]

Wednesday Mar 31, 2010

New Skool Crosstabbing

[Read More]

Follow bipublisher on Twitter Find Us on Facebook BI Publisher Youtube ChannelDiscussion Forum

Join our BI Publisher community to get the most and keep updated with the latest news, How-to, Solutions! Share your feedback and let us hear your voice @bipublisher on Twitter, on our official Facebook page, and Youtube!


« June 2016