i-net Clear Reports

Overview

  • Remote Configuration Manager: The Remote Interface is a web based GUI for online administration of i-net Crystal-Clear. It allows you to manage the server configurations from any PC. The Remote Interface can be accessed in the browser using the URL:
    • http://<servername>:<port>/remote/ or
    • http://<servername>:<port>/<context>/remote/
    • By default the Remote Interface is disabled after installation. Before you can use it to configure i-net Crystal-Clear, it is necessary to enable the Remote Interface in the Configuration Manager.
  • Remote Data Source Manager: There is now a new remote module for configuring and managing a server's data source. This enables you to configure your data source configurations within your browser via an elegant and simple web interface.
  • Report Repository: Since version 9.1 it is possible to host a Report Repository on a running i-net Crystal-Clear Plus server. Using the module “Repository Browser” of the Remote Interface it is possible to manage and use the content of the configured repository remotely in a browser on a client. Using the Repository Browser in i-net DesignerXML, users have direct access to a configured repository. It is possible to directly open, create and save reports in the repository without using the Remote Repository Browser so that the repository can be used as centralized storage for the reports of multiple designers.
  • System Permissions: Using the System Permissions it is possible to configure the access the different modules of the Remote Interface, like Repository.
  • Modified Behavior of formulas with evaluation time WhileReadingRecords:
    • All formulas with evaluation time WhileReadingRecords that are used in the report are now executed before the rendering of the first section begins.
    • Variables used in formulas with the WhileReadingRecords evaluation time are not reset before the rendering starts so that the variables can be used in formulas with WhilePrintingRecords evaluation time, also.
      Because of this modified behavior it might be necessary to update your reports using the WhileReadingRecords function so that you get the same result as with previous i-net Crystal-Clear versions. It is unfortunately necessary to do this behavior modification because the old behavior was incorrect.
      If you use an older configuration with i-net Crystal-Clear version 9, then it is necessary to set the Compatibility Level to “compliant to version 9.x” to use the new behavior of “WhileReadingRecords” formulas. If you create a new configuration with version 9, then “compliant to version 9.x” is the default value.
  • Summary functions reworked: The summary functions were completely reworked to optimize the performance and compatibility. These are the major impacts of this change:
    • in running total summaries, any database, formula or group field can be used as an evaluate or reset condition
    • in running total summaries, non-boolean formula fields can now be used as an evaluate or reset condition
    • running total summaries now have the same performance impact as non running totals, but they still require more memory
    • it is now always safe to summarize other summary fields
    • non-statistical functions have an initial value of 'null' instead of zero
    • adding one or more 'null' values to a summary will not change it's result
    • correlation and covariance now return 1 if their result is undefined
    • 'Pth Percentile' now has a more precise stepping
    • 'Nth most frequent' now always groups by frequency and orders ascending by value before returning the n-th value.
  • Improved Report File Format: Starting in version 9, i-net Crystal-Clear uses a zipped file format for the report templates (.rpt), similar to the OpenDocument zip file format. This new report file format was a prerequisite for new features like the Report Preview. With this format the performance has been improved especially for large reports, because the file size is smaller and it is faster. Also, with this format we are open for further additions to the report templates.
  • New export formats: BMP, GIF, JPG and PNG: With version 9 it is supported to export an individual report page as an image. The following formats are supported: BMP, GIF (with at least Java 6 on the server), JPG and PNG.
    With the report URL parameters zoom, width, height and background it is also possible to configure the exported image.
  • New renderer for text interpretation: HTML (advanced): Fields with Text Interpretation “HTML (advanced)” now use the HTML renderer from i-net software. This fixes many problems which occurred with Swing's HTML renderer which was used before for these fields.
  • Report URL parameters are disallowed by default: For security reasons, only the following parameters are allowed by default in the report URL: “prompt”, “init” and “sproc”. To use other parameters in the report URL, like “datasource”, it is necessary to unlock them in the Configuration Manager before using it.
    It is always possible to set values for all parameters in the checkProperties method on the server side. Java code samples showing this you can find in the “sample” directory of the documentation (if installed).
  • Underlay Following Sections: The algorithm for “Underlay Following Sections” was rewritten to implement the correct definition. This can change the output of your reports if you were affected by bugs in the old implementation. One benefit is that you can now design reports with watermarks without any problems. If you want to create a watermark then you only need to add a first section to the report/page header and enable “Underlay Following Sections” for this section. You should place the image either in the report or the page header depending on if you want one watermark per report or one per page.
  • i-net DesignerXML - Default Values: With version 9.0 it is supported to set default values for the formatting properties used for newly created elements in i-net DesignerXML.
    General, font, and border properties can be set for all element types, such as database fields, summary fields, group name fields, and text objects.
    Text, paragraph, and value properties can be set depending on the field type, such as String, Number, Currency, Date, Time, DateTime, and Boolean fields.
  • i-net DesignerXML - Report Preview: A preview of the report will be displayed on the right side of i-net DesignerXML's File Open dialog if the report was executed at least once and saved with version 9.
  • i-net DesignerXML - Signature Element: With a signature element it is possible to display signature information in the exported PDF file. The signature element is not visible in the Java Viewer or the other export formats. To use the signature element it is necessary to activate and configure the PDF signing in the i-net Crystal-Clear Configuration Manager under “Export –> Sign PDF Files”.
  • i-net DesignerXML - Translation Settings / Resource Bundle per report: The translation settings allows you to create, edit, remove, import, and/or export translations for a report so that it is possible to create one report for multiple languages. The translation resources will be stored in the report file and will be used during the execution of the report. To open it choose “Translations…” from the report menu.
  • i-net DesignerXML - Welcome Page: The welcome page will be displayed after starting i-net DesignerXML. The available resources are displayed in different regions of this page, so that the user can access it easily.
    With the checkbox at the bottom of the welcome page, the user can decide if he will see this page in the future. If it is disabled then he can display it again using the menu item in the Help menu.
  • Step-By-Step Tutorials: The Step-By-Step Tutorials will guide the user through the steps of doing things in i-net DesignerXML.
    The user can access the tutorials in the Welcome Page or in the Help menu.
  • Setup - Improved Selection of Installation Type and Component Selection: In the first page of the setup the user can decide easily if he will install the i-net DesignerXML or i-net Crystal-Clear as report server. If the user clicks on Server installation then he can select the installation environment on the next page. In the custom installation it is still possible to install both i-net DesignerXML and the report server or servlet in one step.

i-net Crystal-Clear runtime

New Features / Improvements

  • New Remote Configuration Manager for online administration of i-net Crystal-Clear. It allows you to manage the server configurations from any PC.
  • Improved rpt file format. - Since version 9 a zipped file format is used for the report templates (.rpt)..
  • ReportReaderNet for reports designed with Crystal Reports XI R2 or higher.
  • Image export formats added: PNG, JPG, BMP and GIF (Java 6 or higher).
    URL Parameter options are zoom, width, height and background.
  • Start Page added. - It can be accessed with one of the following URLs:
    • http://<servername>:<port>  (for Report Servers)
    • http://<servername>:<port>/<context>  (for Report Servlets)
  • Report URL parameters deactivated by default. - For security reasons, only the following report URL parameters are allowed by default in the report URL: “prompt”, “init” and “sproc”. To use other parameters in the report URL, like “datasource”, it is necessary to unlock them in the Configuration Manager before using it.
  • New API method:
    • Field.duplicate(String)
      Duplicates the Field and returns the created Field with the given name. This method can only be called for copyable fields, i.e. Formula, Prompt, SQL, and Summary Fields. All other fields will throw an UnsupportedOperationException.
    • Cache.getxxxAndWait methods with timeout parameter added.
  • New property: For the options “report location” in the report permission settings the option “JNDI location allowed” is now available.
  • Fields with Text Interpretation “HTML (advanced)” now use the HTML renderer from i-net software. This fixes many problems which occurred with Swing's HTML renderer which was used before for these fields.
  • Hyperlinks on box elements supported.
  • New Java Bean added: JGauge. Can be used to display gauge charts in the reports.
  • HTML export: The autorefresh feature has now also been implemented for HTML export - using the parameter “autorefresh” will cause the page to be reloaded every x milliseconds, e.g. “autorefresh=10000” for having the page refresh every 10 seconds (build 9.0.130).
  • HTML Parameter Request dialog translated depending on the client locale (build 9.0.155).
  • On Linux/Unix the file “Listener.sh” added. It can be used to start, stop and restart the report server listener (build 9.0.170).
  • Start scripts “startListener.command” and “startConfigurationManager.command” for Mac OS X added (build 9.0.170).

Changed Behavior

  • Incorrect behavior of WhileReadingRecords formulas has changed.
    • All formulas with evaluation time WhileReadingRecords that are used in the report are now executed before the rendering of the first section begins.
    • Variables used in formulas with the WhileReadingRecords evaluation time are not reset before the rendering starts so that the variables can be used in formulas with WhilePrintingRecords evaluation time, also.
  • It is no longer supported to use summary functions in WhileReadingRecords formulas. These formulas will be automatically set to WhilePrintingRecords.
  • It is now possible to choose how formulas will react on empty database fields.
  • Under Windows, the ReportReader tools are now located in the common Program Files folder.
  • The configuration properties and their values are now logged in alphabetical order in the log output to make it easier to find a configuration setting.
  • Chart:
    • The handling of null values in the continuous charts was changed. The chart ignores now the null values of the category group field.
    • A 'for each record' dataset configuration supports now the color formula, too.
  • The report name is proposed in the save dialog of the browser if the report URL parameter “init=<export-format>” is used to export a report. Previously, the server name was proposed.
  • Table alias names consisting of digits only will be written with the prefix 'z'.
  • Group Selection Formula:
    • Now, filter each record, not only one record per group.
    • Now executed also, if there are no groups in the report.
  • As soon as a configuration is changed or a new one is set, i-net Crystal-Clear automatically refreshes its settings. Before, the settings were only refreshed as soon as a report was attempted to be rendered.
  • Formula errors which are shown in the report are now prefixed with the string “Formula error:” in order to avoid misunderstandings depending on the formula error message (since build 9.0.130).
  • PDF export: EUDC characters will be rendered with the help of EUDC font even if the font of paragraph or field is not an EUDC font. EUDC font must have the name 'EUDC.tte' and must be located in FontPath directory. The font of the paragraph or field must be an embedded font, also (build 9.0.175).

Fixed Bugs

  • ArrayIndexOutOfBoundsException occurred if report was designed on Informix stored procedure.
  • Lines and boxes spanning multiple sections with enabled “Extends to Bottom of Page” were sometimes not displayed correctly.
  • Error message “The page “x” is out of range (y)” occurred under certain conditions.
  • The “null behavior” of formulas was incorrectly read from Crystal Reports templates.
  • A rare NullPointerException could occur internally when opening the scheduler Servlet on a Tomcat 5.5 system.
  • A NullPointerException occurred when a report was incorrectly saved with two summary fields having the same name.
  • There were line break issues when prompts were used as field parts and were directly connected to text parts with no spaces in between.
  • XLS export: Property “firstgroupassheets” has not worked correctly (no new sheets were created for the group instances) if multiple section has been suppressed in the report.
  • In sub reports without can grow there were overlaps and the border of the sub report has been overwritten.
  • The size of sub reports is not reduced if the designed space is larger than needed.
  • Detail section with enabled “Underlay Following” slipped behind group footer.
  • On Unix/Linux systems, a BackingStoreException could be fired every 30 seconds if write privileges were not available for the user or system preferences.
  • The ToText function used the server locale instead of the client locale for creating a string for date ranges. It now uses the client locale.
  • JRA/JAR export did not work with report URL parameter “init”.
  • The method “Datasource.getDatabase()” could lead to a “Connection leak”, meaning Connection objects were created but not closed. This could lead to timeouts and other problems later on.
  • It was possible to call engine.getDatabaseTables() before setReportFile was called.
  • Under some circumstances, parameter fields which were only used in the Record Selection Formula were not requested from the user when running the report.
  • NumberFormatException while reading report file occurred during thread problems (fixed in build 9.0.113).
  • IllegalArgumentException occurred while opening report file after parameter field type has changed (fixed in build 9.0.120).
  • Because of an exception occurred while reading sproc parameter values for a store procedure (e.g. on Informix) the value for some stored procedure parameters was null (fixed in build 9.0.121).
  • Cascading parameter fields were incorrectly read from reports saved since version 9.0 (fixed in build 9.0.130).
  • ReportBridge and PHP sample has not worked correctly with current i-net Crystal-Clear version
    (fixed in build 9.0.144).
  • Formula function “lookslike” does not detect string “bcdbcde” by the pattern “bcd *?” (fixed in build 9.0.170).
  • JavaVM crashed on a Windows XP machine if Java 6 was used and after opening a document (e.g. PDF file) or browsing to an URL (fixed in build 9.0.170).
  • Under some circumstances, parameter fields which were only used in SQL expression fields were not requested from the user when running the report.
  • ReportReaderNet has created corrupt rpt files with diagonal lines, invalid xml etc. (fixed in build 9.0.170).
  • An report error occurred if a formula contains very long integer numbers. The formula parser is now able to read very long integer numbers (fixed in build 9.0.175).

API Changes

  • Added Constants
    • com.inet.report.Engine
      • EXPORT_BMP
      • EXPORT_GIF
      • EXPORT_JPG
      • EXPORT_PNG
    • com.inet.report.FormulaField
      • TREAT_NULL_AS_NULL
      • TREAT_NULL_BY_DEFAULT
      • TREAT_NULL_BY_EXCEPTION
  • Added Methods
    • com.inet.report.Cache
      • getxxxAndWait(xxxx, “int timeout)”
    • com.inet.report.Datasource
      • setDataSourceConfiguration(DataSourceConfiguration)
      • setDataSourceConfigurationName(String)
    • com.inet.report.Engine
      • setDataSourceConfigurationName(String)
    • com.inet.report.Field
      • duplicate(String)
    • com.inet.report.FormulaField
      • checkContext()
      • checkFormula(String, boolean, Engine, Field, Object, int, int)
      • duplicate(String)
      • getNullBehavior()
      • setNullBehavior(int)
    • com.inet.report.Line
      • setHyperlinkUrl(String)
      • setHyperlinkUrlFormula(FormulaField)
    • com.inet.report.PromptField
      • duplicate(String)
    • com.inet.report.ReportProperties
      • isCCFormat()
      • getXMLMajorVersion()
      • getXMLMinorVersion()
    • com.inet.report.SummaryInfo
      • getThumbnail()
      • setThumbnail(Image)
    • com.inet.report.SQLField
      • duplicate(String)
    • com.inet.report.SummaryField
      • duplicate(String)
    • com.inet.report.TableSource
      • getDatabaseField(int)
  • Methods and Constants deprecated as of Version 9
    • com.inet.report.Datasource
      • setup(String)
      • setup(DataSourceConfiguration)
    • com.inet.report.RDC
      • loadEngine(File, BufferedReader)
      • loadEngine(File, BufferedReader, Properties)
      • Engine loadEngine(File, BufferedReader, String)
      • saveEngine(PrintWriter, Engine)
  • Removed Deprecated Methods and Constants
    • com.inet.report.schedule.Scheduler
      • getEmailPassword()
      • setEmailPassword(String)
      • getEmailPop3Host()
      • setEmailPop3Host(String)
      • getEmailSender()
      • setEmailSender(String)
      • getEmailSmtpHost()
      • setEmailSmtpHost(String)
      • getEmailUser()
      • setEmailUser(String)
    • com.inet.report.AbstractLineElement
      • getExtentToBottomOfSectionWhenPrinting()
    • com.inet.report.AbstractValueElement
      • getDateFirstSeperator()
      • setDateFirstSeperator(String)
      • getDateFirstSeperatorFormula()
      • setDateFirstSeperatorFormula(FormulaField)
      • getDatePrefixSeperator()
      • setDatePrefixSeperator(String)
      • getDatePrefixSeperatorFormula()
      • setDatePrefixSeperatorFormula(FormulaField)
      • getDateSecondSeperator()
      • setDateSecondSeperator(String)
      • getDateSecondSeperatorFormula()
      • setDateSecondSeperatorFormula(FormulaField)
      • getDateSuffixSeperator()
      • setDateSuffixSeperator(String)
      • getDateSuffixSeperatorFormula()
      • setDateSuffixSeperatorFormula(FormulaField)
      • getDateTimeSeperator()
      • setDateTimeSeperator(String)
      • getDateTimeSeperatorFormula()
      • setDateTimeSeperatorFormula(FormulaField)
      • getDayOfWeekSeperator()
      • setDayOfWeekSeperator(String)
      • getDayOfWeekSeperatorFormula()
      • setDayOfWeekSeperatorFormula(FormulaField)
      • getDecimalSeperatorsSymbol()
      • setDecimalSeperatorsSymbol(String)
      • getDecimalSeperatorsSymbolFormula()
      • setDecimalSeperatorsSymbolFormula(FormulaField)
      • getHourMinuteSeperator()
      • setHourMinuteSeperator(String)
      • getHourMinuteSeperatorFormula()
      • setHourMinuteSeperatorFormula(FormulaField)
      • getMinuteSecondSeperator()
      • setMinuteSecondSeperator(String)
      • getMinuteSecondSeperatorFormula()
      • setMinuteSecondSeperatorFormula(FormulaField)
      • getThousandSeperatorsSymbol()
      • setThousandSeperatorsSymbol(String)
      • getThousandSeperatorsSymbolFormula()
      • setThousandSeperatorsSymbolFormula(FormulaField)
      • getUseThousandSeperators()
      • setUseThousandSeperators(boolean)
      • getUseThousandSeperatorsFormula()
      • setUseThousandSeperatorsFormula(FormulaField)
    • com.inet.report.BorderProperties
      • getBottomLineStyleFormel()
      • getTopLineStyleFormel()
    • com.inet.report.Chart
      • CUSTOM_NUMER_FORMAT
      • getSort()
      • setdataValuesMinMax(double, double)
      • setSort(int)
    • com.inet.report.ChartFormatProperties
      • getDateFirstSeperator()
      • setDateFirstSeperator(String)
      • getDateFirstSeperatorFormula()
      • setDateFirstSeperatorFormula(FormulaField)
      • getDatePrefixSeperator()
      • setDatePrefixSeperator(String)
      • getDatePrefixSeperatorFormula()
      • setDatePrefixSeperatorFormula(FormulaField)
      • getDateSecondSeperator()
      • setDateSecondSeperator(String)
      • getDateSecondSeperatorFormula()
      • setDateSecondSeperatorFormula(FormulaField)
      • getDateSuffixSeperator()
      • setDateSuffixSeperator(String)
      • getDateSuffixSeperatorFormula()
      • setDateSuffixSeperatorFormula(FormulaField)
      • getDateTimeSeperator()
      • setDateTimeSeperator(String)
      • getDateTimeSeperatorFormula()
      • setDateTimeSeperatorFormula(FormulaField)
      • getDayOfWeekSeperator()
      • setDayOfWeekSeperator(String)
      • getDayOfWeekSeperatorFormula()
      • setDayOfWeekSeperatorFormula(FormulaField)
      • getDecimalSeperatorsSymbol()
      • setDecimalSeperatorsSymbol(String)
      • getDecimalSeperatorsSymbolFormula()
      • setDecimalSeperatorsSymbolFormula(FormulaField)
      • getHourMinuteSeperator()
      • setHourMinuteSeperator(String)
      • getHourMinuteSeperatorFormula()
      • setHourMinuteSeperatorFormula(FormulaField)
      • getMinuteSecondSeperator()
      • setMinuteSecondSeperator(String)
      • getMinuteSecondSeperatorFormula()
      • setMinuteSecondSeperatorFormula(FormulaField)
      • getThousandSeperatorsSymbol()
      • setThousandSeperatorsSymbol(String)
      • getThousandSeperatorsSymbolFormula()
      • setThousandSeperatorsSymbolFormula(FormulaField)
      • getUseThousandSeperators()
      • setUseThousandSeperators(boolean)
      • getUseThousandSeperatorsFormula()
      • setUseThousandSeperatorsFormula(FormulaField)
    • com.inet.report.CrossTab
      • getColTotalOnLeft()
    • com.inet.report.CrossTabCell
      • setHeightByFieldElements()
      • setWidthByFieldElement(int)
    • com.inet.report.DatabaseTables
      • addSproc(String, String[], int[])
      • addSproc(String, String, String[], int[])
      • addSqlSource(String)
      • addSqlSource(String, String)
      • getDistinct()
      • getPassword()
      • getUser()
      • setCatalog(String)
      • setColumnNames(String, String[])
      • setColumnTypes(String, int[])
      • setDistinct(boolean)
      • setDll(String)
      • setHost(String)
      • setPassword(String)
      • setSchema(String)
      • setURL(String)
      • setUser(String)
    • com.inet.report.Element
      • getBottomLineStyleFormel()
      • getToolTipsTextFormel()
      • getTopLineStyleFormel()
      • getWebSiteAddressFormel()
      • setWebSiteAddressFormula(FormulaField)
    • com.inet.report.Engine
      • getCatalog()
      • getConnection()
      • getDll()
      • getHost()
      • getPassword(int)
      • getPasswords()
      • getSchema()
      • getURL()
      • getUser(int)
      • getUsers()
      • setDll(String)
      • setHost(String)
      • setPassword(String, int)
      • setPasswords(Vector)
      • setSql(String, boolean)
      • setURL(String)
      • setUser(String, int)
      • setUsers(Vector)
    • com.inet.report.Fields
      • addDatabaseField(String)
      • addSortField( field, String)
    • com.inet.report.FormulaField
      • checkFormula(String, boolean, Engine, Field, Object, boolean)
    • com.inet.report.GeneralProperties
      • getToolTipsTextFormel()
    • com.inet.report.HyperlinkProperties
      • getWebSiteAddressFormel()
      • setWebSiteAddressFormula(FormulaField)
    • com.inet.report.JavaBean
      • getBeanProperty(String)
    • com.inet.report.LineProperties
      • getExtentToBottomOfSectionWhenPrinting()
    • com.inet.report.SortField
      • setSortDirectionFormula(String)
    • com.inet.report.TableSource
      • setColumnName(int idx, String)
      • setColumnType(int, int)
    • com.inet.report.ValueProperties
      • getDateFirstSeperator()
      • setDateFirstSeperator(String)
      • getDateFirstSeperatorFormula()
      • setDateFirstSeperatorFormula(FormulaField)
      • getDatePrefixSeperator()
      • setDatePrefixSeperator(String)
      • getDatePrefixSeperatorFormula()
      • setDatePrefixSeperatorFormula(FormulaField)
      • getDateSecondSeperator()
      • setDateSecondSeperator(String)
      • getDateSecondSeperatorFormula()
      • setDateSecondSeperatorFormula(FormulaField)
      • getDateSuffixSeperator()
      • setDateSuffixSeperator(String)
      • getDateSuffixSeperatorFormula()
      • setDateSuffixSeperatorFormula(FormulaField)
      • getDateTimeSeperator()
      • setDateTimeSeperator(String)
      • getDateTimeSeperatorFormula()
      • setDateTimeSeperatorFormula(FormulaField)
      • getDayOfWeekSeperator()
      • setDayOfWeekSeperator(String)
      • getDayOfWeekSeperatorFormula()
      • setDayOfWeekSeperatorFormula(FormulaField)
      • getDecimalSeperatorsSymbol()
      • setDecimalSeperatorsSymbol(String)
      • getDecimalSeperatorsSymbolFormula()
      • setDecimalSeperatorsSymbolFormula(FormulaField)
      • getHourMinuteSeperator()
      • setHourMinuteSeperator(String)
      • getHourMinuteSeperatorFormula()
      • setHourMinuteSeperatorFormula(FormulaField)
      • getMinuteSecondSeperator()
      • setMinuteSecondSeperator(String)
      • getMinuteSecondSeperatorFormula()
      • setMinuteSecondSeperatorFormula(FormulaField)
      • getThousandSeperatorsSymbol()
      • setThousandSeperatorsSymbol(String)
      • getThousandSeperatorsSymbolFormula()
      • setThousandSeperatorsSymbolFormula(FormulaField)
      • getUseThousandSeperators()
      • setUseThousandSeperators(boolean)
      • getUseThousandSeperatorsFormula()
      • setUseThousandSeperatorsFormula(FormulaField)

External Libraries

  • Swing-Layout (swing-layout.jar) version 1.2 added.
  • SwingWorker (swing-worker.jar) version 1.0.3 added.
  • Echo2 version 2.1 added (for Remote Configuration).
  • JFreeChart updated with version 1.0.12.
  • JGauge Bean added.
  • SVGSalamder Bean updated.
  • Lucene Search Engine (lucene-core.jar) version 2.4.1 added.
  • Milton webdav API version 1.4.2 added.
  • Mimetype utilities version 2.1 added.
  • slf4j version 1.5.6 added.

i-net Crystal-Clear - Java Viewer

New Features / Improvements

  • New API methods:
    • com.inet.viewer.ReportView: setAutoRefresh(int)
      Specifies an auto-refresh cycle for a Report View, causing it to be refreshed every so often unless the report view was canceled or is currently being reloaded anyways. Also, introduced new URL parameter “autorefresh=xxxx” - allows the auto-refresh cycle to be specified (in milliseconds) via URL parameter.
    • com.inet.viewer.SwingReportViewer.setDefaultSetting
      Enables you to set certain settings for the viewer. For example you can set the default page view to be continuous, or a certain zoom level to be taken by default.
      The keys and values which can be set are in the class com.inet.viewer.props.DefaultSetting.
    • com.inet.viewer.SwingReportViewer.setCustomPromptEditor(String, int)
      Allows you to specify not only the name of the prompt you wish to register a stomPromptEditor for, but also the value type the prompt must have in order for your CustomPromptEditor to be used.
    • com.inet.viewer.ViewerContext.showUrl(String, Properties)
      It is now possible to implement your own “showURL” method for the viewer which is called any time a user clicks on a link in a report (since build 9.0.130).
  • Export dialog: Image export formats (JPG, PNG, BMP, GIF) added.
  • Print dialog: It is now possible to specify pages and page ranges that will be print separated by commas.
  • Reports saved with an embedded viewer (JRA/JAR) now use the System L&F in order to keep the same L&F as used in the Viewer applet. (build 9.0.130).
  • Performance of the Java report viewer has been improved on Mac OS X and Linux with Java 5.

Changed Behavior

  • In the viewer prompt dialog panel for setting date ranges, the default calendar week was the first week of the range originally chosen, this has been changed to be the last completed calendar week by default.

Fixed Bugs

  • Hairlines in reports designed with Crystal Reports were incorrectly interpreted, also double hairlines were displayed as a single line only.
  • Selecting text and copying snapshots in the viewer had performance issues in Java 1.6 which were fixed by no longer using XOR rectangles but rather transparent areas.
  • On a dual monitor system, the calendar in the prompt dialog would show on the edge of the left monitor if the viewer was showing on the right monitor. Instead it is now shown at the correct spot.
  • When using ASP with the Java Viewer, the report viewer would send a request that ASP would have a problem with (of the form http://host/?&report=...“).
  • The cursor for selecting text in the viewer was slightly off center (fixed in build 9.0.130).
  • If a viewer tab was to be closed by clicking on the tab's “X” with the middle mouse button, an IndexOutOfBoundsException occurred internally and was written to the log (fixed in build 9.0.130).
  • BMP, GIF, JPG and PNG export was not possible if Java report viewer was used as applet (fixed in build 9.0.130).

API Changes

  • Added Class
    • com.inet.viewer.props.DefaultSetting
  • Added Methods
    • com.inet.viewer.ReportView
      • setAutoRefresh(int)
    • com.inet.viewer.ReportViewer
      • setCustomPromptEditor(String, int, CustomPromptEditor)
    • com.inet.viewer.SwingReportViewer
      • SwingReportViewer(ViewerContext)
      • setCustomPromptEditor(String, int, CustomPromptEditor)
      • getDefaultSetting(DefaultSetting.Key)
      • setDefaultSetting(DefaultSetting.Key, DefaultSetting)
    • com.inet.viewer.SwingViewerContext
      • getViewer()
      • setViewer(SwingReportViewer)
    • com.inet.viewer.ViewerContext
      • showUrl(String, Properties)
  • Methods and Constants deprecated as of Version 9
    • com.inet.viewer.ReportViewer
      • setCustomPromptEditor(String, CustomPromptEditor)

i-net DesignerXML

New Features / Improvements

  • Welcome page added.
  • Step-By-Step Tutorials added.
  • Default Values for fonts etc. supported. - It is now supported to set default values for the formatting properties used for newly created elements in i-net DesignerXML.
  • Report Preview in the file open dialog added.
  • Progress Bar added. - The i-net DesignerXML now shows a progress bar when a process may be taking a while, for example when attempting a database connection or when loading a large report. This process can also be canceled at any time. This fixes the old behavior which was to lock up the designer until the processes were finished.
  • Field browser now supports duplicating and renaming of formula, prompt, sql expression and summary fields.
  • It is now possible to use a sum in other sums. Note the sums should be created in the correct order.
  • When opening up a property formula, possible constants which can be returned for the formula are displayed as a comment in the formula dialog.
  • Chart Properties: - It is now possible to set seconds in the calendar.
  • Formula Editor: - The marking of incorrect parts of the formula has been improved.
  • Subreport Links: - It is now possible to change the width of the tree in the ort links dialog.
  • Parameter Properties: - There are 3 new keyboard shortcuts within the Designer's Parameter Field Properties dialog: Ctrl+N creates a new prompt, Alt+Up moves a prompt up within the list, Alt+Down moves a prompt down within the list.
  • The designer now has an internal backup system while overwriting reports while saving in order to prevent data loss if the saving of a report does not finish correctly (build 9.0.130).
  • Document Properties: - Property “Report Locale” added to the document properties (build 9.0.170).
  • New command line parameter ”–new“ added to start the i-net DesignerXML with a new report
    (build 9.0.170).
  • On Mac OS X the CMD key is now used for menu items and features instead of the STRG or CTRL key (build 9.0.170).
  • Start script “startDesigner.command” for Mac OS X added (build 9.0.170).

Fixed Bugs

  • Hairline was not displayed in Design view.
  • Simply opening up the Record Selection Formula Dialog caused the database to be unnecessarily contacted, which could take a while especially if the database connection was slow.
  • Visual Database Wizard:
    • An invalid connection could lead to the designer hanging for 20+ seconds after right-clicking on a table.
    • The context menu commands “Edit SQL” and “Show SQL” were not displayed for SQL command table sources.
    • If a manual SQL statement was provided which ended with a semicolon, an error occurred which has now been fixed: unnecessary semicolons at the end of manual SQL statements are now ignored (fixed in build 9.0.130).
  • Parameter Properties: The OK button was grayed out when two prompts had the same name, but was not activated again after making the names unique again.
  • In rare cases in reports using summary functions in formulas, required summary fields could be removed from the report, leading to errors and blank fields.
  • Opening a JRA file in the designer could lead to an unhandled NullPointerException (fixed in build 9.0.130).

API Changes

  • Added Methods
    • com.inet.designer.DesignerDataModel
      • loadReportFrom(Component, File)

External Libraries

  • Step-By-Step Tutorial (SBSTutorial.jar) version 1.0 added.

Setup

New Features / Improvements

  • Improved selection of installation type and component selection.
  • ISAPI has been replaced with ASP.NET.
  • Registration of file extensions ”.rpt“ and ”.jra“ possible during setup.
 

© Copyright 1996 - 2023, i-net software; All Rights Reserved.