Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-240

review the maintenance framework dd override functionality


    • Type: Improvement Improvement
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: Not version specific
    • Component/s: Analysis
    • Labels:
    • Similar issues:
      KULRICE-4258Inconsistent use of Formatters in maintenance framework
      KULRICE-11390Create Automated Functional Tests for KRAD Labs - Maintenance Sample - Override Values
      KULRICE-8794Perform analysis of the KNS maintenance framework
      KULRICE-916Create a confluence page for the Maintenance Framework
      KULRICE-4102Maintenance Document framework assumes objects are persistable
      KULRICE-6420Javadocs for KRMS api & framework by function
      KULRICE-13518Create smoke test for the dd property allowsRecordDeletion
      KULRICE-139increase flexibility of field --> lookup associations in the maintenance framework
      KULRICE-901DD parse problem when BO & Trans. DD entries have related names
      KULRICE-13521 Create smoke test for KRAD Maintenance Document to test specifying a maintainableClass in DD


      Here are warren's comments. i link the related isue with more info...

      I think there should be improvements made to the maintainable's DD override framework. As it stands now,

      1) the override functionality is not completely implemented (since vendor was the only one that used the override in a non-trivial way, I took the fastest approach to resolve this issue). There are other places where the override methods need to be called in section/field bridge.

      2) every time the maint doc renders, it makes at least 2 (possibly many) copies of each maint doc DD section/field/collection entry (one each for new and old maintainable) using ObjectUtils.deepCopy regardless of whether a meaningful override is implemented. Copying prevents DD corruption issues by preventing changes to the global DD entries. The default meaningless override implementation does nothing, so a copy isn't needed.

      This probably isn't the fastest approach and it affects the performance whether or not a meaningful override is performed. Perhaps we could modify the maint doc DD service to return a new copy of the complete maint doc entry so that we can limit the system to one copy of the DD entry for that doc (i.e. make a deep copy at the <maintenanceDocument> level of a maint doc DD xml file) per maint doc web request.

      3) the DD override interface could probably be made more meaningful. The current interface is:
      public void overrideDataDictionaryFieldConfiguration(DataDictionaryDefinitionBase definition)
      public void overrideDataDictionarySectionConfiguration(DataDictionaryDefinitionBase definition)

      These methods could at least use parameter types that are more meaningful.

        Issue Links


          Jessica Coltrin (Inactive) added a comment -

          KNS-implementation specific. Closing.

          Jessica Coltrin (Inactive) added a comment - KNS-implementation specific. Closing.


            • Assignee:
              Dan Lemus (Inactive)
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created:

                Structure Helper Panel