Overview of FTForm8
Version 8 FormTrap is total rewrite of the earlier functions of Form Design and Formatting. FormTrap Spooler functions which are recent and powerful are retained, with access to the new formatting functions while retaining the Version 7 formatting. Minor upgrades allow separation of the old (version 7 Formatting) from the "new" (FTForm 8 formatting), both will run concurrently. This provides simple conversion from the "old" formatting system to the new one, one form at a time as both run concurrently. When all forms have been converted the old formatting system can be simply "turned off".
The major objectives of the new programs are:
Input side:
- To allow any common form of input file. In release 1 this covers XML and text files (either the former "records mode" or "print line extract" files) as well as output intended for other less capable print systems that required the user to format data in a special way. CSV files are included, and in a later release will automaticaaly convert to XML where the first row contains field names.
- To provide data conversion routines that allow handling of complex file structures easily - examples are embedded lines and fields that are optionally present within detail structures (typically product supplement information such as site, revision, supplier and manufacturer), comment line concatenation, handling different documents of common format (invoice, debit adjustment, credit adjustment and credit note, for example) and handling third parties differently (internal vs external invoices, for example).
- To provide complex user-defined logic (the program incorporates muPaser for arithmetic expressions, and RegEx for textual expressions/manipulation). Both are well documented on the web, with third party support and specialized external services available.
- To define user-defined variables as part of the input XML data (calculated values such as running totals or arithmetic expressions), formula and delivery / archival data). This allows the formatting stage to more simply represent data rather than having its own discrete logic.
- To convert input into a common input strategy - XML in this case. This is not a "binding" decision and the program is sufficiently flexible to adopt a revised input method, should one be required in future.
Formatting and Output side:
- To provide "sets" comprising optional header pages for faxing, optional trailing documents for terms and conditions and other document groupings, controlled by RegEx or muParser logic, on the common input file. The objective is to construct all pages that form a transaction appropriate to the output method (Email, Fax or Print or combinations).
- To handle internationalization of dates, numbers and currency representation via the routines defined in the ICU (International Components for Unicode) project - as used by companies Apple, Google, IBM and many others. This provides Locale representation / translations (eg English - Canadian) for currency symbols and ISO abbreviation (USD for example), currency front or back end, thousand separator character, decimal separator character, date format, day and month names and abbreviations, in a programmable manner.
- To provide a combination of "best of breeds" in that text
objects are independent with attributes very much like PowerPoint
objects, yet obey page constraints like Word in that they allow:
- any combination of fonts, styles, colors and point sizes in one text object.
- rotation to any angle
- text wrapping, including left, right, centered and justified
- To handle internationalization of dates, numbers and currency representation via the routines defined in the ICU (International Components for Unicode) project - as used by companies Apple, Google, IBM and many others. This provides Locale representation / translations (eg English - Canadian) for currency symbols and ISO abbreviation (USD for example), currency front or back end, thousand separator character, decimal separator character, date format, day and month names and abbreviations, in a programmable manner.
- a section of the output document (for example, product with optional comments) that grows or shrinks to fit the comments in, with a standard gap to the next product).
- right alignment at a specified character (colon in the example) for "table format" texts with data (data shows highlighted in yellow).
- totaling at many levels
- Long text sections that break at page boundaries automatically
- graph drawing, using pie and bar graphs
- Addition of standard "totaling" reports and contractual type documents for finance, insurance and banking; direct mail and letter writing to FormTrap Spooler output as well as business documents that have been the mainstay for Version 7 and earlier.
Technical objectives:
- To provide a modern "look and feel" that will last for at least five years, to Windows 7 standards.
- To integrate formerly external items in the V7 Form Design suite (formerly called "Splitting" and "Repagination") directly into the FTForm8 design functions.
- To retained concepts of substitutions - based on constants or data and production of external control elements (now called Delivery tags) on the input rather than formatting side.
- To be able to tackle any document produced by other systems without any form of code customization by inclusion of RegEx and muParser facilities.
- To be able to convert to any Locale readily, to this end, most controls are icon-based and the literal set is confined to a readily translated area.
- To allow for tables for translation of items such as email addresses (from, say, customer number) for SMTP output.
- To be documented in full, with examples and tutorials from the FormTrap web site so all documentation updates and corrections are modified immediately. This continues the experience with FormTrap version 7 where the availability of to-the-minute articles, vetted by the user experiencing a difficulty meant our levels of service and support are minimal for a complex product with many dependencies into version-specific Windows software that changed radically in many cases with Windows 7 and current Windows Server versions.
- To be able to produce direct PDF and Graphic images in future versions, in addition to PostScript and PCLXL (PCL6). (PDF and graphic images are available now via facilities build into the Spooler, however are done via a separate translation from PostScript or PCLXL (PCL6).)
- To form the basis for an automatic archival system using the same Database management system that is able to include documents from external systems as well as from FormTrap Spooler.
Advantage of XML over other formats
XML removes the major disadvantage of most reporting systems, (including Version 7 of FormTrap) that being the ability to quickly convert and "recover" your investment in reports when your base ERP or Accounting or other systems change or you when decide to move another vendor. XML provides standard definitions of structure and data and the vast majority of fields in (say) an Invoice are identical in function (if not size and format) between systems. FTForm 8 allows you to simply and quickly reformat from the new system to the same XML format, using the same field names, deleting the few fields that no longer apply, and adding the few new fields. XML as input means you have no issues with field lengths or formats or sequence of fields. Most modern systems offer XML output, meaning you can re-assign the field names for data in existing documents.
XML conversion are performed within the hour for most files, and require very little testing to finalize.
Archive:
Version 8 includes an optional fully integrated Archive (FormTrap Archive) module that automatically stores the FormTrap output as PDFs. This is available for Version 7 and/or Version 8 forms which are stored as PDFs and indexed under a minimum of Document and Date as well as any other indicated document reference such as customer name, invoice number etc. Archive allows for periodic roll-off at user-nominated intervals to other media (such as CD), with the ability to look at the archive from anywhere in the organization.