Friday, January 19, 2007

So many problems, so little time.

Why do software makers have to make their software difficult to implement in a way other than they intended. I don't mean in a illegal way, just collaborating with other software. I am currently in the process of writing an application, with the problems being rather immense, mostly with compatability issues.

The basic premise is that I am building a Domino server to serve electronic forms built using IBM's Workplace Forms (written in eXtensible Forms Description Language or XFDL). To get maximum functionallity out of the forms they must be viewed with the Workplace Forms Viewer. Understandable. This is not feasable since I need people to access the forms over the internet who may not have the viewer installed, nor do they want to pay for it to use these forms. To get around this, there is a Java Servlet Page (JSP) which detects if the local machine has the viewer installed. This is running from IBM WebSphere. If it does, it uses the viewers browser plug-in to display the form, else it renders it in HTML. All good so far (a few problems with getting the form from the the url that Domino was serving, rather than from a file, but that was overcome). The next step is to allow submission of the form, for processing and use by Workflow Express. This was more difficult than anyone could possibly imagine.

The main difficulty was in the version of the forms. The processing of the submitted form was working fine with forms written under the Pureegde Designer 6.5 (XFDL 6.5). The newest version is the IBM Workplace Forms Designer 2.6 (XFDL 7.0). The forms are also encoded, so the only way to view the source code was to open them up in the designer. To open the forms written with 6.5, they needed to be upgraded to 7.0 first. Once they are upgraded, with no other changes made, they were no longer submitting properly. The difference was in the information contained within the header of the form. The time I spent figuring that out, well, I dread to think of it.

So now submission of forms works when using the Viewer. The submitted form has the relevent data retreived, placed into a corresponding Domino form, for viewing over the web, with the original form in Domino as an attachment. Great.

Try this with HTML. Errors fly left and right faster then the eye can see. Reason? I have figured out that in order for data to be extracted from the form, it needs to be XFDL. Simple enough. But it is now HTML, not XFDL. This problem I have yet to overcome.

No comments: