PatternStream Architecture

PatternStream has been constructed using the current state of art C++, Microsoft Foundation Class (MFC), and Microsoft .Net programming in combination with use of the Frame Developers Kit (FDK) and the InDesign software development kit (SDK). This method has created a high performance application that is base for extensibility. Using the FDK and SDK ensures complete integration with FrameMaker and InDesign.

PatternStream connects to any and multiple SQL and ODBC compliant databases and flat files and publishes information into FrameMaker, InDesign, XML, HTML, Excel, and other file types. The application manages database information resulting from queries, stored procedures, and other methods by placing them into a series of objects that are controlled by the user defined scheme. The scheme may include information on which variable database information may be placed into text strings, tables, text frames, and image frames. The scheme also describes how the FrameMaker or InDesign template is used to format each object. An example would be relating specific paragraph and character tags or styles to a string template. PatternStream has a GUI that is used to establish the scheme and control the publishing process. The application communicates with the database to query and obtain information and with FrameMaker and InDesign in both directions to obtain template information and to publish the database information.

Patent Award

On August 28, 2001, the U. S. Patent Office awarded Patent No. 6,282,539 entitled Method and System for Database Publishing to FML. PatternStream implements the patent to provide the easiest to use and fastest method to set up database publishing projects.

Application Interface

FML’s PatternStream has a powerful interface that allows authors and editors to set-up database publishing products and control the process. The interface is available within the FrameMaker and InDesign application interfaces and is initiated through a PatternStream-installed FrameMaker and InDesign pull-down menu. Once the application operation is initiated, the Pattern Set dialog box is displayed on the screen above the FrameMaker and InDesign template. All database publishing project set up, execution, and modification is accomplished through this interface.

PatternStream Extensibility

PatternStream solves the vast majority of all database publishing problems. However in the few cases where PatternStream can’t resolve an instance specific case, it can be extended. Scripts can be written using FrameScript (in the FrameMaker or FrameMaker Server environment) or dlls developed to provide additional PatternStream functionality to satisfy any publishing requirement. This allows PatternStream to be the complete database publishing solution.

FrameMaker and InDesign Functionality Extension

Out of the box, FrameMaker and InDesign are powerful publishing applications. However to enable even better database publishing, PatternStream enhances FrameMaker and InDesign functionality through FDK programming. PatternStream can enable FrameMaker and InDesign to publish:
  • Using a page grid system that enables specific placement of items on page
  • A three column text layout, within a two column page, having first two columns straddled dynamically

These non-native FrameMaker and InDesign features allow the PatternStream database publishing system to publish beyond FrameMaker’s and InDesign’s standard means. In addition to database and flat file connectivity, data acquisition, publishing project structuring and control, PatternStream drives the FrameMaker and InDesign formatting engine programmatically and increases its capability.

The PatternStream Architecture has been constructed using the current state of art C++, Microsoft Foundation Class (MFC), and Microsoft .Net programming in combination with use of the Frame Developers Kit (FDK) and the InDesign software development kit (SDK). This method has created a high performance application that is base for extensibility. Using the FDK and SDK ensures complete integration with FrameMaker and InDesign. PatternStream connects to any and multiple SQL and ODBC compliant databases and flat files and publishes information into FrameMaker, InDesign, XML, HTML, Excel, and other file types. The application manages database information resulting from queries, stored procedures, and other methods by placing them into a series of objects that are controlled by the user defined scheme. The scheme may include information on which variable database information may be placed into text strings, tables, text frames, and image frames. The scheme also describes how the FrameMaker or InDesign template is used to format each object. An example would be relating specific paragraph and character tags or styles to a string template. PatternStream has a GUI that is used to establish the scheme and control the publishing process. The application communicates with the database to query and obtain information and with FrameMaker and InDesign in both directions to obtain template information and to publish the database information.