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

Review design for extension framework in new data layer

    Details

    • Type: Task Task
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4
    • Component/s: Analysis, JPA, Roadmap
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-7323Come up with a new design for the KRAD data access layer (i.e. BusinessObjectService) which is JPA-friendly
      KULRICE-9090Determine how to move the core validation framework behind the data layer
      KULRICE-9347Implement Extension framework in new KRAD data module
      KULRICE-9529Document how to use the new extension framework
      KULRICE-9089Design and analysis for how new metadata and Data Dictionary will be loaded and split from current data dictionary
      KULRICE-13154Review CSS and design
      KULRICE-8922Implement DataDictionary and metadata layer for KRAD data layer refactoring
      KULRICE-11414Extension framework does not work with objects using sequences for primary key
      KULRICE-9098Determine how DictionaryValidationService will play into the new data dictionary design
      KULRICE-9103Implement persistence compatibility layer for legacy KNS/KRAD apps vs. new KRAD apps using the shiny new data layer
    • Rice Module:
      KRAD
    • KRAD Feature Area:
      Persistence Framework
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      Jerry put together a design on this in JPA persistence provider specification. I'd like to take another look and that and make sure it's the direction we want to go. I believe the proposed design involves programatically re-mapping the parent object of the extension which is neat, but of course that ties us to using the underlying persistence provider to extend. I think that's actually not a bad thing necessarily as if you are going to extend an object it probably makes sense that you would extend it into the same underlying persistence mechanism (though there are potentially some interesting use cases for going otherwise).

      Still, this item is just a placeholder for me to review the design and ensure everything looks good there and how we will handle the concept of "extensions" from a generic data-layer perspective.

        Issue Links

          Activity

          Hide
          Eric Westfall added a comment -

          This has been completed, worked with Jonathan on a bit of an alternate design which does not require any changes in the data dictionary at all but instead uses an @ExtensionFor annotation on the extended object.

          See the extension section of this document for details:

          https://wiki.kuali.org/display/KULRICE/KRAD+JPA+Data+Provider+-+Revised

          Show
          Eric Westfall added a comment - This has been completed, worked with Jonathan on a bit of an alternate design which does not require any changes in the data dictionary at all but instead uses an @ExtensionFor annotation on the extended object. See the extension section of this document for details: https://wiki.kuali.org/display/KULRICE/KRAD+JPA+Data+Provider+-+Revised

            People

            • Assignee:
              Eric Westfall
              Reporter:
              Eric Westfall
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Structure Helper Panel