Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

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

Icon

Many of the items raised on the Inquiry analysis will apply to maintenance documents. They are both defined by similar data structures in the data dictionary and, ultimately, rendered by rowDisplay.tag.

 

 

KNS Feature

Implemented in KRAD

Notes

Ability to copy another business object by clicking a link from the lookup. Copies all the attributes except for the primary key, ver number, and object ID fields by default.
(Why can't we do this from a link on the inquiry page?) 

 

Different implementation will be needed, since object ID and version number are no longer required.

Upon copy, blanks out any fields determined to be "restricted" based on input from the document authorizer.  
Ability to delete a business object.  
edit  
Ability to pass in properties on the HTTP request to pre-populate fields on the document. If overrideKeys=field1,field2 not specified, then only parameters with the names of the primary key fields will be used.  
Calls into the Maintainable to populate any blank fields which have defaults after a New or Copy document is created.  
Automatically displays the left "Old" side when editing or copying a business object.  
Ability to block the creation of new objects of a given type at the data dictionary level. (allowsNewOrCopy)  
   

Things to look into

Icon
  • Seems to have some special handling for attachments.
  • Support for encrypted incoming parameters for the new with existing case.
  • Fragile processing of "commands" - where the document handler was invoked from.
  • Special handling for multiple value lookup.
  • Handling for EBOs

 

Permission Checks

Check Description

Location

KIM Permission

Checks if a security-masked field can be displayed in the clear

BusinessObjectAuthorizationServiceImpl.canFullyUnmaskField

KR-NS / Full Unmask Field

Checks if a security-masked field can be partially displayed

BusinessObjectAuthorizationServiceImpl.canPartiallyUnmaskField

KR-NS / Partial Unmask Field

   
   
   
Icon

Delete permission is insufficient. Just because a user can maintain an object, doesn't mean they should be able to delete it. A new permission template should be introduced for business object deletion.

 

Involved Classes

Class

Notes

Finished Analysis

Struts Classes

 

 

org.kuali.rice.kns.web.struts.action.KualiMaintenanceDocumentAction

 

 

org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase  

org.kuali.rice.kns.web.struts.form.KualiMaintenanceForm

 

 

org.kuali.rice.kns.web.struts.form.KualiDocumentFormBase  
General Classes  
org.kuali.rice.kns.document.MaintenanceDocumentBase  
org.kuali.rice.krad.maintenance.MaintenanceDocumentBase  
org.kuali.rice.kns.rules.MaintenanceDocumentRule  
org.kuali.rice.kns.maintenance.rules.MaintenanceDocumentRuleBase  

org.kuali.rice.kns.util.FieldUtils

 

 

org.kuali.rice.kns.web.ui.FieldBridge

Converts the field metadata into UI objects used by rowDisplay.tag

 

org.kuali.rice.kns.web.ui.SectionBridge

Converts the section metadata into UI objects used by rowDisplay.tag

 

org.kuali.rice.kns.util.MaintenanceUtils  

JSP/Tag Files

 

 

/rice-web/src/main/webapp/kr/WEB-INF/jsp/KualiMaintenanceDocument.jsp

 

 

/rice-web/src/main/webapp/WEB-INF/tags/kr/page.tag  
/rice-web/src/main/webapp/WEB-INF/tags/kr/documentOverview.tag  

/rice-web/src/main/webapp/WEB-INF/tags/kr/documentControls.tag

 

 

/rice-web/src/main/webapp/WEB-INF/tags/kr/tab.tag

 

 

/rice-web/src/main/webapp/WEB-INF/tags/kr/rowDisplay.tag

Handles the actual display of the data cells in the document.

 

Maintainable

 

 

org.kuali.rice.kns.maintenance.KualiGlobalMaintainableImpl

 

 

org.kuali.rice.kns.maintenance.KualiMaintainableImpl

 

 

org.kuali.rice.krad.maintenance.MaintainableImpl  

Data Dictionary Classes

 

 

org.kuali.rice.kns.service.impl.MaintenanceDocumentDictionaryServiceImpl  

org.kuali.rice.kns.datadictionary.InquiryDefinition

 

 

org.kuali.rice.kns.datadictionary.MaintainableSectionDefinition

 

 

org.kuali.rice.kns.datadictionary.MaintainableSubSectionHeaderDefinition

 

 

org.kuali.rice.kns.datadictionary.MaintainableItemDefinition  
org.kuali.rice.kns.datadictionary.MaintainableFieldDefinition  

org.kuali.rice.kns.datadictionary.MaintainableCollectionDefinition

 

 

org.kuali.rice.kns.datadictionary.validation.MaintenanceDocumentAttributeValueReader  
Presentation Controller and Authorization  
org.kuali.rice.krad.document.DocumentPresentationControllerBase  

org.kuali.rice.kns.document.authorization.MaintenanceDocumentPresentationControllerBase

 

 

org.kuali.rice.kns.document.authorization.MaintenanceDocumentAuthorizerBase

 

 

org.kuali.rice.kns.document.authorization.MaintenanceDocumentRestrictionsBase

DTO class which contains the results of all presentation controller and authorizer checks on document sections and fields. Used by the KNS UI classes to alter the contents of the document.

 

org.kuali.rice.kns.document.authorization.InquiryOrMaintenanceDocumentRestrictionsBase  

org.kuali.rice.kns.bo.authorization.BusinessObjectAuthorizerBase

 

 

org.kuali.rice.kns.service.impl.BusinessObjectAuthorizationServiceImpl  
  • No labels