Table of Contents |
---|
Rice Release Notes
...
public static final String KC_NAMESPACE_URI = "http://kc.kuali.org/kc-kfs/v2_0" ; public static final String KFS_NAMESPACE_URI = "http://kfs.kuali.org/kc-kfs/v2_0" ; |
KFS/KC Integration Data
...
This process is covered in detail in the KFS 4.1.1 to KFS 5.0 Upgrade Notes document.
Replace baseline code
Re-apply any local changes to baseline code.
Convert customization code using provided conversion program
Complete code updates manually
Apply KFS database changes (back up first)
Apply Rice Server database changes
Apply Rice server KFS data changes (parameters/roles/perms/etc...)
Review and apply workflow changes (only apply if needed - must be compared to institution workflow customizations and requirements)
Tomcat Configuration Changes
-D properties used on Tomcat startup (JAVA_OPTS/CATALINA_OPTS)
Optional configuration property which specifies a file (outside the KFS war file) that KFS will read configuration properties from at runtime:
-Dadditional.kfs.config.locations=PATH_TO_CONFIG_FILE
Configuration file changes
Build process files (properties with defaults in the build/properties directory)
security.properties on servers
log4j.properties on servers
rice-config.xml file on Standalone Rice servers
...
kfs/work/db/upgrades/4.1.1_5.0/rice_server/kim_upgrade_pre_rice_20.xml
All KIM permissions and responsibilities need to be modified to have unique namespace/name combinations. One of the scripts here does that for any permissions/responsibilities with the “default” style name (where the name matches the template name).
If you have not used this convention in any of your institution’s permissions, you will need to rename them in advance of the Rice 2.0 server upgrade.
Removes a handful of duplicate permissions by ID (as provided by Kuali)
Re-numbers a couple of KIM type IDs which were accidentally re-used by new Rice data.
kfs/work/db/upgrades/4.1.1_5.0/rice_server/kew_upgrade.xml
Updates the labels on a couple document types.
Updates the help and document search help URLs.
Adds ${kfs.externalizable.help.url} to the beginning of KFS document search help URLs.
Replaces ${application.url} with ${kfs.url} on all delivered KFS document types.
If you have new document types, your document types should be added to this statement. *DO NOT* simply update all records, as the Rice server documents need to retain ${application.url} to function.
Updates class names of changed classes linked to routing nodes to handle changes in Rice class names.
kfs/work/db/upgrades/5.0_5.0.1/rice_server/kew_upgrade.xml
Updates the help and document search help URLs.
Updated service namespace to be a URI "{http://kfs.kuali.org/kfs/v5_0}" instead of "{KFS}" in order for bus security to work properly.
kfs/work/db/upgrades/4.1.1_5.0/rice_server/kim_upgrade.xml
Prefixes all KFS type service names in KRIM_TYP_T with “{KFS}” to enable them to continue working in a standalone Rice environment.(Superseded by 5.0_5.0.1 kim_upgrade.xml changes)Removed KIM data related to the RA document. (Not used since KFS 2.0 and fully removed in 5.0.)
Fixed the namespace and KIM type on the “Administer Batch File” permission.
Other changes, including new/updated roles, new/updated permissions, and changed role/permission assignments are documented in KFS 5.0.2 KIM Data Changes.
kfs/work/db/upgrades/5.0_5.0.1/rice_server/kim_upgrade.xml
Prefixes all KFS type service names in KRIM_TYP_T with a URL "{http://kfs.kuali.org/kfs/v5_0}" instead of “{KFS}” to enable them to continue working in a standalone Rice environment (required for bus security).
Other changes, including new/updated roles, new/updated permissions, and changed role/permission assignments are documented in KFS 5.0.2 KIM Data Changes.
kfs/work/db/upgrades/5.0.1_5.0.2/rice_server/kim_upgrade.xml
Changes, including new/updated roles, new/updated permissions, and changed role/permission assignments are documented in KFS 5.0.2 KIM Data Changes.
kfs/work/db/upgrades/4.1.1_5.0/rice_server/parameter_updates.xml
kfs/work/db/upgrades/5.0_5.0.1/rice_server/parameter_updates.xml
kfs/work/db/upgrades/5.0.1_5.0.2/rice_server/parameter_updates.xml
...
Searchable Attributes / Document Search Customizers
The Rice API for customizing document search has changed dramatically in Rice 2.0. As such, if you customized the FinancialSystemSearchableAttribute or DataDictionaryDocumentSearchCustomizer. you will need to adapt your changes to the new APIs. Use the KFS files as examples and refer to the Rice documentation on customizing document search:http://site.kuali.org/rice/2.1.0/reference/html/TRG.html#d1357e8196
Purchasing Application Document Status Updates
(see below)
Changes:
Moved CFDA document under the COA Simple maintenance documents parent.
Addition of org review routing to CRM
Routing by object code for ECD document
Added Separation of Duties review to the DV
Restored parallel routing to LD documents
Renamed YEARENDDEPR document to YDPA
Added Recall from Routing policies to top-level KFS document.
Re-enabled the Sensitive Data Security Attribute.
New Documents:
Procurement Card Default document PCDM
Asset payment document type document: APDT
Labor Benefit Rate Category: BNRC
Removal of RA document (unused since KFS 2.x)
Updated package for the DataDictionaryQualifierResolver class
Changed ${application.url} references to ${kfs.url}
Updated document search URLs to be prefixed with ${kfs.externalizable.help.url}
...
You should review the KIM Services documentation in the Rice 2.1 Reference Guide:http://site.kuali.org/rice/2.1.0/reference/html/TRG.html#d1357e10393
Below are some items to watch for when upgrading your code:
...
KFS 4.1.1 Name | KFS 5.0.2 Name | Contents/Purpose |
---|---|---|
spring-rice-startup.xml | kfs-startup.xml | Definition of the system properties used to tokenize the spring files. Includes all base Rice startup files and the KFS-specific configurer class. |
spring-jta.xml | kfs-RiceJTASpringBeans.xml | Contains the transaction manager definitions for the project. There should be no need to edit this file. All values which may need to be changed are handled via properties. |
spring-datasources.xml | kfs-RiceDataSourceSpringBeans.xml | Contains the datasource beans for the project. There should be no need to edit this file. All values which may need to be changed are handled via properties. |
spring-rice-configurer.xml | kfs-RiceSpringBeans.xml | In 4.1.1, this file also contained the KFSConfigurer bean, since it needed to be inserted into the RiceConfigurer. If KFS 5.0, this is a virtual copy of the Rice version of the file and should not be changed. |
N/A | spring-additional-rice-beans.xml | This file contains beans which implement services which were part of Rice in 1.0.x but are not in Rice 2.0. |
N/A | kfs-cache-config.xml | Contains the Spring beans which define the cache managers for KFS services. |
spring-kfs-imported-rice-beans.xml | This file contains two types of beans:
| |
spring-kfs-rice-overrides.xml | spring-rice-krad-overrides.xml | Contains baseline Rice beans which we need to override for KFS functionality. This file is specified in the rice.kr.additionalSpringFiles property which causes them to be injected (and override) the Rice beans of the same IDs. That way, these versions of those beans will be used throughout the system. |
spring-test-env-beans.xml | spring-test-env-beans.xml | This contains beans which you would only want to include/override in testing environments. For the most part, these are overrides to module configurations which add certain batch steps that perform useful functions for testing the system. |
KFS Startup File Location
In KFS 4.1.1, this file was hard-coded in the SpringContext class. As of KFS 5.x, it is specified by the "bootstrap.spring.file" build-time configuration property. This property is injected into web.xml during the "dist-local" process.
RiceConfigurer Has Been Removed
As part of the changes to Rice setup, the RiceConfigurer class which served to bind all the modules of Rice into the startup process has been removed. Instead, each of the module configurers (which still exist) now self-register without the need for an over-arching configurer.
...
This mainly affects the Parameter maintenance document on the Rice server, but the method of getting these components into the Rice server has changed drastically in Rice 2.0. It should not affect applications much, but it's important to know what is going on now.
Component Publishing
In Rice 1.x, there was a service which was published by all client applications (the RiceApplicationConfigurationService) that was queried when the Rice server needed to load components. This required that the KFS server be on-line at the time when the data was needed. In Rice 2.0, each client application "publishes" its components to the Rice server shortly after startup. These components are then stored in a special table. Every time the KFS servers start up, they re-publish their list of components to the server. This helps the server maintain a comprehensive list of components as well as improves performance and validation reliability.
This loading is performed in the method: SpringContext.finishInitializationAfterRiceStartup()
Batch Steps
In KFS, batch steps are also valid components. But, since they are not in the data dictionary, KFS had some special code which made them appear as such to the Rice server. In Rice 2.0, the concept is the same, but the process is more formal, as we can publish them to the server in the same manner as the data dictionary-based components.
...