10 Replies Latest reply on Aug 4, 2008 12:13 PM by (MIF.Masters)

    Global variable updating

      If you have a book with ten chapters and use a variable as the issue number in the footer of each page, this results in a long and manual process to update it.

      It would save me a lot of time if I could update a variable across all files in a book at the same time.

      Proposed solution:
      At the moment, variables are only managed in individual .fm files, not in the .book file. You could have a Global Variable Update option in the book window which brings up a dialog allowing you to select any open .fm file (much like the Import Formats window). Then you can select a variable from this .fm file and type a new value for it. The variable will then be updated for all .fm files in the book (or created if no such variable exists).
        • 1. Re: Global variable updating
          Change the variable definition in one file of the book, say Chap1. In the book list, select all of the other chapters except Chap1. Go to File > Import > Formats, make sure only Variable Definitions is selected, then click the Import button. Does that do the trick?
          • 2. Re: Global variable updating
            Level 1
            Yes, it works. I had no idea you could import formats to multiple files like that.

            Thanks, Monica!
            • 3. Re: Global variable updating
              Daniel F
              I have the same problem as Richard, but I would like to formulate it a little differently - and maybe we can get a better solution.<br /><br />The company for which I work, manufactures a hardware communication device, which it markets through several OEM's.<br /><br />I need to create and maintain a User Manual in separate variants per OEM. The differences are largely in the graphics, some front material text and of course conditional text in the body of the manual.<br /><br />The ideal method is to create a per OEM variables file of the form <variable> <value> (maybe XML), load it into the FM book, and have it churn out the relevant PDF.<br /><br />Due to the limitations set out in the above discussion, I would need to produce a dummy FM document per OEM (not part of the FM book) , load it with the relevant variables and then use it to do Monica's trick.<br /><br />My question is  - surely there has to be a better way?<br /><br />And, is there some way to "batch" the operation to produce each of the Manuals in sequence, without intervention?
              • 4. Re: Global variable updating

                The best way I've found to manage variables in books is Leximation's BookVars add-in. See:


                BookVars, and its companion tool BookXrefs, provide an enhanced way to clean up and manage variables.

                While I'm on the subject, I'll add that I've come to strongly prefer the idea that Adobe provide increased support for plug-ins as a way of enabling user-driven functionality to be implemented in something approximating real-time.

                Stated another way, I've found that numerous third-party plug-ins provide more useful functionality, and provide it much more quickly, than does or will waiting to see if the Adobe Product Politburo will grant permission for one or more much-needed features to be added to some new release scheduled for some unscheduled future date.

                I base my views in part on the rapid progress, and rather amazing amount of user customization possible in multiple open source projects; projects that have gone through multiple releases and upgrades in a fraction of the time required to announce, implement -- and deploy a truly reliable version of -- FrameMaker 8...

                • 5. Re: Global variable updating
                  Level 1

                  What you suggest has its obvious good points, no doubt, but it also has a major drawback that one should not overlook. The need to "customize" an installation with numerous plug-ins means that it can be very difficult to move a project to new computer unless it too is configured in an similar manner. It's also very time-consuming to rebuild a Frame installation if you have to back-track and reinstall numerous plug-ins, some of which (RefIcons comes to mind) are in themselves customized.

                  Now, I must say that I do use plug-ins and appreciate them very much. But I'd rather see Adobe build these capabilities into Frame. Fat chance, I realize, since they apparently have more than enough problems as it is.
                  • 6. Re: Global variable updating

                    You make a very good point. In fact, because I usually end up turning packaged documentation solutions over to customers, I always make sure that said packages can be worked on without requiring any third-party extensions or "fidgets".

                    But I still like the plug-ins model simply because it's absurd to continue accomodating the special needs of what is for all practical purposes a twenty-plus years old product that remains egregiously developmentally challenged...

                    Cheers & here's to a happy, healthy 2008,
                    • 7. Re: Global variable updating
                      Daniel F Level 1

                      Thanks for the link to Leximation. I'll give it a twirl ...

                      Incidentally, I have another query about variables running here:

                      Arnis Gubins, "User Variables - FM 8" #1, 7 Jan 2008 11:14 am

                      The result is - depressing to say the least.

                      I asked whether you can nest variables - and the answer I received was an unqualified No!

                      Is there an available plugin for that? Or do I have to write my own?

                      (Variables are simple text replacement macros. The programming required to make them nestable is straight forward.)


                      • 8. Re: Global variable updating
                        There is a way to update your single variable definition across your entire book. I'm assuming you want the variable value to be the same in all or in all your selected files as well.

                        Requirement: The variable you are updating must be named the same in all your files.

                        Potential Pitfall: If you have Running h/f variables defined differently from file to file, the definitions will be overwritten to what the file you are importing from has defined.

                        Ok, assuming your variable "issue number" is named the same in all your chapters, make a copy of one of your chapters by saving it out as "importvar.fm" (or whatever).

                        Now edit the definition of that user variable to what it needs to be. Do not close the variable palette.

                        In the list of user variables, delete all other user variables, but leave "Issue Number" as the only user defined variable in the palette.

                        Close the variable palette and save the file.

                        Select the files in your book that you want to import to. File>Import>Formats (Alt FIO) and select ONLY "Variable Definitions". Select "Import".

                        Done. In addition to your request for an update to the program, I would like the ability to deselect the system variables from a "Variable Definitions" Import.
                        • 9. Re: Global variable updating
                          Riley has a good idea. The benefits to Adobe are these:

                          1) your customers do your coding. Essentially no development costs.

                          2) you get a market-eye view of customer desired feature improvements/extensions, at no cost to you, just by counting the downloads of various add-on packages.

                          3) when one of these extensions or other improvements reaches a threshold, you can incorporate it into the structure of the application at minimal cost.

                          4) you already have a dedicated rooting section for the new feature to tap for marketing purposes.

                          I am sure there are others, but I only have five minutes.

                          Good thinking, Riley.
                          • 10. Re: Global variable updating
                            Level 1
                            Hi all,
                            Just read about your variables across books problems....

                            a simple script can perform exactly what you need using a config_file with the variables you need to set/replace...I've been using one for years now with very good results...If you need it, I can write one specifically to suit your needs - for a very reasonable fee.
                            Check out our website - www.mifmasters.com
                            A bespoke script would take about 1/2 day to complete and cost in the region of 250 USD.
                            Interested? email me david@mifmasters.com