Uploaded image for project: 'Kuali Rice Development'
  1. Kuali Rice Development
  2. KULRICE-897

Investigate removing document content XML payload when doc goes to final

    Details

    • Rice Module:
      KEW
    • Application Requirement:
      KFS

      Description

      Email thread between Brian and Eric...
      -----------------------------------------------------------------
      I've actually got this listed as a possible issue to look into (got a note here, need to enter a JIRA) based on a discussion that David and myself had a couple days ago. I think this may be occurring currently but I need to look at the code to verify. The reason this would be bad is because PURAP document data is modifiable after the documents have gone FINAL. Therefore, if we were to clear the document content out, and a change was made to a PURAP document, this would kick off a re-indexing of the document for searchable attributes which would end up finding empty document content and blowing away all of the searchable values in the extension table rendering the search useless for that document.

      I wanted to look into strategies for addressing the XML issue this release but I just didn't have time. One solution that I think would make all our problems go away is to not use XML at all but rather use an in-memory xpath-like evaluation language (like jxpath) and just load the document into memory via the DocumentService when evaluation needs to occur. At any rate, I don't think something like that would really be a valid use of QA time.

      Later,
      Eric

      P.S. I went ahead and entered a jira into the KULOWF queue to look into the xml clearing issue.

      On 7/25/07 2:28 PM, "McGough, Brian Joseph" <bmcgough@indiana.edu> wrote:

      Are we clearing out the payload of the doc contents once the doc transitions to final? It seems like we might want this before we ship since our payloads can be soooo large in kuali and we never got to work to widdle that down. I view this as a QA type of task anyway, so I would think we could get it in. Would this present any problems anywhere, I wouldn't think so since it is really just a momento of the doc itself?

      Brian

        Attachments

          Issue Links

            Activity

            Hide
            ewestfal Eric Westfall added a comment -

            David, were you able to figure out whether or not this would be a problem for searchable attributes since the XML content would get regenerated prior to the save anyway?

            Show
            ewestfal Eric Westfall added a comment - David, were you able to figure out whether or not this would be a problem for searchable attributes since the XML content would get regenerated prior to the save anyway?
            Hide
            delyea David Elyea added a comment -

            After talking with Ailish and doing some code searching we found the PurgeDocumentContentsStep class. The problem with this class currently is that it clears out the document content and then calls WorkflowDocument.saveRoutingData() which will reindex the search attributes and then with no content... basically clear them all out. Obviously this is a problem for any KFS doc using search attributes.

            One potential solution is to have that batch step specifically use the RouteHeaderService in KEW to save the route header which would not force a reindex of the document.

            Show
            delyea David Elyea added a comment - After talking with Ailish and doing some code searching we found the PurgeDocumentContentsStep class. The problem with this class currently is that it clears out the document content and then calls WorkflowDocument.saveRoutingData() which will reindex the search attributes and then with no content... basically clear them all out. Obviously this is a problem for any KFS doc using search attributes. One potential solution is to have that batch step specifically use the RouteHeaderService in KEW to save the route header which would not force a reindex of the document.
            Hide
            ewestfal Eric Westfall added a comment -

            Added the ability to put a special element in the XML (<doNotExecuteSearchableAttributeIndexing/>) which will instruct the engine not to run the searchable attribute indexer. This is a quick fix but it's better than having KFS integrate with the native kew services directly. I also updated the PurgeDocumentContentsStep class in KFS to include this element in the "cleared" content.

            Show
            ewestfal Eric Westfall added a comment - Added the ability to put a special element in the XML (<doNotExecuteSearchableAttributeIndexing/>) which will instruct the engine not to run the searchable attribute indexer. This is a quick fix but it's better than having KFS integrate with the native kew services directly. I also updated the PurgeDocumentContentsStep class in KFS to include this element in the "cleared" content.

              People

              • Assignee:
                ewestfal Eric Westfall
                Reporter:
                agodert Aaron Godert (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Due:
                  Created:
                  Updated:
                  Resolved: