iForms Server

November 2023

Version: 2.9.2

November 29, 2023

Fixes
  • Fixed issue where new monitors could not be created in modern versions of Edge, Chrome, Firefox.

  • Updated XML Parsing code to close known security issues.

  • Updated log4j to fix known security issues.

December 2022

Version: 2.9.1

December 16, 2022

Fixes
  • Added TLS 1.2 Support for SMTP and O365.

March 2021

Version: 2.9.0

March 22, 2021

New Features
  • Added support for Java 8 on IBMi.
Enhancements
  • Updated to use standard HelpSystems licensing module.

  • Updated displayed HelpSystems contact information.

Fixes
  • Fixed issue where RDX files could collide during processing.

November 2019

Version: 2.8.1
Enhancements
  • Pre-installed Java prerequisite is no longer required for Windows installations and is included in the installer

  • Java 8 is now the default startup configuration on IBM i

  • Added support for DataMatrix barcodes within report designer templates

Fixes
  • Fixed an issue with using RDX files for checkin to WebDocs Windows which did not include keys 11 through 30 values

  • Fixed an issue preventing use of https URLs for WebDocs Windows servers

May 2018

Version 2.8.0
New Features
  • The iForms administration UI can now require user authentication that connects to Webdocs for centralized user management.
Fixes
  • An error no longer occurs when extracting key/value data from some PDFs.
  • Some documents that have errors checking in to Webdocs will now correctly follow after-processing rules.

June 2017

Version 2.7.2
Fixes
  • Fixed an issue with respooling AFPDS spooled files where it would respool as USERASCII instead of AFPDS when using *AFPPRINT as the output format parameter
  • Added support for Int2of5 barcode creation from within report scripts

August 2016

Version 2.7.1.2
Fixes
  • Added compatibility for iForms Designer scripting to allow conversion of values to camel-case format
  • Fixed an issue with assembling PDFs containing certain newer or invalid character sets

May 2016

Version 2.7.0.2
Fixes
  • Updated user defined data WEBDOCS keyword parsing to correctly match other products

September 2015

Version 2.6.0
  • Removed support for GSPRINT export option
  • Removed several unneeded dependencies from the installer
  • Removed several unused server settings
  • Consolidated PDF and TIFF file manipulation framework

November 2014

Version 2.05.00
  • Fix issue with the text pre-processor not working correctly with extractor templates with custom page break rules.
  • Add a setting to control the default DPI of GSPRINT
  • Web admin page redesigned for increased usability, browser support.
    • Admin site now works with supported browsers. (IE10+, Chrome, Firefox, Safari 7)
    • Add delete confirmations on all resources.
    • Added ability to create and manager Webdocs Server connections to the admin site.
    • Refactor Monitors tab.
    • Add filtering by monitor to Log tab.
  • Added audit logging. Audit logging is disabled be default, but can be enabled via the general settings tab of the admin web interface.
  • Added the ability to add and remove user and owner passwords to PDFs.
    • ASSEMBLY_PDFSEC_USERPASSWORD – remove user password
    • OUTPUT_PDFSEC_USERPASSWORD – remove/set user password.
    • OUTPUT_PDFSEC_OWNERPASSWORD – set owner password.
    • OUTPUT_PDFSEC_ACCESSIBILITY - User access permission for extracting text and graphics meant for applications such as those providing accessibility to people with disabilities.
    • OUTPUT_PDFSEC_ASSEMBLY - User access permission for assembling the document, including inserting, rotating, or deleting pages and creating bookmarks or thumbnail images.
    • OUTPUT_PDFSEC_COPY - User access permission for copying or extracting of all text and graphics but not including those allowed by OUTPUT_PDFSEC_ACCESSIBILITY.
    • OUTPUT_PDFSEC_FORMFILL - User access permission for filling in existing form fields (including signature fields).
    • OUTPUT_PDFSEC_HIGHRESPRINT - User access permission for printing a document in high resolution.
    • OUTPUT_PDFSEC_MODIFYANNOTATIONS - User access permission for adding or modifying text annotations, filling in existing interactive form fields, and (if OUTPUT_PDFSEC_MODIFYCONTENT is also set) creating new or modifying existing interactive form fields including signature fields
    • OUTPUT_PDFSEC_MODIFYCONTENT - User access permission for modifying the document in ways not including those allowed by OUTPUT_PDFSEC_MODIFYANNOTATIONS, OUTPUT_PDFSEC_FORMFILL, and OUTPUT_PDFSEC_ASSEMBLY.
  • Added the ability to do a database lookup that may produce additional AssemblyFile objects. This allows the end user to populate a database table with the parameters and then merge them all in one pass.
    • ASSEMBLY_LOOKUP_DATASOURCE - lookup datasource name
    • ASSEMBLY_LOOKUP_SQL – lookup query
  • Added the ability to do a database lookup that will produce additional form parameters that can be used during a form merge.
    • REPORT_LOOKUP_DATASOURCE - lookup datasource name
    • REPORT_LOOKUP_SQL – lookup query
  • Added the ability to do a database lookup that will produce additional export parameters. This is useful for looking up things like email addresses that are not available to the calling program.
    • OUTPUT_LOOKUP_DATASOURCE - lookup datasource name
    • OUTPUT_LOOKUP_SQL – lookup query
  • Removed all sample templates from the RJSIFORMS environment. They are still present in the Samples environment.
  • Added setting to enable/disable the PrinterPool.
  • Set the default Enable PrinterPool setting to true on windows install and false on iSeries install. This will prevent the creation of QJVAEXEC jobs.
  • Fixed issue where OUTPUT_INSERT_FILE changes were not included in page counts when running assembly.
  • Added set/update to allow modification of Datasource tables.
  • Added ability to disable modification of Datasource tables.
  • Added ability to override printer status to work around a Windows JVM bug.
  • Changed get/set library to use the CL SAVLIB/RSTLIB commands rather than the JT400 API.
  • Added multiline support to OUTPUT_EMAIL_TEXTMSG and OUTPUT_EMAIL_HTMLMSG.
  • Fixed issue where th eDirectory and IDFDirectory monitors would delete input files when configured to move the source file back to the input directory as after processing.
  • Added RESTful calls
    • set/update
    • json/list/monitor/headers
    • json/list/printers
  • Added the ability to redact text or a region in Pdf Documents
    • OUTPUT_PDF_REDACT - redact text or region of a output pdf document. Text Example: <redact>[0-9]{3}[-][0-9]{2}[-][0-9]{4}</redact>

July 2014

Version 2.04.03
  • Fixed issue where the task id was not getting saved on the monitors -> task page.
  • Fixed issue where overprinting was being lost when on the last line of a spool file.
  • Fixed issue in Assembly File logging message Paper Size.
  • Changed CopyLocal buffer size to 16K.
  • Changed how the DataQueueMonitor is implemented to improve reliability.
  • Updated xStream library.
  • Updated log4j library.
  • Updated Monitors page to reflect new Assembly and Export Parameters.
  • Added admin credentials account to iformsserver datasource.
  • Added RDX file generation to LOCAL and IFS export locations.
  • Added parsing of “IMGSERVER:” and “WEBDOCS:” User Defined Data commands when OUTPUT_WD_RDX is true.
  • Added following Export Parameters for RDX file generation.
    • OUTPUT_WD_RDX - If the output location is set to Local or IFS and this is set to “true”, an RDX file will be created along with the output document.
    • OUTPUT_WD_TYPE - Set a document type to the RDX file. If this parameter is absent and there is an IMGSERVER: or WEBDOCS: command in the UDD of an input spool file, it will be parsed.
    • OUTPUT_WD_FOLDER - Sets a Webdocs Folder to the RDX file. If this parameter is absent and there is an IMGSERVER: or WEBDOCS: command in the UDD of an input spool file, it will be parsed.
    • OUTPUT_WD_TITLE - Sets a Webdocs Title to the RDX file. If this parameter is absent and there is an IMGSERVER: or WEBDOCS: command in the UDD of an input spool file, it will be parsed.
    • OUTPUT_WD_KEYS - Set a semicolon delimited list of Webdocs index key values to the RDX file. If this parameter is absent and there is an IMGSERVER: or WEBDOCS: command in the UDD of an input spool file, it will be parsed.
  • Added ability to remove blank pages in a pdf output document.
  • Added following Export Parameter for removing blank pages in a pdf document before it is converting to the final format.
    • OUTPUT_PDF_REMOVEBLANKS - Remove blank pages
  • Added ability to extract values from a pdf document using Regular Expressions and use them in most export options.
  • Added ability to convert extracted values into pdf bookmarks.
  • Added following Export Parameters for pdf value extraction
    • OUTPUT_PDF_VALUES - Extract the text from the first occurrence of a match to the regular expression.
      • Example string with optional parameters: <name region=x,y,width,height default="default value" bookmark="My Bookmark @Value">Regex</name>
      • The string ${name} will now be replaced with the value of the extracted text.
      • Multiple extraction values can be specified, each needs a unique name.
      • The bookmark option will insert a bookmark directed at the location of the extracted value. The string @VALUE or ${name} will be replaced with the extracted value.
      • If the bookmark option is selected the server will search for every match inside of the specified region and add a bookmark to it. If it is not specified, the server will search until it finds the first instance of each value rule and stop.
    • OUTPUT_PDF_MARKUP - This will place a black box around extracted values. This is useful for debugging.
  • Added ability to insert text annotations into pdf documents.
  • Added following Export Parameters for inserting text annotations into pdf documents.
    • OUTPUT_ANNOTATION_TEXT - Add text to a pdf document.
      • Example string with optional parameters: <text x=72 y=72 angle=-45 pagerange=1-2,4 align=[LEFT|CENTER|RIGHT] underlay=[TRUE|FALSE] font="arial.ttf" size=12 color=red>My Text</text>
      • Multiple text annotation values can be specified.
      • If X and/or Y is not specified the document will be centered on the page.
  • Added pdf repair option.
  • Added following Export Parameters for repairing damaged pdf files
    • OUTPUT_PDF_REPAIR - The pdf file will be repaired before running any other transformations. This parameter can also be used in combination with the following
    • OUTPUT_GS_DPI
    • OUTPUT_GS_COLORMODE
    • OUTPUT_GS_DEDUPLICATE
    • OUTPUT_GS_WEBVIEW
  • Added additional error notification to update printer pool.
  • Added a warning message if no printers are detected.
  • Added export split counter to log.
  • Added ability to split pdfs via Assembly task.
  • Added following Assembly parameters
    • ASSEMBLY_SPLIT_PDF - Split the resulting pdf based on Regular Expression matches.
      • Example string with optional parameters: <name region=x,y,width,height location=[BEFORE|AFTER] location=[CHANGE|PRESENT]>Regex</name>
      • Multiple split values can be specified, each needs a unique name.
    • ASSEMBLY_SPLIT_STARTPAGE - Sets the start page when splitting a pdf.
    • ASSEMBLY_SPLIT_AUTOCLOSE - Close the last page range. If you are losing the last document then set this to true.
    • ASSEMBLY_SPLIT_MARKUP - When true the server will place a gray border around the detected value. This is useful for debugging a split.
  • Added ${pdfcount} place holder when splitting pdfs. This placeholder can be used to ensure output file name uniqueness.
  • Added following Export Parameters for setting spool file output priority.
    • OUTPUT_SPOOL_PRIORITY - Sets the spool file output priority. This parameter should not be used for spool files that will be read by other RJS products.
  • Add optional remove blank lines parameter to RJSIFORMS.TrimLinesLike and RJSIFORMS.TrimLinesNotLike scripting functions.
  • Added RJSIFORMS.RemoveBlankLines(String field) script.
  • Added EVERY and ALL to insert pages locations VALUE, ODD, EVEN, FRONT, BACK, EVERY, ALL. EVERY and ALL produce the same result.
  • Removed IFS_TEMP parameter. Any value set to this parameter will now be ignored.

May 2014

Version 2.04.02
  • Changed the default max stack size to 1024MB for iSeries installer.
  • Added additional logging to the Pdf merge process.
  • Added substitution to the form template field of the build in monitor.
  • Substitution now works consistently from all client interfaces and has been extended to include most export properties and form parameters.
  • Basic substitutions available to export and form parameters.
    • @DATE – current date in the format yyyy-MM-dd
    • @TIME – current time in the format kk:mm:ss
    • @COUNTER – current job counter id
  • Input spool file based substitutions available to export and form parameters.
    • @SPOOL – spool file name
    • @JOBNAME – job name
    • @USERID – user id
    • @JOBNBR – job number
    • @SPLNBR – spool number
    • @USRDTA or @USERDATA –spool user data
    • @NBRCOPIES or @COPIES - spool copies
    • @FORMTYPE – spool form type
    • @LIBRARY – spool library
    • @OUTQ – spool output queue
    • @SAVE – spool save
    • @HOLD – spool hold
    • @NAME – input file name without extension
    • @PATH – full input file path
  • Input file based substitutions available to export and form parameters.
  • Fixed minor issue with job id filtering in the log filtering REST interface.
  • The Extractor Template Cache will now be forced to reload templates after the iForms Text Designer updates a server template.
  • Added additional logging when copying to spool file.
  • Added automatic retry to the copy to spool file function for certain types of errors.
    • ASSEMBLY_SPOOL_COLUMN – clip spool file to starting on column.
    • ASSEMBLY_SPOOL_WIDTH – clip the spool file width.
    • ASSEMBLY_SPOOL_LINE – clip the spool file to start on line.
    • ASSEMBLY_SPOOL_LENGTH – clip the spool file to length.
  • Added width and length to the tracked spool file attributes.
  • Added the ability to clip a spool file to the defined size when being converted via the Pdf Merge (IFMASM) task. This is useful for spool files that have a defined width or height that is larger than the used page area.
  • Added ability to skip page counts when running a PDF Merge (IFMASM) for performance reasons.
  • Added advanced setting “Return document page counts when merging files”.
  • Added Assembly Parameter ASSEMBLY_PAGE_COUNTS to override the global setting for assembly page counts at the job level.
  • Added the ability to skip pdf normalization when running a PDFMerge (IFMASM) for performance reasons.
  • Added advanced setting “Normalize Pdf files when merging to detect and fix errors”.
  • Added Assembly Parameter ASSEMBLY_NORMALIZE_PDFS to override the global setting for pdf normalization at the job level.
  • Performance improvements: disabling both Pdf Page Counts and Pdf Normalization can result in a 10X performance improvement to Pdf Merge (IFMASM) in many situations.
  • Add support for the following image formats to Pdf Merge (IFMASM). Bmp, jpeg, png, gif
  • Added additional buffering to TransformedInputStream (spool to pdf)
  • Updated Monitor page with new parameters.
  • Added CSVJDBC driver to create data source templates.
  • Minor fixes to admin interface.
  • Updated check sample template.
  • Added statement sample template.
  • Change the default log backup files to two.
  • Updated the form compiler to resolve issue with Java 8.
  • Supports Java 8.

February 2014

Version 2.04.01
  • Fixed issue where the Data Queue Monitor could hang when connected to an iSeries over a VPN or WAN. The iForms Server will now detect stalled and dropped connections and reconnect.
  • Fixed issue where the IFS Directory Monitor could hang when connected to an iSeries over a VPN or WAN. The iForms Server will now detect stalled and dropped connections and reconnect.
  • Added SPOOL80 form sample.
  • The server will now attempt to load settings from the RJSIFORMS.xml.backup if loading from RJSIFORMS.xml produces an error.
  • Added auto cleanup for prn files in the system temp directory when the server is installed on an iSeries.
  • Added setting "default file extension for *USERASCII spool files." This file extension is used when processing *USERASCII spool files that does not have EXT: in the user defined data.
  • Fixed issue with assembly files sent to server via multipart post would sometimes merge out of order.
  • Added a retry when printing produces a Printer is not accepting jobs error.
  • Minor UI changes to monitors page.

December 2013

Version 2.04.00
  • Added QRCode barcode support.
  • Added the ability to scale an input document to a given paper size without having to manually specify the input document orientation. If the AssemblyFile Paper Size is set, and the scale option is set to SHRINK or FIT, but the Orientation is not set or is set to AUTO the AssemblyFile paper size will be rotated for the best fit.
  • Added the ability to merge in one or more pdf documents during the export phase of a Merge or Assembly request. This differs from the OUTPUT_INSERT_FILE parameter in how the files are merged into the document generated by the task. If multiple files are specified they must be delimited by a colon.
  • Added Email as an export location. Email Server are created via admin web interface.
  • Added Email location related export parameters
    • OUTPUT_EMAIL_NAME - name of the mail server
    • OUTPUT_EMAIL_TO - semicolon or coma delimited list of to addresses.
    • OUTPUT_EMAIL_FAX - set fax to number if sending email to fax server. This will enforce standard Microsoft fax to address formatting and automatically append the domain.
    • OUTPUT_EMAIL_FROM - set the from address
    • OUTPUT_EMAIL_CC - semicolon or coma delimited list of CC addresses.
    • OUTPUT_EMAIL_BCC - semicolon or coma delimited list of BCC addresses.
    • OUTPUT_EMAIL_REPLYTO - semicolon or coma delimited list of reply to addresses.
    • OUTPUT_EMAIL_SUBJECT - subject of outgoing email
    • OUTPUT_EMAIL_TEXTMSG - set the email message as text.
    • OUTPUT_EMAIL_HTMLMSG - set the email message as html.
    • OUTPUT_EMAIL_ATTACHNAME - name of file attachment. If this is not set the iForms Server will generate a name.
    • OUTPUT_EMAIL_PRIORITY - set the mail priority. Valid values are: high, normal, low
    • OUTPUT_EMAIL_RECEIPT - request return receipt
  • Added a setting for Default Mail Server.
  • Added ability to license a subset of functionality on iForms Server.
  • Added 3 license types to iForms Server
    • IFORMS - all functionality, fully backward compatible.
    • ASSEMBLY - license the assembly task only. This gives all functionality of the IFMASM command in the RJSIFORMS library.
    • REPORT - license the iForms merge related tasks only. This gives all functionality of the IFMEXEC command in the RJSIFORMS library and all tasks needed to design and test a template.
  • Fixed issue causing the Task ID counter to have duplicate values for different task types.
  • Admin web interface changes
    • Active Tasks on the Status tab now shows the total number of jobs submitted to the iForms Server that are not completed.
    • Added Next Task ID to Status tab.
    • Added iForms Server Running Tasks section to Status tab. This will display a snapshot of what is running on the iForms Server.
    • Modified how Environments, Datasources and iSeries Resources are created.
    • Added a Mail Servers tab.
    • Added License Type to the License tab.
    • Added the ability to filter the log to only display errors to the Log tab.
    • Added the ability to download the log as a file to the log tab.
    • Added Monitors tab when Integrated Monitor enabled is true.
  • Modify how the TaskManager in the iForms Server works to reduce idle server CPU usage, and improve performance.
    • QUEUE_TIMEOUT parameter is no longer used. The TASK_TIMEOUT parameter timer now starts from the moment a task is submitted to the server.
    • Task queuing has been modified. There is now a single setting for Maximum task queue size that defaults to 25.
  • Added the ability to use placeholders for export parameters that will be replaced by input values.
    • Spool File relates:
      • @SPOOL - spool file name
      • @JOBNAME - spool file job name
      • @USERID - spool file user id
      • @JOBNBR - spool file job number
      • @SPLNBR - spool file number
      • @USRDTA or @USERDATA - user data
      • @NBRCOPIES or @COPIES - spool file copies flag
      • @FORMTYPE - spool file form type
      • @LIBRARY - spool file library
      • @OUTQ - spool file output queue
      • @HOLD - spool file hold status
      • @SAVE - spool file save status
    • File Related:
      • @NAME - input file name
      • @PATH - input file path
    • General:
      • @DATE - current date
      • @TIME - current time
      • @COUNTER - current task id.
  • Enhance the RjsFileResolver to automatically convert .bmp, .tif and .tiff images to .png for use in forms.
  • Added a setting and Report Parameter to automatically knockout white on image files converted by the RjsFileResolver.
  • The RjsFileResolver will now search for a file in the following locations:
    • Environment root
    • Application Images folder
    • Directory containing the report template (New)
    • root file system
    • IFS of the iSeries Resource if one is set (New)
  • Removed the special functionality of report parameters with the prefix REPORT_FILE_ and REPORT_IFSFILE_. The RjsFileResolver used to locate all resource files now has a superset of their functionality, so special parameters are no longer required.
  • REST interface changes
    • Added DELETE/ENVIRONMENT/FILE
    • Added DELETE/IFS/FILE
    • Added DELETE/SPOOL/FILE
    • Added DELETE/LOCAL/FILE
    • Added MOVE/ENVIRONMENT/FILE
    • Added MOVE/IFS/FILE
    • Added MOVE/SPOOL/FILE
    • Added MOVE/LOCAL/FILE
    • Added GET/LIBRARY
    • Added SET/LIBRARY
    • Added JSON/LIST/THREADS
    • Added JSON/LIST/ENVIRONMENT/NAMES
    • Added JSON/LIST/DATASOURCE/NAMES
    • Added JSON/LIST/AS400RESOURCE/NAMES
    • Added JSON/LIST/MAILSERVER/NAMES
    • Added JSON/LIST/ENVIRONMENT/REPORTTEMPLATES
    • Added JSON/LIST/ENVIRONMENT/EXTRACTORTEMPLATES
    • Added JSON/LIST/ENVIRONMENTS
    • Added JSON/LIST/DATASOURCES
    • Added JSON/LIST/AS400RESOURCES
    • Added JSON/LIST/MAILSERVERS
    • Added JSON/LIST/SETTINGS/GENERAL
    • Added JSON/LIST/SETTINGS/ADVANCED
    • Added JSON/GET/LOG/LEVEL,JSON/IDENTIFY
    • Added JSON/GET/LICENSE
    • Added JSON/GET/MONITORSERVICE/ENABLED
    • Added DATAQUEUE/CLEAR
  • Added the ability to override all export parameters excluding Location, Format and Method via the REPORT_RETURN_MAP form parameter. By adding an export parameter key and new value to this map, the iForms Server will add or override that export parameter on exporter zero. If you want the change the the value on an exporter other than the first one, add the exporter number to the end of the export parameter key.
  • Added License Type to status.html page.
  • Added Active Tasks to status.html page.
  • Updated the Ghostscript installer to version 9.0.7 for windows installs.
  • Added support for the OUTPUT_OVERLAY_PAGES modifier to OUTPUT_MULTIOVERLAYBG_FILE and OUTPUT_MULTIOVERLAYFG_FILE transformations.
  • Fixed the behavior of OUTPUT_SINGLEOVERLAYBG_FILE and OUTPUT_SINGLEOVERLAYFG_FILE to both load the input document first and then insert the page from the overlay document. This will produce more consistent results.
  • Fixed the issue with OUTPUT_SINGLEOVERLAYBG_FILE leaving an extra page at the end of the output document.
  • Added Integrated Monitor enabled setting
  • Added Integrated Monitor max threads setting
  • Added ability to monitor a Dataqueue, Directory, or IFS Directory with the iForms Server.
  • Added ability to trigger Report and Assembly tasks from a monitor.
    • The server supports multiple monitors.
    • A single monitor must have one or more tasks.
    • A single monitor can have both Report and Assembly tasks.
    • After processing is set at the monitor level.
    • All monitors will share the Monitor Threading Pool. Creating more monitors then threads in the pool will degrade performance.
    • Monitors have the ability to complete multiple tasks at one time. The limiting factors to this are the number of threads in the Monitor Threading Pool and the server Max Active Tasks.
    • The log will display what monitor a task is from.
    • A monitor will attempt to recover after a failure.
    • A monitor will not keep reprocessing a file after an error. Directory monitors will lose track of what files are processed on server restart.
    • A monitor can be named with the following characters only “a-zA-Z0-9 _”
    • Monitors will have a unique name.
    • A monitor will not start if it contains an invalid task.
    • Monitors are immutable. A monitor is never modified, it is destroyed and recreated. This process is largely invisible to the user.
    • Changes to a monitor via the REST API will not take effect until that monitor is restarted.
    • If no task has a filter that matches the input file, a log entry will be written and that input file will be ignored until user action is taken or the server is restarted.
  • Dataqueue monitor details.
    • The dataqueue monitor will attach to a dataqueue.
    • The dataqueue monitor will timeout after 15 seconds and reattach to the dataqueue. If the connection to the iSeries is lost, it will attempt to reconnect.
    • When a spool file goes ready in an out queue that is attached to that same dataqueue the iForms Server will be notified.
    • When notified the iForms Server will obtain the complete spool file attributes of spool file and place it on hold.
    • The monitor will then submit a new process to monitor the dataqueue.
    • The monitor will then search for task entry that contains a filter that matches the spool file attributes.
    • If one is found it will run that task.
    • If that task completes without errors the monitor will then perform after processing.
    • Multiple monitors/iforms servers can monitor the same dataqueue without issue. Only one iForms Server will receive the spool file.
  • Directory Monitor details.
    • The directory monitor will attach to a director on the local file system.
    • The directory should not be used to monitor a network drive.
    • The directory monitor will check the directory for changes using the following formula 5 seconds + last file count / 250.
    • If the last modified date on the directory has changed the monitor will retrieve the file list.
    • The directory monitor will maintain a list of files in the directory so it is aware of changes since the last pass.
    • New files will be added to a queue that is monitored by a thread in the Monitor threading pool.
    • If the queue contains a file the monitor will resubmit itself to the Monitor Threading Pool
    • It will then search for a task with a filter that matches the input file.
    • If a match is found it will then run that task.
    • If the task ends without an error after processing will be performed.
    • Only a single monitor can monitor a given directory.
  • IFS Directory Monitor details.
    • The IFS Directory monitor will attach to an IFS Directory.
    • The IFS Directory monitor should only be used to monitor an IFS Directory on a remote system. If the server is installed on an iSeries use the Directory monitor to monitor directories on that system.
    • The directory monitor will check the directory for changes using the following formula 15 seconds + last file count / 100.
    • The IFS Directory monitor will maintain a list of files in the directory so it is aware of changes since the last pass.
    • New files will be added to a queue that is monitored by a thread in the Monitor threading pool.
    • If the queue contains a file the monitor will resubmit itself to the Monitor Threading Pool
    • It will then search for a task with a filter that matches the input file.
    • If a match is found it will then run that task.
    • If the task ends without an error after processing will be performed.
    • If the iSeries connection is lost the monitor will attempt to reconnect.
    • Only a single monitor can monitor a given directory.
  • Report
    • Name – unique name
    • ID – id affects the order that tasks are checked for a filter match
    • Tag – used by the Monitor UI
    • Report Type – type of report task: Report, Text, XML, Spool File
    • Report Environment – the environment to find the template in.
    • Report Template – the report template
    • Zero or more Report Property key value pairs.
    • Zero or more Form Parameter key value pairs.
    • One or more Export. User interface allows the creation of one exporter, but can edit additional exporters if they are created manually.
      • Format
      • Location
      • Zero or more Export Parameter key value pairs.
    • One or more Filter Entry key value pairs.
  • Assembly
    • Name – unique name
    • ID – id affects the order that tasks are checked for a filter match
    • Tag – used by the Monitor UI
    • Assembly Type – type of assembly: PdfMerge
    • Zero or more Assembly Property key value pairs
    • Zero or more Assembly File Property key value pairs
    • One or more Export. User interface allows the creation of one exporter, but can edit additional exporters if they are created manually.
      • Format
      • Location
      • Zero or more Export Parameter key value pairs.
    • One or more Filter Entry key value pairs.

July 2013

Version 2.03.00
  • Enhance FileResolver to find referenced files in the same directory as the parent form.
  • Add option to embed a PJL Copies flag into PCL output generated by the GSPRINT format. This is disabled by default.
  • Removed duplicate “two-sided-long-edge” entry from the /iforms/list/printers API.
  • Updated PdfOne library to version 5.00.123. This will improve Windows printing performance and reduce memory usage when printing large files.
  • Fixed a thread level memory leak. When merging complex forms some objects are maintained at the thread level between merges. This version of the server will dump all thread level data when the server goes idle for more than 45 seconds. This change is a compromise to balance memory usage and performance.
  • The Windows based server now has the thread initial stack size set to 512K.
  • Improved the handing of job timeouts when printing. Print jobs will now cancel when the max runtime is exceeded. Previous versions would ether finish the print job, or abandon it and leave it hung in the print spooler depending on when the job is interrupted.
  • Limit each printer to only print one job at a time. Additional print jobs will be queues until the printer is available, or the printer lock timeout is exceeded. This will eliminate a possible race condition in some print drivers that would cause jobs to lockup in the print spooler.
  • Improved error handling with files processed with getIFSFiles and getFiles. These methods will now check for 0K files, and recover cleanly if input images are corrupt.

May 2013

Version 2.02.02
  • Fixed encoding issue that caused iForms Text Designer templates to fail to load if they became too large.

April 2013

Version 2.02.01
  • Fixed issue that caused the last line of a spool or text file to be lost. This was introduced in version 2.02.00.

April 2013

Version 2.02.00
  • Added check to verify that the input spool file status is *READY, *HELD or *SAVED. If the spool file status is something other than these the merge will terminate with an error.
  • Added filter to the following certificate fields to remove illegal characters. The fields are OrgUnit, Org, City, State and CountryCode.
  • Added support for Xml file input. In order use Xml for input the form template must be designed using the xPath or xPath2 query languages.
  • Added Xml input file and form template to install.
  • Added check for template query language to prevent forms from being run with the wrong input type.
  • Added core Packet Assembly components to the iForms Server.
  • Added PdfMerge task to iForms Server. This can be called directly via the .Net Client Proxy or via the IFMASM command in the iSeries library. Input Files can be transformed before being merged together.
    • Supported input Formats
      • Pdf
      • Tiff
      • Printable Spool File
    • Supported input Locations
      • Multipart HTTP POST
      • LOCAL
      • IFS
      • SPOOL
    • Supported Output Locations
      • HTTP
      • LOCAL
      • IFS
      • SPOOL
      • PCPRINTER
    • Supported Output Formats
      • PDF
      • TIFF
      • JPG
      • JPGZIP
      • PDFPRINT
      • GSPRINT
  • Added setting to adjust the iForms Server HTTP/HTTPS request header buffer size to Advanced Settings.
  • Increased the default iForms Server HTTP/HTTPS request header buffer size from 4K to 8K. If a merge URL exceeds the buffer size it may be truncated.
  • Fixed issue with the /iforms/get/query API breaking when the query result contained the /u001A and /u0000 characters.
  • Fixed issue where the TextExtract task was causing a leak in the JDBC connection pool when the server was in debug.
  • Added JPG output format. This format will convert a single page of input to a single jpg file with the selected settings
    • OUTPUT_IMAGE_PAGERANGE - page that will be converted to a jpg. Default: 1
    • OUTPUT_IMAGE_QUALITY - 0 to 1 with zero being the lowest quality. Default: 1
    • OUTPUT_IMAGE_HEIGHT - Document height in pixels
    • OUTPUT_IMAGE_DPI - Document dpi if width and height are not used. Default: 300
  • Added JPGZIP output format. This format will convert the specified pages of input to a zip of single page jpg files.
    • OUTPUT_JPG_PREFIX - Prefix of the jpg files in the zip. Default: PDF_<GUID>_Page_<Page Number>.JPG
    • OUTPUT_JPG_PAGERANGE - pages that will be converted to a jpg Default: all
    • OUTPUT_JPG_QUALITY - 0 to 1 with zero being the lowest quality. Default: 1
    • OUTPUT_JPG_WIDTH - Document width in pixels
    • OUTPUT_JPG_HEIGHT - Document height in pixels
    • OUTPUT_JPG_DPI - Document dpi if width and height are not used. Default: 300
  • Added TIFF output format. This format will convert the input document to a multipage tiff file.
    • OUTPUT_TIFF_COMPRESSION - Tiff compression type. black or color Default: black (tiffg4)
    • OUTPUT_IMAGE_DPI or OUTPUT_GS_DPI - Tiff DPI. Default: 300
    • OUTPUT_GS_TIMEOUT - GS timeout. Default: server setting
    • OUTPUT_PRINT_ORIENTATION - Rotate page to match this Orientation.
  • Added Transform output options that apply to the following output formats: PDF, TIFF, JPG, JPGZIP, PDFPRINT, GSPRINT unless specified on the transformation. External files can be on the iForms Server local system or in the IFS of the iSeries Resource.
    • Resize Output Document
      • OUTPUT_PAPER_SIZE - resize to paper size ex. "letter" or "612 792" in points. Required for following.
      • OUTPUT_PAPER_SCALE - Scale Document. NONE, FIT, SHRINK
      • OUTPUT_PAPER_CENTER - Center document on page. NONE, ALL, VERTICAL, HORIZONTAL
      • OUTPUT_PAPER_LMARGIN - Left Margin in points
      • OUTPUT_PAPER_RMARGIN - Right Margin in points
      • OUTPUT_PAPER_TMARGIN - Top Margin in points
      • OUTPUT_PAPER_BMARGIN - Bottom Margin in points
    • Rotate Pdf View
      • OUTPUT_PAPER_ORIENTATION - PORTRAIT,LANDSCAPE,REVERSEPORTRAIT,REVERSELANDSCAPE
    • Insert pages from a Pdf document into the output document.
      • OUTPUT_INSERT_FILE - Name of the local or IFS Pdf file that will be inserted into the current document. Required for following.
      • OUTPUT_INSERTTO_PAGES - Destination location of pages in the OUTPUT_INSERT_FILE. Ex. 7,ODD,EVEN,FRONT,BACK
      • OUTPUT_INSERTFROM_PAGES - Pages that will be inserting. Ex. 1-14, 16
    • Overlay output file with a repeating page from a Pdf document.
      • OUTPUT_SINGLEOVERLAYBG_FILE - Insert a page from a Pdf as the background for the output document. Required for following.
      • OUTPUT_OVERLAY_PAGES - Page in OUTPUT_SINGLEOVERLAYBG_FILE document that will be used as a background.
      • OUTPUT_OVERLAY_OFFSETX - Background Page Offset in points.
      • OUTPUT_OVERLAY_OFFSETY Background Page Offset in points.
    • Overlay output file with a Pdf Document
      • OUTPUT_MULTIOVERLAYBG_FILE - Insert a Pdf as the background for the output document. Required for following.]
      • OUTPUT_OVERLAY_OFFSETX - Background Page Offset in points.
      • OUTPUT_OVERLAY_OFFSETY - Background Page Offset in points.
    • Overlay output file with a Pdf Document
      • OUTPUT_MULTIOVERLAYFG_FILE - Insert a Pdf as the foreground for the output document. Required for following.
      • OUTPUT_OVERLAY_OFFSETX - Background Page Offset in points.
      • OUTPUT_OVERLAY_OFFSETY - Background Page Offset in points.
    • Output only specified pages from output document
      • OUTPUT_EXTRACTPAGE_RANGE - Use only these pages from the output document. Ex. 1-14, 16
    • Set output Pdf metadata fields. Pdf only.
      • OUTPUT_PDFMETADATA_TITLE - Set Pdf metadata field.
      • OUTPUT_PDFMETADATA_SUBJECT - Set Pdf metadata field.
      • OUTPUT_PDFMETADATA_AUTHER - Set Pdf metadata field.
      • OUTPUT_PDFMETADATA_CREATOR - Set Pdf metadata field.
      • OUTPUT_PDFMETADATA_KEYWORDS - Set Pdf metadata field.
      • OUTPUT_PDFMETADATA_VIEWOPTION - Set Pdf metadata field.
    • Set the specified files as attachments inside the output Pdf document. Pdf only.
      • OUTPUT_PDFATTACHEMENT_FILES - Attach one or more documents to the Pdf output document. This can be a single file or a list of files delimited by a “;”.
  • Adjusted the printer pool maximum update frequency from 300 seconds to 5 seconds.
  • Added a printer pool minimum update frequency and set it to 1 hour. The iForms Server is still subject to JVM printer service caching.
  • Added Datasource and iSeries Resource password encryption when they are added or modified via the REST interface.
  • Fixed an issue with the OUTPUT_PRINT_COPIES parameter not working when the output format is set to GSPRINT and the output location is set to SPOOL. The value of OUTPUT_PRINT_COPIES will now be assigned to the COPIES spool file attribute.
  • Fixed issue with the iForms Server admin page jumping back to the Status tab upon adjusting a setting. The current tab will now be refreshed in place.
  • Added log filtering to the log tab of the iForms Server admin page. The log can be filtered by;
    • A date time range.
    • A specific task id.
    • Advanced Regular Expression find by entering an * followed by your regular expression in the Filter Log by [id] box.
  • Added ability to turn on or off debug mode on the log tab of the admin page. This setting will NOT persist a server restart.
  • Fix issue with the SAVE and HOLD options when outputting to a spool file from the .Net Client Proxy.
  • Added /iforms/set/setting to the REST API. These add the option to modify server settings via the .Net Client Proxy.
  • Added ability to return values from the form back to the calling program. This is done via the REPORT_RETURN_MAP parameter.
  • Output page count is now returned back to the calling program.
  • The responses of the following REST calls are now alphabetized.
    • /iforms/list/environments/names
    • /iforms/list/datasources/names
    • /iforms/list/as400resources/names
  • The text AS400 Resource has been replaced with iSeries Resource in user interface.
  • Added logging to the /iforms/get/query when the iForms Server is in debug.
  • The server will now return an error if it is instructed to write an empty spool file. Previously it would fail silently.
  • Added support for PDF417 2D barcodes to the iForms Server.
  • Fixed issue where the first line of an input text file was skipped if it contained no content.
  • Added limited support for encrypted Pdf files. The server will strip the encrypted content from an input Pdf when processing it with the normalize method. (PdfMerge with no input paper size set) All other transformation methods will produce an error if the input Pdf contains encrypted content.
  • Increased the input spool file reader buffer size from 8K to 32K to improve performance high latency connections.

January 2013

Version 2.01.02
  • Fixed issue where the /iforms/list/environment/extractortemplates REST call returned the extractor template path incorrectly. This caused the extractor templates in the Extract tab in the iForms Designer to display all extractor templates as if they were in the environment root.
  • Fixed issue where using the data extractor data rule type ONLINENUMBER caused the following error after processing the first page of data. "ERROR com.rjssoftware.iforms.extractor.DataExtractor.ExtractNow(DataExtractor.java:431) - Error: NullPointerException"

December 2012

Version 2.01.01
  • The Windows installer is now a mixed mode installer. Install will require a 32 bit JVM to be installed on 32 bit Windows and a 64 bit JVM on 64 bit Windows. If the correct JVM is not installed the user will be directed to here: http://java.com/en/download/manual.jsp and will then need to select the correct download for their system. The iSeries is not affected by this change.
  • The installer package is now a .exe file rather than a .msi due to it being a 32/64 bit package.
  • Added output format RTF
  • Modified the output format PDFPRINT to improve support for Zebra printers. This change only affects documents with non-standard page sizes.
  • Improved CCSID to code page translation.
    • When the “Default Encoding used to read Spool File Streams” setting is set to “autodetect” the iForms Server will attempt to retrieve the spool file CCSID and select the appropriate code page.
    • When the “Default Encoding used to read Spool File Streams” setting is set to a valid Java code page name, this code page will be used to read the transformed input stream.
    • A valid Java code page name can be specified at the job level with the runtime parameter “REPORT_FILE_ENCODING”. This runtime parameter will override the iForms Server settings.
  • Added support for text files with encodings other than the OS default.
    • The iForms Server default text file encoding can be changed by specifying a valid Java code page name in the “Default Encoding used to read Text Files” setting.
    • A valid Java code page name can be specified at the job level with the runtime parameter “REPORT_FILE_ENCODING”. This runtime parameter will override the iForms Server settings.
  • Backslashes will now be correctly translated to the OS directory separator when uploading a file to the iForms Server via the RESTful API.
  • Printing errors will no longer throw a NullPointerException when the Windows print driver fails.
  • Added/improved support for special characters in multiple locations including printer names.
  • Added setting for loading printer pool on startup.
  • Added a restart action to the RESTful API. HTTPS://localhost:9715/iforms/restart. Note that the server will be restarted in the existing JVM instance.
  • Reduced the minimum field size in the RJSXML file field validation from two characters to one character.
  • Fixed a bug were the copies spool file attribute was not getting set when the output format/location is GSPRINT/SPOOL. This bug was introduced in version 2.1.0.
  • Added a set/log/level action to the RESTful API. Note: this logging level change will take effect immediately and will NOT be saved on server shutdown.
    • https://localhost:9715/iforms/set/log/level?LEVEL=DEBUG
    • https://localhost:9715/iforms/set/log/level?LEVEL=INFO
    • https://localhost:9715/iforms/set/log/level?LEVEL=WARN
  • Added a get/log/level action to the RESTful API. This will display the current global logging level. https://localhost:9715/iforms/get/log/level
  • Added web based configuration pages to server
    • Default URL: https://localhost:9715/
    • Supports IE9+, Firefox 3+, and Chrome.
  • The following settings require a server restart to take effect.
    • Server Database Port
    • Server HTTP Port
    • Server HTTPS Port
    • Integrated Database Server Enabled
    • Active Task Limit
    • Maximum Batch Tasks
    • Maximum Interactive Tasks
    • AS400 Resource CCSID
    • Maximum connection count from AS/400 connection pool
    • Inactivity timeout (seconds) for AS/400 connection pool
    • Server HTTPS Key Alias
    • Server HTTPS Keystore
    • Server HTTPS Keystore Password

October 2012

Version 2.01.00
  • HTTPS
    • Added HTTPS Port for secure client server communication. Default port number is 9715.
    • A self-signed certificate will automatically be generated on startup if the rjsiforms.crt keystore does not contain a valid certificate. The JVM must have keytool in the /bin directory.
    • Certificate will be loaded from rjsiforms keystore on startup and used for HTTPS Socket. The JVM must have keytool in the /bin directory.
  • Reorganized Request handlers to allow multiple domains.
  • Implemented RESTful API. All non merge URLs require a authentication unless otherwise noted.
  • Implemented Admin Domain. Admin domain requires authentication unless otherwise noted.
    • Added a basic implementation of the config page to Admin Domain.
  • Implemented Help Domain. Help Domain does not require authentication.
  • Implemented root Domain. Root Domain does not require authentication.
  • Implemented Extract Text/Spool File API.
  • Implemented Pre-Process Text/Spool File API.
  • Allow authentication via HTTPS port.
  • Add setting to allow localhost to shutdown server via API on HTTP port. Enabled by default on iSeries install. Disabled by default on Windows.
  • Merged the hostinfo.html and status.html pages to http://server:9615/status.html.
  • Server will now return an error if report merge produces zero pages of output.
  • PC Printer errors will now return more specific error messages.
  • Added Windows Firewall exceptions for Windows installs.
  • Added 64-bit exe wrapper to Windows installer to allow use of 64-bit JVM on Windows. The 32-bit exe wrapper is used by default.
  • Added embedded database server to iForms Server. Future iForms Clients Applications will be able to use this instead of external database. (Embedded database server is disabled by default in this version).
  • Added ability to export client certificate.cer file via API. http://server:9615/iforms/get/certificate does not require authentication.
  • Removed unintended requirement for an valid AS400Resource connection to do a form merge. To allow merges without an AS400Resource connection change the default as400 resource to blank "".
  • Added the ability to override the default task timeout at the job level.
    • To override using the IFMEXEC command with a 15 second timeout: RUNTIME((TASK_TIMEOUT '15'))
    • To override using the iFormsClient.dll Report object with a 15 second timeout: report.SetRuntimeProperty("TASK_TIMEOUT", "15");
  • Added ability to set a library list for AS400Resource connections. Once a library list is configured *LIBL can be used for the library in the output spool file library parameters.
  • This version contains changes to the XML structure of the RJSIFORMS.XML file. Files from pre-2.01.00 will require modification.
  • Fixes issue where the system hostname and ip address would be blank on the status page on some iSeries systems.
  • Eliminated posible NullPointerException errors in multiple locations.

July 2012

Version 2.00.03
  • iForms Server can now run Natively on the iSeries. The iForms Server iSeries package contains all functionality of the iForms Server on Windows environment excluding functions that require a Windows Print Driver.
  • The Windows based iForms Server now loads fonts from the Windows Fonts directory. The iSeries based iForms Server now loads fonts from the Fonts directory in the Application Directory.
  • All fonts visible to the server are logged to the server log on server startup.
  • Moved the processing of the BREAK preprocess rule to before overprinting is processed. Other rules are processed after the overprinting is processed.
  • Spool files now break lines on “[\r][\n]|[\n]” and break pages with rule type BREAK and filter “[\r][\f]” by default.
  • Text files now break lines on “[\r][\n]|[\n]|[\r]” and break pages with rule type AFTER and filter “[\f]” by default.
  • Implemented automatic page rotation into the GSPRINT format when PORTRAIT or LANDSCAPE is selected for Orientation for the following page sizes;
    • A4
    • Letter
    • Legal
  • Fixed error reporting on several “Exception null” errors. These will no longer cause a server exception, only a job level Exception.
  • iSeries Server Defaults:
    • Minimum Memory Setting 96MB
    • Maximum Memory Setting 256MB
    • JVM: /QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit
  • Form parameters with the prefix “REPORT_FILE_” will check for a file in the path specified in the parameter value. If a file is found it will be copied to a temp file. If the file is a TIF file it will be converted to a JPG file. If it is a Bitmap with Color Mode Indexed Color, the Color Mode will be converted to Color (RGB). The temp file will be removed when merge is complete.
  • Form parameters with the prefix “REPORT_IFSFILE_” act the same as “REPORT_FILE_” if a local file is found. If a local file is not found, it will search the specified path on the IFS of the As400Resource. If the file is found it will be downloaded and run through the conversion process described above. The temp file will be removed when merge is complete.

April 2012

Version 2.00.02
  • This version modifies how the text extractor works. This affects how spool files and text files are converted into a temporary table
  • Preprocess rules have been changed to 4 rule types: BREAK,BEFORE,AFTER and ONLINENUMBER.
  • Spool files will now break a record on the "[\f]" character by default. All data before the "[\f]" will be added to the previous record, and all data after the "[\f]" will be added to the next record.
  • Text files will now break at the end of a line containing the "[\f]" by default. This line will be added to the previous record, and the next line will start the next record.
  • Spool Files break lines on the following character combinations “[\r][\n]|[\n]”
  • Text Files break lines on the following character combinations “[\r][\n]|[\n]|[\r]”
  • The Text Extractor now supports overprinting in spool files.
  • Overprint lines containing only spaces and underscores are ignored.
  • Overprint lines containing data other than spaces and underscores will be merged together.

March 2012

Version 2.00.01
  • Significant performance improvements
  • Significant reliability improvements
  • Managed multithreading
  • Task prioritization
  • Granular task control
  • Unified logging, explicit error messages, improved log clarity
  • Significant Improvements in Advanced Printing
  • Support for independent task environments (production, dev, etc)
  • Support for multiple iSeries LPARs
  • Support for connection pooling
  • Moved from Tomcat to Jetty Embedded
  • Initiate tasks with HTTP POST/GET
  • Single configuration file

Back to Document Management Products