IDOC Developer Interface for Stellent / Oracle Content Server

I’ve been a little busy the past few weeks and that’s kept me from posting new stuff on the blog.  This past weekend though I traveled to California for a wedding, leaving me 10 or so hours of time in the air to work on a new Stellent / Oracle component I’ve been thinking about for a little while.

The component adds an admin-accessible interface for developing and executing IDOC Script.  Users can enter their script in to the very simple editor(just a textarea) and then execute it.  The resulting HTML is displayed in another area below the script editor.  Where I think it gets a little cooler though, is that it also outputs all local values created in the binder as well all resultset values in to windows-like box areas off to the side.  In addition you can also run the script as another user in the system to test out permissions and security. (NOTE: nice for development but probably bad for production so please be careful where you deploy this).

You essentially get a pretty clear view of what’s occurring with your script, but without restarting the server, saving a resource file or even refreshing a page.  The interface uses AJAX calls to execute the script and the parse the response.  The result is a responsive interface and what I think is a smooth experience…no jumping around to different windows or adding output variables to check values.

IDOC Developer Screen Shot

Screen shot of how a doc info script might look using the interface.

The app leverages the script.aculo.us/prototype javascript frameworks to handle the AJAX callbacks as well as the parsing and rendering of the data in the windows.  From an application architecture perspective, I basically added an admin only service called RUN_DEV_IDOC, which in turn calls a custom service handler class.  That class then creates and calls a new “stub” service to open up “clean” data binder and pager merger objects under the account of the requested user.  After that the IDOC script is executed, the results are returned and the data binder is parsed for local data and result sets.  All of that data is then wrapped in XML and dropped back in to the RUN_DEV_IDOC’s as a local data field.  The server then sends the response back to the page, where it’s parsed using javascript and used to create the output on the page.

My sort of grandiose idea on the plane was to create an editor with breakpoints, variable inspecting and watches.  I still may come back to that with a later updated version, but unfortunately the level of effort on that was a little more than two cross country trips.  Still this was a pretty fun app to work on and I personally look at it as unfinished, so check back in a few weeks and hopefully I’ll be able to add more to it.  Also if you have any ideas, I would love to hear them.

Feel free to download the component here:

IDOC Developer Interface

You will also need the script.aculo.us framework, which I’ve already wrapped in a component and can be downloaded here:

Script.aculo.us Component for Oracle/Stellent   

About David Roe

Thanks for visiting ContentOnContentManagment.com, my name is David Roe and this is my blog. I work for Ironworks Consulting as a technical lead/architect in our enterprise content management group. My primary focus is implementing Oracle Universal Content Server, which was formerly known as Stellent Content Server. Prior to focusing in Stellent, my work centered around .NET integrations with other content managment systems as well as content management systems built on the .NET framework. I plan on keeping this blog mostly technical in nature. I’m not really one for the Coke vs. Pepsi debates, so plan on seeing quite a bit of ”how to” content. Please feel free to download and use any of the code examples available on the site. As you might imagine none of it is supported or warented..do we need a disclaimer? I do ask that you leave any references to me or this site in the comments though.
This entry was posted in IDOC, Oracle, Stellent. Bookmark the permalink.

One Response to IDOC Developer Interface for Stellent / Oracle Content Server

  1. John Sim says:

    Great Tool David,
    This has saved me so much time! :)

    I recently came across this error when enabling the component on one of the development servers:

    System code execution error. Unable to create service handler. Unable to instantiate java class code for ‘idocdeveloper.IDOCDeveloperServiceHandler’ at location ‘idocdeveloper.IDOCDeveloperServiceHandler’ with default location at ‘idocdeveloper.IDOCDeveloperServiceHandler’. idocdeveloper/IDOCDeveloperServiceHandler (Unsupported major.minor version 49.0)

    Its not a major issue.