I have graphics from a project that I want to reuse in another project. If I copy these graphics into my graphic folder in the new project and import them into the new project, these graphics are stilled linked to the old project. How do I re-reference or link these graphics to the new project without having to import each one by openin the new project graphic folder, locating the graphic and import so each one is now linked/referenced to the new project? thanks
Are you also using a copy of the old project FM files as a starting point for the new one? I that case, they would point to the original locations. Simply rename (or move) the old location folder to something different, open the .fm files and FM will say it can't find the graphic and will ask where to look for it. Point it to the new location and FM will use that to look for any "missing" graphics. Then don't forget to rename (or put back) the old graphics folder back to what it was.
Below is the comment from the writer I am trying to help:
Well, that sure isn’t helpful. If you move a file to another location and it loses all of its links, you close the file, re-open it, tell it where to find the files, and you are all set.
But if you just move graphics that were linked elsewhere into the Graphics folder of the new document, that is not what happens. I tried closing and re-opening the file. It still finds them, because the link was not broken. The person who answered did not understand the situation. When I think about this, I’m not sure what the difference is. If I moved the actual FrameMaker file, maybe that would have a different result than moving the graphics files.
How were the graphics inserted (you use the term "linked") into FM: imported by reference or by copy, or by using the OLE routes (embedding and/or linking)? If you look at the Object properties of the graphics, it will show the path to the graphic file or if there is none, then it is internal to FM.
For importing by reference, all FM stores internally is the path to the file along with the filename. By copy, FM sucks in the graphic, converts it into it's own internal format and drops all references to where it came from. For the OLE case, FM stores both the path and an internal representation (so that if you move a file, it will still render something). This makes a difference in how FM treats "missing" graphics. There is nothing bi-directional with FM and graphics. The graphics know nothing of FM and FM only knows where the file was last located under the previously stated conditions.
Also, please note that FM stores relative links to the folders unless you cross the root of the drive or go to another drive, then an absolute path is stored. So if you maintain the same relative folder structures, then any copy (or move) of the FM and graphics files keeping the same structure, will ensure that the graphics display in the FM files from the new location.
The statements given are also contradictory. Were the graphics copied or moved? Are any FM files being re-used that contained these graphics? That too makes a difference.
Below is the explanation from the other writer:
Graphics were imported by reference.
The folders involved all were on the same drive.
Each FrameMaker document involved has a graphics folder that is on the same level. These graphics are all imported by reference.
Some of the graphics were moved (dragged and dropped) from one graphics folder to the other graphics folder.
When I opened the FrameMaker file, the file path (shown in Object Properties) showed that these graphics were referring to the original file that they were moved from, rather than the file that they were moved to. It is time-consuming to re-link each graphic, one at a time, and that is what prompted me to ask if there was another way.
Paul, Please let me know if this doesn’t explain it well enough.
This is my understanding of your situation. Correct me if wrong.
1. EACH project folder (containing the FM files) contains a folder named graphics (containing the graphics files imported by reference into the FM files).
2. Following Arnis' explanation, in any FM file in the project, each graphic is referenced as ./graphics/filename.ext
3. You create a NEW project folder containing a NEW folder named graphics.
4. Using WINDOWS EXPLORER, you copy one or more FM files from the first project folder to the second project folder. ALSO, you copy one or more graphics files from the first graphics folder to the second graphics folder.
5. Because you have changed NOTHING in the FM files in the second project folder, their imported file references REMAIN of the form ./graphics/filename.ext.
6. Therefore, when you open the FM file in the second project folder, any and all file references in the FM file AND whose referenced files are in the second graphics folder are good. There is NO need to relink or reimport.
7. NOTE however, IF you OPEN an FM file in the first project folder and then SAVE it into the second project folder, FrameMaker adjusts all the file references to point BACK to the files in the FIRST graphics folder. This is the way FrameMaker works, and the way you want it to work.
8. The fact that your projects always have a subfolder named graphics makes easy work when creating new projects from old ones. The key is to do the copying OUTSIDE FrameMaker, that is using Windows Explorer. DO NOT open the files and FrameMaker and then save them to the new location.
Hope this helps,
Your points 7 and 8 makes the most sense to our writer’s situation. I will have her recheck her steps and if need be, we will write again to the Forum. Thanks for all you people do in responding so fast. Have a good weekend.