Table of Contents
Welcome to Rice 2.3.1-SNAPSHOT!
This version of Rice includes many improvements to the Kuali Rapid Application Development (KRAD) Framework. Below is a summary of the larger changes, impacting and non-impacting changes are described later in the document in more detail and you can review the Jira list at the end of this document to see a list of all items addressed in this release.
Highlights of this release include:
Kuali Rice 2.3.1-SNAPSHOT can be downloaded from the Rice website at http://kuali.org/rice/download.
There are three different distributions of Rice available: source, binary and server. Please read the Installation Guide for more details on each of these distributions.
Applications can also consume Rice from the maven site at http://search.maven.org/#search|ga|1|org.kuali.rice.
API Documentation can be found at http://site.kuali.org/rice/2.3.1-SNAPSHOT/apidocs/index.html
Formal documentation can be found at http://site.kuali.org/rice/2.3.1-SNAPSHOT/reference/html/index.html. This documentation is still in the process of review and update which will continue through subsequent releases, so please follow the notes in each document to report any outdated information.
If you encounter any difficulty, please don't hesitate to contact the Rice team on
our public collaboration mailing list at <rice.collab@kuali.org>
.
Please indicate that you are using the 2.3.1-SNAPSHOT version of Rice.
jquery-form upgraded from 2.64 to 2.31.0
Added Bootstrap and Less libraries
Removed Fluid and Infusion libraries
The fluid CSS files and infusion JavaScript library have been removed from the default theme. If you wish to continue using these you will need to download and add to your custom theme.
In addition, the Reorderer component was removed from KRAD since it was implemented using the Fluid infusion library.
This change includes widespread changes to styling of KRAD as a whole, and elimination of many uif- css classes on components to a single most specific class
This may require changes to your custom css to select groups and fields by their data-role attribute instead of by class name
Many margins, padding, and font styles were changed which may have a heavy impact on more divergent layouts if they are inheriting these
Additional default styles added and removed may have large impact on heavily customized themes
Styling of the navigation menu and tabs was completely changed
Button styling was completely changed and is now backed by bootstrap styling/naming
Breadcrumbs have been completely overhauled:
various properties of the Breadcrumbs widget have been removed.
BreadcrumbOptions have been added to allow full control over how breadcrumbs appear
If no customizations to the past breadcrumbs were made, this transition should be seamless
breadcrumb.ftl was added to represent a single breadcrumb
homewardPath should now be controlled through either parentLocation options or preViewBreadcrumb options
breadcrumbs are now tied directly to a Page (as opposed to a View). Relevant options will always be pulled from the page's breadcrumbOptions (non-render specific properties can be inherited from the View setting).
BreadcrumbOptions was split into BreadcrumbOptions (for View) and PageBreadcrumbOptions (for Page), the difference being that the render options are only at the page level (they were only ever consumed at the page level before, this is a change for clarity).
A group that appears above the Breadcrumbs of a View was added to the layout (called topGroup).
GlobalResourceLoaderServiceFactoryBean moved from impl/src/main/java/org/kuali/rice/krad/config to core/framework/src/main/java/org/kuali/rice/core/framework/resourceloader
InfrastructureException removed
org.kuali.rice.krad.exception in impl moved to krad-app-framework
Moved fields in AttributeReferenceElements to AttributeReferenceDummy, then removed AttributeReferenceElements
Renamed AttributeReferenceDummy to AttributeReference (and AttributeReferenceDummy.xml to AttributeReference.xml). Beans still can be reference with 'AttributeReferenceDummy')
Removed AttributeReferenceDummyTest
Moved LookupResults from (impl) org.kuali.rice.krad.bo to org.kuali.rice.kns.lookup
Moved SelectedObjectIds and MultipleValueLookupMetadata from (krad-app-framework) org.kuali.rice.krad.bo to (impl) org.kuali.rice.kns.lookup
Moved ConfigurationServiceImpl from (impl) org.kuali.rice.krad.service.impl to org.kuali.rice.kns.service.impl
Create new impl ConfigurationServiceImpl in (core-impl) org.kuali.rice.core.impl.services that just picks up config files
Removed DuplicateKeyException and PropertiesException, changed to RiceRuntimeException
Moved getKualiConfigurationService from KRADServiceLocator to CoreApiServiceLocator
Moved ModuleServiceNotFoundException from (impl) org.kuali.rice.krad.service to (krad-web) org.kuali.rice.krad.exception
Moved IfExistsFactoryBean and NamedOrderedListBean from (impl) org.kuali.rice.krad.util.spring to (core-framework) org.kuali.rice.core.framework.util.spring
Moved AttributeReference from (impl) org.kuali.rice.krad.bo to (krad-web) org.kuali.rice.krad.datadictionary
Moved (impl) org.kuali.rice.krad.workflow.atribute to (impl) org.kuali.rice.kns.workflow.attribute
Moved (impl) WorkflowAttributePropertyREsolutionService(Impl) from org.kuali.rice.krad.workflow.service to org.kuali.rice.kns.workflow.service
Moved (impl) WorkflowUtils from org.kuali.rice.krad.workflow to org.kuali.rice.kns.workflow.
For performance reasons the use of CloneUtils for copying components was replaced with copy methods on each component. If you have created any custom components you should override the copyProperties method and copy the properties specific to the subclass.
Copy Properties Implementation
/** * @see org.kuali.rice.krad.uif.component.ComponentBase#copy() */ @Override protected <T> void copyProperties(T component) { super.copyProperties(component); TextControl textControlCopy = (TextControl) component; textControlCopy.setSize(this.getSize()); textControlCopy.setMaxLength(this.getMaxLength()); textControlCopy.setMinLength(this.getMinLength()); if(datePicker != null) { textControlCopy.setDatePicker((DatePicker)this.getDatePicker().copy()); } textControlCopy.setWatermarkText(this.getWatermarkText()); textControlCopy.setTextExpand(this.isTextExpand()); }
Make sure to call super, and to invoke copy() on all nested components.
The div structure around headers was changed to accommodate unifiedHeader and stickyHeader functionality. This also fixes a layout bug with right/upper/bottomGroup of headers.
headerText on pages will no longer appear in the same location because unifiedHeader option of View is used by default (UX recommendation). To restore this look turn this flag off.
Views now use the header class ViewHeader in its bean definition (expands features for header specific to view headers)
A group that appears above the Breadcrumbs of a View was added to the layout (called topGroup).
When using stickyHeader/stickyFooter functionality some styles will not be used (and may break this functionality) if they have been customized: specifically margins and position/display related styles for these areas due to the nature of this feature.
In order to improve performance by thinning out the view graph, the quickfinder and inquiry widget initialization was removed from Uif-DataField and Uif-InputField.This means if you were using nested properties to configure these widgets that will now throw a NPE.
Ex. quickfinder.render="false", quickfinder.dataObjectClassName="edu.iu.TravelAccount"
Instead, you must fully initialize and configure the widget.
Quickfinder Conversion
<property name="quickfinder.dataObjectClassName" value=""/> <property name="quickfinder.fieldConversions"> <map> <entry key="number" value="field3"/> </map> </property> converts to: <property name="quickfinder"> <bean parent="Uif-QuickFinder" p:dataObjectClassName="org.kuali.rice.krad.demo.travel.account.TravelAccount" p:fieldConversions="number:field3"/> </property>
Inquiry Conversion
<property name="inquiry.dataObjectClassName" value="org.kuali.rice.kim.impl.identity.PersonImpl" /> <property name="inquiry.inquiryParameters"> <map> <entry key="routeHeaderInitiatorWorkflowId" value="principalId1" /> </map> </property> converts to: <property name="inquiry"> <bean parent="Uif-Inquiry" p:dataObjectClassName="org.kuali.rice.kim.impl.identity.PersonImpl" p:inquiryParameters="routeHeaderInitiatorWorkflowId:principalId1"/> </property>
Automatic quickfinders and inquiries will still be associated when relationships are found, and the widget is not manually configured. To disable automatic functionality use the flags: enableAutoQuickfinder , enableAutoInquiry , enableAutoDirectInquiry
Turning off Automatic Quickfinder
p:quickfinder.render="false" converts to: p:enableAutoQuickfinder="false"
The initialization of the quickfinder widget on collection groups has also been removed. This means if you were setting p:collectionLookup.render="false" to remove it you no longer need to do so.
Collection Lookup Conversion
<property name="collectionLookup.dataObjectClassName" value="org.kuali.rice.krms.impl.repository.CategoryBo"/> <property name="collectionLookup.fieldConversions" value="id:id,name:name,namespace:namespace"/> converts to: <property name="collectionLookup"> <bean parent="Uif-CollectionQuickFinder" p:dataObjectClassName="org.kuali.rice.krms.impl.repository.CategoryBo" p:fieldConversions="id:id,name:name,namespace:namespace"/> </property>
sourcePropertyName is now valuePropertyName.
sourceQueryMethodResults is now returnFullQueryObject
labelPropertyName was added
additionalPropertiesToReturn was added
As part of the conversion to a KRAD login screen three filters were moved from org.kuali.rice.kew.web to org.kuali.rice.krad.web.filter
BootstrapFilter.java
DummyLoginFilter.java
UserLoginFilter.java
Configuration files which may reference these filter with filter .filtername .class= property definitions, will need to be updated to the new package names.
A new servlet login-servlet.xml was created and added to the WEB-INF of
krad-web
krad-sampleapp
rice-web
As a result, the close method on the UifControllerBase no longer exists on all views (except lightbox views) and is renamed to "back". Back is a new method that tries to determine the best course of action for going back one view when called and is called from cancel. Cancel was eliminated from inquiry views entirely and inquiry now only have a "< Back" button for clarity.
If in a HistoryFlow (path based breadcrumbs), a returnToStart parameter with "true" can be passed to go back to the "start" of that flow
Renamed to ExpressionEvaluator and DefaultExpressionEvaluator
Moved to org.kuali.rice.krad.uif.view
Changed method signatures to not take view
Added method initializeEvaluationContext(Object contextObject)
Added public getExpressionEvaluator() to ViewHelperServiceImpl for getting initialized instance during lifecycle
Added new messages for primary key and results found to ApplicationResources.properties
Added LookupResultCollectionSection now includes LookupResultMessages
Replaces use of flash export functionality built in datatables.tableTools with server side method calls
Added new retrieveTableData method to UifControllerBase
Added two new parameters, showSearchOption and showExportOption, to the RichTable
Defaults showExportOption to true
Along with bringing in Bootstrap, the view theme was reworked to support Less and to fix previous pain points. This mostly only impacts those who are creating custom themes.
Switching to use non minified files
By default the themes will use the minified versions of the theme CSS and JS files. If you wish to use the full source files for development purposes, set the Rice config properties ' krad.dev.mode ' to true in your local config file.
New Theme Beans
The beans Uif-BaseTheme, Uif-KradTheme, and Uif-ClassicKnsTheme have been removed. If you were previously extending one of these for a custom theme, you should now extend Uif-KbootTheme .
Building Kboot
If you are using maven overlays to acquire the KRAD web content (recommended), the Kboot theme will be ready for consumption. If instead you are acquiring the KRAD web content by manually pulling source, you will need to add the theme builder plugin to your maven process. See 'pom.xml' in the KRAD Web module for an example.
Building Custom Themes
Documentation will be coming shortly in the KRAD guide for developing custom themes. In the meantime, look at the JavaDocs for ViewTheme , and ThemeBuilder in the new KRAD theme builder module.
DO NOT use rowCssClasses property to set your row css classes for these tables (it is used internally by the framework - still available for use on GridLayouts), use conditionalRowCssClasses
conditionalRowCssClasses allow the use of SPEL (using the line context) allowing you to dynamically style rows based on their content, also allows keywords all, even, odd, and index number
add useAjaxCallForContent flag
useAjaxCallForContent eliminates the need to manually retrieve content for custom dialogs - it will automatically retrieve group content when the showLightboxComponent call is made against a group with this flag set to true
renderAsPlaceholder renamed as useAjaxCallForContent
Exception will be thrown if page in page; his structure was not allowed before, but now it is enforced
Dirty field plugin eliminated and replaced with KRAD implementation
Avoid running scripts on non-visible content; Javascript for components hidden behind disclosure or details will delay their execution til opened with the exception of validation framework scripts
View header and top group update on page change; They will now update on every page change, eliminating the need for custom scripts to update header content
Implement both local and ajax requested Json data generation for datatables (RichTable); 2 new options on Richtable - forceLocalJsonData and forceAjaxJsonData for use in performance tweaking
Validation framework improvement to cut data that is determined to be default; Data related to validation is now retrieved through the js function getValidationData rather than using jQuery .data call directly
Changed addLineLabel from Label to Message on CollectionGroup
To support the new theme builder some of the KRAD web resources were moved. This includes all plugins moving from ' /krad/plugins ' to ' /plugins '. Any resources being referenced from these directories will need to be updated.
coerceValue JS Function will return boolean values; This affects SPEL backed expression evaluation on the client, boolean based expressions are now allowable without the need to check them textually
The way in which html data attributes (dataAttributes property on component) are handled in KRAD was changed. We now place what we considered "complex" data attributes directly into the element's html tag rather than using script to enhance performance. This requires that these data objects follow the JSON spec exactly for the data to be picked up correctly in the script. Data objects must also escape certain characters (quote, single quote, etc) when they are added as a result.
Various changes to how the validation framework appears and behaves have been made at UX request, see https://jira.kuali.org/browse/KULRICE-8917 for a full list of changes made
KRAD Actions now use a single handler at the js level to enhance performance. Their script is written to an attribute called data-onclick which is consumed by the framework when needed. Inquiry lightbox links use the same pattern. This should not have any direct impact for most cases, but script added at the Java level must be appropriately escaped now for these elements (these elements handle this themselves).
When adding css classes to a component the additionalCssClasses convenience property should be used instead of merging the cssClasses list
The NotificationContract implementing classes now have a new field called "docTypeName" which allows implementers to specify custom document types for different notifications. This field is not required, and if it is left blank, it will default to the document type "KualiNotification". Current notifications already in the system will default to this as well and not be affected.
In order to take advantage of the new session support functionality, you must add the following filter to your web.xml file. In addition, the filter must be first in the list of filters (before the login filter).
Session Timeout Filter
<filter> <filter-name>ajaxSessionTimeoutFilter</filter-name> <filter-class>org.kuali.rice.krad.web.filter.UifSessionTimeoutFilter</filter-class> </filter> <filter-mapping> <filter-name>ajaxSessionTimeoutFilter</filter-name> <servlet-name>krad</servlet-name> </filter-mapping>
PropertyPlaceholderConfigurer support added to the data dictionary. This means you can use ${} expressions to reference Rice config properties (useful for configured paths, these will only get evaluated once as opposed to the @{} UIF expressions which get evaluated many times)
CssGridLayout was added a new layout with two types - Fixed and Fluid. It has a demo in the KRAD library example app.
Performance boosts to validateForm and validateLine calls
Suggest functionality will work in a lightbox/dialog
Problems with sub collections in nested groups refreshing resolved
[KULRICE-5171] - Lookup not returning supporting attributes
[KULRICE-6007] - Session timeout on Ajax request not displayed
[KULRICE-6444] - Create values on lookup should not clear readonly field values that were passed on the request
[KULRICE-7202] - Create new Responsibility Route Name Node has no front or back end validation.
[KULRICE-7283] - Returning nothing from multi-value lookup still refreshes the page
[KULRICE-7734] - Multiple select of Lookup does not return selection
[KULRICE-7880] - On Maintenance cancel action, the redirect url has two methodToCall params
[KULRICE-8361] - Dialog: History/Breadcrum entry created when closing a dialog box
[KULRICE-8459] - Using returnLocation for the breadcrumbs home causes issues with history parsing
[KULRICE-8488] - Role Service does not notify that a derived role type service was not found
[KULRICE-8538] - Responsibility Required routing flag not working unless responsibility defined for exact document
[KULRICE-8641] - Lock error is not shown
[KULRICE-8742] - When summary title has an expression the title does not render
[KULRICE-8747] - Table layout manager rowDetailsLinkName property not getting used
[KULRICE-8803] - Inquiry bases logic on readonly for building inquiry or direct inquiry based on the readonly flag of the Inquiry widget, not the field it applies to
[KULRICE-8805] - Method arguments for field queries are not getting sent with script call
[KULRICE-8806] - Editing of value with custom editor does not invoke editor on post
[KULRICE-8807] - Link component should have a property for displaying in lightbox
[KULRICE-8808] - Rich messages not getting picked up on image caption or cutline text
[KULRICE-8815] - Move lookup actions to collection group's action column
[KULRICE-8821] - Refresh timer throws exception if refresh method to call not set
[KULRICE-8822] - Setter methods for event script not on ScriptEventSupport
[KULRICE-8963] - "Field or property 'readOnly' cannot be found on null" error when creating a new people flow
[KULRICE-8976] - Missing ValidationPattern error message key
[KULRICE-8980] - 'Add all' option for lookup criteria field does not work with rich options
[KULRICE-8981] - #fp binding prefix does not working correctly on fields that bind to a map
[KULRICE-8982] - Lookup result group gets initialized twice causing table details to get added twice
[KULRICE-8998] - Change Lookups to use Uif-DataFields in resultField List
[KULRICE-9018] - Dialog in maintenance document doesnt work
[KULRICE-9023] - 2.3 KIMServiceLocatorInternalTest.testGetKimTypeService_KimType expected:DataDictionaryTypeServiceBase but was:class $Proxy141
[KULRICE-9053] - Cannot perform multiple KRAD document actions with certain browsers
[KULRICE-9055] - "id was null" exceptions for group and role lookups
[KULRICE-9070] - Uif-MaintenanceTableCollectionSection appers to be broken
[KULRICE-9074] - Dialog response inputs can stomp on each other
[KULRICE-9097] - Don't display the common section on KRMS Term and TermSpecification maintenance documents
[KULRICE-9138] - None of the Lookups and inquiry screens are working on the KRAD merged trunk
[KULRICE-9167] - Client Validation Fails after a save and subsequent save when no errors
[KULRICE-9218] - Components for pages not displayed not getting ids causes state issues
[KULRICE-9247] - Data object metadata service throws exception when it encounters interface/abstract type
[KULRICE-9250] - Revert links for converted screens to the KNS versions
[KULRICE-9264] - ant build.xml file not finding rice-web/pom.xml artifact
[KULRICE-9304] - Exception on edit action for derived role
[KULRICE-9326] - After reload of dictionary onDocumentReadyScript property fails to overwrite inherited value
[KULRICE-9332] - Spaces are replaced by ? in the content of a repeated text area component
[KULRICE-9375] - Ranged date field breaks required field indicator and row hiding
[KULRICE-9387] - Spaces before an inline component are getting lost in RichMessages
[KULRICE-9406] - krad-base-servlet.xml rescans entire package which limits the ability to exclude classes
[KULRICE-9428] - KRMS and People Flow documents, lightboxes not going away after clicking return value link
[KULRICE-9430] - Lightboxes, close and cancel buttons not working as expected
[KULRICE-9437] - Session Timeout Warning dialog
[KULRICE-9460] - KRAD documentation outdated
[KULRICE-9464] - On submit of Send Adhoc button goes to incident report in Maintenance Document
[KULRICE-9491] - Document Header Info box on top of KNS documents broken
[KULRICE-9551] - Setting render='false' in KRAD collection causes jquery error
[KULRICE-9605] - Grid table in lightbox retrieved with Ajax does not display
[KULRICE-9606] - Make property for retrieving groups via ajax for lightbox display - add useAjaxCallForContent flag
[KULRICE-9607] - When content is retrieved that contains a nested collection group binding is not adjusted correctly
[KULRICE-9647] - Maintenance locking error not being shown
[KULRICE-9664] - Uif-Suggest doesn't work in a lightbox
[KULRICE-9672] - Progressive disclosure not working
[KULRICE-9728] - rules.tag should prefix url with krad.url instead of application.url
[KULRICE-9777] - Ajax retrieval details fails to close after second click
[KULRICE-9778] - Detail images no longer swap
[KULRICE-9786] - Force server errors for fields to show on page change
[KULRICE-9787] - Details message display should not put validation messages in column
[KULRICE-9860] - Rice-Web krad-servlet.xml
[KULRICE-9865] - SequenceAccessorService trying to grab sequence values from incorrect database in GenericPermissionMaintainable
[KULRICE-9871] - Templates note getting picked up for JSON request
[KULRICE-9883] - Boolean property value is evaluated as string instead of a boolean
[KULRICE-9884] - Column sort on some columns doesn't work
[KULRICE-9891] - Id mismatch in validation messaging for sub collections
[KULRICE-9902] - KRADUtils#getSimpleFieldValue checks the message business object instead of component
[KULRICE-9915] - Add line client Javascript runs for over a minute
[KULRICE-9937] - Cross site scripting vulnerabilities reported against kitchen sink
[KULRICE-9941] - Global application header appears in lightbox
[KULRICE-9942] - Twitter feed in KRAD sampleapp not loading
[KULRICE-9959] - Member Lookup missing from People Flow Maintenance screen
[KULRICE-9960] - Adding 2 Groups to a PeopleFlow not working
[KULRICE-9964] - The POM for org.kuali.rice:rice-krad-theme-builder:jar:2.3.0-SNAPSHOT is missing
[KULRICE-9969] - KRAD Kitchen Sink Navigation select Uif Component navigation Uif Component View results in blank page
[KULRICE-9975] - Lookups from within lookups no longer return values correctly
[KULRICE-9982] - Component Library: Travel Account Maintenance, lightbox lookup showing values as editable instead of readonly
[KULRICE-9986] - Component Library: Multi Value Lookups bomb if you select multiple and click the return link
[KULRICE-9990] - KRAD Component Library: Fields > Action fields bombs to error page
[KULRICE-9991] - Component Library: KIM User example not working
[KULRICE-9996] - Clear form call after closing lightbox throws an exception
[KULRICE-10008] - Dropdowns don't expand for text
[KULRICE-10009] - Kitchen Sink Lookup Page: Inquiry link does not show travel account values
[KULRICE-10011] - Cannot download note attachments on documents
[KULRICE-10016] - KIMGroup Control doesn't render Quickfinder icon
[KULRICE-10030] - Quickfinder in Rice sample app kitchen sink Collections for MV lookup generates a blank lightbox
[KULRICE-10042] - Hitting the "Update Official" button on "Collection Group 4" of the Rice sampleapp Uif Components kitchen sink results in a stack trace
[KULRICE-10053] - ParentLocation no longer works - cannot evaluate expression
[KULRICE-10054] - SpringEL for disable client-side is broken
[KULRICE-10067] - Exception on server side page demo
[KULRICE-10070] - KRAD Components Disclosure Image Broken
[KULRICE-10072] - useAjaxCallForContent property not working correctly
[KULRICE-10075] - Clicking delete on collection within row details of a table with forceLocalJsonData causes escaping problem
[KULRICE-10078] - Required indicator wraps below label when field is displayed in a dialog
[KULRICE-10123] - Editing a KRMS rule results in an error screen
[KULRICE-6048] - Remove documentation on "object remoting" in 2.0 docs
[KULRICE-6932] - ModuleServiceBase needs to be moved out of the rice "impl" module
[KULRICE-7562] - Improve subset of SpringEL - that we convert for specific functionality to js - by allowing a contains (or similar) operation
[KULRICE-7594] - Provide input field instance to key value finder method getKeyValues
[KULRICE-7873] - Optionally supress the view in breadcrumbs
[KULRICE-8050] - Support for lookup only field
[KULRICE-8169] - KRMS Agenda Editor: Selection removed on proposition description focus during edit
[KULRICE-8397] - Breadcrumbs sometimes display with weird structure when the page is using Dialog lightbox
[KULRICE-8640] - Create new widget to highlight code syntax
[KULRICE-8748] - Set TableLayoutManager applyDefaultCellWidths to false by default
[KULRICE-8818] - Provide a way for components to add data generically to the form
[KULRICE-8819] - Add ByteArrayMultipartFileEditor to registered property editors to allow file types to bind to Byte[] data types
[KULRICE-8897] - Need setViewHelperService method on View component
[KULRICE-8937] - Remove Pre-Built Views/View Pooling - Replace with Object Serialization/Caching
[KULRICE-8941] - Add flag to StackedLayoutManager to indicate that actions must be added to line group and not linegroup footer
[KULRICE-8957] - CloneUtils getFields Performance Improvement
[KULRICE-9042] - Spring - Performance
[KULRICE-9060] - add property "additionalCssClasses" to replace "cssClasses" list-merge
[KULRICE-9073] - Add horizontal and vertical scrolling to sampleapp code editor
[KULRICE-9114] - DocumentBase has unnecessary overrides of refresh and refreshReferenceObject
[KULRICE-9208] - isValidLine flag not available in ViewHelperServiceImpl.processAfterAddLine() method
[KULRICE-9228] - Allow method to call to not be specified on URL
[KULRICE-9232] - Add view TopGroup (a group that appears above breadcrumbs)
[KULRICE-9261] - All request using multi-part encoding and should not
[KULRICE-9282] - Upgrade selenium-java webdriver to latest version
[KULRICE-9594] - Global handler for disclosure content
[KULRICE-9595] - Avoid running scripts on non-visible content
[KULRICE-9596] - Investigate the feasibility and implement aaData for other richTable based tables other than LightTable
[KULRICE-9598] - Validation framework improvement to cut data that is determined to be default
[KULRICE-9599] - Validation framework improvement for handling collections differently
[KULRICE-9612] - Reimplement cloning to use component clone method
[KULRICE-9693] - topGroup AND View header needs to display updated information (ie. when a page loads, not just the view)
[KULRICE-9780] - Remove final from methods in KRAD MaintenanceDocumentAuthorizerBase
[KULRICE-9873] - Add property replacer support to data dictionary so config properties can be resolved at bean load time
[KULRICE-9911] - Masked values should not be sortable in tables and should not be returned for json backed table data
[KULRICE-5804] - Ability to configure results limits differently for different lookups needs to be added to KRAD - it was contributed for KNS in KULRICE-5686
[KULRICE-8919] - Create krad-data module
[KULRICE-8921] - Implement ProviderBasedDataObjectService and ProviderRegistry
[KULRICE-9168] - Add js function to show group content in tooltip
[KULRICE-1993] - Create a reference guide for our Ingestable XML configuration (DocumentType, RuleAttribute, etc.)
[KULRICE-5389] - Lookup - Implement lookup options
[KULRICE-5390] - Lookup - Implement search field conversions
[KULRICE-5391] - Lookup - Implement messages for results
[KULRICE-5399] - Lookup - Should use SortDefinition and perform default sort
[KULRICE-5599] - Multi-Value Lookups: Implement Select/Deselect All Pages
[KULRICE-6015] - Document the various Rice KIM permissions
[KULRICE-6062] - User's Guide: Review/Add Content to KRMS Chapter
[KULRICE-6064] - Technical Guide: Review/Add Content to KRAD_GUIDE and its Chapters
[KULRICE-6065] - Technical Guide: Review/Add Content to KRMS Chapter
[KULRICE-6066] - User's Guide: Review & Update Global Chapter
[KULRICE-6070] - User's Guide: Review & Update KNS Chapter
[KULRICE-6071] - User's Guide: Review & Update KSB Chapter
[KULRICE-6073] - Update KEN Guide
[KULRICE-6076] - Technical Guide: Review & Update KNS Chapter
[KULRICE-6077] - Technical Guide: Review & Update KSB Chapter
[KULRICE-6187] - Finish Producers - User Guide
[KULRICE-6197] - Document Search - Technical Guide
[KULRICE-6217] - Document the Data Dictionary
[KULRICE-7347] - KRAD Javadocs
[KULRICE-7348] - KRAD Javadocs
[KULRICE-7991] - Refactor client side state handling
[KULRICE-7998] - Rewrite how Dirty Fields Work
[KULRICE-8431] - Performance: perform expression function setup only once per lifecycle
[KULRICE-8433] - Performance: remove quickfinder and inquiry initialization from base beans
[KULRICE-8445] - Pull out KRAD into a separate project
[KULRICE-8630] - Rewrite history and breadcrumbs functionality
[KULRICE-8632] - Add KRAD Database Diagram
[KULRICE-8633] - Schema Spy links not currently working
[KULRICE-8637] - Find way to hide specific sections from the table of contents in DocBook
[KULRICE-8665] - KRAD Chapter: Common format for Keyword
[KULRICE-8690] - Uif-BaseTheme-parentBean defaults to minimized js which are difficult to debug
[KULRICE-8739] - Perform analysis of the KNS lookup framework
[KULRICE-8792] - Perform analysis of the KNS inquiry framework
[KULRICE-8827] - Dialog methods in UifControllerBase should not throw exception
[KULRICE-8828] - Dialog group bean definition should force session presistence
[KULRICE-8866] - Improved sessions support (restore when session dies, multiple user tab support)
[KULRICE-8868] - Page Titling Redesign
[KULRICE-8876] - Backbutton support for js actions (pushing history of js actions to browser history)
[KULRICE-8877] - UI boilerplate elements - make always in view (left nav, buttons, breadcrumbs), while others scroll away or collapse
[KULRICE-8894] - "Synchronous" behavior w/in KRAD
[KULRICE-8912] - allow for setting a freeze point on scrolling (aka sticky headers and footers).
[KULRICE-8917] - Iterate on validation framework UI
[KULRICE-9038] - Lookup - execute search when hitting enter while in any of the criteria text fields
[KULRICE-9039] - Lookup - Automatic inclusion of criteria for the "active" attribute when the BO class implements the Inactivateable interface
[KULRICE-9040] - Lookup - add triggerOnChange property on LookupCriteriaInputField that will trigger search on change of that field
[KULRICE-9072] - Conditionally render lookup criteria field
[KULRICE-9076] - Fix Criteria Masking on Lookups with encrypted fields
[KULRICE-9126] - README.txt in project root has out of date information for launching from Eclipse
[KULRICE-9164] - Multi-Value Lookup
[KULRICE-9171] - Add field hiding to grid layout
[KULRICE-9184] - Add 'order by' to CriteriaLookup
[KULRICE-9197] - KRAD 2.2.0 Maintenance Document: Not indicating changed fields
[KULRICE-9224] - QuickFinder without Lightbox
[KULRICE-9227] - Correct spelling of suppressed
[KULRICE-9237] - Restructure sections on clustering and session document service
[KULRICE-9239] - Correct KRAD Guide on using UIF functions
[KULRICE-9240] - UifBooleanEditor Property Editor formatted string values
[KULRICE-9254] - Add striping to the tables for easier readability
[KULRICE-9260] - Upgrade jquery-form from 2.64 to 3.31.0
[KULRICE-9263] - Remove unnecessary references to System.exit() in our code base
[KULRICE-9267] - Change build process so generated files are placed under /target
[KULRICE-9273] - Remove dash from Javadoc parameters in krad uif
[KULRICE-9277] - Add support to set autocomplete=off on a input field or all input fields of the page
[KULRICE-9278] - Update documentation per 2.3 restructure for KRAD split
[KULRICE-9280] - Split Release Documentation into module-based books
[KULRICE-9293] - JavaScript error on QuickFinder inside Collections
[KULRICE-9294] - Active indicator is not set properly on maintenance documents
[KULRICE-9298] - Update KRMS Guide
[KULRICE-9310] - Update KEN Guide: Expand notification documentation
[KULRICE-9313] - Perform experiment on cloning for performance improvements
[KULRICE-9314] - Update KRMS Guide: restructure graphic file org
[KULRICE-9315] - Breadcrumb Link incorrectly inheriting fieds as request params after page change
[KULRICE-9318] - Update KRMS Guide: Add/Update Sections For Completeness
[KULRICE-9327] - Create or Generate JUnit and TestNG Smoke Tests for WorkFlowDocTypeNavIT from Method Template Bases
[KULRICE-9328] - CLONE - Create or Generate JUnit and TestNG Smoke Tests for ConfigNameSpaceBlanketAppNavIT from Method Template Bases
[KULRICE-9354] - CLONE - Create or Generate JUnit and TestNG Smoke Tests for CreateDocTypeNavIT from Method Template Bases
[KULRICE-9379] - Add support for rendering views in KRAD without requiring a session to be established
[KULRICE-9404] - fix broken build due to license header update
[KULRICE-9414] - Update KIM Guide
[KULRICE-9461] - Fix css, nav menu collapse link, and use built in sticky header for Krad Sample App
[KULRICE-9469] - Throw exception when page contains a page in Krad
[KULRICE-9476] - When changing a page on RichTable validation is lost for the new items
[KULRICE-9493] - High level review of Rice docs for 2.3 release
[KULRICE-9583] - LightTables are still slow in IE
[KULRICE-9584] - Broken ! (not symbol) for spEL expression which will be evaluated on the client
[KULRICE-9585] - Disabled components are editable if displayed via progressive rendering.
[KULRICE-9588] - Correct KEW documentation on implementing a thin client
[KULRICE-9622] - DistributedCacheManagerDecoratorTest fails under JDK7 with Unable to reflectively invoke exhaustQueue
[KULRICE-9658] - attributeQuery does not set value correctly for radio/checkbox controls
[KULRICE-9694] - Implement both local and ajax requested Json data generation for datatables (RichTable)
[KULRICE-9717] - Add maven plugin for compiling LESS files
[KULRICE-9732] - Validation tooltips do not reappear when the error reoccurs while typing
[KULRICE-9811] - Declare official support for Java 6+ including Java 7 and update our documentation accordingly
[KULRICE-9857] - The changeset for KULRICE-9019 isn't in rice-trunk
[KULRICE-9866] - Performance issue in calculate message totals on client
[KULRICE-9892] - Enhance PeopleFlowTypeService and PeopleFlowRequestGeneratorImpl to allow resolving/accepting multiple maps of role qualifiers
[KULRICE-9944] - Sample Travel App is moving to the Component Library should be yanked from the default portal
[KULRICE-9949] - CSV and XLS export issue from collections (Safari Only)
[KULRICE-9956] - Table Layouts - MultiRow bombs out to exception report
[KULRICE-9958] - Bad ids on subcollections
[KULRICE-9977] - Inquiry links broken/point to the same inqury - copy fix
[KULRICE-10018] - Lightbox resizes after loading
[KULRICE-10032] - Remove example "Box Layout Fluid Containers" from Uif_Layout_Test
[KULRICE-10060] - Remove FFS css files for Fluid and Infusion
[KULRICE-10066] - Subcollections in details are broken when useServerPaging=true
[KULRICE-10073] - Subcollections when direct descendants of details group do not display correctly
[KULRICE-10082] - Create Rice 2.3.0 SchemaSpy documentation
[KULRICE-10090] - GridLayout does not hide rows with no content
[KULRICE-10091] - Performance problem with validation script on ajax details
[KULRICE-10092] - Problems with preSubmitCall for line actions
[KULRICE-10095] - Breadcrumbs no longer render