When saving as MIF on Windows, network UNC paths to images are saved with the code <h\>, like this:
The MIF reference refers to the device-independent path code <h\> as "Host (Apollo only)".
(What does Apollo only mean – this is on Windows, and the code is written by FrameMaker2015, using Save As)
The ImportObFileDI line seems to be required in order to get network UNC paths to work from MIF. If I exclude ImportObFileDI line, and only keep the ImportObFile line...
... then the file is not found when opening the MIF file in FrameMaker.
Looking for: \my.network.se\Customers\Temp\Logo.eps
That is with a single backslash in the beginning of the path. Why is it not two backslashes? I have two (front)slash in the MIF code – and it doesn't matter how many slashed I add (I tried to duplicate them).
And I'm asked to locate the image.
Is there a way to make ImportObFile work on its own, without ImportObFileDI? For other paths than UNC network paths there doesn't seem to be need for ImportObFileDI at all, and I'd rather not have it added to the MIF file, when my program code writes MIF files.
(This is Windows only.)
Due to FM's unix heritage, have you tried escaping the "\" character, i.e. "\\"?
Yes, I've tried that.
it doesn't matter how many slashes I add (I tried to duplicate them).
re: (What does Apollo only mean – this is on Windows, and ...
Probably refers to the Apollo brand of 1980s workstations running their variety of Unix (Aegis, later Domain/OS). Apollo was acquired by HP, who kept the branding alive until it no longer made sense.
FM started on Unix (Sun), and was ported to various other Unix flavors before it finally appeared on Windows.
For maximum portability, never import objects where the path has to traverse the root of the file system (/ in Unix) or to a different logical drive (driver letter in Windows). Stay below root. Stay relative path.
For this question I'm not interested in portability. It's a Windows only environment, with MIF files being produced by our windows software, and the users are working in FrameMaker on the same Windows computers that they use to export the MIF files.
You wrote that I should "Stay relative path"...
We've been using absolute paths to images for many years. In the MIF file we use ImportObFile on its own (no ImportObFileDI) when referencing the images. All the images at the customer are on a server, with a mapped drive letter – some years they've had the images locally as well, to try and get faster document response / loading times, but the path is still absolute, since the MIF file is written by our program code. If I remember correctly, local vs network placed images were not a big difference.
Would changing to relative paths make FrameMaker respond quicker or work faster, when loading the document ("turning" pages in it) and other things that involve FrameMaker processing the pages (and images), such as print to pdf?
The original question concerns the strange thing that the only thing that seems to create a valid image reference, in MIF, to a Windows UNC path, is by adding the ImportObFileDI command with an Apollo only "h" code. The documentation might just be wrong here, and missing something about UNC paths being solved in that way...