Uploaded image for project: 'VPMS Web Application'
  1. OVPMS-1879

Implement caching in schedule and work list tables to improve performance rendering Display Expressions

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects versions: None
    • Fix versions: 1.9.2
    • Components: User Interface
    • Labels:
      None
    • Sprint:

      Description

      Complex Display Expressions in Schedule and Work List Views can impact performance if they trigger a lot of database accesses. E.g. the following expression for a Work List View:

      concat(openvpms:get(.,'clinician.name'),':',openvpms:get(.,'patient.name'),' ',openvpms:get(.,'customer.objectReference.lastName'),' =',substring(openvpms:get(.,'act.status'),1,2),' ', openvpms:get(.,'waiting'),'{',date:format(openvpms:get(., 'act.objectReference.appointments.source.startTime'), "HH:mm"),'}',openvpms:get(.,'customer.objectReference.type.name'),'\n','[',openvpms:lookup(openvpms:get(.,'patient.objectReference'),'breed'),'] ',openvpms:get(.,'scheduleType.name'),':',openvpms:get(.,'act.objectReference.author.entity.name'),'\n',openvpms:get(.,'act.description'))
      

      Means that:

      • the customer is retrieved twice
      • the patient is retrieved once
      • the task is retrieved twice
      • the appointment is retrieved once
      • the author is retrieved once

      Using caching during rendering will improve performance for expressions where the same object is retrieved more than once, or that access common objects such as the author.

        Attachments

          Activity

            People

            • Assignee:
              tanderson Tim Anderson
              Reporter:
              tanderson Tim Anderson
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 4h
                4h

                  Who's Looking?