Skip to end of metadata
Go to start of metadata

Overview

From KFSMI-5945:

  1. Lookup Definition: Fields added to the existing list of search results are added after the active indicator which should always be at the end of the list. Please change the logic to place active indicator at the bottom of the list if merge=true is used.
  2. Inquiry Definition: Fields added to the existing list on an inquiry are placed in a new tab if merge=true is used. Change the logic to place the additional fields in the same tab as the original list of fields by default, but make sure to place the active indicator at the bottom of the list.

The UC Davis KFS team developed a solution which allows client developers to add institutional fields to Inquiry Definitions and Lookup Definitions and place those fields before, after, or in between out-of-the-box fields (the box being KFS, KC, or other Rice client applications). See comments by Jonathan in KULRICE-4513

Implementation in Rice 1.0.3

  1. Create Bean Override: Used to perform overrides on the content of a Data Dictionary bean.
    org.kuali.rice.kns.datadictionary.BeanOverride
  2. Create Field Override: Used to override properties in a Data Dictionary bean.
    org.kuali.rice.kns.datadictionary.FieldOverride
  3. Declare beans as Data Dictionary Base Types
    org.kuali.rice.kns.bo.datadictionary.DataDictionaryBaseTypes.xml
  4. Add a performOverrides() method to DataDictionary.
    org.kuali.rice.kns.datadictionary.DataDictionary.java
  5. Modify KNS Configurer to call performOverrides() after the Data Dictionary has been loaded and validated.

Implementation in Travel Application 1.0.3

Scenario

  1. We want to add a field called First Name to Fiscal Officer.
  2. We want this First Name rendered between ID and User Name in the lookup, result and inquiry screens.

Implementation

  1. Modify the class descriptor of TRV_ACCT_FO.
    OJB-respository-sampleapp.xml
  2. Add support in FiscalOfficer object.
    edu.sampleu.travel.bo.FiscalOfficer
    Icon

    In this implementation, we created a member called firstName but mapped it to the same column as username.
    Optionally, we can:

    1. Add column ACCT_FO_FIRST_NAME to table TRV_ACCT_FO and populate.
    2. Modify the class descriptor of TRV_ACCT_FO
      OJB-respository-sampleapp.xml
    3. Add support in FiscalOfficer object.
      edu.sampleu.travel.bo.FiscalOfficer
  3. Create a Data Dictionary entry for First Name (in general, any additional entries to existing ones). This is where we use FieldOverride to place First Name where we want.
    edu.sampleu.travel.datadictionary.FiscalOfficer-Extension.xml
    Icon

    Notice that the bean FiscalOfficer uses <list merge="true"> to "append" firstName to the Data Dictionary entry of the same name in the "out-of-the-box" FiscalOfficer.xml file.

  4. Declare the new Data Dictionary entries in the Module Configuration. This will be injected into the Travel application's Module Configurer.
    we/src/main/resources/SampleAppModuleBeans.xml

Without Bean Overrides

Lookup and Results

Inquiry

Bean Overrides at Work

2010-09-30 16:41:52,203 [main] u:/d: INFO  org.kuali.rice.kns.config.KNSConfigurer - KNS Configurer - Loading DD
2010-09-30 16:41:52,203 [main] u:/d: INFO  org.kuali.rice.kns.datadictionary.DataDictionary - Starting DD XML File Load
2010-09-30 16:41:55,500 [main] u:/d: INFO  org.kuali.rice.kns.datadictionary.DataDictionary - Completed DD XML File Load
2010-09-30 16:41:55,500 [main] u:/d: INFO  org.kuali.rice.kns.datadictionary.DataDictionaryIndex - Starting DD Index Building
2010-09-30 16:41:56,546 [main] u:/d: INFO  org.kuali.rice.kns.datadictionary.DataDictionaryIndex - Completed DD Index Building
2010-09-30 16:41:56,546 [main] u:/d: INFO  org.kuali.rice.kns.datadictionary.DataDictionaryIndex - Started DD Inactivation Blocking Index Building
2010-09-30 16:41:56,562 [main] u:/d: INFO  org.kuali.rice.kns.datadictionary.DataDictionaryIndex - Completed DD Inactivation Blocking Index Building
2010-09-30 16:41:56,562 [main] u:/d: INFO  org.kuali.rice.kns.config.KNSConfigurer - KNS Configurer - Validating DD
2010-09-30 16:41:56,937 [main] u:/d: INFO  org.kuali.rice.kns.datadictionary.DataDictionary - DataDictionary.performOverrides(): Performing override on bean: InquiryDefinition 'Travel Fiscal Officer Inquiry'
2010-09-30 16:41:56,953 [main] u:/d: INFO  org.kuali.rice.kns.datadictionary.DataDictionary - DataDictionary.performOverrides(): Performing override on bean: LookupDefinition 'Travel Fiscal Officer Lookup'

Lookup and Results

Inquiry

  • No labels