FrameMaker (v7.2 to 11): An interesting Mif2Go project – (SalesForce)

Problem

I need to import unstructured FM content into a new SalesForce Knowledge knowledge base. Individual procedures written in FM11 get published out via Mif2Go as Standard HTML (not help), and then imported by SalesForce with the help of a .CSV file. Overall it required about a 30-step procedure to get the content into SF, but now I plan to trim down the process. Then I will write it up and present it at the STC Summit or some other place.

The first question is: Why is this so difficult? I think it’s because it is a technically challenging project that demands a lot of up-front work on the FM side, so no knowledgebase provider wants to develop and support it, and Adobe doesn’t see the value in it for the neglected FrameMaker product (and market!)

Solution

The trick is to produce what SalesForce needs from what FM can give it.

SalesForce’s importer is pretty primitive and inflexible. AFAIK this is not unusual; last year I tried the same thing with a MindTouch knowledge base and that could import only from a .CHM, and even that was plagued with problems.

SalesForce needs a set of HTML pages saved in a particular nested file structure, accompanied by a .CSV file that provides the title of each article, its address, and some other information. The HTML, folders, and CSV must all be provided in a .ZIP along with a Project file created by the SalesForce admin.

FM’s Save as HTML is buggy, barely supported by Adobe, and its HTML is not very clean. I could not generate good individual HTML pages from RoboHelp.

Mif2Go offers the flexibility I needed.

To develop the CSV was a different adventure. I needed a list of article titles mapped to the HTML file names, which are autogenerated with names like aa100543.htm. I could open each file and copy the title (there is a Mif2Go setting to make the title match the FM Heading 1 or Heading 2), but that would be tedious and error-prone for hundreds of files.

Jeremy had a workaround to get my titles and file names together. After generating the Standard HTML output, I generated OmniHelp output just to get a single .JS page with the list I needed. I deleted all the rest of the output, keeping only that file.

Then I edited the file with several search-and-replaces and saved it as .CSV.

Then I was able to zip together the HTML and the .CSV and hand it off to the SalesForce Admin, who (after a few false starts) finally reproducibly imported 24 and then 56 files. We have some bugs, but we think we know how to fix them.

Now I have to refine the process, learn how to optimize my FM content, and document it because once the knowledgebase is launched with my existing FM content, I am committed to updating it forever!

Thanks everyone for all your input on this complex project!

Leave a comment