relative vs. absolute cross-reference paths

New Here ,
Dec 17, 2010 Dec 17, 2010

Copy link to clipboard

Copied

We use one directory for projects we're working on, and another for completed projects. When cross-referencing to other writers' books, we cross-reference from the working directory to the completed directory. We want absolute cross-references, so that the path will always begin at D:\. We do not want relative cross-references, because the files' relative positions change.

I did a little research in the forum, and it appears that using Save gives me relative paths, but using Save As gives absolute paths. But regardless of whether I use Save or Save As, the cross-reference links are broken after moving the file I'm cross-referencing from. This doesn't seem right, because the location of the file I'm cross-referencing to is the same as it ever was.

Is there a way to force FrameMaker to use an absolute path for cross-references? And if it uses an absolute path when I Save As, why are my cross-references broken after I Save-As a file and then move it?

jimstoic

Views

2.9K

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Dec 18, 2010 Dec 18, 2010

Copy link to clipboard

Copied

Jim,

FrameMaker always uses relative paths if files are on the same drive. I have a slight memory that it may switch to absolute paths if the number of »directory up« (..\) is really high, but I would not count on that.

FrameMaker uses absolute paths if the referenced document is on another drive – easily understandable, because the path must include the drive name/letter.

If you use save as for a single file, all external references are adjusted. So maybe a solution for your workflow would be to put the completed projects on a different drive.

- Michael

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 20, 2010 Dec 20, 2010

Copy link to clipboard

Copied

Thanks, Michael.

When I save the project to a different drive, the behavior is the same: external cross-references are broken. Shouldn't the cross-references be adjusted and saved correctly when I do that?

Jim

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Dec 21, 2010 Dec 21, 2010

Copy link to clipboard

Copied

Jim,

I fear I do not grasp your folder structure and processes. Could you please explain it with a little more detail, please.

- Michael

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 21, 2010 Dec 21, 2010

Copy link to clipboard

Copied

Nothing seems to make FrameMaker use absolute paths for cross-references. I can Save As individual chapters to another drive, and cross-references to files in other folders are broken. (Chapters in the same book are in the same folder and always have the same relative path, so they are not an issue.) I can use the Archive plug-in, and cross-references are broken just the same.

Michael Müller-Hillebrand asked about the directory structure. Here it is:

From:

D:\Documentation_tfs\Documentation\working\voyager\end-of-year\v_eoy_gid

To:

D:\Documentation_tfs\Documentation\help_builds\voyager_6\standard\end-of-year\v_eoy_gid

The files that are linked to are at the same path as the "To" location, except for the final two folders, for example:

D:\Documentation_tfs\Documentation\help_builds\voyager_6\standard\notifications\v_not_usr

Cross-references break even when I save the files to another drive letter (Q:\myfiles\framemaker), using Save As for each individual file and the book file. Likewise if I use Archive. Moving the files back to the original location makes the cross-references work again, indicating that the paths are still relational. This leads me to believe that there is no way to get absolute paths out of FrameMaker.

(I think I got different behavior if I saved to the root, but if so, that's probably because the only identifier for the path is then the drive letter.)

Our process broke when we added levels to the To path that were not in the From path. Before that, moving the files maintained the same relative relationship up to the working and help_builds folders. The only solution I can think of now is to make the From and To paths have the same relative structure (in the example above, I would remove voyager_6\standard\ from the From path). It's not the solution we want, however: we want to be able to save items from the working directory to a variety of different locations when the projects are complete.

I guess this is the long way to get to the real question: can anyone show an instance in which FrameMaker 9 definitely uses an absolute path for a cross-reference? I've not seen it, even when using Save As to save an individual FrameMaker file to a drive with a different letter.

Jim

--

James Stoicheff | Documentation Team Lead, Development

toll free 800.866.1124 x1251 | local 805.699.2040 x1251 | fax 805.699.2048

jim.stoicheff@yardi.com | www.yardi.com

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Dec 21, 2010 Dec 21, 2010

Copy link to clipboard

Copied

Jim,

You piqued my curiosity, so I experimented a little.

I created a two-file book. Each file in the book at a cross-reference to the other file and a cross-reference to another place in the same file. These references are then the internal references for the book.

Then one file had a cross-reference to an external file located on the same drive but in a different folder (equivalent to your situation). The second file had a cross-reference to an external file on a different drive (Drive X). So, there are 4 internal references and 2 external references in the book.

I then added a List of References > External references to the book and updated the book. Opening the List of References, one can readily see that the only reference with an absolute path is the reference to the file on Drive X. This is all to be expected.

I tried a variety of things, including saving to another folder structure on the same drive (equivalent to your case). And nothing worked. However, I discovered one thing that might help. I COPIED the book file and the book documents to a new folder on Drive X (the same target as one of the cross-references). I then opened the copied book and updated it. The only unresolved reference was the external reference to the file on the original drive (say Drive A), because it was stored with a relative path. HOWEVER, the external reference to the file on Drive X was RESOLVED to a relative path, because the target now resides on the same drive as the referencing file. So, this might help in your case, if you keep your completed projects on a different drive. The downside is that when you copy the files to the different drive, any references to graphics and text insets are broken, unless the graphics can be copied too in a relative way (or exist on a third drive).

Not much help I agree.

Van

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 21, 2010 Dec 21, 2010

Copy link to clipboard

Copied

I very much appreciate you doing that test.

I think we'll end up making the paths identical below the working/help_builds level. That worked before.

--

James Stoicheff | Documentation Team Lead, Development

toll free 800.866.1124 x1251 | local 805.699.2040 x1251 | fax 805.699.2048

jim.stoicheff@yardi.com | www.yardi.com

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Dec 21, 2010 Dec 21, 2010

Copy link to clipboard

Copied

Jim,

Your signature states you are in Development. This is a very extreme solution, but requires a programmer to make it work.

Before you move the files to the completed folder, save each file and the book file in the mif format, which is text. You then need to create a program that will open each file, search for each cross-reference, and rewrite the source file information as an absolute path. Then copy the files to the new location, open each file and save as fm or book. Then update the book; Frame will probably rewrite all the absolute paths to relative, but at least correct for the new location.

ALL the above is untested by me, but in theory should work.

Van

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 21, 2010 Dec 21, 2010

Copy link to clipboard

Copied

That is interesting, but I'm already pushing my luck with development in other ways. Perhaps someday!

--

James Stoicheff | Documentation Team Lead, Development

toll free 800.866.1124 x1251 | local 805.699.2040 x1251 | fax 805.699.2048

jim.stoicheff@yardi.com | www.yardi.com

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Dec 21, 2010 Dec 21, 2010

Copy link to clipboard

Copied

Jim,

I think the problem may be that each project is done as a book. Typically, each file in a book as cross-references to other files in the book, as well as references to external documents, in your case the completed projects. If you open a document in the book and SAVE AS a file in another location, FrameMaker adjusts all the cross-references, both the external ones and the ones to the other files in the book. So, the file in the new location points to the external files correctly but BACK to the other files in the book at the original location. The result is a set of files at the new location that point to the external files correctly but not within themselves.

If you were to MOVE or copy the files (using Windows Explorer) to the new location, the INTERNAL references are intact but the external references are incorrect, as you well know.

So, you have to decide whether it is easier to fix the external references or the internal ones; then choose the appropriate method.

To my knowledge, you cannot open a book within FrameMaker and save it to a new location in a way that ALSO saves the files within the book to the new location.

I recall someone's suggesting to put the completed projects on a different drive. In this case, FrameMaker is forced to record the external references as absolute paths and the internal as relative. When you move the existing project to the completed drive, using Windows Explorer NOT as a Frame save as, all the paths should be correct.

There is a FrameMaker plugin called Archive by Bruce Foster that saves a book and its files, as well as any graphics and text insets used, into  a new location, adjusting ALL the cross-references on the fly. I do not use external cross-references, so I am assuming it adjusts them as well, but does NOT copy the external files. The downside is that the graphics are copied also, but maybe there is a setting to disable that feature..

Van

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Dec 21, 2010 Dec 21, 2010

Copy link to clipboard

Copied

Perhaps Bruce Foster's Archive utility could work for you; it's highly regarded and very, very solid.

http://home.comcast.net/~bruce.foster/Archive.htm

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 21, 2010 Dec 21, 2010

Copy link to clipboard

Copied

We use that utility. It doesn't change the behavior of cross-references.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Oct 21, 2016 Oct 21, 2016

Copy link to clipboard

Copied

Jim,

   Michael and Van are correct: when creating cross-references between files on the same drive, FM always stores relative paths. Therefore if you use Windows utilities to move some of the files, the cross-references will break.

   It is possible to map a Windows folder to a drive letter (look up the subst or net use Windows command lines). So, you could use x: to refer to files in your working folder and y: for folders in your completed folder. When you finish a book and move it to the completed folder, you could redefine x: to the new folder and things may be OK. It could be tricky if you ever need to update one completed book but not another.

  When cross-references become unresolved, FM may be able to help you correct them. Use the Edit > Update References command. There is a pop-up menu in the upper-right corner of the resulting dialog box. Select Update Unresolved Cross-References from this menu. You will then be able to browse to a new file for each unresolved cross-reference. FM will reuse the information you specify to resolve as many xrefs as possible.

    --Lynne

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines