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?
Update:
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 11.1.1.4 so Im going to base my instructions on 11.1.1.4 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

   http://server:16200/_dav/cs/idcplg/webdav/

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

   http://server/_dav/cs/idcplg/webdav/

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

   <Location /_dav>
   .
   .
   .
   </Location>

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:

 /_dav/cs/idcplg/webdav/WebCenterSpace-Root/bipublisher/

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 - http://obieegurus.blogspot.com/2009/07/bi-publisher-sharepoint-integration.html

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 11.1.1.5 and 10.1.3.4.1.

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!


Comments:

Hi Tim,

I followed your steps but I get a "Delivery Error" message. When I access UCM through WebDAV using Windows Explorer it works fine. I'm working with the WebCenter Virtual Box VM from OTN and the following URL works fine for folders for the AviTrust sample app:

http://192.168.1.45:16200/_dav/cs/idcplg/webdav/Contribution%20Folders/AviTrust/AboutUs

Using this URL I was able to copy files over to UCM folders through WebDAV without any problems. Following your instructions I entered in BI Publisher:

--Server Config
Server Name: UCM
Host: 192.168.1.45
Port: 16200
Username: weblogic
Password: welcome1
Authentication Type: Basic
--Job Scheduling Config
Web Folder Server: UCM
Remote Directory: /_dav/cs/idcplg/webdav/Contribution%20Folders/AviTrust/AboutUs/

I get a "Delivery failed" message with nothing in the log files. I thought it had something to do with the %20 in the directory so I tried the following combinations but nothing worked:
/_dav/cs/idcplg/webdav/Contribution Folders/AviTrust/AboutUs/
"/_dav/cs/idcplg/webdav/Contribution Folders/AviTrust/AboutUs/"

Any recommendations on what to try next? I'm finding it difficult to troubleshoot due to the lack of log file entries even with debug log level.

Thank you,
Wilson Verardi

Posted by Wilson Verardi on August 20, 2011 at 11:24 AM MDT #

Is there any log that gets created where the publish issues can be checked?

thanks

Posted by Reshmi on November 21, 2011 at 11:44 PM MST #

Hi Reshmi
You can turn on the logging for BIP easily in 10g, bit more involved for 11 but both are covered in the user docs.
Regards

Tim

Posted by Tim on November 22, 2011 at 02:11 AM MST #

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.

Not sure if this would give you what you want, but could you set up different folders in UCM, each with different default metadata values, That way any content dropped into a folder would be tagged with the folders default metadata. I know this is probably not very extensible to a large number of folders, but might give you at least some high level metadata assigned to each file, e.g. department, source system, etc.

Posted by Kevin Smith on January 24, 2012 at 10:28 AM MST #

Good point Kevin and the folder metadata will work for some docs. The dev team have a better out of the box integration on their list of things to do.
Tim

Posted by Tim on January 24, 2012 at 04:35 PM MST #

Hi Tim,

Below is the error message observed in the bipublisher.log file.

##################

[2013-07-05T15:05:58.148+10:00] [bi_server1] [TRACE] [] [oracle.xdo] [tid: 64] [userId: BISystemUser] [ecid: 89cb2cac999a165f:-4ee27748:13fa7336bd9:-8000-00000000000082ec,1:20666] [APP: bipublisher#11.1.1] [SRC_CLASS: oracle.xdo.servlet.monitor.AbstractPhaseEvent] [SRC_METHOD: abort] MonitoringEvent aborted: class oracle.xdo.servlet.monitor.ReportDeliveryEvent:threadName=ThreadedMessageDispatcher DispatchWorker BIP.Delivery.WebDAV.Q,outputName=Output1,method=WEBDAV,jobId=1176,properties={server_name=DEV UCM, remote_directory=/_dav/cs/idcplg/webdav/Contribution Folders/bipublisher/, content_type=application/pdf, remote_filename=hitesh_test_2.pdf, username=weblogic},totalMemory=1237319680,reportName=/~weblogic/Hitesh/IND Report.xdo,freeMemory=271604032,fileSize=3523
[2013-07-05T15:05:58.148+10:00] [bi_server1] [NOTIFICATION] [] [oracle.xdo] [tid: 64] [userId: BISystemUser] [ecid: 89cb2cac999a165f:-4ee27748:13fa7336bd9:-8000-00000000000082ec,1:20666] [APP: bipublisher#11.1.1] ===== WebDavProcessor.deliver :: [WebDavProcessor]Delivery to webDAV completed with failure. HTTP method PUT is not supported by this URL::[[
TEMP_DOC_NAME=[C:\Users\lcasaru\AppData\Local\Temp\2\1176\ls-obiee.1370497400996\t1\bipSFAJQOMqq84300652025773166835.tmp]::
CONTENT_TYPE=[application/pdf]::WEBDAV_SERVER=[DEV UCM]::HOST=[null]::PORT=[0]::REMOTE_DIRECTORY=[/_dav/cs/idcplg/webdav/Contribution Folders/bipublisher/]::REMOTE_FILENAME=[hitesh_test_2.pdf]::AUTHTYPE=[digest]JOB_ID=[1176]::
OUTPUT_ID=[1088]::
DELIVERY_ID=[1086]
]]

##################

As mentioned in your blog the environment has been setup.

Please let me know if you need more information and also what needs to be done for this issue.

Regards,
Vybhav

Posted by Vybhav on July 09, 2013 at 02:40 AM MDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

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!

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today