{"id":76,"date":"2011-04-04T13:49:59","date_gmt":"2011-04-04T13:49:59","guid":{"rendered":"http:\/\/www.sharonmurphy.com\/wordpress\/?p=76"},"modified":"2014-08-25T11:12:14","modified_gmt":"2014-08-25T11:12:14","slug":"re-creating-a-book-in-framemaker","status":"publish","type":"post","link":"https:\/\/www.sharonmurphy.com\/wordpress\/2011\/04\/re-creating-a-book-in-framemaker\/","title":{"rendered":"Re-creating a Book in FrameMaker"},"content":{"rendered":"<p>I&#8217;m a massive advocate of FrameMaker. It&#8217;s a great documentation tool, and unlike a certain other product, it doesn&#8217;t try to read your mind and make all kinds of weird and wonderful unrequested changes under the hood without checking with you first. Or that&#8217;s mostly the case, at any rate.<\/p>\n<p>I have had problems with one instance of FM storing meta data without letting me know it was doing so, or giving me an easy way to remove it: when you update a book file, FM catalogs and hangs on to some meta data about its contents that you might rather it forgot at some point and there&#8217;s no obvious way to make that happen. The data type I&#8217;m aware of (there may be others I&#8217;ve not encountered) is condition tags.<\/p>\n<p>Here&#8217;s the story: I worked on a doc set that was maintained by multiple authors. One particular chapter of information was repeated in 3 guides, and 3 versions of the content were being maintained separately, so we decided to merge the chapters and reference a single file from all 3 book files. Huzzah for efficiency!<\/p>\n<p>When we started the merge, though, we discovered that the 3 chapters used different condition tags that all did the same thing. This hadn&#8217;t been an issue before as each book was maintained in isolation, so once conditions were the same across all files in the book, that was fine. Once you started using content from one book in another, though, things started to get messy.<\/p>\n<p>In anticipation of merging\/reusing further content, we decided to spend some time standardising the condition settings across the full doc set. We agreed a common naming and formatting scheme for the conditions and updated all content files to use the new conditions. Job done.<\/p>\n<p>Well &#8211; no. When it came to updating the books, the Show\/Hide Conditions dialog now showed all the old condition names plus all the new condition names, and there was a bit of confusion over why they were all still appearing. Had we missed a reassignment\/deletion somewhere? We couldn&#8217;t find it on Body pages, so started trawling Reference pages and Master pages to no avail. If we were going to be stuck with all the conditions being listed, how would we remember which ones were current so that our Show\/Hide conditions were guaranteed to be correct?<\/p>\n<p>After a bit of googling and experimenting, I discovered that FM book files retain meta data about the conditions used by the files within the book, and the only reliable way to get rid of the data was to re-generate the book. Great.<\/p>\n<p>I tried:<\/p>\n<ol>\n<li>Create new book.<\/li>\n<li>Drag files from old book.<\/li>\n<li>Save new book.<\/li>\n<li>Check Show\/Hide settings (unwanted conditions gone &#8211; yippee!)<\/li>\n<li>Regenerate book.<\/li>\n<\/ol>\n<p>Uh oh &#8211; the generated TOC from the original book was now static in the new book.<\/p>\n<p>OK &#8211; so I&#8217;d just recreate the TOC and all would be fine. But TOC setup information, titles, headers and footers, custom page layouts and the like were lost, and making sure everything was set up correctly again would mean spending more time than I fancied verifying every detail against the style guide and templates.<\/p>\n<p>I was starting to wish we&#8217;d never started making things easier.<\/p>\n<p>Surely there was a sneaky way I could just convince the new book file to use the old generated file again?<\/p>\n<p>So, to cut a longer than necessary story short, after some trial and error, I came up with the following:<\/p>\n<ol>\n<li>Back up your project just in case &#8211; this should be your first step in any significant book-level operation.<\/li>\n<li>Click <strong>File | New | Book<\/strong> to create a new blank book.<\/li>\n<li>Open the old book and drag all files (static and generated) from the old book to the new book.<\/li>\n<li>Close the old book without saving (just in case).<\/li>\n<li>Save the new book. You can replace the old book if you like.<\/li>\n<li>At the book level, click <strong>Add | Table of Contents<\/strong>.<\/li>\n<li>Click <strong>Add <\/strong>on the <em>Set up Table of Contents<\/em> dialog &#8211; don&#8217;t worry about selecting paragraph tags to include yet.<\/li>\n<li>Click <strong>Update <\/strong>on the <em>Update Book<\/em> dialog.<\/li>\n<li>Close the generated TOC file <strong><em>without saving<\/em><\/strong><em>.<\/em><\/li>\n<li>Copy the name of the old TOC (now a static file in the new book), delete the static file from the book (but not the disk), and rename the generated TOC file to the old TOC file.<br \/>\nIf you don&#8217;t remove the static file from the book before renaming the new one, FM won&#8217;t let you reuse the file name.<\/li>\n<li>Right-click the TOC file and click <strong>Set up Table of Contents<\/strong>.<br \/>\nThe <em>Set up Table of Contents<\/em> dialog shows all paragraph tags in the guide on the right hand side. There\u2019s a <em>&lt;paragraph tag&gt;TOC<\/em> paragraph tag for all paragraph types that were included in the original TOC, so scan through the list and add the non-TOC version of each of these tags.<\/li>\n<li>Click <strong>Set<\/strong> on the <em>Set up Table of Contents<\/em> dialog.<\/li>\n<li>Update the book.<\/li>\n<\/ol>\n<p>Ta dah! New book, superfluous meta data gone, lovingly fine-tuned TOC file preserved, in a fraction of the time it might&#8217;ve taken.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m a massive advocate of FrameMaker. It&#8217;s a great documentation tool, and unlike a certain other product, it doesn&#8217;t try to read your mind and make all kinds of weird and wonderful unrequested changes under the hood without checking with you first. Or that&#8217;s mostly the case, at any rate. I have had problems with &hellip; <a href=\"https:\/\/www.sharonmurphy.com\/wordpress\/2011\/04\/re-creating-a-book-in-framemaker\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Re-creating a Book in FrameMaker&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[7],"class_list":["post-76","post","type-post","status-publish","format-standard","hentry","category-tech-writing","tag-framemaker"],"_links":{"self":[{"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/posts\/76","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/comments?post=76"}],"version-history":[{"count":10,"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/posts\/76\/revisions"}],"predecessor-version":[{"id":151,"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/posts\/76\/revisions\/151"}],"wp:attachment":[{"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/media?parent=76"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/categories?post=76"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sharonmurphy.com\/wordpress\/wp-json\/wp\/v2\/tags?post=76"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}