This is the README file for MPress 2.00. Contents ======== 1 System Requirements. 2 Installation 3 Configuration Information. 4 What's new in release 2.00 5 What's new in release 1.30 6 What's new in release 1.21 7 What's new in release 1.20 8 What's new in release 1.10 1 System Requirements =================== PC 100 MHz Pentium processor or better, 64 MBytes RAM (128 MB recommended), 15 MBytes free disk space, Windows NT (SP3 or later), Windows 2000 Professional (SP2 or later), or Windows XP. A TCP/IP connection to an NSK system. A monitor that supports a resolution of 1024 x 768 or higher is recommended. NOTE: We do not recommend installing MPRESS on Windows 95, 98 or ME. NSK NSK S series,Itanium H series, Nonstop SQL/MP, or SQL/MX release 2 or later TCP/IP. An HP LaserJet printer (PCL 5 or 6) or compatible printer or A PostScript level 2 compatible printer. 2 Installation ============ MPress consists of client components, which are installed on your PC, and server components which are installed on an HP NSK system. To install MPress, run either the full release setup program, or the client setup program. You will be prompted to supply a setup password which is available by sending an email to sales@merlon.com. Once Setup has finished, run the MPRESS.EXE client program. A wizard will help you complete the client configuration, and the installation and configuration of the server components. NOTES: a) It is recommended that you do not install the MPress client program in the same directory as a previous version. If you choose to do so, use Add / Remove programs to uninstall the previous version. b) To install the NonStop SQL/MX driver module you must have permission to write to the /usr/tandem/sqlmx/USERMODULES directory. To re-install, you also need permission to remove the existing module file (MERLON.SQLDX.VER_1). 3 Configuration Information. ========================== In order to configure MPress, you will need to know the following: a The name of a TCP/IP process running on the NSK system that can be used to connect from your PC. The default is $ZB01C, you may use a different value on your system. If Parallel TCPIP is installed on your system, use the name of a TCPSAM process instead of a TCP/IP process. Check with your system administrator. b The TCP/IP address used by this TCP/IP (or TCPSAM) process, for example 192.168.1.2 (Use the SCF command INFO SUBNET $.* to display the IP address of the TCP/IP process.) c For MPress servers, you will need one port number for the MERLON LISTEN process. Note that the port number you choose must not be used by any other applications that share the same TCP/IP process with MPress.Port numbers that are less than 1024 are reserved for special services like FTP and TELNET. Therefore, you must use a port number greater than 1023. (To find out which port numbers are in use, use the SCF STATUS PROCESS command for the TCP/IP process you plan to use). d A home term name . This should be a permanent device or process name (like $ZHOME, or $VHS). Do not use a dynamic terminal name, for example a dynamic Telnet terminal name. e The name of an SQL MP catalog and subvolume for the MPress database. ============================================================================== 4. MPress Changes for Release 2.00 ============================================================================== 1. The ability to print preformatted forms (e.g. labels) was added along with a database of standard AveryŠ form dimensions. 2. A standalone viewer/reporter, MPrint, was created to allow selected read-only access to MPress reports. 3. A publication database was added allowing reports to be published for use with the new MPrint standalone viewer/reporter. 4. An SQL Query Builder was added to assist in creating MP/MX Datasource statements. 5. The startup interface was standardized with other Merlon products. 6. Working with character sets was enhanced to enable MPress to work with various character set encodings. A Column character set component was added to assist in this. 7. Some deficiencies were corrected. ============================================================================== 5. MPress Changes for Release 1.30 ============================================================================== 1. Combined Reports The MPress rendering engine can be used to combine multiple reports into one output file or print job. The individual reports are designed separately using the designer, but are generated together from TACL or a script. 2. Data Summarization A datasource can now include a post-select data summarization step. The data can be summarized in a way similar to the SQL GROUP BY facility, except that aggregation functions such as COUNT, SUM, MAX, etc., can each include a WHERE clause that subselects the rows or records used to form the aggregate. The output from the summarization process can be (re)sorted using one of the new aggregate fields. 3. Checkboxes A new component for designing various types of checkbox or "radio" button was added. A checkbox component is printed "checked" when it's checkedwhen property evaluates to a boolean true value. 4. Data Aggregation Functions The data aggregation functions MODE, MEDIAN, and CONCATENATE were added. These functions can be used with a data summarization step (above), or within group headers and footers. 5. Support for various barcodes. 6. @FORMAT Function A builtin function @FORMAT was added. @FORMAT can be used to control formatting other datatypes as substrings before concatenation in expressions. 7. Defect Correction A number of defects were corrected. ============================================================================== 6 What's new in Release 1.21 ============================================================================== a) MPress can now produce Adobe(R) Portable Document Format (pdf) files directly. b) MPress can now write output directly to OSS files, as well as to Guardian files. c) The builtin functions FLOAT and ROUND were added. NOTE: For this release please use both parameters for the ROUND builtin. E.G. Use ROUND(123.4, 0) instead of ROUND(123.4). d) A number of defects were corrected. ============================================================================== 7 What's new in Release 1.20 ============================================================================== There are two major enhancements in this release of MPress: a) Charting capability was added. b) Major enhancements where made to the Enscribe Data Extraction component (DXE) Charts ====== A chart object requires an associated datasource. The datasource must be constructed so that one or more rows containing the data to be charted are returned. For each type of chart, there are horizontal (simple) and vertical (complex) interpretations of the data. For bar charts, there are also horizontal and vertical presentations. Horizontal Pie For a simple pie chart, the datasource should return a single row. Each positive numeric value in the result set forms a slice of the pie. The column names are printed (on the legend) as the description of each slice. Vertical Pie For a complex pie, the datasource returns multiple rows. The chart object defines which column contains the numeric data to be charted, and also which column contains the descriptions. Horizontal Bar The datasource returns multiple rows. Each numeric column value in the result row(s) is/are charted as a bar(s). The bars can be stacked, or can sit beside each other. Each set of bars is labeled with the column name. A simple bar chart can have a horizontal (labels on the y-axis with horizontal bars), or vertical (labels on the x-axis with vertical bars) presentation. Vertical Bar The datasource returns multiple rows. The column containing labels is defined by the chart object. Any other rows should be numeric and are plotted together (stacked or size-by-side) and labeled with the data from the label column. The chart can have a vertical or horizontal presentation. Horizontal Line and Vertical Line charts are analogous to bar charts except that the data are plotted in lines. Text A Text Chart is a matrix style print of the numeric values from the chart's datasource along with column headings. Enscribe Data Extraction ======================== a) The Enscribe SELECT statement is now constructed in a similar manner to the SQL SELECT statement. A tree of dictionaries with DEFs, RECORDs and FIELDs can be used to insert those values into the statement and files and queries can still be browsed for. A KEY phrase builder has also been added. Keywords and built-ins applicable to Enscribe are available in drop-down lists. A Guide (Wizard) has been added to simplify building Enscribe SELECT statements. b) The Enscribe SELECT statement now supports WHERE and ORDER BY clauses. The WHERE condition can include the standard relational operators as well as BEGINS [WITH] (for leading string comparisons) and MATCHES (for a pattern match using *, ?, and + as wildcard characters). c) Conditional terms can make use of the operations +, *, -, / etc. As well there is support for the following built-in functions: a. COMPUTEJULIANDAY (y, m, d) returns an integer day number b. COMPUTETIMESTAMP (y, m, d) returns an integer timestamp c. CONVERT48TIMESTAMP (t) converts an old style 48 bit timestamp in a PIC X(6) field to a 64 bit local timestamp. d. CONVERTGMTTIMESTAMP (t) converts a GMT timestamp to local time. e. JULIANDATESTAMP() computes the local timestamp of midnight of the current day f. JULIANTIMESTAMP() computes the current local timestamp g. LOWERCASE(s) converts a string to lowercase h. SUBSTR(s,p[,l]) extracts a substring starting at position p (optionally of length l). i. UPPERCASE(s) converts a string to uppercase. d) ORDER BY can specify up to 32 fields for ordering the report data. Each field can optionally be DESCENDING or UPSHIFTed. Note that ORDER BY always causes a sort to occur, even if the data is already in the specified order. e) Unlike SQL, the Enscribe data extractor cannot determine an optimal access method for the data from the WHERE clause. You should use the ALTKEY or KEY clauses to specify what records will be read. If you do not specify a KEY or ALTKEY clause, then DXE will scan the entire input file searching for records which match the WHERE condition. f) The Enscribe SELECT statement now supports the use of an ALTKEY clause to cause positioning on an alternate key. g) Both KEY and ALTKEY clauses have been enhanced to specify both start and end keys. h) The Enscribe SELECT statement has been extended to allow specification of a DEF in addition to, or instead of, the RECORD specification. i) The Enscribe SELECT statement has been extended to allow the specification of both MAXRECORDS (the maximum number of records to read from a data source), and MAXSELECTS (the maximum number of records to be selected from a datasource). Neither, one, or both of these options may be specified. j) The Enscribe SELECT statement now allows the specification of NOTRIM, which prevents strings from having trailing nulls and blanks removed Other Changes ============= a) A PrintWhen property was added to bands and sections. The property contains an expression that suppresses printing of the band or section (and all of its contents) if the expression evaluates to FALSE. b) A PRINTCOUNT builtin rendering function was added. This function takes a single string argument that is the name of a band or section component. It returns the number of times the band has been printed. c) A CONVERT48TIMESTAMP rendering function was added. This converts an old style 48-bit timestamp to a 64-bit local timestamp. d) A MAXROWS attribute was added to datasources. This allows a datasource to be restricted to a maximum number of records after any ordering or selection has occurred. This permits the construction of reports that list the "first 100" or the "top 10". e) A COLUMNS attribute was added to regions. If this attribute is set, and is greater than 1, it specifies a number of columns for the printing of detail bands. The width of the region is divided by the number of columns in order to determine the width (and leftmost positions) of each detail band. Bands other than detail bands are not affected by this setting. f) ORIENTATION can now be specified for pages. Acceptable values are: poPortrait, poLandscape, or poParent. g) The WaterMark object was implemented for text watermarks. h) Save to JPEG and Save To BMP were added to Print Preview. i) Bands can be minimized/maximized to keep them together. Notes ===== a) The shapes RoundedRectangle and RoundedSquare are not currently supported in the server. ============================================================================== 8 What's new in Release 1.10 ============================================================================== a) Support was added for Enscribe datasources. An Enscribe datasource can read data from a single Enscribe file, or from an Enform compiled query containing a single FIND statement. b) Support was added for "lookup" datasources. A lookup datasource is associated with a section. When the section is printed, the lookup datasource is used to fetch a single record from a database. Component in the section can access the fields from the lookup datasource. c) Parameters in lookup datasources can take their value from expressions, or from report datasource fields, as well as TACL PARAMS. d) A new property "PrintWhen" was added to band components. PrintWhen is an expression that evaluates to true or false. Each time a band is a candidate for printing, its PrintWhen property is evaluated, if true the band prints, otherwise the band is not printed. If PrintWhen is blank, the band always prints. Note that a PrintWhen expression should not contain forward references, for example, using SUM(FLD OVER GRP) in a group header. The calculation of a forward reference cannot be deferred, since the report engine has to make the decision to print or not at the time the band is being rendered. If PrintWhen contains a forward reference the value at the time of evaluation will be used instead. This will usually not produce useful results. Examples of use are: A datasource with more than one record format. Define a detail band for each record format, with each band having a PrintWhen condition that tests for the record type. Suppressing printing of a group footer based on some condition like total order value is zero. e) The Import Picture command now supports JPEG as well as BMP files. f) A font toolbar was added to the designer, making it much easier to set font attributes. g) Inplace editing was added for a number of component types. Inplace editing allows you to edit the principle property of a compoent directly from the design surface. To invoke inplace editing, click on a component, and press Ctrl + E. The properties you can edit are: Component Type Property Label Caption Field Field DBMemo Field Variable Kind Shape Kind In addition, you can replace the Caption text for a label simply by selecting it, and typing the new text. Ctrl + E is also the shortcut for the following popup editors: Component Type Property DataSource Text Expression Expression Memo Caption The addition of the font toolbar and inplace editing means that you can set many more properties without having to use the Inspector. This allows you to do much of your design work with the Inspector closed. This frees up screen space for the designer, reducing the need to scroll the design surface. h) A number of small improvements were made to the report designer. i) A number of defects were repaired.