### 5.3.2 Working with FrameMaker ObjectIDs

You can view the ObjectID of a paragraph, table, or graphic on the FrameMaker status bar:

Paragraph: | Click the paragraph, then Shift-click without moving the mouse. The ObjectID shows on the status bar as the ParaID, a six-digit decimal integer.
Table: | Shift-click the table. The ObjectID appears on the status line as the TableID, a six-digit decimal integer. (Use Ctrl-click to see the information FrameMaker normally shows on the status bar for Shift-click.)
Graphic: | Select the anchored frame or named reference-page frame. The ObjectID appears on the status bar as the FrameID, a six-digit hexadecimal number.

ObjectIDs are not always persistent

ObjectIDs are nominally unique within a FrameMaker file. However, when you hide and then show a conditional paragraph or anchored frame, the ObjectID always changes. For tables, the ObjectID persists only if you do not include the table anchor when you hide and show the table.

If you copy an item, normally the copy gets a new ObjectID. However, if you cut an entire paragraph, FrameMaker does not assign a new ObjectID when you paste the paragraph; instead, FrameMaker copies the ObjectID of the original paragraph. That is, FrameMaker assigns a new ObjectID if you copy and paste text, but not if you cut and paste text.

Very infrequently, FrameMaker re-uses an existing ObjectID number when assigning a new ID. To ensure that new numbers are unique, FrameMaker increments a “next number” value, which is stored in the document file. However, FrameMaker does not check for conflicts with any existing values before assigning an ID number. If you happen to specify an object with a duplicated number as the destination of a cross-reference or hypertext link, you can get erroneous links in output from Mif2Go.

Resolve duplicate ObjectIDs

To correct the problem of duplicate ObjectIDs, you must delete, then recreate, one of the duplicate markers in FrameMaker. If you cut and then paste the marker, FrameMaker keeps the old number; however, if you copy and paste, FrameMaker assigns a new number. Select one of the paragraphs with the duplicate ObjectID, copy (not cut) the paragraph, delete the original, then paste the copy back in place. The paragraph will now have a new ObjectID.

Do not delete <Unique ID> tags

Because Mif2Go uses ObjectIDs based on MIF <Unique ID> and <XRefSrcText> tags, do not delete these tags from MIF files. The tags are targets for ObjectID hypertext links, such as those created by generating FrameMaker TOC and IX files. Remove the tags, and you break all links from existing generated files (indexes and lists). Although FrameMaker recreates the links next time you generate, the new links will not have the same numeric IDs. Removing MIF tags is a particularly bad idea if you use ObjectIDs to specify properties in the configuration file for graphics and tables. After updating your document you would have to look at every graphic and every table, get the new ID for each, and edit the configuration file accordingly.

| 5.3.1 Understanding how Mif2Go creates identifiers |  | 5.3.3 Working with FrameMaker cross-reference IDs |