Information Presentation Facility

Information Presentation Facility (IPF) is a system for presenting online help and hypertext on IBM OS/2 systems. IPF also refers to the markup language that is used to create IPF content. The IPF language has its origins in BookMaster and Generalized Markup Language developed by IBM. The IPF language is very similar to the well-known HTML language, version 3.0, with a range of additional possibilities. Therefore, a trained user may use virtually any word processor when creating IPF documents. The IPF language consists of 45 basic commands.

IPF files are compiled using the IPF Compiler (IPFC) into viewable INF or HLP files. IPF HLP files are distinct from the WinHelp HLP files that are prevalent in Windows.

OS/2 contains a built in viewer, and there are other viewers available for other platforms.

Example 1 - IBM

edit

Here is a sample of IPF markup from IBM's Information Presentation Facility Programming Guide.

     .* This is a comment line
     :userdoc.
     :title.Endangered Mammals
     :h1 res=001. The Manatee

     :p.
     The manatee has a broad flat tail and two flipper
     like forelegs.  There are no back legs.
     The manatee's large upper lip is split in two and
     can be used like fingers to place food into the
     mouth.  Bristly hair protrudes from its lips,
     and almost buried in its hide are small eyes, with
     which it can barely see.

     :euserdoc.

Example 2 - PM123 User's Manual

edit
:lm margin=2.:font facename=Helv size=24x10.
:p.:hp8.Welcome to PM123 !:ehp8.
:font facename=Helv size=16x8.
:p.:p.
Hello and welcome to the wonderful world of digital music on OS/2. First we
must congratulate you for choosing the best MPEG-audio player available for
OS/2! PM123 has been in development since beginning of 1997 and has become
the most advanced player on OS/2. Some of you may have used the earlier
betas of PM123 and for your convenience, here are the new features in this
release:
.br
:ul compact.
:li. New skin options, allowing PM123 to be modified to just about anything. 
:li. Graphical :hp2.equalizer:ehp2., including pre-amplification and band mute.
:li. Support for plugins, a :hp2.spectrum analyzer:ehp2. and :hp2.oscilloscope:ehp2. plugin.
:li. :hp2.Playlist Manager:ehp2. for users, allowing easier managing of playlists.
:li. Better HTTP streaming support: support for URLs in playlist, and M3Us for playlists.
:li. Recursive directory adding.
:li. Commandline and remote control of PM123.
:li. General improvements in all parts of the player.
:eul.
.br
.br
:p.

Status of IPF

edit

IPF is still used as part of OS/2's latest incarnation, ArcaOS. It is otherwise rarely used, although there are several tools that can read or write IPF files.

  • HTMIPF: Converts HTML to IPF
  • HyperMake: Multi-format documentation generator
  • IPF Editor: Commercial IPF editor
  • UDO: Open source multi-format documentation generator
  • VyperHelp: Open source IPF editor and converter
  • Free Pascal's documentation generator (fpdoc), can also generate OS/2's IPF output.

Help Viewers

edit
  • The original OS/2 VIEW.EXE application
  • NewView v2.x. This is an open source project and code is available from Netlabs.
  • Free Pascal's text base IDE has support for various help formats - OS/2's INF format being one of them.
  • The fpGUI Toolkit project also has an INF viewer called DocView. It is an open source project and was originally a port of NewView v2.x, but has since seen some different designs and changes. INF is also the official help file format of fpGUI Toolkit.
  • Tools and documentation for the INF/HLP file format by Marcus Gröber
edit