Questions tagged [framemaker]

Adobe FrameMaker Desktop Publishing (DTP) software

FrameMaker = DTP since the 1980s

FrameMaker is a DTP (Desk Top Publishing) program, with a long history: Frame Technology Corp. was founded in 1986; acquired by Adobe in 1991; see Wikipedia's article on FrameMaker for more background.

FrameMaker Availability: old *IX; now Windows-only

FrameMaker was one of the first commercial WYSIWYG editors available on UNIX systems such as SUN workstations, and was available on many UNIX workstations and minicomputers (in addition to SUN: Apollo, Data General, MIPS, Motorola, Sony, NeXT, and IBM AIX).

Because of this, the technical documentation of many computer companies, hardware and software, active in the 1990s was written in Framemaker, and there is still sizeable legacy as of 2014 (e.g. Intel, AMD, MIPS).

FrameMaker was made available on Microsoft Windows as of 1992 (FrameMaker 3.0). As of 2009 (FrameMaker 9) support for all non-Windows platforms was dropped. I.e. FrameMaker as of now is a Windows-only product.

(Some companies with legacy FrameMaker document bases still use older versions of FrameMaker on non-Wintel platforms, e.g. Frame 7 (circa 2000) on SUN machines.)

File Types

FrameMaker's "native" file format is a proprietary binary format, suffixed ".fm". FrameMaker files can be grouped as books, suffixed ".book".

Since early days FrameMaker has supported a text format, MIF (Maker Interchange Format), suffixed ".mif".

Since FrameMaker 5 in 1995, FrameMaker has supported SGML.

Modern FrameMaker falls into two camps: the original binary Unstructured file formats, and the newer structured SGML / XML file formats.

FrameMaker, of course, has the ability to generate PDF, ASCII text, HTML, etc.

Standard FrameMaker does not support conversion to/from other formats such as TeX and LaTeX, but there have been many unofficial scripts and tools to accomplish such - usually by conversion to/from MIF (Maker Interchange Format).

Automating FrameMaker

Technical Writers are a large part of FrameMaker's target market, and are often not very sophisticated computer users (i.e. non-programmers).

Nevertheless, in maintaining large technical documents (such as the Intel Software Developer's Manuals, several thousand pages, which were in FrameMaker as recently as 2005), automation of manual tasks is highly desirable.

The text MIF (Maker Interchange Format) has historically been very useful in this regard, as have the textual SGML and XML file formats. If you can write a Perl or Python script, you can manipulate many aspects of Framemaker documents, so long as you can find the MIF, etc., features documented. See, for example, the Adobe FrameMaker 9 MIF Reference (2008).

Early versions of FrameMaker had a simple scripting language called fmbatch. It could be used for many simple tasks, e.g,. converting a binary .fm file to .mif, fm2mif and mif2fm, but was not very powerful.

Later versions of FrameMaker had the FDK, Framemaker Developer's Kit - a C level API.

Many legacy projects were frustrated when fmbatch support was dropped. Warning-Opinion: Compiling simple tools using the FDK was considered unacceptable for simple ad-hoc projects and Makefiles; I conjecture this was one of the reasons that many companies switched away from FrameMaker. End-Opinion. Several companies sell automation tools similar to but more powerful than fmbatch.

Most recently, FrameMaker has introduced ExtendScript, Javascript plus enhancements, to perform automation. ExtendScript is well suited towards extending the GUI, adding menu items, etc; it is possible, although much less convenient, to write command line tools using ExtendScript (using the Windows Command Shells, or Cygwin Shells, or shell scripts on Linux remote controlling FrameMaker on Windows.) See Adobe Creative Suite 5 / Javascript Tools Guide for an overview of features common the the several Adobe applications that use JavaScript, and the Scripting Guide / Adobe Framemaker 10 for features specific to FrameMaker ExtendScript. If you want "whole manual" PDFs you must often content yourself with full releases for older versions of FrameMaker; current versions may have similar documentation in development kit Help and/or on random Adobe webpages.

As far as I know there is no FrameMaker equivalent of CPAN. Some examples of FrameMaker automation using ExtendScript can be found on Adobe's webpages; many can be found on the webpages of techpubs consultants, sometimes as examples whose more fully featured packages must be purchased.

When / Why would you use FrameMaker?

In the early days, WYSIWYG was the big motivation to use Framemaker. The alternatives were troff and TeX/LaTeX for traditional non-WYSIWYG word processing, Interleaf, etc. for WYSIWYG.

For many years the main alternatives at engineering companies for technical documentation were:

  1. FrameMaker (WYSIWYG)
  2. Microsoft Word (WYSIWYG)
  3. TeX/LaTeX (non-WYSIWYG to WYSIWYW (what you see is what you want))
  4. a variety of other DTP and word processing tools

Plus, more and more, tools that support HTML/XHTML/SGML, possibly via a WYSIWYG GUI or wiki-like markup language, are available.

Obviously, legacy - having a great deal of FrameMaker documentation that would be painful to convert - is a very good reason to use FrameMaker.

For many years the main reason to choose FrameMaker over Word was scalability. FrameMaker could handle documents thousands of pages long, whereas Word often struggled. For many years FrameMaker supported multifile books, whereas Word did not. The gap has narrowed, but not completely closed.

The main reason to use FrameMaker versus tools such as TeX/LaTeX was WYSIWYG. WYSIWYG does make certain operations easier, particularly for non-programmer technical writer users. Similarly, FrameMaker's WYSIWYG table editing and vector graphics drawing just worked, and were good enough, whereas drawing complicated diagrams in TeX/LaTeX usually involved external programs that were not ubiquitously available. Conversely, automatically generating complex diagrams using external tools is usually easier with TeX/LaTeX, and TeX/LaTeX are more susceptible to automation, have more advanced typesetting, etc., features, and more support for features used in academic documents, such as fancy footnotes and endnotes, and better automatic layout.

The main reason to use Framemaker versus tools other than Word and TeX/LaTeX has usually been ubiquity. This may be changing with the new generation off tools that use HTML/XHTML/XML/SGML as the interchange format, although it must be noted that tools used *ML often cannot exchange data easily - they may be using XML, but their XML DTDs can be very different. DITA may help.

Anecdote: I have observed the following pattern in many technical projects: Often the original documentation is written using markup language type tools such as wikis, with extensive automation, e.g. automatically extracting code examples from the documentation and running them. But once the project becomes a product, control of documentation is handed over to technical writers, and the original markup automation approach is abandoned for more techwriter friendly, WYSIWYG, documenation production tools - like FrameMaker in years past, now Word. End-Anecdote.

FrameMaker Features

Most FrameMaker features are relatively standard in word processing and desktop processing software, and will be mentioned only briefly if at all:

  • Paragraph and Character Formats
  • unlike Microsoft Word's, no inheritance
  • Conditional Text
  • Until recently, the conditional text tags could only be ORed. In recent FrameMaker versions more complicated logical expressions are available (e.g. display this text if and only if both Tag1 and tag2 are active)
  • Multiple Page Layouts
  • E.g. portrait pages for most text, landscape pages for wide tables and drawings
  • E.g. different page backgrounds for reference material versus generic text
  • E.g. multiple frames or flows, e.g. multiple columns. However, FrameMaker support is not as extensive in this area as that of specialized tools for laying out newsletters.
  • Table Editing
  • Conditional rows, but no conditional columns
  • Reasonably good multipage tables
  • No pivoting
  • Drawing Editing (Vector Graphics)
  • Footnotes and Cross References
  • But not as much support for these as in TeX/LaTeX
  • Reasonably powerful cross-reference formats
  • Page Numbering
  • Can create custom schemes for front matter and appendices: roman, chapter.page, etc
  • UNIcode
  • However, many legacy FrameMaker documents use pre-UNIcode symbol fonts, causing conversion hassles. It is common to see diamonds instead of
    math symbols in legac FrameMaker documents.
26 questions
3
votes
6 answers

Programmatically convert DITA to FrameMaker

Is there a toolkit available (paid or otherwise) to help with programmatically converting a DITA document to a FrameMaker one? I'm attempting to make an application that converts to multiple formats from DITA. I know I can use the DITA Open…
KevMo
  • 5,590
  • 13
  • 57
  • 70
2
votes
2 answers

Regex search in binary file

I try to write an Excel VBA script which fetches some information (version and revision date) out of a binary FrameMaker file (*.fm). Following sub opens the *.fm file and writes the first 25 lines (the informationen needed is into this first 25…
gwc
  • 53
  • 4
2
votes
2 answers

How to format source-code in a Framemaker document?

I have to write up a technical document in Framemaker that explains various programming source-code. So my document consists of a bunch of text, followed by a bunch of source code (Java, XML) and then followed by more text, etc. This question is…
po.
  • 23
  • 3
1
vote
1 answer

Issue Using Operators In an Ascertion

I'm working in FrameMaker and trying to extract definitions from a document glossary with a script. I've run into a problem with my lookahead assertion that I can't seem to sort. Glossary entries look like: ADC........... air data computer The…
Gator
  • 63
  • 4
1
vote
1 answer

Creating Custom Dialog Box

I have installed FDK2019(32-bit) and Framemaker2019(32-bit) and created a new DRE file from the existing DRE files in FDK Directory. When i am going to save it as abc.dre the framemaker gives following error:
Vinita
  • 21
  • 1
1
vote
2 answers

How to convert HTML file into Framemaker Interchange Format(.mif) file?

I want to mark index and cross-references like Framemaker does. Framemaker can export the .fm into .htm and .mif file. I have analyzed how the index and cross-references appears in .htm and .mif file after exporting it from framemaker. Now my…
Lalit
  • 1,354
  • 1
  • 8
  • 13
1
vote
1 answer

Framemaker DITA pdf export creates new page for every DITA Topic

I have created a Dita Map in Framemaker 12 containing some Topics. When I build a pdf document with Dita Open Toolkit (which is supplied by Adobe), I get a pdf document which has a page break after each Topic. I don't want a page break after each…
1
vote
1 answer

How to style DITA xrefs in structured Framemaker

In the middle of a conversion project from unstructured Framemaker to DITA-compliant, structured Framemaker. Customer wants xrefs to be underlined in the output. Seems straightforward enough, but I've been all over the documentation and all over the…
SaganRitual
  • 3,143
  • 2
  • 24
  • 40
1
vote
0 answers

Using Extendscript to Import a Visio Object By Reference into FrameMaker

My colleagues and I import our Visio files into FrameMaker via the following mechanism: File > Import > Object... > Create from File (with Link checked). I want to accomplish the same action using ExtendScript, where the file being imported is…
1
vote
0 answers

Render sound and 3D model on iOS FrameMarker by Vuforia

I'm trying to render sound and 3D model in FrameMarker . For example, there are A1.h A2.h A3.h <------ 3D model A4.wav A5.wav <------ Sound FrameMarker ID 0,1,2 are for A1-A3.h (3D model) How can I add sound to this code for…
kantawit
  • 101
  • 1
  • 1
  • 6
1
vote
2 answers

Framemaker TOC Layout

I have a book in Adobe Framemaker and created a TOC. The Problem now is that I can't assign my master page to my body page. Also the TOC doesn't contain any of my paragraph and character formats. Thx for help. eactor P.S. If I start a new chapter in…
eactor
  • 862
  • 3
  • 14
  • 34
0
votes
2 answers

CGM files do not scale correctly in FrameMaker - is there a secret flag value required?

We have code that writes CGM (or interactive WebCGM) files directly. We have complete control of all theCGM primitives and can generate version 1, 3 or 4 files as required. In general the CGM we write renders perfectly in the various…
Tony Eastwood
  • 781
  • 2
  • 9
  • 23
0
votes
0 answers

Renaming cross reference link in framemaker

I have documentation for my code that I maintain in Doxygen (general description + API reference). Our documentation team working with FrameMaker so I generate an XML output for them which were imported to FrameMaker using some template file which I…
Ilya
  • 3,104
  • 3
  • 23
  • 30
0
votes
0 answers

Merging Framemaker files in Git

We have a framemaker project with several books and we use Git to store the .fm files. We have a situation where version 1 is already released and I have started working on version 2 and made a bunch of changes. version 2 is not yet ready to be…
0
votes
2 answers

ISO encoding with Japanese Frame file

I have a Japanese content which is being converted to MS help with a certain tool. The problem is that the third party tool isn't using utf-8 encoding and is creating a .xml with garbage characters:
Sumaiya
  • 1
  • 1
1
2