A couple of days with Microsoft infopath

During my jury service, i took my tabletpc and installed office 2003 beta refresh 2. In the hope to create a suitable authoring environment for people who know little about xml to write it.

So how did it go?
Well I first tried word 2003, and had no luck. Word 2003 does now support my more complex schemas unlike the previous beta. which is progress at least, but you still have to understand xml to get word to write xml. Working to a schema is a nightmare to say the very least. Not quite as user friendly as it should be.
Please also note the wordml xml is a joke to say the least. Check this monster out! This doc bellow is just the wordml saying this is a test. View source if you can not see the xml tags.

< ?xml version="1.0" encoding="UTF-8" standalone="yes"? >
< ?mso-application progid="Word.Document"? >
< w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve" >
< o/images/emoticons/grin.gifocumentProperties >
< o:Title>This is a test
< o:Author>Ian forrester
< o:LastAuthor>Ian forrester
< o:Revision>1
< o:TotalTime>1
< o:Created>2003-09-22T22:09:00Z
< o:LastSaved>2003-09-22T22:10:00Z
< o/images/emoticons/silly.gifages>1ages>
< o:Words>2
< o:Characters>13
< o:Company>Ravensbourne college
< o:Lines>1
< o/images/emoticons/silly.gifaragraphs>1aragraphs>
< o:CharactersWithSpaces>14
< o:Version>11.5329
< /o/images/emoticons/grin.gifocumentProperties>
< w:fonts>
< w:defaultFonts w:ascii="Times New Roman" w:fareast="Times New Roman" w:h-ansi="Times New Roman" w:cs="Times New Roman"/>
< /w:fonts>
< w:styles>
< w:versionOfBuiltInStylenames w:val="4"/>
< w:latentStyles w:defLockedState="off" w:latentStyleCount="156"/>
< w:style w:type="paragraph" w:default="on" w:styleId="Normal">
< w:name w:val="Normal"/>
< w:rPr>
< wx:font wx:val="Times New Roman"/>
< w:sz w:val="24"/>
< w:sz-cs w:val="24"/>
< w:lang w:val="EN-GB" w:fareast="EN-GB" w:bidi="AR-SA"/>
< /w:rPr>
< /w:style>
< w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont">
< w:name w:val="Default Paragraph Font"/>
< w:semiHidden/>
< /w:style>
< w:style w:type="table" w:default="on" w:styleId="TableNormal">
< w:name w:val="Normal Table"/>
< wx:uiName wx:val="Table Normal"/>
< w:semiHidden/>
< w:rPr>

< /w:rPr>
< w:tblPr>
< w:tblInd w:w="0" w:type="dxa"/>
< w:tblCellMar>
< w:top w:w="0" w:type="dxa"/>
< w:left w:w="108" w:type="dxa"/>
< w:bottom w:w="0" w:type="dxa"/>
< w:right w:w="108" w:type="dxa"/>
< /w:tblCellMar>
< /w:tblPr>
< /w:style>
< w:style w:type="list" w:default="on" w:styleId="NoList">
< w:name w:val="No List"/>
< w:semiHidden/>
< /w:style>
< /w:styles>
< w:docPr>
< w:view w:val="web"/>
< w:zoom w:percent="100"/>
< w:displayBackgroundShape/>
< w:doNotEmbedSystemFonts/>
< w:proofState w:spelling="clean" w:grammar="clean"/>
< w:attachedTemplate w:val=""/>
< w:defaultTabStop w:val="720"/>
< w:characterSpacingControl w:val="DontCompress"/>
< w:optimizeForBrowser/>
< w:validateAgainstSchema/>
< w:saveInvalidXML w:val="off"/>
< w:ignoreMixedContent w:val="off"/>
< w:alwaysShowPlaceholderText w:val="off"/>
< w:compat>
< w:breakWrappedTables/>
< w:snapToGridInCell/>
< w:wrapTextWithPunct/>
< w:useAsianBreakRules/>

< /w:compat>
< /w:docPr>
< w:body>
< wx:sect>
< w:p>
< w:r>
< w:t>This is a test
< /w:r>
< /w:p>
< w:sectPr>
< w:pgSz w:w="11906" w:h="16838"/>
< w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="708" w:footer="708" w:gutter="0"/>
< w:cols w:space="708"/>
< w:docGrid w:line-pitch="360"/>
< /w:sectPr>
< /wx:sect>
< /w:body>
< /w:wordDocument >

So that answers the question of using word 2003.
I then looked at Frontpage 2003 which was no good because it was more suited to someone like me who also knows xml very well. Its basicly a xhtml and xml editor. And not a good one at that.

So moving on quickly, Infopath.
At last something which works for users who dont understand xml. Its how we imagined we would setup cocoon xmlforms or better still xforms.

Anyway like word 2003, the xml schema parser now accepts my complex schemas without me modifing them alot. It even accepts schemas which are linked to other schemas. Anonoying problem which drove me crazy about infopath beforehand.

So I've created infopath documents for both Course units and course vps's. I noticed the infopath documents are not open, as one would first expect. Instead microsoft have opted for binary instead. I believe the document holds not only the forms but also the schemas. Correction:

Had another look at perfectxml.com, and it explains the XSN file format.
Even though InfoPath uses XSN as the file extension for form templates, these files are essentially CAB files that you can for instance open with WinZip and extract it to a folder. It consists of bunch of XML files, XSLT stylesheet, XSD schema file, script file, and manifest.xsf. For instance, if you wanted to update an InfoPath form, one option is to load the form in design mode and use File | Save As menu item; alternatively, you can unzip the files into a folder, update the files, create a text file containing list of files (with one filename on each line, enclosed in double quotes if contains spaces), and then run makecab command line utility to create a cab file. Finally simply change the file extension from cab to xsn.

The issues I have with infopath. Well how much will infopath cost standalone? Is the only way you can open and edit the final form via infopath? Why isnt the editor and designer seperate?
I would like to see options or scripts for saving files, so for example you can only save to certain places, via webdav or it takes a element and uses that plus the date for a filename. I believe theres advanced examples which can be downloaded from the microsoft office site.

I do love the way you can drop in many xml files and infopath in editor view drop the elements into place. So I was able to combine many units together into one large unit xml document with a few click of a button. I looked the final xml and it does do the job well. All xml was valid and well formed, otherwise infopath wont let you save it as xml. It does however add this to the document.

< ?mso-infoPathSolution solutionVersion="" productVersion="11.0.5329" PIVersion="" href="file:///intranetinfopathUnits.xsn" language="en-gb" ? >< ?mso-application progid="InfoPath.Document"? >

Which isnt half as bad as I thought would be added, specially after looking at wordml.

So generally talking, unless infopath is expensive or practically impossible to use. I would reckonmend it as it turns out valid xml correct to the schema and its easy enough for a non xml user to use.

Comments [Comments]
Trackbacks [0]

Author: Ianforrester

Senior firestarter at BBC R&D, emergent technology expert and serial social geek event organiser.