Kuali Rice 2.4.0-M5-SNAPSHOT Release Notes

Released: 04-18-2014


Table of Contents

Overview
Release Highlights
Download
Documentation
Contact
Major Changes
Java Persistence API (JPA) Support and Internal Conversion
The krad-data Module
Upgrade Guide
Oracle
MySQL
Conversion Guide
Items Addressed in Rice 2.4.0-M5-SNAPSHOT
Bug Fix
Task

Overview

Welcome to Rice 2.4.0-M5-SNAPSHOT!

Release Highlights

This version of Rice is a patch release consisting of bug fixes and small items needed by Kuali application partners. There are no database changes and it should be a drop-in replacement.

Download

Kuali Rice 2.4.0-M5-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.

Documentation

API Documentation can be found at http://site.kuali.org/rice/2.4.0-M5-SNAPSHOT/apidocs/index.html

Formal documentation can be found at http://site.kuali.org/rice/2.4.0-M5-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.

Contact

If you encounter any difficulty, please don't hesitate to contact the Rice team on our public collaboration mailing list at . Please indicate that you are using the 2.4.0-M5-SNAPSHOT version of Rice.

Major Changes

Java Persistence API (JPA) Support and Internal Conversion

One of the major deliverables for version 2.4.0-M5-SNAPSHOT of Kuali Rice was support for the Java Persistence API (JPA) and conversion away from the legacy OJB framework for object-relational mapping within Kuali. This goal has been accomplished with this release of Kuali Rice.

The specific implementation of JPA being used is the JPA 2.1 reference implementation of EclipseLink (http://www.eclipselink.org), version 2.5.1.

As part of this effort, a number of changes were made to Kuali Rice itself:

  • Internal services and data access objects within Kuali Rice were modified to use JPA instead of OJB.

  • A number of helper classes were provided to make JPA setup and configuration simpler, specifically:

    • KradEclipseLinkEntityManagerFactoryBean which simplifies Spring-based configuration of JPA

    • JPA 2.1 converter classes to help with standard data conversions that are commonly used by Rice-based applications (such as converter "Y" and "N" in the database to corresponding boolean values)

    • Custom annotations allowing for the use of cross-database platform "Sequences" in the database.

    • Custom annotations allowing for filtering, mapping removal, and versioning removal.

  • A JPA-based Data Provider implementation was provided for the new krad-data module (see next section).

  • An OJB to JPA converter was created to help with migration of existing applications using OJB over to JPA.

A guide is provided which details how to convert from OJB to JPA within the KNS to KRAD conversion guide.

The krad-data Module

The krad-data module is a new module of KRAD which provides a set of APIs for working with data and metadata.

This module was created to help facilitate the conversion to JPA within Kuali Rice and allows for Kuali Rice modules to leverage this API for data operations without having to hard-code the use of JPA APIs throughout the code base. It also allows the rest of the frameworks within KRAD to use this API and insulate themselves from the details of the underlying persistence implementation. This ultimately gives the product more flexibility moving forward. In fact, the krad-data module is intended to provide the capability to support other data and persistence technologies in the future.

More information about the design of this module (as well as the specifics of its JPA implementation) can be found in the KRAD Data Layer Design documents, as well as the "Data Objects" documentation within the KRAD Guide.

It is important to note that efforts have been made to keep the Kuali Nervous System (KNS) with OJB support backward compatible in Rice 2.4. A legacy adapter layer was put into place as part of the integration of the krad-data module back into the rest of KRAD and this is intended to make decisions on whether to use the old OJB-based persistence layer or the new JPA-based implementation depending on various pieces of contextual information. Specifics on how this works can be found in the aforementioned KRAD Data Layer Design documents.

Upgrade Guide

Below is information on how to upgrade your database to Rice 2.4.0-M5-SNAPSHOT from the previous version. If you are upgrading from another previous version, you may want to reference Database Upgrade Paths.

Oracle

MySQL

Conversion Guide

Rice will eventually require conversion from the Kuali Nervous System (KNS) to the Kuali Rapid Application Development (KRAD) framework. Rice implementers can also convert now to avoid larger upgrades in the future, and the information on how to do this is in http://site.kuali.org/rice/2.4.0-M5-SNAPSHOT/reference/html/KNS2KRAD_ConvGuide.html. This guide includes information on how to run the automatic conversion tool, a list of items that may need to be changed manually, and a primer on how to use the new KRAD Data Framework using the Java Persistence API (JPA).

Items Addressed in Rice 2.4.0-M5-SNAPSHOT

Bug Fix

  • [KULRICE-10505] - Fix Tomcat 7 jsp compilation errors in WorkgroupTab.jsp & RemoveReplaceDisplay.jsp

  • [KULRICE-10507] - ENABLE_FIELD_LEVEL_HELP_IND in KualiForm

  • [KULRICE-10602] - Collection Totaling table page information does not display if full table information has been displayed.

  • [KULRICE-10652] - PeopleFlow members of type Group should not be able to set the action request policy

  • [KULRICE-10762] - KRAD Demo Library Collections Auto Sequence adds commas to Input Fields

  • [KULRICE-10777] - KRAD Demo Library Sticky Header Example 5 JS error

  • [KULRICE-10893] - PeopleFlow add Group/Role oddity

  • [KULRICE-11043] - Person document goes into exception when attempting to deactivate a Person with a single group membership

  • [KULRICE-11045] - Delegations throws exception when selecting role in Person Maintenance

  • [KULRICE-11166] - Incorrect handling of null compares in RulesManagmentServiceImpl

  • [KULRICE-11197] - DirtyCheck should not be performed on dialog return.

  • [KULRICE-11226] - Delete Agenda does not cascade and leaves orphaned data and integrity constraints

  • [KULRICE-11293] - MySQL scripts for 2.1.3 - 2.2.1 and 2.1 - 2.2 upgrade do not work

  • [KULRICE-11295] - Unable to change rule action from Validation to Route to Peopleflow / Notify PeopleFlow

  • [KULRICE-11406] - Cannot create peopleFlow docs on rice env2 or env8

  • [KULRICE-11409] - KRMS - Cannot delete or update additional False rule from rule editor

  • [KULRICE-11415] - KRMS: Rules: cannot save more than 2 rules

  • [KULRICE-11416] - Internet Explorer 11 & possible JavaScript issue - links not working "resize_intermediate.html was not found on this server"

Task

  • [KULRICE-10818] - Add custom operators to KRMS documentation

  • [KULRICE-10975] - KEW Routing Problem in Distributed where the data exists but trying to route can't load the document

  • [KULRICE-11264] - KRMS does not allow null or blank NL templates

  • [KULRICE-11265] - update in AgendaBoServiceImpl and RuleBoServiceImpl not updating actionAttributes

  • [KULRICE-11278] - Add caching annotations to translate Natural Language methods in the KRMS RuleManagementService