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

Update maintenance document XML update converters

    Details

    • Type: Task Task
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.2
    • Fix Version/s: 2.1.3
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-12304Maintenance document "just-in-time" converter
      KULRICE-12305Modify maintenance document "just-in-time" converter so it saves document content to the database
      KULRICE-14063Update IntelliJ XML files for Update 2.5.1 to 2.5.2
      KULRICE-12751Bulk Update Documentation
      KULRICE-6138Review converted DocBook docs & update styles
      KULRICE-9665Implement targeted encryption within maintenance document XML
      KULRICE-7716Update Lightboxes to allow for Maintenance Documents within them
      KULRICE-4095Update org.kuali.rice.core.jpa.metadata.MetadataManager to handle Hibernate XML
      KULRICE-14179Update IntelliJ XML Files for update 2.5.2 to 2.5.3
      KULRICE-4872Implement a conversion utility for Rice 2.0 which will aid in performing conversions on legacy maintainable XML
    • Application Requirement:
      KFS
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      Upon attempting to update production data with the existing converters, it was apparent that not all the Rice-needed changes were included in the converter script. I'm still working through the potential issues, but here are the extra converters I've found so far:

          <pattern>
            <match>org\.kuali\.rice\.kns\.bo\.KualiCodeBase</match>
            <replacement>org.kuali.rice.krad.bo.KualiCodeBase</replacement>
          </pattern>
          <pattern>
            <match>org\.kuali\.rice\.kim\.bo\.impl\.PersonImpl</match>
            <replacement>org.kuali.rice.kim.impl.identity.PersonImpl</replacement>
          </pattern>
          <pattern>
            <match>org\.kuali\.rice\.kns\.util\.TypedArrayList</match>
            <replacement>java.util.ArrayList</replacement>
          </pattern>
      

      Additionally - my test program was unable to resolve java.util.Date fields. It was complaining that the 2010-08-05 (and the like) were not valid formats. I ended up having to override the DateConverter so that it would parse that format in addition to the formats with time components. (My guess is that was an acceptable format back in KFS 3.0.1 / Rice 1.0.1.1 - and attempting to parse every single document is the only reason this came up.) But, this could be an issue for multiple KFS implementors who are running KFS 3.x in production and will be upgrading.

      1. acct_delegate_global_sample.xml
        26 kB
        Jonathan Keller
      2. FileConverter.groovy
        12 kB
        Jonathan Keller
      3. MaintainableXMLUpgradeRules.xml
        8 kB
        Shannon Hess
      4. TestMaintDocUnmarshal.groovy
        3 kB
        Jonathan Keller
      5. TestTypedArrayListFix.groovy
        3 kB
        Jonathan Keller

        Issue Links

          Activity

          Hide
          Jonathan Keller added a comment -

          Sure. Just sent the contact request.

          Show
          Jonathan Keller added a comment - Sure. Just sent the contact request.
          Hide
          Jonathan Keller added a comment -

          Just found another item which needs to be removed (if you also remove all the <default> elements):

          <collectionName class="org.apache.ojb.broker.util.collections.ManageableArrayList" serialization="custom">

          Show
          Jonathan Keller added a comment - Just found another item which needs to be removed (if you also remove all the <default> elements): <collectionName class="org.apache.ojb.broker.util.collections.ManageableArrayList" serialization="custom">
          Hide
          Shannon Hess added a comment -

          Jonathan,

          Can the priority of this issue be reduced from a blocker? I'm going to commit the changes I have done so far, but I'm still working on testing some of the more obscure items. I wanted to make verify that you weren't waiting on me for anything.

          Thanks,
          Shannon

          Show
          Shannon Hess added a comment - Jonathan, Can the priority of this issue be reduced from a blocker? I'm going to commit the changes I have done so far, but I'm still working on testing some of the more obscure items. I wanted to make verify that you weren't waiting on me for anything. Thanks, Shannon
          Hide
          Jonathan Keller added a comment -

          No problem. I think I have what I need for now. I'll also keep this updated if there is more that we find.

          Show
          Jonathan Keller added a comment - No problem. I think I have what I need for now. I'll also keep this updated if there is more that we find.
          Hide
          Shannon Hess added a comment -

          ConvertMaintainableXML has been updated. It has changed quite a bit. One thing that I think makes it much easier is it pulls additional information from the config file if so desired. (Can supply runMode, fromRange, and toRange so the user is not prompted for these items). The instructions here have been updated to reflect this - http://site.kuali.org/rice/2.1.3-SNAPSHOT/apidocs/org/kuali/rice/krad/maintainablexml/ConvertMaintainableXML.html

          It handles the following:

          • TypedArrayList issue
          • Date issue (Rules can now be set up for various property names. I didn't do it by class to prevent having to repeat rules, but that's a possibility if it becomes an issue for anyone.
          • removes person objects.

          The following document types are accounted for in the rules -
          RoutingRuleDelegationMaintenanceDocument
          RoutingRuleDocument
          ParameterMaintenanceDocument
          NamespaceMaintenanceDocument
          ParameterDetailTypeMaintenanceDocument
          CountryMaintenanceDocument
          IdentityManagementGenericPermissionMaintenanceDocument
          DocumentTypeDocument
          CampusTypeMaintenanceDocument

          Additional documentation for my reference- http://site.kuali.org/rice/2.0.0-SNAPSHOT/reference/html/release-notes.html#maintainable_xml

          Show
          Shannon Hess added a comment - ConvertMaintainableXML has been updated. It has changed quite a bit. One thing that I think makes it much easier is it pulls additional information from the config file if so desired. (Can supply runMode, fromRange, and toRange so the user is not prompted for these items). The instructions here have been updated to reflect this - http://site.kuali.org/rice/2.1.3-SNAPSHOT/apidocs/org/kuali/rice/krad/maintainablexml/ConvertMaintainableXML.html It handles the following: TypedArrayList issue Date issue (Rules can now be set up for various property names. I didn't do it by class to prevent having to repeat rules, but that's a possibility if it becomes an issue for anyone. removes person objects. The following document types are accounted for in the rules - RoutingRuleDelegationMaintenanceDocument RoutingRuleDocument ParameterMaintenanceDocument NamespaceMaintenanceDocument ParameterDetailTypeMaintenanceDocument CountryMaintenanceDocument IdentityManagementGenericPermissionMaintenanceDocument DocumentTypeDocument CampusTypeMaintenanceDocument Additional documentation for my reference- http://site.kuali.org/rice/2.0.0-SNAPSHOT/reference/html/release-notes.html#maintainable_xml

            People

            • Assignee:
              Shannon Hess
              Reporter:
              Jonathan Keller
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Structure Helper Panel