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

Reduce invocations for edit mode and action flag checks

    Details

    • Type: Task Task
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Complete
    • Affects Version/s: None
    • Fix Version/s: 2.5.2
    • Component/s: Performance
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-7554Implement Dialog Group invocation mode
      KULRICE-9794Reduce template invocations
      KULRICE-3638PessimisticLockServiceImpl should check edit mode using value "true" AND "TRUE"
      KULRICE-6928for a proposition in edit mode, 'edit' and 'add parent' buttons should always show
      KULRICE-2333Mass action ActionItem deletion occurs before action invocation
      KULRICE-3717Optimize the checking of getValidActions
      KULRICE-10981Reduce size of action output
      KULRICE-10983Reduce validation message divs
      KULRICE-13367Test mode seems to not be working
      KULRICE-2469implement KIM checks to handle routing, initiation, and save permissions to help generate document action flags
    • Epic Link:
    • Rice Module:
      KRAD
    • KRAD Feature Area:
      KIM Integration
    • Application Requirement:
      KC
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      Checking of authorization against KIM is the biggest bottleneck of response times in KRAD (ranging from 50%->90% of response times).

      First, we check the same permissions (like approve, disapprove, edit, etc.) on each request. This includes just changing the page, requesting a dialog, or any sort of refresh. We should only need to do this once for a new document or retrieval of an existing document. The results can be cached then for subsequent calls.

        Issue Links

          Activity

          Hide
          Jerry Neal (Inactive) added a comment -

          I did think of one place where we should reevaluate the modes and flags. After a workflow action is taken in some cases I believe we might redisplay the document. So I am adding a flag to the form 'evaluateFlagsAndModes' that can be set to true on any request to cause the action flags and edit modes to be reevaluated. This is true on the initial request (to get or create a document), and I am setting it to true after all the workflow actions (save, approve, disapprove, reload, etc.).

          Show
          Jerry Neal (Inactive) added a comment - I did think of one place where we should reevaluate the modes and flags. After a workflow action is taken in some cases I believe we might redisplay the document. So I am adding a flag to the form 'evaluateFlagsAndModes' that can be set to true on any request to cause the action flags and edit modes to be reevaluated. This is true on the initial request (to get or create a document), and I am setting it to true after all the workflow actions (save, approve, disapprove, reload, etc.).
          Hide
          Jerry Neal (Inactive) added a comment -

          Hmmm, actually I am going to take save out. KC calls this each time a page change occurs so that means we don't get the gains if we reeval. If things need to be reevaluated when the status goes to change, we can look at doing it for the first save, but not for each one.

          Show
          Jerry Neal (Inactive) added a comment - Hmmm, actually I am going to take save out. KC calls this each time a page change occurs so that means we don't get the gains if we reeval. If things need to be reevaluated when the status goes to change, we can look at doing it for the first save, but not for each one.
          Hide
          Jerry Neal (Inactive) added a comment -

          Reducing the scope on this issue so I can commit this part and work on other bigger problems.

          Show
          Jerry Neal (Inactive) added a comment - Reducing the scope on this issue so I can commit this part and work on other bigger problems.

            People

            • Assignee:
              Jerry Neal (Inactive)
              Reporter:
              Jerry Neal (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 6 hours
                6h

                  Structure Helper Panel