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

KualiDocumentFormBase permission checks are more expensive than they have to be

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.2
    • Fix Version/s: 2.1.6, 2.2.4
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-7536getPermissionTypeServicesByTemplateId can fetch permission type more than once
      KULRICE-2043Should not be able to add the same permissions more than once to the Role document
      KULRICE-8252Permission check for super user tab seems to be using the wrong namespace
      KULRICE-7185Optimization of KIM Permission Checks
      KULRICE-4732Ability to specify more than one lookup for a business object
      KULRICE-6933If you enter more than one delegation for an individual they all become the same as the last entered.
      KULRICE-8607KNS KualiDocumentFormBase uses the KRAD Session document service instead of the KNS version.
      KULRICE-5996Enhance AgendaAuthorizationServiceImpl so that more than one permission can exist for agenda maintenance
      KULRICE-8857Permission doc says the max length of the Permission Name is 40 characters but KFS has existing values that exceed that
      KULRICE-4359 Allow characters other than alphanumeric in Permission and Responsibility names
    • Rice Module:
      KNS
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      The new super user permission checks in KualiDocumentFormBase do their permission checks in a less-than-optimal order.

      They put the highest-level permission at the end which only needs the document type. The other checks in each of the methods pull the document status, loading all the active note instances and header.

      It reduces the database I/O of these checks (which are happening outside of a transaction - so they were really expensive - see KULRICE-8839) by short-circuiting if the simple permission passes (since they were all or'ed anyway.)

      I'm attaching my patch. It will not work directly. It's based on the class after I added transaction wrappers - so the line numbers won't quite match up with anything on the baseline project.

        Issue Links

          Activity

          Hide
          Jessica Coltrin (Inactive) added a comment -

          Assigning to 2.1.6/2.2.4 for DM review since we have a patch included.

          Show
          Jessica Coltrin (Inactive) added a comment - Assigning to 2.1.6/2.2.4 for DM review since we have a patch included.
          Hide
          Peter Giles (Inactive) added a comment -

          This has been committed to rice-2.1 branch, it will make it over to rice-2.2 in the next merge.

          Show
          Peter Giles (Inactive) added a comment - This has been committed to rice-2.1 branch, it will make it over to rice-2.2 in the next merge.

            People

            • Assignee:
              Peter Giles (Inactive)
              Reporter:
              Jonathan Keller
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Structure Helper Panel