Highlighted

Can I refer a structapp.fm document from my FM book that is saved with the book?

New Here ,
Jul 03, 2019

Copy link to clipboard

Copied

Previously on FM8 on Solaris, FM used the structapp.fm file saved in the fminit structure below the folder containing the book files. Is this possible with the current versions on Windows?

As far as I understand, FM parses the structapp.fm in the FM installation and in \Users\<user>\AppData\Roaming\Adobe\FrameMaker\<version>\structapps.fm

Sinse we are a large project  with a lot of people needing to update the same book, we want to avoid having to setup the application on every PC on the network.

How can I achieve this?

TIA,

--Gunnar

TOPICS
Structured

Views

135

Likes

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

Can I refer a structapp.fm document from my FM book that is saved with the book?

New Here ,
Jul 03, 2019

Copy link to clipboard

Copied

Previously on FM8 on Solaris, FM used the structapp.fm file saved in the fminit structure below the folder containing the book files. Is this possible with the current versions on Windows?

As far as I understand, FM parses the structapp.fm in the FM installation and in \Users\<user>\AppData\Roaming\Adobe\FrameMaker\<version>\structapps.fm

Sinse we are a large project  with a lot of people needing to update the same book, we want to avoid having to setup the application on every PC on the network.

How can I achieve this?

TIA,

--Gunnar

TOPICS
Structured

Views

136

Likes

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
Jul 03, 2019 0
Adobe Community Professional ,
Jul 03, 2019

Copy link to clipboard

Copied

Gunnar,

   Since you want to change FM's default behavior, you will have to change the configuration at least once. There are two techniques you can use to make sure all users get updates to your structured applications:

1. Change the location of FM's structure directory, which by default is …\Adobe FrameMaker 2019\Structure. You can specify a different directory, possibly on a network drive, in the [Directories] section of maker.ini.  Once all your user's systems are configured to use your own directory, you can define its structapps.fm as you want. The relevant specification in the default maker.ini is:

    StructureDir=structure

Here, the pathname "structure" is relative to …\Adobe FrameMaker 2019\fminit. You can enter an absolute pathname as well.

Note that, like structapps.fm, when you launch FM, it reads two versions of maker.ini. First, it reads the one in FM's installation directory, which is the same for all users using a particular computer. Next, it reads any changes in the maker.ini file stored in a particular user's %appdata% folder.

2. Change structapps.fm, either the one in the structure directory or the one in each user's %appdata%. Note that if you make your changes in the structure directory, users do not need to make changes in their personal version in %appdata% for your particular project.

A variation of this approach is to put the definition of your own applications in a separate file and include that file as a text inset in one of the two structapps.fm files. That way, if the file used as a text inset is on a network, you can change it once and all users will receive the changes. You can create the imported file by saving an existing structapps.fm under whatever name you want and editing it to contain only a single XML application.

Using a text inset based on the default structapps.fm file limits you to defining one XML application in the imported file because there must be a root element for the imported flow. I have a variation of the structapps.fm template that defines a textinset element that can contain definitions of multiple XML or SGML applications. Within the next few days, I will post a link to that template.

Warning on the above: if you make your customizations in FM's installation directory, make sure that updates to FM do not overwritte them.

  --Lynne

Likes

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
Reply
Loading...
Jul 03, 2019 0
New Here ,
Jul 04, 2019

Copy link to clipboard

Copied

Lynne,

Thank you very much for your answer, which defines the possibilities and limitations I need to consider.

I see from the maker.ini file that the StructureDir is defined relative to FMHome, not fminit. I use FM 2015. Maybe that has  changed? Anyway, it doesn't matter.

I see that the $STRUCTDIR environment variable is used in the strucapps.fm file. I thought this might be equal to StructureDir, but this seems to be relative to  fminit. Do you now how to change  $STRUCTDIR?

--Gunnar

Likes

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
Reply
Loading...
Jul 04, 2019 0
New Here ,
Jul 04, 2019

Copy link to clipboard

Copied

Correction: Looks like  $STRUCTDIR = StructureDir. Hopefully this meand that changing StructureDir equally changes $STRUCTDIR.

Neeeds testing. 🙂

--Gunnar

Likes

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
Reply
Loading...
Jul 04, 2019 0