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).

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:
You will also need the script.aculo.us framework, which I’ve already wrapped in a component and can be downloaded here:
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.