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

The "Queue Document" button on the Document Operation screen may not be forwarding back to the appropriate application properly

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Cannot Reproduce
    • Affects Version/s: 2.0
    • Fix Version/s: 2.1.2
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-7883Document requeuer does not forward back to the appropriate application properly
      KULRICE-8243misleading documentation on document operation
      KULRICE-1836Create a Document Type policy which will force documents clicked on in super user search to forward back to the application's doc handler URL
      KULRICE-4892Document Operation screen in workflow doesn't display XML properly if it's encrypted with a different encryption key then the standalone server uses
      KULRICE-125282.4.0 CDT: Document Operations Screen creates exception on several actions
      KULRICE-8783Issues with Document Operation Screen
      KULRICE-12353Add ability to change application document status from document operation screen
      KULRICE-509Implement Store and Forward cability for KSB
      KULRICE-2708document operation screen auth not implemented properly
      KULRICE-8758Lookup NPEs on Document Operation Screen
    • Rice Module:
      KEW
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      When you click this button on the standalone server, it should forward a message to the appropriate client application's DocumentProcessingQueue based on the applicationId of the Document Type. I tested this in a simple sample application I was working with and it did not appear to be working properly. Instead it looked like it tried to queue the document up on the standalone server instead of sending the message to the owning application.

        Activity

        Hide
        Kristina Taylor (Inactive) added a comment -

        Marking as 2.1 as well as per discussion with Jessica.

        Show
        Kristina Taylor (Inactive) added a comment - Marking as 2.1 as well as per discussion with Jessica.
        Hide
        Jessica Coltrin (Inactive) added a comment -

        moving to 2.1.2

        Show
        Jessica Coltrin (Inactive) added a comment - moving to 2.1.2
        Hide
        Eric Westfall added a comment -

        Shannon, we fixed this in the IU rice code didn't we?

        Show
        Eric Westfall added a comment - Shannon, we fixed this in the IU rice code didn't we?
        Hide
        Shannon Hess added a comment -

        Actually, we fixed a problem with the getDelayedServiceAsynchronously methods in MessageServiceNames.java that are hit by getDocumentRequeuerService, but when I dubug after hitting the "Queue Document" button, the methods that we fixed are not getting hit and the message is properly queued on the client servers.

        Here's the methods that I changed in MessageServiceNames.java, but in this particular situation I don't think these changes will help (although they will fix other bugs with the document requeuer):

               public static DocumentRefreshQueue getDocumentRequeuerService(String applicationId, String documentId, long waitTime) {
        		if (waitTime > 0) {
        		    /**
        		     * Begin IU Customization
        		     * 2012-07-17 - Shannon Hess (shahess@indiana.edu)
        		     * EN-2755 - Fix Document requeuer so it uses application id correctly
        		     */
        			return (DocumentRefreshQueue) getDelayedServiceAsynchronously(DOCUMENT_REFRESH_QUEUE, documentId, waitTime, applicationId);
        		    /**
        		     * END IU Customization
        		     */
        		}
        		return (DocumentRefreshQueue) getServiceAsynchronously(DOCUMENT_REFRESH_QUEUE, documentId, applicationId);
        	}
        
        	public static Object getDelayedServiceAsynchronously(QName serviceName, DocumentRouteHeaderValue document, long waitTime) {
        	    /**
        	     * Begin IU Customization
        	     * 2012-07-17 - Shannon Hess (shahess@indiana.edu)
        	     * EN-2755 - Fix Document requeuer so it uses application id correctly
        	     */
        		return getDelayedServiceAsynchronously(serviceName, getDocId(document), waitTime, null);
        	    /**
        	     * END IU Customization
        	     */
        	}
        	
            /**
             * Begin IU Customization
             * 2012-07-17 - Shannon Hess (shahess@indiana.edu)
             * EN-2755 - Fix Document requeuer so it uses application id correctly
             */
        	public static Object getDelayedServiceAsynchronously(QName serviceName, String documentId, long waitTime, String applicationId) {
                if (StringUtils.isBlank(applicationId)) {
                    if (StringUtils.isNotBlank(documentId)) {
                    	applicationId = KEWServiceLocator.getRouteHeaderService().getApplicationIdByDocumentId(documentId);
                    }
                }
        		return KsbApiServiceLocator.getMessageHelper().getServiceAsynchronously(serviceName, applicationId, null, (documentId == null ? null : documentId.toString()), null, waitTime);
        	    /**
        	     * END IU Customization
        	     */
                }
        
        Show
        Shannon Hess added a comment - Actually, we fixed a problem with the getDelayedServiceAsynchronously methods in MessageServiceNames.java that are hit by getDocumentRequeuerService, but when I dubug after hitting the "Queue Document" button, the methods that we fixed are not getting hit and the message is properly queued on the client servers. Here's the methods that I changed in MessageServiceNames.java, but in this particular situation I don't think these changes will help (although they will fix other bugs with the document requeuer): public static DocumentRefreshQueue getDocumentRequeuerService( String applicationId, String documentId, long waitTime) { if (waitTime > 0) { /** * Begin IU Customization * 2012-07-17 - Shannon Hess (shahess@indiana.edu) * EN-2755 - Fix Document requeuer so it uses application id correctly */ return (DocumentRefreshQueue) getDelayedServiceAsynchronously(DOCUMENT_REFRESH_QUEUE, documentId, waitTime, applicationId); /** * END IU Customization */ } return (DocumentRefreshQueue) getServiceAsynchronously(DOCUMENT_REFRESH_QUEUE, documentId, applicationId); } public static Object getDelayedServiceAsynchronously(QName serviceName, DocumentRouteHeaderValue document, long waitTime) { /** * Begin IU Customization * 2012-07-17 - Shannon Hess (shahess@indiana.edu) * EN-2755 - Fix Document requeuer so it uses application id correctly */ return getDelayedServiceAsynchronously(serviceName, getDocId(document), waitTime, null ); /** * END IU Customization */ } /** * Begin IU Customization * 2012-07-17 - Shannon Hess (shahess@indiana.edu) * EN-2755 - Fix Document requeuer so it uses application id correctly */ public static Object getDelayedServiceAsynchronously(QName serviceName, String documentId, long waitTime, String applicationId) { if (StringUtils.isBlank(applicationId)) { if (StringUtils.isNotBlank(documentId)) { applicationId = KEWServiceLocator.getRouteHeaderService().getApplicationIdByDocumentId(documentId); } } return KsbApiServiceLocator.getMessageHelper().getServiceAsynchronously(serviceName, applicationId, null , (documentId == null ? null : documentId.toString()), null , waitTime); /** * END IU Customization */ }
        Hide
        Peter Giles (Inactive) added a comment -

        I'm unclear here I guess – It sounds from Shannon's description like the re-queue is forwarding correctly. If so, we should close this then as "Can't reproduce", and probably open another Jira for the issue Shannon fixed in the comment above. Let me know what makes sense. Thanks!

        Show
        Peter Giles (Inactive) added a comment - I'm unclear here I guess – It sounds from Shannon's description like the re-queue is forwarding correctly. If so, we should close this then as "Can't reproduce", and probably open another Jira for the issue Shannon fixed in the comment above. Let me know what makes sense. Thanks!
        Hide
        Shannon Hess added a comment -

        Peter,

        That makes sense to me since the original issue can't be reproduced.

        Thanks,
        Shannon

        Show
        Shannon Hess added a comment - Peter, That makes sense to me since the original issue can't be reproduced. Thanks, Shannon
        Hide
        Shannon Hess added a comment -

        Created https://jira.kuali.org/browse/KULRICE-7883 for the problem with the document requeuer

        Show
        Shannon Hess added a comment - Created https://jira.kuali.org/browse/KULRICE-7883 for the problem with the document requeuer
        Hide
        Jessica Coltrin (Inactive) added a comment -

        closing all 2.1.2 Jiras

        Show
        Jessica Coltrin (Inactive) added a comment - closing all 2.1.2 Jiras

          People

          • Assignee:
            Shannon Hess
            Reporter:
            Eric Westfall
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 3 days
              3d
              Remaining:
              Remaining Estimate - 3 days
              3d
              Logged:
              Time Spent - Not Specified
              Not Specified

                Structure Helper Panel