Thanks for the quick response.
1. The individual sections have the extension of .mif; however, they were saved as .mif (version 7). I have tried saving them as .mif (version 10) and then trying to save them as a .fm file, but it still does not work.
2. When I saved the whole book, I saved it as .book. The individual files within that book, I tried to save them as .fm (version 10). I even tried to just rename the files from .mif to .fm but that does not work either.
Does my answer help any?
I can only test FM7.1 (Unix) to FM9 (Win).
I've only tried a simple monolithic file.
I can open the 7.1 MIF,
and save as MIF to .mif,
and save as "FM9 document" to .fm.
If I try to save as binary ("document") to .mif, I get a similar dialog (which appears to be quite intentional).
And you won't be able to update the book until the old MIF files are saved under their original exact filenames, including extensions.
OK, I tried a book too (something we'll need to do a lot of here someday).
In FM7.1, I opened the .book and all component files.
I saved the 123M.book as MIF to 123M.book.mif
I save the component file as MIF from / to:
123M_COVER.fm -> 123M_COVER.mif
123M_TOC.fm -> 123M_TOC.mif
123M_BODY.fm -> 123M_BODY.mif
FM9 opened all, throwing only an expected graphic filter dialog,
and an unsurprising Unresolved Cross-Ref on each component file.
I saved these back as "Book 9.0 (*.book)" and "Document 9.0 (*.fm)".
The "(*.book)" and "(*.fm)" are misleading,
because Frame DOES NOT CHANGE the ".mif" extension
in File Name: dialog pane. You have to override it,
lest you get the can't-save dialog.
It all saved correctly, and once saved, an Update Book
resolved all the Xrefs.
When you save a mif file as an fm file, the default file name INCLUDES the .mif extension. EVEN IF you select fm from the dropdown, FrameMaker does not automatically change the extension, at least no on versions 9 and down.
So, simply DELETE .mif from the file name and save. If that does not work, then CHANGE .mif to .fm and save. That should work.
... every cross-reference is missing.
Does "missing" mean unresolved? Or really missing (converted to plaintext)?
If unresolved, still so after Update Book?
And broken inside a single file to same file, or file to file?
If the file names changed during the MIF wash and re-save, the file-to-file references will be apparently broken. There's an easy way to fix that if this is the case.
The file names did not change during the conversion, just the extension.
Preserve the prior MIF7s.
Save the new files back out as MIF9/10.
Open both in a plaintext editor.
Look for known instances of cross-file Xrefs.
For this response, I created an ext-xref.fm file with just the body text "hello world", and Xref'd it from an existing document.
The MIF7 for the reference in the existing document looks like:
<XRefSrcText `98904: Body: hello world'>
<XRefLastUpdate 1320683277 738408>
> # end of XRef
<String `hello world'>
The target in the ext-xref.fm looks like:
<MText `98904: Body: hello world'>
> # end of Marker
<String `hello world'>
> # end of ParaLine
What do yours look like in the newer MIFs, particularly the
How to they compare to the MIF7s.
If the file paths match, and the Marker Text (MText) match, the Xrefs should work.
that worked, I was able to just rename each .mif file to .fm file and it was able to update the book; however, every cross-reference is missing. Is there an easy way to fix this issue?
I kind of guessing here, but I think you are trying to do too much too fast.
From your original post, I am guessing you opened the files in FrameMaker 7, then saved each as a mif file, which you want to open in FrameMaker 10. From my looking at mif files, the cross-references retain their references to FM files.
From the quoted post, you simply changed each file extension from .mif to .fm, THEN updated the book. I am not sure what all FrameMaker does when it updates a book. I know that it opens each file up several times, but I am not sure that it saves it after each open. Furthermore, FrameMaker may be treating each file as an FM file, even though it is really mif inside. This may be why it cannot resolve the cross-references. Simply changing the extension from mif to fm does not convert the file.
So, after changing the extensions. open the book file, open ALL the files in the book (Shift + Open); the files are converted. Now SAVE all the files in the book; there is no need to do a save as on each file, because you have already changed the extension. Then update the book.
When I convert a mif file to fm, I open the mif file, then SAVE it to fm, changing the extension in the process. I am assuming that you have confirmed that changing the extension then opening the file works. The point is you need to do this for each file and save it before updating the book.
Hope this helps,
... trying to do too much too fast.
Or too much, period. Why not just open the old .fm files in FM10?
Do the original FM7 .fm binaries files exist (or is FM7 still available to create them)? They should open in FM10 without using MIF an an intermediate format.
MIF washing is a worthy step in the porting process, but could be done after opening in FM10 and validating references.
When I open the book and then open any of the .mif extensions and try to do a save-as, I get the following error.
When I do this "So, after changing the extensions. open the book file, open ALL the files in the book (Shift + Open); the files are converted. Now SAVE all the files in the book; there is no need to do a save as on each file, because you have already changed the extension. Then update the book.", the book reconizes the .fm files, but all of our cross-references are broken. At this point, the issue I have is losing hundreds of cross-references when I rename the files from .mif to .fm.
Is it the plugin developed by SQUIDDS? Is there a version that does not cost $600 USD?
I ask this because, this is a one time thing, we had a company help us with some stuff and they used FrameMaker 10, but we were only using FM7. However, we are now all on FM10 so there will be no issues in the future.
I think we need to clarify a few things.
1. Suppose you create a book with several files in the book, and there are several cross-references among the files. You can save each file and the book file in the mif format. The files created have a .mif extension. A mif file is a text description of the file from which it was made. You can open a mif file with a text editor (WordPad). You will find that all the cross-references AND the list of book components in the book file reference the source files with .fm extensions. Remember a mif file is a description of the contents of the file from which it was made.
2. If you open a mif file with FrameMaker, FrameMaker immediate converts it to its binary format (fm or book) BUT the file or book is not saved. When you click Save OR Save As, Frame asks where you want to store it. At this point, you typically want to save as .fm or .book; HOWEVER, the name shown in the dialog box includes the .mif extension. EVEN IF you select fm in the file type dropdown, FrameMaker complains (the error you show in your post). You have to manually change the mif in the file name to fm or book in order to save the file in fm or book format.
3. I did some testing. IF you change the .mif extension to .fm or .book in the file name (you are not opening the file, just changing its name), this does NOT convert the file to .fm or .book. When you open the file or book, as in 2 above, FrameMaker converts the mif file to its internal binary format. Again, the file is NOT saved. When you click Save, even if you have made no changes in the content, FrameMaker asks you where you want to save the file, just as it does in 2. In THIS case, the file name already contains the .fm or .book extension. So, you can simply click Save and it is saved in binary format. If you save the file in the same location with the same name as where the mif file was (remember the mif file was renamed with a .fm extension), Frame warns you that the file already exists and do you want to overwrite it. You can if you do not mind overwriting your original mif file. So, if you open the book (mif) file and open all its components (mif files renamed to .fm), they all open, but when you save them, you will get a dialog box about where to save them, one dialog for each file.
NOTE at this point all the cross-references still reference fm files, because they never referenced mif files.
4. ALL of the above assumes you stored the mif files that you created from fm files to the SAME location as the fm files. More accurately, the above assumes that the mif files are in the same RELATIVE locations as they were in their original fm state. If this is all true, then the cross-references should be intact when the mif files are converted back to fm.
Suppose some of the original fm files in the book are in different folders. When the mif files are created, the cross-references express that structure. If you now put all the mif files in the same folder or rearrange them in a different relative folder arrangement, the cross-references are not guaranteed to be intact when you convert the mif files to fm. The cross-references become unresolved NOT because you convert the files from mif to fm. The cross-references become unresolved because you have stored the mif files in a way that is different from when they were created.
I have a feeling that I am beginning to ramble, but in short the conversion of the mif files to fm should NOT affect the integrity of the cross-references.
I hope this helps,
Sorry for my delay: There are several modules, please download the package (www.finalyser.com 30 days is trial),
install it and test FM <> Mif for documents and for books, test booktransfer (fm<>mif) and then decide for one or more module.
FrameMaker 10 (and Finalyser) only save MIF10 or MIF7.0!
Wow, the save-as feature doesn't change the file extension on its own. I don't remember this in earlier versions, though I may have glanced over that silliness. Every other application I use changes the file extension when saving as another format. Why is FrameMaker unable to perform this simple task, why is the error thrown uninformative, and why is this undocumented?