Skip to main content
4everJang
Legend
October 4, 2011
Answered

When does FM9 update text insets ?

  • October 4, 2011
  • 1 reply
  • 2858 views

Hello all,

I am trying to use the Update References function of FM9 to update text insets, but somehow FM feels that nothing needs to be updated.There is no difference for text insets marked for manual or automatic updating. When I select the text inset and click the Update button in the Text Inset Properties it does re-read the source file. I am trying to use this feature to allow the use of standard texts in multiple documents and across many languages, without reverting to scripts. Obviously, the standard texts may or may not have changed, but I need FM to read them in again.

1. How does FM determine whether or not a text inset must be read in from the source file again ?

2. How can I force FM to read the text inset sources for the entire document ?

Thanks a lot for any insight in this matter

Jang

    This topic has been closed for replies.
    Correct answer Michael_Müller-Hillebrand

    Jang,

    for each TiFlow object FrameMaker stores properties, like .LastUpdate and .TiFileModDate. The first one seems to be key, as the FDK Reference says this:

    F_ApiUpdateTextInset()

    Updates the contents of a stale text inset. It determines whether an inset is stale by comparing the inset’s FP_LastUpdate property with the modification date of the inset’s source file.

    F_ApiUpdateTextInset() does not update a text inset unless it is stale. To make a text inset stale, set its FP_LastUpdate property to 0.

    So you can either »touch« the external files to change their last modification date or do what the FDK Ref tells you. In both cases you are back to scripting... which should be quite simple with FrameScript.

    - Michael

    1 reply

    Michael_Müller-Hillebrand
    Legend
    October 4, 2011

    Jang,

    for each TiFlow object FrameMaker stores properties, like .LastUpdate and .TiFileModDate. The first one seems to be key, as the FDK Reference says this:

    F_ApiUpdateTextInset()

    Updates the contents of a stale text inset. It determines whether an inset is stale by comparing the inset’s FP_LastUpdate property with the modification date of the inset’s source file.

    F_ApiUpdateTextInset() does not update a text inset unless it is stale. To make a text inset stale, set its FP_LastUpdate property to 0.

    So you can either »touch« the external files to change their last modification date or do what the FDK Ref tells you. In both cases you are back to scripting... which should be quite simple with FrameScript.

    - Michael

    4everJang
    4everJangAuthor
    Legend
    October 4, 2011

    Hello Michael,

    This is more or less what I was afraid of. It would have been nice if FM had the decency of doing what you tell it to: with the Update References dialog showing the option to update automatic text insets you would expect it would just update them, not check whether FM feels it is necessary. Touching the external files may have all kinds of nasty effects on automatic backups, versioning etc. I don't want to change anything to those inset sources, as they are standard and should remain untouched / unchanged. So it looks like I will need to create a script to do what I feel FM should allow me to do. Oh well, it does make us FM pros a living, doesn't it ?

    Thanks for the quick and clear answer.

    Jang