In my effort to create a Java app in TS6 to do the relatively simple task of:
o allowing a user to login to TeamSite
o display the branches that person has access to
o after choosing a branch, displaying a list of workflows the user can select from along with the list of modified files in the workarea for that branch
o instantiating the workflow passing it the selected information
I have compiled a short list of things it would have been nice to have available in the SDK to help accomplish these simple tasks and some other tasks I have in mind to add to this app.
o a method that mimics the behavior of availaible_templates.ipl as this was by far the most difficult thing to accomplish.
o a method to return a recursive list of branches - you can only get the list of top level branches in a store and given a branch you can get all its sub-branches, but there's no function to get the entire depth of branches in one shot - I had to build that method myself.
o a class to handle the email_map.cfg file and return user information (full name, email address) based on passing in the username. Also methods to add information to the email_map.cfg are needed.
o admin classes to handle administrative tasks like roles, various configuration options, etc.
I'll add more as I discover them. After pressing them, Interwoven finally admitted there is a small percentage of functionality actually exposed in the SDK. After using it, I find that you can do a lot of basic query type stuff for existing TeamSite assets, but to actually do anything useful, the SDK is pretty inadequate. It's been difficult to tie anyone at Interwoven down to provide a timeline for more functionality to become exposed. That disturbs me, as it could be months till I get more SDK help or it could be years.
Before I got started on this small app, I had no Java experience whatsoever and luckily I got a lot of help from a couple of our in-house Java developers. I came into this after listening to the IW marketing folks claimed that the entire 6.0 UI was built with the SDK. I really need to stop giving so much attention to the marketing folks. I still would be stuck at the available_templates logic if it wasn't for the idea of calling a CGI on the TeamSite server and having perl do that work for me. I cheated the same way with instantiating the workflow - I use a CGI instead of Java for that.
I have discovered that doing regex in Java is a joke coming from perl. Doing string manipulation in Java is annoying coming from perl. ****, doing just about anything seems a lot harder in Java coming from perl. Maybe I'll see the light in a few months of doing this. I think if more components were available in the SDK, life would be so much easier.
My advice to anyone who is considering building a custom UI with the CSSDK but isn't already very comfortable in Java is to figure out specifically what you want to do with your UI (design it up front) then read the CSSDK Java Docs carefully to see if you can do everything you need to do to accomplish your task. At first glance, there appears to be a lot of stuff in the SDK, but there's really not.
Dave SmithSr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com