Table of Contents:
2.3.X to 2.4.X
See here for JPA-related impacts: https://docs.google.com/a/kuali.org/document/d/1t6G2xCCxwrh0NXj2WaTkPr3V6d2T3_NUCdG7ziaWuBM/edit?pli=1
KRAD UIF View Lifecycle Refactoring
Changes to element structure:
We now use the html5 tags for section, header, main, nav, and footer that are used to wrap the appropriate components
Various html structure has been reduced in weight/nesting
For selection in css and js, try to avoid targeting elements but use class names and preferrably data attributes instead
Changes to the css continue to be made to the theme; as a result colors, sizes, padding, etc, may have changed
The css has been broken into multiple less files based on category
More components were changed to use bootstrap styling
Label no longer has a placement or required indicator placement properties, by default labels will appear top unless using a special layout (css grid label layout or grid), and the required indicator will appear right
Uif-InputField-LabelTop no longer exists, use Uif-InputField
lookupReturnByScript was moved from lightbox to a more specific property on QuickFinder called returnByScript. This property must be used instead.
Krad Spring Binding Security:
Added security mechanism to restrict which properties on a form can be updated and which controller method can be called. The restriction is based on the view metadata. In some cases the default restriction may need to be overridden. Details: KRAD UIF Binding Security
2.3.X to 2.4.0
To apply the changes for your dataset and platform, run the appropriate SQL script from
The update script forcauses some version compatibility problems for client applications on Rice 2.3.x or below contacting a Rice server of version 2.4.x. As database updates are no longer allowed on the 2.4.x line, if you are in this situation, apply the following scripts. The issue will be corrected in 2.5 via
2.4.0 to 2.4.1
Changed the exceptions that were generated by XmlHelper.readXml this method since the mechanism which was used to read the xml changed to improve performance. Any application using this method will have to handle the following exceptions:
javax.xml.parsers.ParserConfigurationException. It will no longer have to handle the
2.4.1 to 2.4.2
Changed the names of the html list ids in the KRAD tree so that unique ids are generated on the page. Any applications using KRAD trees and jQuery to select
li elements within these trees may need to add an
_item to the end of that selector.
Removed subCollectionSuffix from CollectionGroup. Ids for sub-collections now get adjusted through the lifecycle element property containerIdSuffix. This likely will not be an issue for anyone, unless you were creating modifying collection components.
Setting default values need to occur on the controller. This is because values set prior to the lifecycle running, could be over written. The variable that controls whether default values on fields should be added was viewsThatNeedDefaultValuesApplied. It was determined that we could simplify the process by making this variable a boolean since there will be at most one view. Any usage of viewsThatNeedDefaultValuesApplied should be updated to use applyDefaultValues.
Modified the interface on the
org.kuali.rice.krad.uif.control.FilterableLookupCriteriaControl in order to handle filtering done only in controls properly. An analysis on Fisheye indicated that this is expected to have no impact on Kuali projects since this interface seems to be only used by Rice, but it is an impacting change just the same for anyone implementing the interface.