Thursday, August 06, 2015

S1000D IPD Generation

As, no doubt, those of you who need to create S1000D IPDs will know, creating and editing this type of Data Module is not easy at all.

Legacy Conversion

A good few years ago I was involved in a project to convert loads of Handbooks into a very early version of S1000D (1.6 actually). There were quite a number of pages of parts list to be converted from hard copy. Some of these parts lists extended to thirty pages or so - so what to do.

As most of you probably know the IPD structure is not the easiest to work with. I remember that most of us were horrified when we saw the DTD and I also remember the various comments which were articulated when we were told that the structure was for the transfer of data between databases - not complimentary is putting it mildly. In those days the majority of Data Module creation was done by Technical Publication contractors who, in the most part, did not have the skills required to handle this type of structure.

At that time the scanning and ocr process was pretty well sorted but the next stage of getting this data into an IPD, without pain, was another story altogether. About the only way then was to get the data into a word file and process the table with a template which contained Visual Basic code. I am happy to report that this was pretty good with the IDStatus area of the Data Module being entered via a series of drop down selection fields. For the time this productivity tool was very effective for what it was designed for.

What about today

Today there are a number of our clients who do not have the luxury of a S2000D compliant database which, of course, is supposed to export IPDs to order taking care of the IDStatus area of the Data Module. A number of these clients mostly have the parts list provided to them by their client in a spreadsheet form which is part way there (at least the data is in electronic form).

So we are left with looking for something that will take the pain out of generating IPD Data modules. And very recently I have been playing with just such an application.

The Painless Way


As most of you know I don't usually push products from Mekon, I believe that this blog should be more about the S1000D Environment and Community covering problems discovered, tips, helpful advice, and, OK, Moans. But in this instance I think we have a great standalone application that can really take the pain away from this job.

The process is easy:-
  • Take a spreadsheet containing the parts list data (with column headings),
  • Above the parts list data in the spreadsheet add important information such as 
    • Data Module code,
    • Issue number,
    • date,
    • Illustration information
  • Map the location of the various items of data to the schema elements and attributes in an IPD Builder which has a very easy mapping function (this can be saved in a 'mapping file')
  • Then press the build button.
  • The result is a perfectly formed IPD Data Module.
  • If you forget something important you will get a pop-up window to enter the data during the build process (you can modify the mapping file to correct this).

If you add the extra information into the same location as the first spreadsheet you can keep on running it to get your IPD data modules. Different spreadsheet layouts can be accommodated by having different mapping files (which you have created). Where there is more than one item in a spreadsheet field some straightforward additional scripting language is provided to accommodate this problem.

1 comment:

Anonymous said...

You could also map the Excel columns to a subset of the IPD schema, using the Excel "XML map" functionality. Works great. Watch entity encoding if you're supporting an older publishing environment.