Skip to end of metadata
Go to start of metadata

Analysis JIRA: KULRICE-8793 - Data cannot be retrieved due to an unexpected error

Conversion Notes: Data Dictionary Attributes Matrix

Analysis Notes: https://docs.google.com/a/kuali.org/spreadsheet/ccc?key=0AqaSaSLMsdRMdHozb1FSaEdrZjBYdUEtRTdMZy1aNGc#gid=0

General Data Dictionary Features

ID

KNS Feature

Implemented in KRAD

Notes

User GuideKNS SampleKRAD Sample
DD1

Data dictionary implemented using Spring bean structure.

(tick)

bean parent comes from class that extends DataDictionaryEntryBase

   
DD2Use of spring imposes a "last-bean-with-the-same-id-wins" mechanic which needs to be preserved for client overrides.(tick)create a new bean with same id, in same directory. The one listed last in the directory wins.   
DD3Bean definitions can be inherited with selective attributes overridden.(tick)create a child bean that contains a property value different than the parent.   
DD4Collection properties can be merged, with new elements added to the end of the collection.(tick)<list merge="true">
<ref bean=""/>
</list>
   
DD5Extensive use of "-parentBean" abstract definitions in the baseline code to allow for easy extension of baseline functions without having to redefine all properties.
This also assists during upgrades.
(tick)<bean id="Book" parent="Book-parentBean"/>
<bean id="Book-parentBean" abstract="true" parent=DataObjectEntry">
   
DD6Establish a set of base "parent" definitions named after the DD classes to simplify the configuration. (So DD beans don't need to specify "class=xxx" on all of them.)
This also allows for the base bean classes and definitions to be overridden within a client application.
KFS does this to add a couple additional attributes to one of the beans and UCD uses this to set some defaults on the base beans so that they don't need to be specified on every single one.
(tick)in dataDictionaryBaseTypes   
DD7DD beans are indexed by their simple class name for retrieval by the JSP/JSTL code.(tick)KRAD version of DataDictionaryIndex includes all of the methods found in the 2.02 KNS DataDictionaryIndex.   
DD8Multiple indexes are in place to allow for retrieval by various core attributes. (full class name, document type code, maintenance document's business object)(tick)KRAD version of DataDictionaryIndex includes all of the methods found in the 2.02 KNS DataDictionaryIndex. Verified class name, document type name and maintenance    
DD9Existence of the DataDictionaryMapper which converts the DD values to a Map for use by the JSP layer.
(It would be nice if this were not necessary, as standard dot-notation should take care of that.
But, there is extensive expectation in the transactional documents that ${DataDictionary.ProjectCode.attributes} resolves to a java.util.Map which can then be passed around.)

(error)

 

No equivalent in krad. KRAD does not use JSP in the view layer.   
DD10Backing Java class for business object is specified in DD as a bean property(tick)bean property name changed from "BusinessObjectEntry" to "DataObjectEntry"DD10  
DD11Ability to define an inquiry view for a business object(tick)    
DD12Ability to define a lookup view for a business object(tick)    
DD13Ability to define help information for a business object(tick)   HelpView
DD14Define the name displayed as an inquiry link when lookup search results are displayed(tick)titleAttribute property. (same as KNS)DD10  
DD15Define the label for the object for use on help screens(tick)objectLabel property. (same as KNS)DD10  
DD16Provide a class which exports a List of BusinessObjects to a supported export format(tick)exporterClass property. (same as KNS)   
DD17Define whether notes and attachments are permanently associated with a business object or with the document used to create or edit the business object.(tick)<property name="boNotesEnabled" value="true"/> (same as KNS)   
DD18Define primary keys for object(tick)primaryKeys (same as KNS)   
DD19Define inactivation blocking definitions(tick)inactivationBlockingDefinitions (same as KNS)   
DD20Provide a list of attributes used for grouping when performing effective dating logic in the framework(tick)groupByAttributesForEffectiveDating (same as KNS)   
DD21Relationship definition. Keep a foreign key to a separate business object.(tick)(same as KNS)tbd  

 

Attribute Definition Related Features

ID

KNS Feature

Implemented

in KRAD

Notes

User GuideKNS SampleKRAD Sample
AD1

Ability to define the fields of a business object in the DD

(tick)

<property name="attributes"><list> (same as KNS)

DD10  
AD2

Ability to define metadata about business object fields

(tick)parent="AttributeDefinition" (same as KNS)AD2  
AD3Ability to map a business object field to the field of the backing java class(tick)name property (same as KNS)AD2   
AD4Ability to define the default label used when displaying the field(tick)label property (same as KNS)AD2   
AD5Ability to define a short label used when displaying the field in lists or collections(tick)shortLabel property (same as KNS)AD2   
AD6Ability to define the maximum length of the field for input and display(tick)maxLength property (same as KNS)AD2   
AD7Ability to define a short description of the field.(tick)summary property (same as KNS)AD2   
AD8Define a detailed description of the field. Used in help displays(tick)description property (same as KNS)AD2   
AD9Define the default UI control used to display the field on Inquiry, Lookup, and Maintenance views.(tick)

controlField property. (was "control" in KNS)

Both control and controlField properties may co-exist in an AttributeDefinition at this time

AD2,

CD0

  
AD10Ability to fully mask a field when displayed in an inquiry or lookup results(tick)

<bean parent="AttributeSecurity">
<property name="mask" value="true"/>
<property name="maskFormatter">
<bean parent="MaskFormatterLiteral" p:literal="(xxx)xxx-xxxx"/>
</property>
</bean>

  DataFieldView
AD11Ability to partially mask a field when displayed in an inquiry or lookup results(tick)

<bean parent="AttributeSecurity">
<property name="partialMask" value="true"/>
<property name="partialMaskFormatter">
<bean parent="MaskFormatterSubString" p:maskLength="6"/>
</property>
</bean>

  DataFieldView
AD12Define the valid characters constraint validation pattern(tick)

<property name="validCharactersConstraint">
<bean parent="AlphaNumericPatternConstraint" />
</property>

VP1 AlphaNumericPatternConstraintView
AD13Ability to force the alpha characters in a field to uppercase even if they were input by the user as lowercase(tick)<property name="forceUppercase" value="true"/>AD2 InputFieldView
AD14Define a field as a required field(tick)<property name="required" value="false" />  InputFieldView
AD15Define a field as unique??(tick)    
AD16Define a custom class used to apply custom formatting of the field for display(tick)    
AD17Set the minimum accepted value for a numeric input(tick)

<property name="simpleConstraint">
<bean parent="SimpleConstraint">
<property name="exclusiveMin" value="4"/>
</bean>
</property>

  SimpleConstraintView
AD18Set the maximum accepted value for a numeric input(tick)

<property name="simpleConstraint">
<bean parent="SimpleConstraint">
<property name="inclusiveMax" value="500"/>
</bean>
</property>

  SimpleConstraintView 
AD19Identify a separate field of the business object to use as a label for the current field(tick)    

 

Control Definition  Features

The ability to set the default UI control for the field to a currency formatted text field

ID

KNS Feature

Implemented

in KRAD

Notes

User GuideKNS SampleKRAD Sample
CD1

Set the default UI control for the field to a button

(tick)

<bean parent="Uif-PrimaryActionButton"/>

CD1  ActionFieldView
CD2Set the default UI control for a field to a text field(tick)<bean parent="Uif-TextControl"/>CD2 TextControlView
CD3Set the default UI control for a field to a currency formatted text field(tick)<bean parent="Uif-CurrencyTextControl" />CD3   
CD4 Set the default UI control for a field to a text area control(tick)<bean parent="Uif-TextAreaControl"/>CD4 TextAreaControlView
CD5Set the default UI control for a field to a date control(tick)<bean parent="Uif-DateControl" />CD5 DatePickerView
CD6Set the default UI control for a field to a checkbox control(tick)

<bean parent="Uif-CheckboxControl"/>

<bean parent="Uif-VerticalCheckboxesControl">

<bean parent="Uif-HorizontalCheckboxesControl">

CD6 CheckboxControlView
CD7Set the default UI control for a field to a radio control(tick)

<bean parent="Uif-VerticalRadioControl"/>

 <bean parent="Uif-HorizontalRadioControl"/>

CD7 RadioControlView
CD8Set the default UI control for a field to a select (dropdown) control(tick)<bean parent="Uif-DropdownControl"/>CD8 SelectControlView
CD9Set the default UI control for a field to a link(tick)<bean parent="Uif-LinkField"/>CD9  LinkFieldView
CD10

Set the default UI control for a field as hidden

(tick)<bean parent="Uif-HiddenControl"/>CD10  HiddenControlView
CD11Set the default UI control for a field as a specially formatted input field representing a person.(tick)<bean parent="Uif-KimPersonControl"/>CD11  KIMUserControlView
CD12Set the default UI control for a field to a multi-select control(tick)<bean parent="Uif-MultiSelectControl"/>  SelectControlView
CD13Set the default UI control for a field to a file control(tick)<bean parent="Uif-FileControl"/>CD13  FileControlView
CD14The ability to use different controls to a display a field in different views.(tick)    
CD15Define the display size of a text control(tick)<bean parent="Uif-TextControl" p:size="60"/>  TextControlView 
CD16Define the display size of a currency text control(tick)<bean parent="Uif-CurrencyTextControl" p:size="60"/>   
CD17Define the maximum formatted display length of a currency text displayed value(tick)<bean parent="Uif-CurrencyTextControl" p:maxLength="10" />   
CD18Set the number of rows and columns to display for a text area control(tick)<bean parent="Uif-TextAreaControl" p:rows="4" p:cols="100"/>  TextAreaControlView 
CD19Ability to define the options for a radio or select control as a static list(tick)

<property name="options">
<list>
<bean parent="Uif-KeyLabelPair" p:key="1" p:value="Radio 1"/>
<bean parent="Uif-KeyLabelPair" p:key="2" p:value="Radio 2"/>
</list>
</property>

  RadioControlView
CD20Ability to define a class to determine the options for a radio or select control dynamically(tick)

<property name="optionsFinder">
<bean class="org.kuali.rice.krad.demo.uif.options.SimpleTestKeyValues"/>
</property>

  RadioControlView
CD21Ability to control the key and label attributes associated with a radio or select control.(tick)    
CD22The ability to include a blank row as an option in a select control(tick)

<property name="optionsFinder">
<bean class="org.kuali.rice.krad.demo.uif.options.SimpleTestKeyValues" p:blankOption="true"/>
</property>

  SelectControlView
CD23The ability to specify the style class of a button(tick)

<bean parent="Uif-PrimaryActionButton" p:cssClasses="uif-secondaryActionButton"/>

  ActionFieldView
CD24The ability to provide an image for a button(tick)

<bean parent="Uif-PrimaryActionButton">
<property name="actionImage">
<bean parent="Uif-Image" p:altText="Image Only button"
p:source="@{#ConfigProperties['krad.externalizable.images.url']}searchicon.png"/>
</property>
</bean>

  ActionFieldView
CD25Ability to specify the css style class, href, link text, and target of a link(tick)

<bean parent="Uif-LinkField" p:href="http://www.kuali.org" p:linkText="Kuali Website in a new page"
p:target="_blank"/>

  LinkFieldView 

Validation Pattern Features

ID

KNS Feature

Implemented

in KRAD

Notes

User GuideKNS SampleKRAD Sample
VP1

Set the character constraint to accept any characters as input

(tick)

<bean parent="AnyCharacterPatternConstraint" />

VP1 AnyCharacterPatternConstraintView

VP2

Set the character constraint to accept only alphanumeric characters(tick)<bean parent="AlphaNumericPatternConstraint" />VP1 AlphaNumericPatternConstraintView
VP3Set the character constraint to accept only alphabetic characters(tick)<bean parent="AlphaPatternConstraint" />VP1 AlphaPatternConstraintView
VP4Set the character constraint to accept only numeric values(tick)<bean parent="NumericPatternConstraint" />VP1 NumericPatternConstraintView
VP5Set the character constraint to accept only a specified set of characters(tick)<bean parent="CharsetPatternConstraint" p:validChars="abcABC"/>VP1 CharsetPatternConstraintView
VP6The ability to use a regular expression as a character constraint pattern(tick)<bean parent="ValidCharactersConstraint" p:value="^[a-zA-Z]\.[0-9]$"VP1 RegexPatternConstraintView
VP7Set the character constraint to accept fixed point numbers(tick)

<bean parent="FixedPointPatternConstraint" 

VP1 FixedPointPatternConstraintView
VP8Set the character constraint to accept floating point numbers(tick)<bean parent="FloatingPointPatternConstraint" />VP1 FloatingPointPatternConstraintView
VP9Set the character constraint to accept only zip codes(tick)<bean parent="ZipcodePatternConstraint"/>VP1 RegexPatternConstraintView 
VP10Set the character constraint to accept only date years(tick)<bean parent="YearPatternConstraint"/>VP1 RegexPatternConstraintView 
VP11Set the character constraint to accept only months of the year(tick)<bean parent="MonthPatternConstraint"/>VP1 RegexPatternConstraintView 
VP12Set the character constraint to accept only timestamps(tick)<bean parent="TimestampPatternConstraint"/>VP1 RegexPatternConstraintView 
VP13Set the character constraint to accept only email address patterns(tick)<bean parent="EmailAddressPatternConstraint"/>VP1 RegexPatternConstraintView 
VP14Set the character constraint to accept phone number patterns(tick)<bean parent="PhoneNumberPatternConstraint"/>VP1 RegexPatternConstraintView 
VP15Set the character constraint to accept date patterns(tick)<bean parent="DatePatternConstraint"/>VP1 DatePatternConstraintView
VP16Set the character constraint to accept java class names as input(tick)<bean parent="JavaClassPatternConstraint"/>VP1 RegexPatternConstraintView 
VP17Set the character constraint to accept any UTF-8 characters(tick)<bean parent="UTF8AnyCharacterPatternConstraint"/>VP1  
VP18Set an exact length constraint on an alphanumeric input(tick)<bean parent="AlphaNumericPatternConstraint" p:exactLength="2"/>VP1 AlphaNumericPatternConstraintView
VP19Set an exact length constraint on an alphabetic input(tick)<bean parent="AlphaPatternConstraint" p:exactLength="2"/>VP1 AlphaPatternConstraintView
VP20Set an exact length constraint on a numeric input(tick)<bean parent="NumericPatternConstraint" p:exactLength="2"/>VP1 NumericPatternConstraintView
VP21Set an exact length constraint on an any character input(tick)<bean parent="AnyCharacterPatternConstraint" p:exactLength="2"/>VP1 AnyCharacterPatternConstraintView
VP22Set a max length constraint on an alphanumeric input(tick)<bean parent="AlphaNumericPatternConstraint" p:maxLength="10" />VP1 AlphaNumericPatternConstraintView
VP23Set a max length constraint on an alphabetic input(tick)<bean parent="AlphaPatternConstraint" p:maxLength="10" />VP1 AlphaPatternConstraintView
VP24Set a max length constraint on a numeric input(tick)<bean parent="NumericPatternConstraint" p:maxLength="10" />VP1 NumericPatternConstraintView
VP25Set a max length constraint on an any character input(tick)<bean parent="AnyCharacterPatternConstraint" p:maxLength="10" />VP1 AnyCharacterPatternConstraintView
VP26

Define whether whitespace characters are allowed in an alphanumeric field

(tick)<bean parent="AlphaNumericPatternConstraint" p:allowWhitespace="true" />VP1 AlphaNumericPatternConstraintView
VP27Define whether whitespace characters are allowed for an alphabetic field(tick)<bean parent="AlphaPatternConstraint" p:allowWhitespace="true" />VP1 AlphaPatternConstraintView
VP28Define whether whitespace characters are allow for an anyCharacter field(tick)<bean parent="AnyCharacterPatternConstraint" p:allowWhitespace="true" />VP1 AnyCharacterPatternConstraintView
VP29Define whether the underscore character is allowed in an alphanumeric field(tick)<bean parent="AlphaNumericPatternConstraint" p:allowUnderscore="true"/>VP1 AlphaNumericPatternConstraintView
VP30Define whether the period character is allowed in an alphanumeric field(tick)<bean parent="AlphaNumericPatternConstraint" p:allowPeriod="true"/>VP1 AlphaNumericPatternConstraintView
VP31Define whether negative values are allowed in a fixed point field(tick)<bean parent="FixedPointPatternConstraint" p:allowNegative="true"VP1 FixedPointPatternConstraintView
VP32Define the precision and scale of a fixed point numeric value(tick)<bean parent="FixedPointPatternConstraint" p:precision="5" p:scale="2"VP1 FixedPointPatternConstraintView
VP33Define whether negative values are allowed in for a floating point field(tick)<bean parent="FloatingPointPatternConstraint" p:allowNegative="true"/>VP1 FloatingPointPatternConstraintView 
  • No labels