Release Notes

JViews Gantt 8.8 Release Notes

This document describes the main changes that have been made to JViews Gantt since version 8.7.

Incompatibilities
General Changes
Globalization
Accessibility
Hitmap Web Technology
Multiple Browser Sessions
Security I: Servlet Parameter Checking
Security II: Database Query Checking
Printing
PDF Generation
Styling
Other Changes in Gantt Classes
Other API Changes in Web Technologies
Example Changes


Incompatibilities


General Changes

The main general changes of JViews Gantt are the following:

Globalization


Accessibility


Hitmap Web Technology

The Hitmap API has been extended to include other uses in addition to tooltips, in particular, highlighting, keyboard navigation, and cursor shaping.

New Interfaces and Classes

ilog.views.gantt.servlet.IlvGanttHitmapSupport

When you use the tooltip interactor, the highlight interactor, the keyboard navigation interactor, or the cursorChange interactor, the Gantt servlet requests hitmap information.

ilog.views.util.hitmap.IlvHitmapInfoGenerator

Implementations of this interface construct all region infos for the entire hitmap for a single info type.

ilog.views.servlet.IlvAbstractHitmapInfoGenerator

This class is the superclass of all classes that generate hitmap information for JViews Framework, Diagrammer, Maps, and Gantt.

ilog.views.servlet.IlvTooltipInfoGenerator

Returns the tooltip information for the tooltip interactor.

ilog.views.servlet.IlvNavigationInfoGenerator

The generator for keyboard navigation information in a view.

ilog.views.servlet.IlvCursorInfoGenerator

This class defines information about which cursor to show over each region or graphic object.

ilog.views.servlet.IlvGroupInfoGenerator

Returns the group information for hitmap.

ilog.views.util.hitmap.IlvHitmapConstants

The hitmap constants.

ilog.views.util.hitmap.IlvNavigationInfo

This class encodes how the keyboard navigation within a component reacts when a certain region (such as a graphic object) has the focus and the user presses one of the four Arrow keys (up, down, left, right).

Modified Classes

ilog.views.servlet.IlvHitmapDefinition

ilog.views.gantt.servlet.IlvGanttServletSupport

ilog.views.servlet.IlvHitmapSupport


Multiple Browser Sessions

It is now easier to design a web application so that the user can simultaneously open multiple instances of the same web application in a browser, each page preserving its own context.

New Interfaces and Classes

ilog.views.faces.IlvFacesPageIdUtil

This class provides utility methods used to support multiple pages per session (multiple tabs in a browser) in a Faces context.

ilog.views.util.servlet.IlvServletPageIdUtil

This class provides utility methods used to support multiple pages per session (multiple tabs in a browser) on a Servlet context.


Security I: Servlet Parameter Checking

JViews web applications are now better protected through security mechanisms that have been introduced for both JSF and JavaScript JViews web applications. The JViews web application sends the request by using client JavaScript libraries in the browser, to the JViews servlet class on the server side. It then updates the client with the information received from the response. The request URL sent by the client is composed of a list of requested parameters. These parameters and expected values on the server side can now be validated for security purposes.

New Interfaces and Classes

ilog.views.util.servlet.IlvRequestParameter

The class defines one specific request parameter.

ilog.views.util.servlet.IlvServletParameterHandler

An abstract superclass is designed to work as the handler for specific Servlet requests.

ilog.views.util.servlet.IlvServletParameterHandlerFactory

An abstract superclass is designed to work as the factory to return the parameter handler for the specific request. The subclass can override IlvServletParameterHandlerFactory.getServletParametersHandler to provide its own parameter handler.

ilog.views.util.servlet.IlvParameterValidationListener

An abstract superclass is designed to work as the parent class for handling requests for parameter validation.

ilog.views.util.servlet.IlvParameterValidationContextListener

A ServletContextListener that attempts to return the value of "ilog.views.servlet.CHECK_PARAM" and "ilog.views.servlet.CHECK_SERVLET_CLASSES" from web configuration file when the context is initialized.

ilog.views.gantt.servlet.IlvGanttServletParameterHandlerFactory

The class returns the parameter handler for requests handled by IlvGanttServletSupport.

ilog.views.servlet.IlvManagerServletParameterHandlerFactory

The class IlvManagerServletParameterHandlerFactory returns the parameter handler for requests handled by IlvManagerServletSupport.

ilog.views.gantt.servlet.IlvGanttServletParameterValidationListener

The class is designed to work as the parameter validation listener for requests handled by IlvGanttServletSupport.

ilog.views.servlet.IlvManagerServletParameterValidationListener

The class is designed to work as the parameter validation listener for requests handled by IlvManagerServletSupport.

ilog.views.util.servlet.IlvResourceParameterHandlerFactory

The class returns the parameter handler for requests handled by ilog.views.faces.IlvResourceController.

ilog.views.faces.IlvResourceControlParameterValidationListener

The class is designed to work as the parameter validation listener for requests handled by IlvResourceController.

ilog.views.util.servlet.IlvScriptMessageParameterHandlerFactory

The class returns the parameter handler for requests handled by IlvScriptMessageServletSupport.

ilog.views.util.servlet.IlvSelectionParameterHandlerFactory

The class returns the parameter handler for various selection requests.

Modified Classes

ilog.views.faces.IlvResourceController


Security II: Database Query Checking

SQL query strings can present security risks if they are constructed dynamically and their syntax is not checked. In JViews, a database query can now not only consist of a string, but also of a string with query parameters. This helps to reduce the number of dynamically created query strings. Utility functions for checking the syntax of SQL query string portions are now provided.

New Interfaces and Classes

ilog.views.util.data.IlvJDBCQueryUtil

This class contains utility functions for manipulating SQL queries.

Modified Classes

ilog.views.util.data.IlvJDBCQueryParameters

ilog.views.gantt.model.jdbc.IlvJDBCGanttModel

ilog.views.util.data.IlvJDBCTableModel

ilog.views.util.data.IlvRowSetTableModel


Printing


PDF Generation

It is now easier to get a decently scaled or fitted chart converted to PDF.

New Interfaces and Classes

ilog.views.util.print.IlvFOUtil.ComponentPaintable

This class is a Paintable component that paints a Component without scaling.

Modified Classes

ilog.views.util.print.IlvFOUtil


Styling


Other Changes in Gantt Classes

Modified Classes

ilog.views.gantt.swing.IlvJTable

ilog.views.gantt.graphic.IlvGanttSheet

ilog.views.gantt.graphic.IlvActivityGraphic

ilog.views.gantt.graphic.IlvConstraintGraphic

ilog.views.gantt.graphic.IlvTimeConverter

ilog.views.gantt.IlvGanttConfiguration

ilog.views.gantt.IlvVerticalDisplayController

ilog.views.gantt.IlvVerticalExpandable

ilog.views.gantt.swing.IlvJTree

ilog.views.gantt.graphic.renderer.IlvActivityGraphicRenderer

ilog.views.gantt.scale.IlvBasicTimeScaleVisibilityPolicy

ilog.views.gantt.scale.IlvVisibleTimeScaleRows

ilog.views.schedule.interactor.IlvScheduleInfoViewInteractor


Other API Changes in Web Technologies

Modified JSF Components

jvgf:ganttView

jvgf:scheduleView

New Interfaces and Classes

ilog.views.faces.component.IlvFacesMenuItem

This class defines a menu item of a JSF component.

ilog.views.faces.dhtml.interactor.IlvFacesCursorChangeInteractor

The IlvFacesCursorChangeInteractor is the class for JViews Faces cursor change interactor components.

ilog.views.faces.dhtml.interactor.IlvFacesInterceptInteractor

The IlvFacesInterceptInteractor is the class for JViews Faces intercept interactor components.

ilog.views.faces.dhtml.renderkit.IlvFacesCursorChangeInteractorRenderer

The IlvFacesCursorChangeInteractorRenderer is the renderer class for IlvFacesCursorChangeInteractor.

ilog.views.faces.dhtml.renderkit.IlvFacesInterceptInteractorRenderer

The IlvFacesInterceptInteractorRenderer class can intercept the interactor.

ilog.views.faces.dhtml.taglib.IlvCursorChangeInteractorTag

This class defines the custom tag handler for the IlvCursorChangeInteractorTag component.

ilog.views.faces.dhtml.taglib.IlvInterceptInteractorTag

This class defines the custom tag handler for the IlvInterceptInteractorTag component.

ilog.views.gantt.servlet.IlvGanttServerActionsParser

The IlvGanttAnnotationParser class is used to parse the annotation for JViews Gantt.

ilog.views.servlet.IlvServerActionParser

The class is used to parse the server action annotation for the IlvManagerServletSupport server action listener plug-in.

ilog.views.util.servlet.IlvAbstractServerActionParser

The abstract server action parser.

ilog.views.util.servlet.IlvServerActionEvent

A server action event.

Modified Classes

ilog.views.faces.IlvFrameworkConstants

ilog.views.faces.component.IlvBasicView

ilog.views.faces.component.IlvFacesMenu

ilog.views.faces.component.IlvFacesView

ilog.views.faces.component.IlvImageButton

ilog.views.faces.dhtml.IlvDHTMLConstants

ilog.views.faces.dhtml.component.IlvFacesDHTMLOverview

ilog.views.faces.dhtml.component.IlvFacesDHTMLView

ilog.views.faces.dhtml.component.IlvFacesDHTMLViewSupport

ilog.views.faces.dhtml.component.IlvFacesDHTMLViewSupportImpl

ilog.views.faces.dhtml.taglib.IlvFacesHighlightInteractorTag

ilog.views.faces.dhtml.taglib.IlvFacesOverviewTag

ilog.views.faces.dhtml.taglib.IlvFacesTooltipInteractorTag

ilog.views.faces.dhtml.taglib.IlvFacesViewTag

ilog.views.faces.dhtml.taglib.IlvImageButtonTag

ilog.views.faces.dhtml.taglib.IlvMessageBoxTag

ilog.views.faces.interactor.IlvFacesHighlightInteractor

ilog.views.faces.interactor.IlvFacesTooltipInteractor

ilog.views.faces.taglib.IlvFacesMenuItemTag

ilog.views.faces.taglib.IlvFacesMenuTag

ilog.views.faces.taglib.IlvMenuTag

ilog.views.gantt.faces.IlvFacesGanttConstants

ilog.views.gantt.faces.component.IlvFacesHierarchyChartView

ilog.views.gantt.faces.dhtml.component.IlvFacesDHTMLGanttChartView

ilog.views.gantt.faces.dhtml.component.IlvFacesDHTMLGanttSupportImpl

ilog.views.gantt.faces.dhtml.component.IlvFacesDHTMLScheduleChartView

ilog.views.gantt.faces.dhtml.taglib.IlvFacesDHTMLHierarchyChartViewTag

ilog.views.gantt.servlet.IlvGanttServletSupport

ilog.views.util.servlet.model.IlvMenuItem

Modified JavaScript Classes

IlvGanttView

IlvGanttComponentView


Example Changes

A new accessibility sample has been added.

The jsf-gantt-editing sample now also shows

The jsf-gantt-chart sample now also shows how to support multiple browser sessions.