dotJ Custom Tag Library - Changes
Below is a complete list of changes for our custom tag library.

2.8
- Feature: Added new <dotj:schedule> tag, that is like a fixed calendar, but more friendly in displaying multiple
  events for a day.

2.7.1
- Bug Fix: When a grid height was specified, the headeralign attribute was being ignored.
- Bug Fix: Email validations now allow single quote characters, but not in the domain name.
- Bug fix: Fixed empty selector cell in the grid header for page 2+ (scrolling grids only).
- Feature: Allow choice to bypass form validation on most grid commands (cancel, page, etc.).  To preserve backwards
  compatibility, the setting grid.bypass.formvalidation is set to false by default.

2.7
- Feature: Added ability to restrict the user from selecting weekends on a <dotj:calendar>.  See the new attribute
  weekendsselectable on the <dotj:datechooser> tag.
- Bug Fix: Fixed IE bug in displaying grid cell tooltips when they truncate in the cell.

2.6.6
- Bug Fix: Fixed bug in tracking selected items.
- Feature: Added tooltips to grid cells whose textual content overflow the width of the cell.

2.6.5
- Bug Fix: Fixed NullPointerException on building CSV version of grid.
- Bug Fix: Fixed Javascript error in the selector cell on the first row in scroll grids.

2.6.4
- Bug Fix: Fixed some bugs with scrolling grids.
- Bug Fix: Fixed print preview problem in Internet Explorer for large grids with a "width" attribute.
- Bug Fix: Fixed Javascript error when initializing a grid with pre-selected rows.
- Bug Fix: Fixed bug where row was not being selected when nowrap="true" was being used on the <dotj:columns> tag.
- Bug Fix: Fixed bug in receiving a Javascript error when clicking on the grid row selector column for an empty grid.
- Feature: Added support for IE 7.

2.6.3
- Bug Fix: Number of selected rows was being reported incorrectly when paging was used and for pages 2-n.
- Bug Fix: Fixed grid rendering problem when scrolling was used.
- Feature: Added "id" attribute to <dotj:action> tag.

2.6.2
- Bug Fix: Fixed grid to not use the cellsnullvalue attribute for a cell that is being edited.
- Feature: Added ability to display hidden grid columns in the respective CSV file.
  NOTE: To make this the default behavior, set grid.csv.showhiddencolumns=true in dotj_config.properties.

2.6.1
- Bug Fix: Fixed cross-site scripting filter to leave the "&" character alone.
- Feature: Improved accessibility for the popup <dotj:calendar>.

2.6
- Bug Fix: Fixed cursor to be a hand icon when hovered over the navigation icons in the calendar titlebar.
- Bug Fix: When the selected date is the current date, then use the CSS class for selected date, not the current date.
- Feature: Improved intelligence of how the calendar was position vertically.
- Feature: Use IFRAME to cover <select>'s rather than hide them (Internet Explorer only hack).

2.5.1
- Bug Fix: Fixed rendering bug when a grid's 'postonselect' was set to true.
- Bug Fix: Fixed placement of popup calendar when embedded within a <div> element that is absoltely positioned.
- Bug Fix: Fixed bug with IE in calculating the Y-coordinate of an element when the HTML document is using the loose.dtd.
- Feature: Added 'maxrowsselected' attribute to <dotj:action> tag.
- Feature: Added 'var' attribute to <dotj:columns> that populates a scripting variable of
  type com.dotj.grid.interfaces.IRowReadOnlyContext. This allows you to retrieve information about the current row and
  build conditional logic for any attribute.  For example, disable the editing of a field if the record is "Approved":
     <dotj:columns breaktype="none" listing="manual" var="rowData">
        ...
	    <dotj:datacolumn sort="true" datafield="FirstName">
	        <dotj:editmode>
	            <dotj:input name="txtFirstName" type="text" size="8" disabled="<%=("Y".equalsIgnoreCase((String)rowData.getCellRawValue("Approved")))%>" />
	        </dotj:editmode>
	    </dotj:datacolumn>
	 </dotj:columns>

2.5
- Feature: Added ability to use checkboxes for row selection vs. hiliting with CSS styles.
  You can switch to this metaphor by setting grid.rowselection.metaphor=checkbox in the dotj_config.properties file.
- Feature: Added static method getCommandEvent(HttpServletRequest) to CommandEventArgs that just retrieves the
  generic command name and parameter. This can be used in advance of obtaining an IFormValidator reference.
- Feature: Added ability to retrieve selected rows from the IGridCommandEventArgs interface using your own compound key delimiter.
- Feature: Added ability to obtain an IFormValidator reference and specifying the clearSelectedRows option. This can be
  used to retain the grid's selected rows when transferring to another page and where the prior command cleared the selected rows.

2.4.3
- Bug Fix: Clearselectedrows was not working when the selected rows spanned pages.

2.4.2
- Feature: Added support for new date types date17 (dd MMM yyyy) and date18 (dd MMM yy) to respective tags.
- Feature: Added 'selected' attribute to the <dotj:tab> tag, which allows you to specify which tab is
  selected (upon the initial rendering only).
- Feature: Modified logic to not emit *any* runtime information when the setting other.runtime.showinfoinpage is set to false.
- Bug Fix: Fixed issue with some grid columns displaying times as '00:00:00' for some JVM's.
- Bug Fix: Fixed bug in JavaScript logic whereby form submission was occassionally occurring twice in IE.

2.4.1
- Bug Fix: Fixed issue with 'postpriorformfields' grid feature, whereby multiple values for select fields were not
  being handled correctly.
- Bug Fix: Users were able to select rows on readonly grids.
- Bug Fix: Fixed bug in popup calendar where it couldn't find the corresponding input field when two forms were present.
- Feature: Added attribute 'layout' to <dotj:columns> tag.  This attribute corresponds to the 'table-layout' HTML attribute.
  Using a value of 'auto' (default) allows the grid to expand past its width, even if a width is supplied.  Using a value of
  'fixed' will keep the grid to a fixed width and the grid will then provide a horizontal scrollbar to navigate left and right.

2.4
- Feature: Added support for fixed grid headers when scrolling the grid vertically.  This capability is only enabled for
  the browsers in which we implement DHTML (namely IE and the Mozilla based browsers).
- Feature: Added keyboard support for Mozilla based browsers.
- Feature: Added setCurrentPage(int) to interface ISublistContext. This allows you to direct the grid to a certain page.
- Feature: Added ability to clear input date for popup calendars.
- Feature: Added 'sort' attribute to <dotj:optionlistprovider>, which will sort the list ascending if set to true.
- Bug Fix: Fixed issue where up and down arrow keys were selecting rows that were not supposed to be selectable.
- Bug Fix: fixed issue where actions were sometimes disapearing from grids for the Jetty and Tomcat JSP containers.
- Bug Fix: Optimized the performance of the Javascript function for the 'selectall' grid action.

2.3
- Bug Fix: Fixed bug where number and percentage formatters were displaying erroroneously when multiple formatters were
  used on <dotj:datacolumn> tags on the same JSP page
- Feature: Added 'scope' attribute to <dotj:grid> tag, which can be used in conjunction with the 'datasrc' or 'listener'
  attributes.  When specified, dotJ will search the specified scope for an object with the specified name.
- Feature: Added ability to make dotJ logging optional.  See the new 'doLogging' setting in the dotj_config.properties file.
  IMPORTANT: Because of a unique customer requirement, it was necessary to remove the method IUploadContext.getLogger()
  method. You would only be using this method if you are implementing your own custom upload listener. If you are currently
  using this method, please contact us at support@dotjonline.com and we'll show you an alternate logging mechanism.

2.2.4
- Bug Fix: Fixed bug where rows that were being pre-selected via the IGridListener interface were not being posted back
  on subsequent hits.
- Bug Fix: Removed a usage of a JDK 1.4 method in the <dotj:form> tag.
- Bug Fix: Added cross-site scripting logic to the <dotj:input> and <dotj:textarea> tags to filter special HTML values.

2.2.3
- Fixed bug where grid pager setting was getting lost in JBoss 4.1 SP1.
- Fixed bug where grid action bar was disappearing in certain situations.

2.2.2
- Bug Fix: Fixed object pooling issue in <dotj:grid> tag.  Pager and action bar were being repeated when multiple grids were in a JSP.
- Feature: Added 'title' attribute to <dotj:hyperlinkcolumn> tag. This attribute supports token / field substitution (e.g {fieldname}).
- Feature: Added token / field substitution capabilities to the 'onclick' attribute for the <dotj:columns> tag.

2.2.1
- Bug Fix: Changed implementation of how to specify the default sort column from sort="default" to defaultsort="true". This
  was necessary because of the signature of ColumnTag.setSort, which had Javabean inconsistencies and caused Tomcat to complain.
  IMPORTANT: Please do not use version 2.2.0 with Tomcat.

2.2
- Bug Fix: Handle backslash character in variable tokens (e.g. {ssn}) for grid columns.
- Feature: Allow a default sort column on a grid by specifying sort="default" on the various grid column tags.
- IMPORTANT: Because the signature of the DataColumnTag.setSort method was changed, it may be necessary to "touch"
  JSP files that contain grids.

2.1.9
- Bug Fix: Evaluate the form's onsubmit return value when processing a grid command.
- Bug Fix: Fixed bug where backslash values were being used in keyfields and id HTML attributes.

2.1.8
- Bug Fix: Fix Javascript library to work in portals, where it can get included more than once.
- Bug Fix: Fixed library to allow periods ('.') in the 'name' attribute.
- Bug Fix: Fixed bug where ticks and double quote values were being used in keyfields and id HTML attributes.
- Bug Fix: Wasn't calling the form's onsubmit function when a grid command was being executed.
- Feature: Added method getSortColumnName to the IGridCommandEventArgs interface.
- Feature: Added method overlayColumnValue(String newValue, boolean updateCSVValue) to the IColumnContext interface. This can
  be used to update a cell's contents from a grid listener without updating the cell's CSV value.

2.1.7
- Feature: Added method cacheHttpRequest to the IFormValidator interface. By calling this method in your backend MVC action,
  the dotJ tag handlers will use this request object rather than the container's native one. This can be necessary for
  multipart processing, since the request's input stream can only be read and parsed once.
- Bug Fix: Fixed tooltip placement with form fields located within the <dotj:dialog> tag. Bug was IE only.
- Bug Fix: Removed the usage of a JDK 1.4 class.
- Bug Fix: Fixed bug when using the initialpage attribute on the <dotj:pager> tag.
- Bug Fix: Space bar was not toggling the selected row when grid.multiselect was set to false.
- Bug Fix: When calling setRowSelected(false) in a grid listener, the last row was inadvertently being selected.

2.1.6
- Bug Fix: Fixed GridCommandEvtArgs so that it didn't keep prior delete commands on subsequent operations.
- Bug Fix: Fixed bug with onclick attribute for the <dotj:imagecolumn> when replacing null datafields.

2.1.5
- Bug Fix: Fixed IllegalArgumentException when using format="date:xxxx" with the <dotj:datacolumn> tag.
- Added setting grid.minrowsselected.legacymode into dotj_config.properties. By setting this to true, all
  grid custom actions will require at least one row to be selected before being posted to the server. The default setting
  is false, which means there is no minumum number of rows that needs to be selected for processing custom actions.

2.1.4
- Bug Fix: Fixed bug where actions were still submitted even if the mininum number of rows had
  not been selected.

2.1.3
- Bug Fix: Fixed bug with using format="number" on the <dotj:datacolumn> tag with certain containers.

2.1.2
- Bug Fix: Fixed rendering problem with calendar for non-US locales.
- Bug Fix: Fixed NullPointerException in <dotj:datacolumn> tag when format attribute is 'number'.
- Bug Fix: Fixed problem with hidden data column tags where it was putting extraneous HTML at the bottom of the grid.

2.1.1
- Bug Fix: Fixed Javascript function DotJ_getObj to work with Konquerer and Safari.
- Bug Fix: Grid actions were disappearing in BEA Weblogic 8.1.

2.1
- Feature: Added sublist support for the grid via the IGridListener2 interface.
- Feature: Added localization capability to all file upload related error messages. Added 'locale' attribute to <dotj:upload> tag.
- Feature: Added support for new date types date13 (MM.dd.yyyy), date14 (dd.MM.yyyy), date15 (dd-MMM-yyyy) and date16 (dd-MMM-yy) to all tags.
- Feature: Added accesskey attribute to the <dotj:tab> tag.
- Feature: Added 'movable' attribute to <dotj:calendar> tag.
- Bug Fix: On CSV grid exports, the summary value for subtotal control breaks was being set to zero.
- Bug Fix: Switched internal implementation of SelectedInfo from a HashMap to a LinkedHashMap to preserve order.
- Also added some minor performance optimizations (e.g <dotj:calendar>).

2.0.18
- Feature: Added setting miscellaneous.javascript.library.absoluteURL. This setting allows you to specify the absolute URL
  of the dotJ Javascript library file. This is often needed when the web and app servers are in different network zones.
- Bug Fix: JavaScript performance improvement for large grids.

2.0.17
- Feature: You can now use the literal "{rownumber}" as a valid datafield value for <dotj:datacolumn> and <dotj:hyperlink> tags.
- Feature: A <dotj:datacolumn> and <dotj:hyperlinkcolumn> can appear as read only when the grid is in edit mode by
  setting the value of the column's displaytype attribute to 'readonly'.
- Feature: Added support for an upload listener on the <dotj:upload> tag. An upload listener must implement the
  com.dotj.upload.interfaces.IUploadListener interface.
- Bug Fix: Certain grid actions were not working with Tomcat when multiple grids were on a single JSP.

2.0.16
- Feature: Added scripting variable 'rowindex', which contains the value of the current row as dotJ iterates over the
  rows of the grid. The scope of this variable is NESTED, meaning between <dotj:grid> and </dotj:grid>.
- Feature: Expanded use of attribute 'confirmtext' for actions other than delete.
- Feature: Added 'minrowsselected' attribute to <dotj:action> tag.
- Feature: Added 'disabled' attribute to <dotj:action> tag.
- Feature: Added feature to <dotj:calendar> where only one popup calendar on a page will display at any one time.
  See the new 'singlemode' attribute.
- Feature: Added new attributes 'navigateyears' and 'navigatemonths' to <dotj:calendar> tag. These allow finer grain
  control over the year and month navigation icons on the calendar. The 'navigate' attribute is still supported, but
  will be deprecated in version 3.0.
- Feature: Added new attribute 'newform' to <dotj:form> tag. Setting this attribute to true will make the various form
  tags be empty, despite if values are posted to the JSP.
- Bug Fix: Fixed bug with the grid tag to emit the HTML for a <dotj:datacolumn> tag whose displaytype is set to 'hidden'.
- Bug Fix: Fixed NullPointerException in <dotj:datacolumn> when datafieldformat was set to null.

2.0.15
- Fixed bug in Javascript routine DotJ_bindControl where 'control' was null.
- Fixed bug where an empty grid would display because of Tomcat tag handler pooling.

2.0.14
- Fixed bug with tag handler pooling the <dotj:upload> tag.
- When the <dotj:calendar> tag displays, factor in the first day of week for the specified locale.

2.0.13
- Added printlayout attribute / capability to <dotj:tabcontainer> tag.
- Added nowrap and textoverflow attributes to <dotj:columns> tag. This allows you to control the wrapping and overflow
  behaviour for the cells in the grid.
- Fixed bug in handling custom actions when grid has 'postonselect' set to true.
- Added startdate and enddate attributes to <dotj:calendar> tag. This allows you to limit dates selectable by the user.
  This change introduced a new pre-defined CSS style called 'calNonselectableDay' that you can use to alter the look and feel
  for calendar dates that are not selectable by the user.

2.0.12
- Added support for Mozilla 1.7.
- Fixed form field "description" collision with calendar tag.

2.0.11
- Fixed some Javascript bugs with IE 5.0 browser and opacity filter.
- Added some defensive coding in browser sniffer.

2.0.10
- Fixed bug in grid total line when hidden columns were used.
- Fixed bug in grid when tag handler pooling is used with Tomcat.

2.0.9
- Fixed bug in <dotj:imagecolumn> tag when datafield attribute is used.
- Added new 'sortbehavior' attribute to grid tag. You can now differentiate between 'dualstate' (default) and 'triplestate'.
- Added full support for multipart form processing to all tags.
- Added scope attribute to all HTML form tags. When used with the bean and datafield attributes, it tells dotJ where
  to search for the specified Javabean (page, request, or session).

2.0.8
- Feature: Added new grid sorting behavior "triplestate" as an attribute and setting in dotj_config.properties.
- Feature: Added sliding and opacity effects to dialog box expand and collapse actions.
- Bug fix: Made expand/collapse image on the dialog box use a standard HTML anchor tag.
- Bug fix: Fixed Javascript error when radio group, input, or textarea tags were not under a <dotj:form> tag.
- Bug fix: Maded anchor image associated with the popup calendar use a standard HTML anchor tag.

2.0.1 - 2.0.7
- Various bug fixes in support of the library being in beta.

2.0
- Renamed the dotj.properties file to dotj_config.properties.
- Moved content based settings to dotj_content.properties.
- Added internal logging per log4j.
- Internationalized all aspects of the library
- Added support for stacking JavaScript events.
- Added the <dotj:calendar> tag.
- Added the <dotj:custommask> tag.
- Added the <dotj:imgrollover> tag.
- Added the <dotj:selectmover> tag.
- Added the <dotj:slideshow> tag.
- Added the <dotj:ssn> tag.
- Added the <dotj:tabcontainer> tag.
- Added the <dotj:watermark> tag.

1.3
- Fixed bug in grid tag where columns were repeating.  This was prevalent in Tomcat 4.1.12 and above.
- Fixed the tooltip placement for HTML form tags for Netscape 6.0 and above (a great browser, by the way!).

1.2.1
- Fixed bug where two <dotj:datamap> tags could not be put on the same page.

1.2
- Added Locale support for the column tags within the grid component.
- Added attribute pagesummarytext to the <dotj:pager> tag. This allows you to customize the "Page x of y" text
  that displays within the grid's pager row.
- Fixed bug in <dotj:number> tag where locale was being ignored when the format attribute was specified.

1.1.3
- Modified regular expression for email validations to allow dashes in the domain name.
- Changed email tags to allow more than one to be used on a JSP.
- Added type attribute to <dotj:datamap> tag. Specialized datamap types include states and countries. With a state
  datamap, a value of "NY" gets translated to "New York".

1.1.2
- Fixed bug with <dotj:datamap> where mapped values were getting lost with Tomcat 4.x.
- Fixed bug with <dotj:input> tag where checked="true" was getting lost for type="checkbox" and type="radio".

1.1.1
- Fixed mis-spelling of West Virginia in <dotj:states>.
- Changed reflection code in grid tag to use getMethod() instead of getDeclaredMethod().
- Fixed bug in grid tag where sorting images were not able to be customized.

1.1
- Added ability in all the form tags (<dotj:input>, <dotj:select>, etc.) to pre-populate the value of the form field
  by putting a value in the request via request.setAttribute("fieldName").  This is mostly for Model-View-Controller
  architectures that would like to modify the value of a form field before forwarding to the display JSP page.
  All of the form tags use the following sequence in looking for a value of a form field:
     - request.getAttribute("fieldName");
     - request.getParameter("fieldName");
     - <dotj:input name="fieldName" value="xyz" ... />
- Added new tag <dotj:datamap> to support code/value translations that can be used in the grid control.
- Fixed bug in <dotj:sql> tag where underlying Statement object was not being closed.
- Fixed bug in <dotj:hyperlinkcolumn> tag where url's were being erroneously encoded.
- Fixed bug where field validation error messages were not displaying for server-side validation and when the field
  validator name was not lower case.

1.0.6
- Fixed bug with <dotj:grid> where hyperlinks were showing the "jsessionid" parameter used in URL rewriting.
- Fixed bug with "onsubmit" attribute on <dotj:form> tag.
- Added new input date format for <dotj:date>, <dotj:datacolumn>, and <dotj:hyperlinkcolumn> tags.  Two new input formats
  are "millisecondssinceepoch" and "secondssinceepoch", where the epoch is January 1, 1970 00:00:00.
- Fixed bug in detecting IE 6 with the <dotj:sniffer> tag. Also added support for Opera 6.
- Fixed bug with <dotj:email> where <html><body> and </body></html> was being put in for bodyformat="text/plain".
- Fixed bug in <dotj:upload> where maxbytes was not being checked correctly.

1.0.5
- Fixed bug with <dotj:email> tag where body of email was showing SMTP header information when more than one
  "to" or "cc" address was specified.
- Fixed <dotj:countries>, <dotj:input>, <dotj:select>, <dotj:states>, <dotj:textarea>, <dotj:value> tags to not
  put onblur and onfocus events for downstream browsers.

1.0.4
- Added attribute postpriorformfields to <dotj:grid> tag
- Fixed cleanup of grid internal memory
- Added an <dotj:imagecolumn> tag for grid.

1.0.3
- Added class and styleclass attributes to <dotj:datacolumn> and <dotj:hyperlinkcolumn> tag.
- Fixed NullPointerException in textarea tag, caused in Tomcat 4.0+ when textarea tag has no body content.
- Fixed a ClassCastException when a <dotj:datacolumntag> had format="email" and a datafield that was a non-String.




home : products : pricing : company : contact us : samples : download : forums : customers

Copyright © 2000-2004 dotJ Software Inc. All rights reserved.